Name: openafs Version: 1.3.74 Release: 1.FC3 Epoch: 0 Summary: OpenAFS distributed filesystem Group: System Environment/Base License: IPL (OpenAFS) and GPL (kernel headers) URL: http://openafs.org/ Packager: Thomas Chung Source0: http://www.openafs.org/dl/openafs/%{version}/openafs-%{version}-src.tar.bz2 Source1: CellServDB Source5: openafs-init.sh Source6: openafs-config Source19: extractkernheaders.sh # # These are created from the kernel binary rpms using extractkernheaders.sh. # # Make sure to include them in the kernelversions list too! This *must* be # of the form "version-release-arch". # # To keep the package from ballooning, this test release just includes # the very latest official Fedora Core 2 kernel package. # # Errata releases should leave in the last few kernels and add # new ones to the end of the list. # %define kernelversions 2.6.9-1.681_FC3-i686 2.6.9-1.681_FC3smp-i686 Source24: kernelheaders-2.6.9-1.681_FC3-i686.tar.bz2 Source25: kernelheaders-2.6.9-1.681_FC3smp-i686.tar.bz2 Source98: README.RPM Source99: TODO.RPM # A patch from Dr. Frank Bagehorn # Manager Workstation & Server ZRL IS, IBM Zurich Research Lab, Switzerland Patch0: openafs-1.3.74-authclient.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # what else should be here? BuildRequires: pam-devel, ncurses-devel, flex, byacc Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig # kludge -- for some reason, libafsauthent.so gets linked against this instead # of the numbered version, and that's confusing RPM's auto-provides. someone # ought to fix that. Provides: libafsrpc.so %description 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 Summary: OpenAFS filesystem client Group: System Environment/Base Requires: openafs = %{epoch}:%{version}-%{release}, kernel >= 2.6.6-1.435 Requires(post): /sbin/chkconfig, /bin/mkdir Requires(preun): /sbin/chkconfig, /sbin/service Obsoletes: openafs-kernel Provides: openafs-kernel Provides: afsclient %description client 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, including the required kernel modules for the following kernel versions: %{kernelversions} %package server Summary: OpenAFS filesystem server Group: System Environment/Daemons Requires: openafs-client, openafs = %{epoch}:%{version}-%{release} %description server 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. %package devel Summary: OpenAFS development libraries and headers Group: Development/Libraries Requires: openafs = %{epoch}:%{version}-%{release} %description devel 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. %prep %setup -q # patch directive applies a patch to the sources # use this macro in your prep section if you have patches # you need a patch directive for each patch # -p option, with a number, such as -p0, tells the patch command # to remove that many slashes from the file names within the patch. # patch directive without a number corresponds to patch0 # -s option tells the patch command to run silently (quietly) and # output only errors. %patch0 mkdir kernelheaders cd kernelheaders for KVERARCH in %{kernelversions}; do tar xjf ${RPM_SOURCE_DIR}/kernelheaders-${KVERARCH}.tar.bz2 done cd .. # temporary -- needed for the daily snapshots ./regen.sh %build %configure --disable-kernel-module --with-afs-sysname=i386_linux26 make all_nolibafs # If we were including a kernel-source subpackage, here'd be the place # to take a snapshot of it, before we use it to build stuff. But # something is broken with it, so it's currently not used at all. #make only_libafs_tree # build kernel modules for KVERARCH in %{kernelversions}; do KARCH=`echo $KVERARCH|sed s/.*-//` KVER=`echo $KVERARCH|sed s/-$KARCH//` [ -e config.cache ] && rm config.cache ( cd src/libafs; make clean ) %configure --with-linux-kernel-headers=$(pwd)/kernelheaders/$KVERARCH/build/ if echo $KVER | grep -q smp; then make only_libafs MPS=MP cp src/libafs/MODLOAD-${KVER}-MP/libafs.ko kernelheaders/libafs-${KVERARCH}.ko else make only_libafs MPS=SP cp src/libafs/MODLOAD-${KVER}-SP/libafs.ko kernelheaders/libafs-${KVERARCH}.ko fi done %install rm -rf $RPM_BUILD_ROOT make install_nolibafs DESTDIR=$RPM_BUILD_ROOT # install kernel modules install -m 755 -d $RPM_BUILD_ROOT%{_libdir}/openafs for KVER in %{kernelversions}; do install -m 711 kernelheaders/libafs-$KVER.ko $RPM_BUILD_ROOT%{_libdir}/openafs/ done # make cache directory. Ideally, this is its own partition. install -m 755 -d $RPM_BUILD_ROOT/var/cache/afs # config directories install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/init.d/ install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig install -m 755 -d $RPM_BUILD_ROOT%{_sysconfdir}/openafs/ # main config file, init script # I'm half-tempted to change the final names of these to "openafs" -- just # plain afs seems inconsistent install -m 755 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/afs install -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/afs # afs configuration install -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/openafs/CellServDB echo "/afs:/var/cache/afs:262144" > $RPM_BUILD_ROOT%{_sysconfdir}/openafs/cacheinfo echo "openafs.org" > $RPM_BUILD_ROOT%{_sysconfdir}/openafs/ThisCell touch $RPM_BUILD_ROOT%{_sysconfdir}/openafs/SuidCells echo "openafs.org openafs" > $RPM_BUILD_ROOT%{_sysconfdir}/openafs/CellAlias # just to be sure chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/openafs/* # clean up stuff that we don't want to package # DCE security system stuff -- wasn't included before -- is this # of use to anyone? rm $RPM_BUILD_ROOT/%{_bindir}/dlog rm $RPM_BUILD_ROOT/%{_bindir}/dpass # this is coming out 0 bytes. And it wasn't getting packaged before. rm $RPM_BUILD_ROOT/%{_sbindir}/kdump # we don't use these.... Red Hat has its own pam_krb5afs modules. # maybe in the future, we could configure these instead.... rm $RPM_BUILD_ROOT%{_libdir}/pam_afs.krb.so.1 rm $RPM_BUILD_ROOT%{_libdir}/pam_afs.so.1 # e2fsprogs-devel has one of these. rm $RPM_BUILD_ROOT%{_bindir}/compile_et %clean rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig %postun /sbin/ldconfig %post client /sbin/chkconfig --add afs if [ ! -e /afs ]; then /bin/mkdir /afs fi %preun client if [ "$1" = "0" ]; then /sbin/service afs stop /sbin/chkconfig --del afs fi %files %defattr(-,root,root,-) %doc README NEWS src/LICENSE %{_bindir}/afsmonitor %{_bindir}/bos %{_bindir}/fs %{_bindir}/kpasswd %{_bindir}/kpwvalid %{_bindir}/klog %{_bindir}/klog.krb %{_bindir}/knfs %{_bindir}/livesys %{_bindir}/pagsh %{_bindir}/pagsh.krb %{_bindir}/pts %{_bindir}/scout %{_bindir}/sys %{_bindir}/tokens %{_bindir}/tokens.krb %{_bindir}/translate_et %{_bindir}/udebug %{_bindir}/unlog %{_sbindir}/backup %{_sbindir}/bos_util %{_sbindir}/butc %{_sbindir}/copyauth %{_sbindir}/fms %{_sbindir}/fstrace %{_sbindir}/kas %{_sbindir}/read_tape %{_sbindir}/restorevol %{_sbindir}/rxdebug %{_sbindir}/uss %{_sbindir}/vos # fix -- the unnumbered .so files should go in devel. but something is # weird with libafsrpc.so, so they all get put here for now. %{_libdir}/*.so* %files client %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/afs %{_sysconfdir}/init.d/afs %dir %{_libdir}/openafs %{_libdir}/openafs/libafs-*.ko %dir /var/cache/afs %dir %{_sysconfdir}/openafs %config %{_sysconfdir}/openafs/CellServDB %config %{_sysconfdir}/openafs/SuidCells %config %{_sysconfdir}/openafs/ThisCell %config %{_sysconfdir}/openafs/CellAlias # this one isn't tagged as a config file because it gets # overwritten all the time and we don't want rpmsave mess # all over %verify(not md5 size mtime) %{_sysconfdir}/openafs/cacheinfo %{_bindir}/cmdebug %{_bindir}/up %{_sbindir}/afsd %files server %defattr(-,root,root) %{_sbindir}/kadb_check %{_sbindir}/kdb %{_sbindir}/kseal %{_sbindir}/kpwvalid %{_sbindir}/prdb_check %{_sbindir}/pt_util %{_sbindir}/rmtsysd %{_sbindir}/vldb_check %{_sbindir}/vldb_convert %{_sbindir}/voldump %{_sbindir}/volinfo %{_sbindir}/vsys %dir %{_libexecdir}/openafs %{_libexecdir}/openafs/kaserver %{_libexecdir}/openafs/buserver %{_libexecdir}/openafs/fileserver %{_libexecdir}/openafs/ptserver %{_libexecdir}/openafs/salvager %{_libexecdir}/openafs/upclient %{_libexecdir}/openafs/upserver %{_libexecdir}/openafs/vlserver %{_libexecdir}/openafs/volserver %{_sbindir}/bosserver %files devel %defattr(-,root,root) %{_bindir}/rxgen %{_bindir}/xstat_cm_test %{_bindir}/xstat_fs_test %{_includedir}/*.h %dir %{_includedir}/afs %{_includedir}/afs/*.h %dir %{_includedir}/rx %{_includedir}/rx/*.h %{_libdir}/*.a %dir %{_libdir}/afs %{_libdir}/afs/*.a %changelog * Sun Dec 05 2004 Thomas Chung 1.3.74-1.FC3 - apply patch from Dr. Frank Bagehorn to fix a bug * Fri Dec 03 2004 Thomas Chung 1.3.74-0.FC3 - rebuild for 2.6.9-1.681_FC3 and 2.6.9-1.681_FC3smp * Fri Nov 19 2004 Matthew Miller - switch to 2.6.9-1.6_FC2 - add buildrequires flex, byacc, and ncurses-devel * Tue Nov 16 2004 Matthew Miller - add 2.6.9-1.3_FC2 kernel support, ditch 2.6.8-1.521 - updated TODO.RPM and README.RPM files * Mon Nov 9 2004 Matthew Miller - update to 1.3.74 * Mon Oct 18 2004 Matthew Miller - update to 1.3.73 * Mon Aug 30 2004 Matthew Miller - update to 1.3.71 from Matteo Corti -- maybe it works now... * Wed Jul 14 2004 Matthew Miller - added generic Provides: afsclient * Wed Jul 07 2004 Joe Szep - bumped version number for final build * Thu Jul 2 2004 Matthew Miller - another day, anoter kernel update.... * Thu Jul 1 2004 Matthew Miller - update for 2.6.6-1.435.2.1 errata kernel * Mon Jun 28 2004 Matthew Miller - update to 1.3.65 - remove all patches -- they're in the source now. - move chkconfig script to client package -- was incorrectly in base package - add GPL to license for base package, since parts of the kernel source are included directly. - add patch to undo check for 5-paramater sock_create, which exists in original Fedora Core 2 but was put back to standard in later updates. * Fri Jun 18 2004 Matthew Miller - remove compile_et -- conflicts with e2fsprogs-devel. * Wed Jun 16 2004 Matthew Miller - scrap old spec file; start entirely new for 1.3.x and the 2.6 kernel. See README.RPM for details, and TODO.RPM for things in progress.