Move restorevol to bin from sbin
[openafs.git] / src / packaging / RedHat / openafs.spec.in
index 13d3b8a..4380eac 100644 (file)
@@ -1,5 +1,8 @@
 # Openafs Spec $Revision$
 
+# TEMPORARY fix for patch fuzz so we can build on Fedora 10
+%define _default_patch_fuzz 2
+
 %define afsvers @VERSION@
 %define pkgvers @LINUX_PKGVER@
 # for beta/rc releases make pkgrel 0.X.<tag>
@@ -19,6 +22,7 @@
 %define kernvers_on_cmdline %{?kernvers:1}%{!?kernvers:0}
 %define build_userspace_on_cmdline %{?build_userspace:1}%{!?build_userspace:0}
 %define build_modules_on_cmdline %{?build_modules:1}%{!?build_modules:0}
+%define build_authlibs_on_cmdline %{?build_authlibs:1}%{!?build_authlibs:0}
 
 # Determine the version of the kernel to build against
 # - automatically select running kernel if there are sources in /lib/modules
 %define kernvers %(%{_sourcedir}/openafs-kernel-version.sh)
 %endif
 
+# If we're building for a 2.4 series kernel, then fedora style kmods aren't
+# appropriate - disable them.
+
+%define kern24 %([ `echo "%{kernvers}" | sed -e 's/^\([0-9]*\.[0-9]*\)\..*/\1/'` = "2.4" ] && echo 1 || echo 0)
+
+%if %{kern24}
+%define fedorakmod 0
+%endif
+
 %if %{fedorakmod}
 %define kmodtool bash %{_sourcedir}/openafs-kmodtool
 
 %define upvar ""
 %{!?kvariants: %define kvariants %{?upvar}}
 
-%{!?ksrcdir: %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
+%if %{?ksrcdir:1}%{!?ksrcdir:0}
+  if ( -d %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}) ; then
+    %define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}}
+  else
+    %define ksrcdir %{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}}
+  fi
+%endif
 
 %else # Legacy kernel build stuff 
 
 %endif
 %endif
 
+%if !%{build_authlibs_on_cmdline}
+%if %{build_userspace_on_cmdline}
+%define build_authlibs 1
+%else
+%define build_authlibs 0
+%endif
+%endif
+
 # Make sure RPM doesn't complain about installed but non-packaged files.
 #define __check_files  %{nil}
 
@@ -242,7 +269,7 @@ Source1: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-doc.tar
 Source10: http://www.openafs.org/dl/openafs/%{afsvers}/RELNOTES-%{afsvers}
 Source11: http://www.openafs.org/dl/openafs/%{afsvers}/ChangeLog
 
-Source20: http://dl.central.org/dl/cellservdb/CellServDB.2007-10-25 
+Source20: http://dl.central.org/dl/cellservdb/CellServDB.2008-11-07
 
 Source30: openafs-kernel-version.sh
 Source996: openafs-kvers-is.sh
@@ -250,8 +277,6 @@ Source997: openafs-buildfedora.pl
 Source998: openafs-buildall.sh
 Source999: openafs-kmodtool
 
-Patch0:  openafs-1.4.0-kmodule26.patch
-
 %description
 The AFS distributed filesystem.  AFS is a distributed filesystem
 allowing cross-platform sharing of files among multiple computers.
@@ -670,9 +695,6 @@ This package provides a precompiled AFS kernel module for %{kernvers}.
 #%setup -q -n %{srcdir}
 %setup -q -b 1 -n %{srcdir}
 
-# Patch openafs to build a kernel module named "openafs" instead of "libafs"
-%patch0 -p1 -b .kmod26
-
 ##############################################################################
 #
 # building
@@ -821,7 +843,11 @@ ksrc=""
 %if %{fedorakmod} 
   for kvariant in %{kvariants} ; do
     if [ -z "${kvariant}" -o -z "$ksrc" ] ; then
-      ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+      if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
+        ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+      else
+        ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
+      fi
     fi
   done
 %endif
