# 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>
# to distribute aklog and asetkey
%define krb5support %{?_without_krb5:0}%{!?_without_krb5:1}
-%if %{krb5support}
-%if %{?krb5config:0}%{!?krb5config:1}
-%define krb5config /usr/kerberos/bin/krb5-config
-%endif
-%endif
-
# Set 'bootkernelsupport' to 1 if you want to build the
# kernel module for Red Hat BOOT Kernels on x86.
%define bootkernelsupport %{?_with_bootkernel:1}%{!?_with_bootkernel:0}
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.2008-11-07
+Source20: http://dl.central.org/dl/cellservdb/CellServDB.2010-02-28
Source30: openafs-kernel-version.sh
Source996: openafs-kvers-is.sh
--without krb5 Disable krb5 support (default: with krb5)
--with bitmap-later Enable "bitmap later" support
--with bos-restricted Enable "bos restricted" mode
- --with fast-restart Enable "fast restart" mode
--with largefiles Enable "largefile fileserver" mode
--with supergroups Enable "supergroups"
%if %{build_userspace}
%package client
-Requires: binutils, openafs = %{PACKAGE_VERSION}
+Requires: binutils, openafs = %{version}
%if %{fedorakmod}
Requires: %{name}-kmod >= %{version}
AFS.
%package server
-Requires: openafs = %{PACKAGE_VERSION}
+Requires: openafs = %{version}
Summary: OpenAFS Filesystem Server
Group: Networking/Filesystems
%package -n dkms-%{name}
Summary: DKMS-ready kernel source for AFS distributed filesystem
Group: Development/Kernel
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{fedorakmod}
-Provides: %{name}-kmod = %{PACKAGE_VERSION}
+Provides: %{name}-kmod = %{version}
%endif
Requires(pre): dkms
Requires(pre): flex
%package authlibs-devel
%if %{build_authlibs}
-Requires: openafs-authlibs = %{PACKAGE_VERSION}
+Requires: openafs-authlibs = %{version}
%endif
-Requires: openafs-devel = %{PACKAGE_VERSION}
+Requires: openafs-devel = %{version}
Summary: OpenAFS shared library development
Group: Development/Filesystems
%package docs
Summary: OpenAFS user and administrator documentation
-Requires: openafs = %{PACKAGE_VERSION}
+Requires: openafs = %{version}
Group: Networking/Filesystems
%description docs
%package kernel-source
Summary: OpenAFS Kernel Module source tree
Group: Networking/Filesystems
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{fedorakmod}
-Provides: %{name}-kmod = %{PACKAGE_VERSION}
+Provides: %{name}-kmod = %{version}
%endif
%description kernel-source
%package compat
Summary: OpenAFS client compatibility symlinks
-Requires: openafs = %{PACKAGE_VERSION}, openafs-client = %{PACKAGE_VERSION}
+Requires: openafs = %{version}, openafs-client = %{version}
Group: Networking/Filesystems
Obsoletes: openafs-client-compat
%if %{krb5support}
%package krb5
Summary: OpenAFS programs to use with krb5
-Requires: openafs = %{PACKAGE_VERSION}
+Requires: openafs = %{version}
Group: Networking/Filesystems
BuildRequires: krb5-devel
Summary: OpenAFS Kernel Module (compiled for UP)
Release: %{modpkgrel}
Group: Networking/Filesystems
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{kprovidesarch}
Requires: kernel-%{_target_cpu} = %{kversion}
%else
%package kernel-smp
Summary: OpenAFS Kernel Module (compiled for SMP)
Release: %{modpkgrel}
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{kprovidesarch}
Requires: kernel-smp-%{_target_cpu} = %{kversion}
%else
%package kernel-largesmp
Summary: OpenAFS Kernel Module (compiled for LARGESMP)
Release: %{modpkgrel}
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{kprovidesarch}
Requires: kernel-largesmp-%{_target_cpu} = %{kversion}
%else
%package kernel-bigmem
Summary: OpenAFS Kernel Module (compiled for SMP & big memory support)
Release: %{modpkgrel}
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{kprovidesarch}
Requires: kernel-bigmem-%{_target_cpu} = %{kversion}
%else
%package kernel-hugemem
Summary: OpenAFS Kernel Module (compiled for SMP & huge memory support)
Release: %{modpkgrel}
-Provides: openafs-kernel = %{PACKAGE_VERSION}
+Provides: openafs-kernel = %{version}
%if %{kprovidesarch}
Requires: kernel-hugemem-%{_target_cpu} = %{kversion}
%else
config_opts="--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} \
--enable-transarc-paths"
CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
+%if %{krb5support}
+%if %{?krb5config:1}%{!?krb5config:0}
+KRB5_CONFIG="%{krb5config}"
+export KRB5_CONFIG
+%endif
+%endif
+
./configure --with-afs-sysname=${sysname} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--sbindir=%{_sbindir} \
--disable-strip-binaries \
--with-linux-kernel-packaging \
- --enable-disconnected \
%if %{build_modules}
--with-linux-kernel-headers=${ksrc} \
%endif
%if %{krb5support}
- --with-krb5-conf=%{krb5config} \
+ --with-krb5 \
%endif
$config_opts \
|| exit 1
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
+# 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
+
# Link kpasswd to kapasswd
ln -f $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kapasswd
# 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; 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"
+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"
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
# 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|^rxdebug|scout|^sys|tokens|translate|udebug|unlog|^uss|^vos' \
+ |egrep '^afs|^fs|^kas|^klog|kapasswd|pagsh|^pts|^restorevol|^rxdebug|scout|^sys|tokens|translate|udebug|unlog|^uss|^vos' \
>openafs-man1files
/bin/ls $RPM_BUILD_ROOT%{_mandir}/man5 \
>openafs-man5files
/bin/ls $RPM_BUILD_ROOT%{_mandir}/man8 \
- |egrep '^backup|^bos|^butc|^fms|^fstrace|^kas|^read_tape|^uss' \
+ |egrep '^backup|^bos|^butc|^fms|^fssync-debug|^fstrace|^kas|^read_tape|^uss' \
>openafs-man8files
#
%{_bindir}/bos
%{_bindir}/fs
%{_bindir}/kapasswd
-%{_bindir}/kpasswd
%{_bindir}/klog
%{_bindir}/klog.krb
%{_bindir}/pagsh
%{_bindir}/pagsh.krb
%{_bindir}/pts
+%{_bindir}/restorevol
%{_bindir}/scout
%{_bindir}/sys
%{_bindir}/tokens
%{_sbindir}/fstrace
%{_sbindir}/kas
%{_sbindir}/read_tape
-%{_sbindir}/restorevol
%{_sbindir}/rxdebug
%{_sbindir}/uss
%{_sbindir}/vos
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
%{_mandir}/man8/rmtsysd.*
%{_mandir}/man8/vsys.*
%{_mandir}/man5/CellAlias.*
-%{_mandir}/man5/afszcm.cat.*
%files server
%defattr(-,root,root)
%{_prefix}/afs/bin/bosserver
%{_prefix}/afs/bin/bos_util
%{_prefix}/afs/bin/buserver
+%{_prefix}/afs/bin/dafileserver
+%{_prefix}/afs/bin/dafssync-debug
+%{_prefix}/afs/bin/dasalvager
+%{_prefix}/afs/bin/davolserver
%{_prefix}/afs/bin/fileserver
%{_prefix}/afs/bin/fssync-debug
# Should we support KAServer?
%{_prefix}/afs/bin/pt_util
%{_prefix}/afs/bin/ptserver
%{_prefix}/afs/bin/salvager
+%{_prefix}/afs/bin/salvageserver
+%{_prefix}/afs/bin/salvsync-debug
%{_prefix}/afs/bin/state_analyzer
%{_prefix}/afs/bin/upclient
%{_prefix}/afs/bin/upserver
%{_mandir}/man5/kaserver.DB0.*
%{_mandir}/man5/kaserverauxdb.*
%{_mandir}/man5/krb.conf.*
+%{_mandir}/man5/krb.excl.*
%{_mandir}/man5/prdb.DB0.*
%{_mandir}/man5/salvage.lock.*
%{_mandir}/man5/tapeconfig.*
%{_mandir}/man5/vldb.DB0.*
%{_mandir}/man8/buserver.*
%{_mandir}/man8/fileserver.*
+%{_mandir}/man8/dafileserver.*
+%{_mandir}/man8/dasalvager.*
+%{_mandir}/man8/davolserver.*
%{_mandir}/man8/kadb_check.*
%{_mandir}/man8/ka-forwarder.*
%{_mandir}/man8/prdb_check.*
%{_mandir}/man8/ptserver.*
%{_mandir}/man8/pt_util.*
-%{_mandir}/man8/restorevol.*
%{_mandir}/man8/salvager.*
%{_mandir}/man8/salvageserver.*
+%{_mandir}/man8/state_analyzer.*
%{_mandir}/man8/upclient.*
%{_mandir}/man8/upserver.*
%{_mandir}/man8/vldb_check.*
%defattr(-,root,root)
%{_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}/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
%defattr(-,root,root)
+%{_bindir}/afs_compile_et
%{_bindir}/rxgen
%{_includedir}/afs
%{_includedir}/des.h
%{_libdir}/librxstat.a
%{_libdir}/libubik.a
%{_mandir}/man1/rxgen.*
-%{_mandir}/man1/compile_et.*
+%{_mandir}/man1/afs_compile_et.*
%if %{build_dkmspkg}
%files -n dkms-%{name}