RedHat: Add xstat_*_test commands to RPMs
[openafs.git] / src / packaging / RedHat / openafs.spec.in
index e20ff50..ec9d329 100644 (file)
@@ -2,15 +2,10 @@
 
 %define afsvers @VERSION@
 %define pkgvers @LINUX_PKGVER@
-# for beta/rc releases make pkgrel 0.X.<tag>
+# for beta/rc releases make pkgrel 0.<tag>
 # for real releases make pkgrel 1 (or more for extra releases)
-#%define pkgrel 0.1.rc1
 %define pkgrel @LINUX_PKGREL@
 
-%if %{?osvers:0}%{!?osvers:1}
-%define osvers 1
-%endif
-
 %{!?fedorakmod: %define fedorakmod 1}
 %{!?build_dkmspkg: %define build_dkmspkg 1}
 
@@ -87,7 +82,7 @@
 # End legacy kernel build stuff
 %endif 
 
-%define dkms_version %{osvers}.%{pkgrel}
+%define dkms_version %{pkgvers}-%{pkgrel}%{?dist}
 
 # Set 'debugspec' to 1 if you want to debug the spec file.  This will
 # not remove the installed tree as part of the %clean operation
 %define bootkernelsupport %{?_with_bootkernel:1}%{!?_with_bootkernel:0}
 
 # Define the location of your init.d directory
-%define initdir /etc/init.d
+%define initdir /etc/rc.d/init.d
 
 #determine if the kernel provides an arch-specific Provides
 %define kprovidesarch %(%{kversis} provideskernelarch %{ksrcdir} %{_target_cpu})
 # you'll need to tweak that last bit.
 %if !%{build_userspace_on_cmdline} && !%{build_modules_on_cmdline}
 
-%ifarch x86_64 ia64 s390 s390x
 %define build_userspace 1
 %define build_modules 1
-%ifarch x86_64 ia64
+%ifarch %{ix86} x86_64 ia64
 %define build_authlibs 1
 %else
 %define build_authlibs 0
 %endif
-%endif
-
-%ifarch %{ix86}
-%define build_userspace 0
-%define build_modules 1
-%define build_authlibs 1
-%endif
-
-%ifarch i386
-%define build_userspace 1
-%define build_modules 0
-%define build_authlibs 1
-%endif
-
-%endif
 
-# deal with cmdline specification
-%if %{build_userspace_on_cmdline} || %{build_modules_on_cmdline}
+%else
 %if !%{build_userspace_on_cmdline}
 %define build_userspace 0
 %endif
 Summary: OpenAFS distributed filesystem
 Name: openafs
 Version: %{pkgvers}
-Release: %{osvers}.%{pkgrel}
+Release: %{pkgrel}%{?dist}
 License: IBM Public License
 URL: http://www.openafs.org
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 Packager: OpenAFS Gatekeepers <openafs-gatekeepers@openafs.org>
 Group: Networking/Filesystems
 BuildRequires: %{?kdepend:%{kdepend}, } pam-devel, ncurses-devel, flex, bison
+BuildRequires: perl-devel perl-ExtUtils-Embed
 %if %{krb5support}
 BuildRequires: krb5-devel
 %endif
@@ -260,7 +239,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.2010-02-28
+Source20: http://dl.central.org/dl/cellservdb/CellServDB.2011-08-14
 
 Source30: openafs-kernel-version.sh
 Source996: openafs-kvers-is.sh
@@ -321,7 +300,7 @@ what gets built:
                                   or kdump 
 
 To a kernel module for your running kernel, just run:
-  rpmbuild --rebuild --target=`uname -m` openafs-%{pkgvers}-%{osvers}.%{pkgrel}.src.rpm
+  rpmbuild --rebuild --target=`uname -m` openafs-%{pkgvers}-%{pkgrel}%{?dist}.src.rpm
 
 ##############################################################################
 #
@@ -408,9 +387,9 @@ authentication may link against them.
 
 %package authlibs-devel
 %if %{build_authlibs}
-Requires: openafs-authlibs = %{version}
+Requires: openafs-authlibs = %{version}-%{release}
 %endif
-Requires: openafs-devel = %{version}
+Requires: openafs-devel = %{version}-%{release}
 Summary: OpenAFS shared library development
 Group: Development/Filesystems
 
@@ -427,6 +406,7 @@ libraries.
 %package devel
 Summary: OpenAFS Development Libraries and Headers
 Group: Development/Filesystems
+Requires: openafs = %{version}-%{release}
 
 %description devel
 The AFS distributed filesystem.  AFS is a distributed filesystem