@@ -837,6 +863,8 @@ CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
        --disable-strip-binaries \
+       --with-linux-kernel-packaging \
+       --enable-disconnected \
 %if %{build_modules}
        --with-linux-kernel-headers=${ksrc} \
 %endif
@@ -854,6 +882,12 @@ make only_libafs_tree || exit 1
 %if %{fedorakmod} && %{build_modules}
 for kvariant in %{kvariants} ; do
   if [ -n "${kvariant}" ] ; then
+    if [ -d %{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} ] ; then
+      ksrc=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu}
+    else
+      ksrc=%{_usrsrc}/kernels/%{kverrel}.%{_target_cpu}${kvariant:+.$kvariant}
+    fi
+
     cp -R libafs_tree _kmod_build_${kvariant}
     pushd _kmod_build_${kvariant}
     ./configure --with-afs-sysname=${sysname} \
@@ -861,7 +895,9 @@ for kvariant in %{kvariants} ; do
        --libdir=%{_libdir} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
-       --with-linux-kernel-headers=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} \
+        --with-linux-kernel-packaging \
+       --with-linux-kernel-headers=${ksrc} \
+       --enable-disconnected \
 %if %{krb5support}
        --with-krb5-conf=/usr/kerberos/bin/krb5-config \
 %endif
@@ -883,10 +919,10 @@ for kvariant in %{kvariants}
 do
   if [ -n "${kvariant}" ] ; then
     pushd _kmod_build_$kvariant;
-    make all MPS=SP
+    make all
     popd
   else
-    make dest_only_libafs MPS=SP
+    make dest_only_libafs
   fi
 done
 
@@ -980,7 +1016,7 @@ tar cf - -C ${sysname}/dest bin include | tar xf - -C $RPM_BUILD_ROOT%{_prefix}
 tar cf - -C ${sysname}/dest/lib . | tar xf - -C $RPM_BUILD_ROOT%{_libdir}
 tar cf - -C ${sysname}/dest/etc . | tar xf - -C $RPM_BUILD_ROOT%{_sbindir}
 tar cf - -C ${sysname}/dest/root.server%{_prefix}/afs bin | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/afs
-tar cf - -C ${sysname}/dest/root.client%{_prefix}/vice/etc afsd | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/vice/etc
+tar cf - -C ${sysname}/dest/root.client%{_prefix}/vice/etc afsd C | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/vice/etc
 
 # Link kpasswd to kapasswd
 ln -f $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kapasswd
@@ -1015,12 +1051,12 @@ PACKAGE_VERSION="%{dkms_version}"
 
 # Items below here should not have to change with each driver version
 PACKAGE_NAME="%{name}"
