%kmdl openafs Summary: OpenAFS distributed filesystem Name: openafs Version: 1.4.14.1 Release: 36%{?dist} License: IBM Public License Group: Networking/Filesystems URL: http://www.openafs.org/ Source0: http://dl.openafs.org/dl/openafs/%{version}/openafs-%{version}-src.tar.bz2 Source1: http://dl.openafs.org/dl/openafs/%{version}/openafs-%{version}-doc.tar.bz2 Source2: openafs-ThisCell Source4: openafs-SuidCells Source5: openafs-cacheinfo # Source6: openafs-afsmodname Source7: openafs-LICENSE.Sun Source8: openafs-README Source15: openafs.sysconfig Source16: openafs-client.init Source17: openafs-server.init Source18: openafs-killafs Patch3: STABLE14-libafsrpc-makefile-fix-20071110.patch Patch4: STABLE14-linux-2624-20071123.patch Patch5: STABLE14-linux-keytype-exports-20080130.patch # Patch6: STABLE14-linux-2626-support-20080608.patch Patch9: openafs-confdebug.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: pam-devel, ncurses-devel BuildRequires: bison, flex BuildRequires: autoconf, automake %define kvers %(echo %{_kernel} |cut -sf-2 -d.) %define kvers_sysname %(echo %{kvers} |tr -d '.') %define amd64linux24 %([ "%{_arch}-%{kvers_sysname}" = "x86_64-24" ] && echo 1 || echo 0) %description The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides common files shared across all the various OpenAFS packages but are not necessarily tied to a client or server. %package client Requires: binutils, openafs = %{evr} Summary: OpenAFS Filesystem Client Group: Networking/Filesystem %kmdl_parentdependencies Obsoletes: krbafs-utils Provides: krbafs-utils %description client The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides basic client support to mount and manipulate AFS. %package server Requires: openafs = %{evr} Summary: OpenAFS Filesystem Server Group: Networking/Filesystems %description server The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides basic server support to host files in an AFS Cell. %if ! %{amd64linux24} %package authlibs Summary: OpenAFS authentication shared libraries Group: Networking/Filesystems %description authlibs The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides a shared version of libafsrpc and libafsauthent. None of the programs included with OpenAFS currently use these shared libraries; however, third-party software that wishes to perform AFS authentication may link against them. %package authlibs-devel Requires: openafs-authlibs = %{evr} Requires: openafs-devel = %{evr} Summary: OpenAFS shared library development Group: Development/Filesystems %description authlibs-devel The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package includes the static versions of libafsrpc and libafsauthent, and symlinks required for building against the dynamic libraries. %endif %package devel Summary: OpenAFS Development Libraries and Headers Group: Development/Filesystems %description devel The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides static development libraries and headers needed to compile AFS applications. Note: AFS currently does not provide shared libraries. %package doc Summary: OpenAFS user and administrator documentation Requires: openafs = %{evr} Group: Networking/Filesystems %description doc The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides HTML documentation for OpenAFS users and system administrators. %package krb5 Summary: OpenAFS programs to use with krb5 Requires: openafs = %{evr} Group: Networking/Filesystems BuildRequires: krb5-devel %description krb5 The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. This package provides compatibility programs so you can use krb5 to authenticate to AFS services, instead of using AFS's homegrown krb4 lookalike services. %package -n %kmdl_name Summary: OpenAFS Kernel Module Group: System Environment/Kernel %kmdl_dependencies %description -n %kmdl_name The AFS distributed filesystem. AFS is a distributed filesystem allowing cross-platform sharing of files among multiple computers. Facilities are provided for access control, authentication, backup and administrative management. %kmdl_desc %prep # Install OpenAFS src and doc %setup -q -n %{name}-%{version} -b 1 grep -rl dprintf . | xargs perl -pi -e's,dprintf,x_dprintf,g' #patch3 -p1 #patch4 -p1 #patch5 -p1 #patch6 -p1 %patch9 -p0 -b .orig grep -rl '#include ' . | xargs perl -pi -e's,#include ,/* #include */,' %build aclocal -I src/cf autoconf autoconf configure-libafs.in > configure-libafs chmod +x configure-libafs autoheader # or: ./regen.sh case %{_arch} in x86_64) sysname=amd64_linux%{kvers_sysname} ;; alpha*) sysname=alpha_linux_%{kvers_sysname} ;; i386|i486|i586|i686|athlon) sysname=i386_linux%{kvers_sysname} ;; *) sysname=%{_arch}_linux%{kvers_sysname} ;; esac export PATH=/usr/kerberos/bin:$PATH %configure --with-afs-sysname=${sysname} \ %if ! %{kmdl_userland} --with-linux-kernel-headers=%{kmdl_kernelsrcdir} \ %endif --with-krb5-conf \ --enable-redhat-buildsys \ %{?_with_bitmap_later:--enable-bitmap-later} \ %{?_with_bos_restricted:--enable-bos-restricted-mode} \ %{?_with_fast_restart:--enable-fast-restart} \ %{?_with_largefiles:--enable-largefile-fileserver} \ %{?_with_supergroups:--enable-supergroups} %if %{kmdl_userland} make all_nolibafs ## Build the libafs tree #make only_libafs_tree %else make only_libafs %endif %install rm -rf %{buildroot} %if %{kmdl_userland} make install_nolibafs DESTDIR=%{buildroot} install -m 755 -d %{buildroot}%{_sysconfdir}/sysconfig install -m 755 -d %{buildroot}%{_sysconfdir}/openafs install -m 755 -d %{buildroot}%{_sysconfdir}/openafs/server install -m 755 -d %{buildroot}%{_initrddir} # configfiles install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/openafs/ThisCell install -m 644 src/afsd/CellServDB %{buildroot}%{_sysconfdir}/openafs/CellServDB install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/openafs/SuidCells install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/openafs/cacheinfo install -m 755 %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/openafs install -m 644 doc/examples/CellAlias %{buildroot}%{_sysconfdir}/openafs/ install -m 755 %{SOURCE16} %{buildroot}%{_initrddir}/openafs-client install -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/openafs-server install -m 755 %{SOURCE18} %{buildroot}%{_sbindir}/killafs install -m 755 -d %{buildroot}%{_localstatedir}/cache/afs install -m 755 -d %{buildroot}/%{_lib}/security mv %{buildroot}%{_libdir}/pam_afs.* %{buildroot}/%{_lib}/security ln -sf pam_afs.so.1 %{buildroot}/%{_lib}/security/pam_afs.so ln -sf pam_afs.krb.so.1 %{buildroot}/%{_lib}/security/pam_afs.krb.so # install aklog manpage manually #./doc/man-pages/install-man src/aklog/aklog.1 %{buildroot}%{_mandir}/man1/ # kpwvalid gets installed both in bin and sbin by default # remove kpwvalid from bin and just symlink it rm %{buildroot}%{_bindir}/kpwvalid ln -sf %{_sbindir}/kpwvalid %{buildroot}%{_bindir}/kpwvalid %if %{amd64linux24} rm -f \ %{buildroot}%{_libdir}/libafsauthent.a \ %{buildroot}%{_libdir}/libafsrpc.a \ %{buildroot}%{_libdir}/libjuafs.a \ %{buildroot}%{_libdir}/libuafs.a \ %endif %else make install_only_libafs DESTDIR=%{buildroot} mkdir -p %{buildroot}%{kmdl_moduledir}/fs/openafs test -f %{buildroot}%{_libdir}/openafs/libafs-*.o \ && mv %{buildroot}%{_libdir}/openafs/libafs-*.o %{buildroot}%{kmdl_moduledir}/fs/openafs/libafs.o test -f %{buildroot}%{_libdir}/openafs/libafs-*.ko \ && mv %{buildroot}%{_libdir}/openafs/libafs-*.ko %{buildroot}%{kmdl_moduledir}/fs/openafs/libafs.ko %endif %clean rm -fr %{buildroot} %post client chkconfig --add openafs-client if [ ! -d /afs ]; then mkdir /afs chown root.root /afs chmod 0755 /afs fi echo echo The AFS cache is configured for 100 MB. Edit the echo /etc/openafs/cacheinfo file to change this before echo running AFS for the first time. You should also echo set your home cell in /etc/openafs/ThisCell. echo echo Also, you may want to edit /etc/pam.d/login and echo possibly others there to get an AFS token on login. echo Put the line: echo echo auth sufficient /%{_lib}/security/pam_afs.so try_first_pass ignore_root echo echo before the one for pwdb. echo %post server chkconfig --add openafs-server service openafs-server condrestart %if ! %{amd64linux24} %post authlibs -p /sbin/ldconfig %postun authlibs -p /sbin/ldconfig %endif %preun if [ $1 = 0 ] ; then [ -d /afs ] && rmdir /afs fi %preun client if [ $1 = 0 ] ; then service openafs-client stop chkconfig --del openafs-client fi %preun server if [ $1 = 0 ] ; then service openafs-server stop chkconfig --del openafs-server fi %post -n %{kmdl_name} %kmdl_install %postun -n %{kmdl_name} %kmdl_remove %if %{kmdl_userland} %files %defattr(-,root,root,-) %doc README NEWS src/LICENSE %config /etc/sysconfig/openafs %exclude %{_sbindir}/kdump %exclude %{_mandir}/man1/package_test.* %exclude %{_mandir}/man5/package.* %exclude %{_mandir}/man8/package.* %exclude %{_mandir}/man8/xfs_size_check.* %{_bindir}/afsmonitor %{_bindir}/bos %{_bindir}/dpass %{_bindir}/kpasswd %{_bindir}/kpwvalid %{_bindir}/livesys %{_bindir}/pts %{_bindir}/scout %{_bindir}/sys %{_bindir}/translate_et %{_bindir}/udebug %{_sbindir}/backup %{_sbindir}/bos_util %{_sbindir}/butc #%{_sbindir}/copyauth %{_sbindir}/fms %{_sbindir}/kas %{_sbindir}/kpwvalid %{_sbindir}/read_tape %{_sbindir}/restorevol %{_sbindir}/rxdebug %{_sbindir}/uss %{_sbindir}/vos %{_mandir}/man1/afs.* %{_mandir}/man1/afsmonitor.* %{_mandir}/man1/dpass.* %{_mandir}/man1/kpasswd.* %{_mandir}/man1/pts.* %{_mandir}/man1/pts_* %{_mandir}/man1/rxdebug.* %{_mandir}/man1/scout.* %{_mandir}/man1/sys.* %{_mandir}/man1/translate_et.* %{_mandir}/man1/udebug.* %{_mandir}/man1/vos.* %{_mandir}/man1/vos_* # there are two versions of these files: # one version for client and one for server %{_mandir}/man5/CellServDB.* %{_mandir}/man5/ThisCell.* %{_mandir}/man5/butc.* %{_mandir}/man5/butc_logs.* %{_mandir}/man5/uss.* %{_mandir}/man5/uss_bulk.* %{_mandir}/man8/backup.* %{_mandir}/man8/backup_* %{_mandir}/man8/bos.* %{_mandir}/man8/bos_* %{_mandir}/man8/butc.* %{_mandir}/man8/fms.* %{_mandir}/man8/kas.* %{_mandir}/man8/kas_* %{_mandir}/man8/kpwvalid.* %{_mandir}/man8/uss.* %{_mandir}/man8/uss_* %{_mandir}/man8/read_tape.8* %{_libdir}/libafssetpag.so %{_libdir}/libafssetpag.so.* %{_mandir}/man1/symlink.1* %{_mandir}/man1/symlink_list.1* %{_mandir}/man1/symlink_make.1* %{_mandir}/man1/symlink_remove.1* %{_mandir}/man1/copyauth.1* %{_mandir}/man8/restorevol.8* %{_mandir}/man8/rmtsysd.8* %{_mandir}/man8/vsys.8* %files doc %defattr(-,root,root,-) %doc doc/examples %doc doc/html %doc doc/pdf %doc doc/txt %files client %defattr(-,root,root,-) %dir %{_localstatedir}/cache/afs %dir %{_sysconfdir}/openafs %config(noreplace) %{_sysconfdir}/openafs/cacheinfo %config(noreplace) %{_sysconfdir}/openafs/CellAlias %config(noreplace) %{_sysconfdir}/openafs/CellServDB %config(noreplace) %{_sysconfdir}/openafs/SuidCells %config(noreplace) %{_sysconfdir}/openafs/ThisCell %{_initrddir}/openafs-client %{_bindir}/cmdebug %{_bindir}/dlog %{_bindir}/fs %{_bindir}/klog %{_bindir}/klog.krb %{_bindir}/knfs %{_bindir}/livesys %{_bindir}/pagsh %{_bindir}/pagsh.krb %{_bindir}/tokens %{_bindir}/tokens.krb %{_bindir}/unlog %{_bindir}/up %{_sbindir}/afsd %{_sbindir}/fstrace %{_sbindir}/killafs /%{_lib}/security/pam_afs.krb.so /%{_lib}/security/pam_afs.krb.so.1 /%{_lib}/security/pam_afs.so /%{_lib}/security/pam_afs.so.1 %{_mandir}/man5/CellAlias.5* %{_mandir}/man1/cmdebug.* %{_mandir}/man1/dlog.* %{_mandir}/man1/fs.* %{_mandir}/man1/fs_* %{_mandir}/man1/klog.* %{_mandir}/man1/knfs.* %{_mandir}/man1/livesys.* %{_mandir}/man1/pagsh.* %{_mandir}/man1/tokens.* %{_mandir}/man1/unlog.* %{_mandir}/man1/up.* %{_mandir}/man5/afs* %{_mandir}/man5/cacheinfo.* %{_mandir}/man8/afsd.* %{_mandir}/man8/fstrace.* %{_mandir}/man8/fstrace_* %files server %defattr(-,root,root,-) %{_initrddir}/openafs-client %dir %{_sysconfdir}/openafs/server %{_sbindir}/bosserver %{_sbindir}/bos_util %dir %{_libexecdir}/openafs %{_libexecdir}/openafs/buserver %{_libexecdir}/openafs/fileserver %{_libexecdir}/openafs/kaserver %{_libexecdir}/openafs/ptserver %{_libexecdir}/openafs/salvager %{_libexecdir}/openafs/upclient %{_libexecdir}/openafs/upserver %{_libexecdir}/openafs/vlserver %{_libexecdir}/openafs/volserver %{_sbindir}/kadb_check %{_sbindir}/ka-forwarder %{_sbindir}/kdb #%{_sbindir}/kseal %{_sbindir}/prdb_check %{_sbindir}/pt_util %{_sbindir}/rmtsysd %{_sbindir}/vldb_check %{_sbindir}/vldb_convert %{_sbindir}/voldump %{_sbindir}/volinfo %{_sbindir}/vsys %{_initrddir}/openafs-server %{_mandir}/man5/AuthLog.* %{_mandir}/man5/BackupLog.* %{_mandir}/man5/BosConfig.* %{_mandir}/man5/BosLog.* %{_mandir}/man5/FORCESALVAGE.* %{_mandir}/man5/FileLog.* %{_mandir}/man5/KeyFile.* %{_mandir}/man5/NetInfo.* %{_mandir}/man5/NetRestrict.* %{_mandir}/man5/NoAuth.* %{_mandir}/man5/SALVAGE.fs.* %{_mandir}/man5/SalvageLog.* %{_mandir}/man5/sysid.* %{_mandir}/man5/UserList.* %{_mandir}/man5/VLLog.* %{_mandir}/man5/VolserLog.* %{_mandir}/man5/bdb.DB0.* %{_mandir}/man5/fms.log.* %{_mandir}/man8/ka-forwarder.8* %{_mandir}/man5/kaserver.DB0.* %{_mandir}/man5/kaserverauxdb.* %{_mandir}/man5/krb.conf.* %{_mandir}/man5/prdb.DB0.* %{_mandir}/man5/salvage.lock.* %{_mandir}/man5/tapeconfig.* %{_mandir}/man5/vldb.DB0.* %{_mandir}/man8/bosserver.* %{_mandir}/man8/buserver.* %{_mandir}/man8/fileserver.* %{_mandir}/man8/kadb_check.* %{_mandir}/man8/kaserver.* %{_mandir}/man8/kdb.* %{_mandir}/man8/prdb_check.* %{_mandir}/man8/ptserver.* %{_mandir}/man8/pt_util.8* %{_mandir}/man8/salvager.* %{_mandir}/man8/upclient.* %{_mandir}/man8/upserver.* %{_mandir}/man8/vldb_check.* %{_mandir}/man8/vldb_convert.* %{_mandir}/man8/vlserver.* %{_mandir}/man8/voldump.* %{_mandir}/man8/volinfo.* %{_mandir}/man8/volserver.* #%{_mandir}/man8/vldb_convert.* %if ! %{amd64linux24} %files authlibs %defattr(-,root,root,-) %{_libdir}/libafsauthent.so.* %{_libdir}/libafsrpc.so.* %files authlibs-devel %defattr(-,root,root,-) %{_libdir}/libafsauthent.a %{_libdir}/libafsauthent.so %{_libdir}/libafsrpc.a %{_libdir}/libafsrpc.so %{_libdir}/libjuafs.a %{_libdir}/libuafs.a %endif %files devel %defattr(-,root,root,-) %{_bindir}/afs_compile_et %{_bindir}/rxgen %{_bindir}/xstat_cm_test %{_bindir}/xstat_fs_test %{_includedir}/afs %{_includedir}/des.h %{_includedir}/des_conf.h %{_includedir}/des_odd.h %{_includedir}/des_prototypes.h %{_includedir}/lock.h %{_includedir}/lwp.h %{_includedir}/mit-cpyright.h %{_includedir}/potpourri.h %{_includedir}/preempt.h %{_includedir}/rx %{_includedir}/timer.h %{_includedir}/ubik.h %{_includedir}/ubik_int.h %{_libdir}/afs %{_libdir}/libdes.a %{_libdir}/liblwp.a %{_libdir}/librx.a %{_libdir}/librxkad.a %{_libdir}/librxstat.a %{_libdir}/libubik.a %{_mandir}/man1/afs_compile_et.1* %{_mandir}/man1/rxgen.* %{_mandir}/man1/xstat_cm_test.* %{_mandir}/man1/xstat_fs_test.* %files krb5 %defattr(-,root,root,-) %{_bindir}/aklog %{_bindir}/asetkey %{_bindir}/klog.krb5 %{_mandir}/man1/aklog.* %{_mandir}/man8/asetkey.* %else # kmdl %files -n %{kmdl_name} %defattr(-,root,root,-) %dir %{kmdl_moduledir} %dir %{kmdl_moduledir}/fs %dir %{kmdl_moduledir}/fs/openafs %{kmdl_moduledir}/fs/openafs/libafs.* %exclude %{_bindir} %exclude %{_libdir} %exclude %{_includedir} %endif %changelog * Sat Jul 2 2011 Axel Thimm - 1.4.14.1-36 - Update to 1.4.14.1. * Tue Sep 28 2010 Axel Thimm - 1.4.12.1-35 - Update to 1.4.12.1. * Sat Apr 10 2010 root - 1.4.12-34 - Update to 1.4.12. - Remove compile_et patch, as it has been applied upstream. * Tue Sep 8 2009 Alexander Bergolth - 1.4.11-33 - Rename compile_et to afs_compile_et to avoid conflicts with e2fsprogs-devel. * Sat Aug 22 2009 Axel Thimm - 1.4.11-32 - Update to 1.4.11. * Mon Apr 20 2009 Axel Thimm - 1.4.10-31 - Update to 1.4.10. * Thu Dec 18 2008 Leo Bergolth - 1.4.8-30 - Update to 1.4.8. * Tue Sep 16 2008 Angel Marin - 1.4.7-29 - Fix kmdl build on 2.6.26 kernels. * Fri May 2 2008 Axel Thimm - 1.4.7-28 - Update to 1.4.7. * Sat Mar 15 2008 Axel Thimm - 1.4.6-27 - Apply upstream patches for 2.4.24+ compatibility. * Sat Dec 29 2007 Axel Thimm - 1.4.6-26 - Update to 1.4.6. * Tue Nov 6 2007 Axel Thimm - 1.4.5-25 - Use tarball's CellServDB (Alexander Bergolth ). * Sat Nov 3 2007 Axel Thimm - 1.4.5-24 - Update to 1.4.5. * Mon Mar 19 2007 Axel Thimm - 1.4.4-21 - Update to 1.4.4. * Fri Oct 20 2006 Alexander Bergolth - 1.4.2-20 - Update to 1.4.2. * Tue Oct 10 2006 Axel Thimm - 1.4.2-19_fc4 - Update to 1.4.2fc4. * Fri Sep 1 2006 Axel Thimm - 1.4.2-18_fc2 - Update to 1.4.2fc2. * Tue Jul 4 2006 Alexander Bergolth - 1.4.1-4 - First attempt to produce a spec-file for ATrpms