@@ -440,7 +420,7 @@ shared libraries.
 
 %package docs
 Summary: OpenAFS user and administrator documentation
-Requires: openafs = %{version}
+Requires: openafs = %{version}-%{release}
 Group: Networking/Filesystems
 
 %description docs
@@ -1013,6 +993,10 @@ 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 C | tar xf - -C $RPM_BUILD_ROOT%{_prefix}/vice/etc
 
+# Set the executable bit on libraries in libdir, so rpmbuild knows to 
+# create "Provides" entries in the package metadata for the libraries
+chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so*
+
 # Fix the location of restorevol, since it should be available for
 # any user in /usr/bin
 mv $RPM_BUILD_ROOT%{_prefix}/afs/bin/restorevol $RPM_BUILD_ROOT%{_bindir}/restorevol
@@ -1050,7 +1034,7 @@ PACKAGE_VERSION="%{dkms_version}"
 
 # Items below here should not have to change with each driver version
 PACKAGE_NAME="%{name}"
-MAKE[0]="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} --with-linux-kernel-packaging; make; mv src/libafs/MODLOAD-*/\\\$KMODNAME \\\$DSTKMOD"
+MAKE[0]="KMODNAME=openafs.ko; DSTKMOD=\\".\\"; [ \\"\\\`echo \\"\${kernelver_array[0]}\${kernelver[0]}\\" | sed -e 's/^\\([0-9]*\\.[0-9]*\\)\\..*/\\1/'\\\`\\" = \\"2.4\\" ] && KMODNAME=\\"libafs-*\\" && DSTKMOD=openafs.o; ./configure --with-linux-kernel-headers=\${kernel_source_dir} --with-linux-kernel-packaging; make; mv src/libafs/MODLOAD-*/\\\\\\\$KMODNAME \\\\\\\$DSTKMOD"
 CLEAN="make -C src/libafs clean"
 
 BUILT_MODULE_NAME[0]="\$PACKAGE_NAME"
@@ -1113,7 +1097,8 @@ gzip -9 $RPM_BUILD_ROOT%{_mandir}/man*/*
 
 # create list of man pages that go in the 'openafs' package
 /bin/ls $RPM_BUILD_ROOT%{_mandir}/man1 \
-       |egrep '^afs|^fs|^kas|^klog|kapasswd|pagsh|^pts|^restorevol|^rxdebug|scout|^sys|tokens|translate|udebug|unlog|^uss|^vos' \
+       |egrep '^afs|^fs|^kas|^klog|kapasswd|pagsh|^pts|^restorevol|^rxdebug|scout|^sys|tokens|translate|^xstat|udebug|unlog|^uss|^vos' \
+       |egrep -v '^afs_compile_et' \
        >openafs-man1files
 
 /bin/ls $RPM_BUILD_ROOT%{_mandir}/man5 \
@@ -1121,7 +1106,7 @@ gzip -9 $RPM_BUILD_ROOT%{_mandir}/man*/*
        >openafs-man5files
 
 /bin/ls $RPM_BUILD_ROOT%{_mandir}/man8 \
-       |egrep '^backup|^bos|^butc|^fms|^fssync-debug|^fstrace|^kas|^read_tape|^uss' \
+       |egrep '^aklog_dynamic_auth|^backup|^bos|^butc|^fms|^fssync-debug|^fstrace|^kas|^read_tape|^uss' \
        >openafs-man8files
 
 #
@@ -1143,6 +1128,8 @@ grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
 %{_bindir}/tokens
 %{_bindir}/tokens.krb
 %{_bindir}/translate_et
+%{_bindir}/xstat_cm_test
+%{_bindir}/xstat_fs_test
 %{_bindir}/udebug
 %{_bindir}/unlog
 %{_sbindir}/backup
@@ -1193,7 +1180,7 @@ for f in bos fs kas klog klog.krb kpwvalid pts tokens tokens.krb udebug vos ; do
 done
 
 # the rest are not needed.
-for f in dlog dpass install knfs livesys xstat_cm_test xstat_fs_test ; do
+for f in dlog dpass install knfs livesys ; do
   rm -f $RPM_BUILD_ROOT%{_bindir}/$f
 done
 
@@ -1205,7 +1192,7 @@ done
 rm -rf $RPM_BUILD_ROOT%{_sbindir}/kdump*
 
 # remove man pages from programs deleted above
-for f in 1/dlog 1/dpass 1/livesys 1/xstat_cm_test 1/xstat_fs_test 8/kdb 8/kpwvalid 8/xfs_size_check 1/package_test 5/package 8/package ; do
+for f in 1/dlog 1/dpass 1/livesys 8/kdb 8/kpwvalid 8/xfs_size_check 1/package_test 5/package 8/package ; do
   rm -f $RPM_BUILD_ROOT%{_mandir}/man$f.*
 done
 
@@ -1300,6 +1287,7 @@ if [ ! -d /afs ]; then
        mkdir /afs
        chown root.root /afs
        chmod 0755 /afs
+       [ -x /sbin/restorecon ] && /sbin/restorecon /afs
 fi
 
 # Create the CellServDB
@@ -1309,21 +1297,6 @@ fi
   cat CellServDB.local CellServDB.dist > CellServDB ; \
   chmod 644 CellServDB )
 
-echo
-echo The AFS cache is configured for 100 MB. Edit the
-echo /usr/vice/etc/cacheinfo file to change this before
-echo running AFS for the first time. You should also
-echo set your home cell in /usr/vice/etc/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   %{pamdir}/pam_afs.so try_first_pass ignore_root
-echo
-echo before the one for pwdb.
-echo
-
 %post server
 #on an upgrade, don't enable if we were disabled
 if [ $1 = 1 ] ; then
@@ -1423,10 +1396,16 @@ dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %defattr(-,root,root)
 %config /etc/sysconfig/openafs
 %doc %{_docdir}/openafs-%{afsvers}/LICENSE
+%{_libdir}/libafshcrypto.so.*
+%{_libdir}/librokenafs.so.*
 
 %files docs
 %defattr(-,root,root)
-%doc %{_docdir}/openafs-%{afsvers}
+%docdir %{_docdir}/openafs-%{afsvers}
+%dir %{_docdir}/openafs-%{afsvers}
+%{_docdir}/openafs-%{afsvers}/ChangeLog
+%{_docdir}/openafs-%{afsvers}/RELNOTES-%{afsvers}
+%{_docdir}/openafs-%{afsvers}/pdf
 
 %files client
 %defattr(-,root,root)
@@ -1437,6 +1416,7 @@ dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_prefix}/vice/etc/CellServDB.dist
 %config %{_prefix}/vice/etc/ThisCell
 %config %{_prefix}/vice/etc/cacheinfo
+%{_bindir}/afsio
 %{_bindir}/cmdebug
 %{_bindir}/up
 %{_prefix}/vice/etc/afsd
@@ -1449,7 +1429,10 @@ dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_mandir}/man1/cmdebug.*
 %{_mandir}/man1/copyauth.*
 %{_mandir}/man1/up.*
-%{_mandir}/man5/afs*
+%{_mandir}/man5/afs.5.gz
+%{_mandir}/man5/afs_cache.5.gz
+%{_mandir}/man5/afs_volume_header.5.gz
+%{_mandir}/man5/afszcm.cat.5.gz
 %{_mandir}/man5/cacheinfo.*
 %{_mandir}/man8/afsd.*
 %{_mandir}/man8/rmtsysd.*
@@ -1545,23 +1528,21 @@ dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_libdir}/libafsauthent.so.*
 %{_libdir}/libafsrpc.so.*
 %{_libdir}/libkopenafs.so.*
-%{_libdir}/libafshcrypto.so.*
 %endif
 
 %files authlibs-devel
 %defattr(-,root,root)
 %{_includedir}/kopenafs.h
 %{_libdir}/libafsauthent.a
+%{_libdir}/libafscp.a
 %{_libdir}/libafsrpc.a
 %{_libdir}/libafsauthent_pic.a
 %{_libdir}/libafsrpc_pic.a
 %{_libdir}/libkopenafs.a
-%{_libdir}/libafshcrypto.a
 %if %{build_authlibs}
 %{_libdir}/libafsauthent.so
 %{_libdir}/libafsrpc.so
 %{_libdir}/libkopenafs.so
-%{_libdir}/libafshcrypto.so
 %endif
 
 %files devel
@@ -1569,20 +1550,19 @@ dkms remove -m %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
 %{_bindir}/afs_compile_et
 %{_bindir}/rxgen
 %{_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}/preempt.h
 %{_includedir}/rx
 %{_includedir}/timer.h
 %{_includedir}/ubik.h
 %{_includedir}/ubik_int.h
 %{_libdir}/afs
+%{_libdir}/libafshcrypto.a
+%{_libdir}/libafshcrypto.so
 %{_libdir}/liblwp.a
+%{_libdir}/librokenafs.a
+%{_libdir}/librokenafs.so
 %{_libdir}/librx.a
 %{_libdir}/librxkad.a
 %{_libdir}/librxstat.a