-MAKE[0]="SMP=SP; eval \\\`grep CONFIG_SMP /boot/config-\${kernelver_array[0]}\\\`; [ -n \"\\\$CONFIG_SMP\" ] && SMP=MP; ./configure --with-linux-kernel-headers=\${kernel_source_dir}; make MPS=\\\$SMP; mv src/libafs/MODLOAD-*/openafs.ko ."
+MAKE[0]="SMP=SP; eval \\\`grep CONFIG_SMP /boot/config-\${kernelver_array[0]}\\\`; [ -n \"\\\$CONFIG_SMP\" ] && SMP=MP; KMODNAME=openafs.ko; DSTKMOD=\\".\\"; [ \\"\\\`echo \\"\${kernelver_array[0]}\\" | sed -e 's/^\\([0-9]*\\.[0-9]*\\)\\..*/\\1/'\\\`\\" = \\"2.4\\" ] && KMODNAME=\\"libafs-*\\" && DSTKMOD=openafs.o; ./configure --enable-disconnected --with-linux-kernel-headers=\${kernel_source_dir}; make MPS=\\\$SMP; mv src/libafs/MODLOAD-*/\\\$KMODNAME \\\$DSTKMOD"
 CLEAN="make -C src/libafs clean"
 
 BUILT_MODULE_NAME[0]="\$PACKAGE_NAME"
 DEST_MODULE_LOCATION[0]="/kernel/3rdparty/\$PACKAGE_NAME/"
-
+STRIP[0]=no
 AUTOINSTALL=yes
 
 EOF
@@ -1103,6 +1139,7 @@ grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
 %{_bindir}/pagsh
 %{_bindir}/pagsh.krb
 %{_bindir}/pts
+%{_bindir}/restorevol
 %{_bindir}/scout
 %{_bindir}/sys
 %{_bindir}/tokens
@@ -1112,12 +1149,10 @@ grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
 %{_bindir}/unlog
 %{_sbindir}/backup
 %{_sbindir}/butc
-%{_sbindir}/copyauth
 %{_sbindir}/fms
 %{_sbindir}/fstrace
 %{_sbindir}/kas
 %{_sbindir}/read_tape
-%{_sbindir}/restorevol
 %{_sbindir}/rxdebug
 %{_sbindir}/uss
 %{_sbindir}/vos
@@ -1159,9 +1194,8 @@ for f in bos fs kas klog klog.krb kpwvalid pts tokens tokens.krb udebug vos ; do
   rm -f $RPM_BUILD_ROOT%{_prefix}/afs/bin/$f
 done
 
-# compile_et is duplicated in e2fsprogs
 # the rest are not needed.
-for f in compile_et dlog dpass install knfs livesys xstat_cm_test xstat_fs_test ; do
+for f in dlog dpass install knfs livesys xstat_cm_test xstat_fs_test ; do
   rm -f $RPM_BUILD_ROOT%{_bindir}/$f
 done
 
@@ -1196,14 +1230,25 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so.*
 for kvariant in %{kvariants}
 do
   if [ -n "$kvariant" ] ; then
-    srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+    if [ -d _kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP ] ; then
+      srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+      dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+    else
+      srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}.%{_target_cpu}.${kvariant}-SP
+      dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}.${kvariant}/extra/openafs
+    fi
   else
-    srcdir=${sysname}/dest/root.client%{_prefix}/vice/etc/modload
+    if [ -d ${sysname}/dest/root.client/lib/modules/%{kverrel}/extra/openafs ] ; then
+      srcdir=${sysname}/dest/root.client/lib/modules/%{kverrel}/extra/openafs
+      dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}/extra/openafs
+    else
+      srcdir=${sysname}/dest/root.client/lib/modules/%{kverrel}.%{_target_cpu}/extra/openafs
+      dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}.%{_target_cpu}/extra/openafs
+    fi
   fi
 
-  dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
   mkdir -p ${dstdir}
-  install -m 755 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
+  install -m 755 ${srcdir}/openafs.ko ${dstdir}/openafs.ko
 done
 %else
 # Install the kernel modules
@@ -1212,13 +1257,13 @@ do
     if [ ${variation} = up ]
     then
        kvar=%{kxmoddir}
-       modname=libafs-%{kernvers}${kmodend}
+       modname=openafs${kmodend}
     else
        kvar=%{kxmoddir}${variation}
-       modname=libafs-%{kernvers}${variation}${kmodend}
+       modname=openafs${kmodend}
     fi
 
-    srcdir=${sysname}/dest/root.client%{_prefix}/vice/etc/modload
+    srcdir=${sysname}/dest/root.client/lib/modules/%{kverrel}${kvariant}/extra/openafs
     dstdir=$RPM_BUILD_ROOT${kvar}/fs/openafs
 
     mkdir -p ${dstdir}
@@ -1317,7 +1362,7 @@ dkms build -m %{name} -v %{dkms_version} --rpm_safe_upgrade
 dkms install -m %{name} -v %{dkms_version} --rpm_safe_upgrade
 
 %preun -n dkms-%{name}
-dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
+dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %endif
 %endif
 
@@ -1387,23 +1432,29 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %dir %{_prefix}/vice
 %dir %{_prefix}/vice/cache
 %dir %{_prefix}/vice/etc
+%dir %{_prefix}/vice/etc/C
 %{_prefix}/vice/etc/CellServDB.dist
 %config %{_prefix}/vice/etc/ThisCell
 %config %{_prefix}/vice/etc/cacheinfo
 %{_bindir}/cmdebug
 %{_bindir}/up
 %{_prefix}/vice/etc/afsd
+%{_prefix}/vice/etc/C/afszcm.cat
 %{pamdir}/pam_afs.krb.so.1
 %{pamdir}/pam_afs.krb.so
 %{pamdir}/pam_afs.so.1
 %{pamdir}/pam_afs.so
 %{initdir}/openafs-client
 %{_mandir}/man1/cmdebug.*
+%{_mandir}/man1/copyauth.*
 %{_mandir}/man1/up.*
 %{_mandir}/man5/afs*
 %{_mandir}/man5/cacheinfo.*
 %{_mandir}/man8/afsd.*
+%{_mandir}/man8/rmtsysd.*
+%{_mandir}/man8/vsys.*
 %{_mandir}/man5/CellAlias.*
+%{_mandir}/man5/afszcm.cat.*
 
 %files server
 %defattr(-,root,root)
@@ -1415,12 +1466,14 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_prefix}/afs/bin/bos_util
 %{_prefix}/afs/bin/buserver
 %{_prefix}/afs/bin/fileserver
+%{_prefix}/afs/bin/fssync-debug
 # Should we support KAServer?
 %{_prefix}/afs/bin/kaserver
 %{_prefix}/afs/bin/ka-forwarder
 %{_prefix}/afs/bin/pt_util
 %{_prefix}/afs/bin/ptserver
 %{_prefix}/afs/bin/salvager
+%{_prefix}/afs/bin/state_analyzer
 %{_prefix}/afs/bin/upclient
 %{_prefix}/afs/bin/upserver
 %{_prefix}/afs/bin/vlserver
@@ -1432,6 +1485,7 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_sbindir}/vldb_convert
 %{_sbindir}/voldump
 %{initdir}/openafs-server
+%{_mandir}/man1/restorevol.*
 %{_mandir}/man5/AuthLog.*
 %{_mandir}/man5/BackupLog.*
 %{_mandir}/man5/BosConfig.*
@@ -1452,6 +1506,7 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_mandir}/man5/fms.log.*
 %{_mandir}/man5/kaserver.DB0.*
 %{_mandir}/man5/kaserverauxdb.*
+%{_mandir}/man5/krb.conf.*
 %{_mandir}/man5/prdb.DB0.*
 %{_mandir}/man5/salvage.lock.*
 %{_mandir}/man5/tapeconfig.*
@@ -1464,14 +1519,15 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_mandir}/man8/ptserver.*
 %{_mandir}/man8/pt_util.*
 %{_mandir}/man8/salvager.*
+%{_mandir}/man8/salvageserver.*
 %{_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 %{build_authlibs}
 %files authlibs
@@ -1484,6 +1540,8 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %defattr(-,root,root)
 %{_libdir}/libafsauthent.a
 %{_libdir}/libafsrpc.a
+%{_libdir}/libafsauthent_pic.a
+%{_libdir}/libafsrpc_pic.a
 %if %{build_authlibs}
 %{_libdir}/libafsauthent.so
 %{_libdir}/libafsrpc.so
@@ -1514,6 +1572,7 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_libdir}/librxstat.a
 %{_libdir}/libubik.a
 %{_mandir}/man1/rxgen.*
+%{_mandir}/man1/afs_compile_et.*
 
 %if %{build_dkmspkg}
 %files -n dkms-%{name}
@@ -1541,6 +1600,7 @@ dkms remove -m %{namee} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %files krb5
 %defattr(-,root,root)
 %{_bindir}/aklog
+%{_bindir}/klog.krb5
 %{_sbindir}/asetkey
 %{_mandir}/man1/aklog.*
 %{_mandir}/man8/asetkey.*