# Openafs Spec $Revision$
-%define afsvers 1.4.5pre1
-%define pkgvers 1.4.5pre1
+%define afsvers @VERSION@
+%define pkgvers @LINUX_PKGVER@
# for beta/rc releases make pkgrel 0.X.<tag>
# for real releases make pkgrel 1 (or more for extra releases)
#%define pkgrel 0.1.rc1
-%define pkgrel 1
+%define pkgrel @LINUX_PKGREL@
%if %{?osvers:0}%{!?osvers:1}
%define osvers 1
%endif
-%{!?fedorakmod: %define fedorakmod 0}
+%{!?fedorakmod: %define fedorakmod 1}
+%{!?build_dkmspkg: %define build_dkmspkg 1}
# Determine presence of rpmbuild command line --define arguments used for
# option specification
%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 the latest kernel with sources from /lib/modules
+# - automatically select running kernel if there are sources in /lib/modules
# - note that this can be overridden on the command line
#
%if !%{kernvers_on_cmdline}
%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}/kmodtool
+%define kmodtool bash %{_sourcedir}/openafs-kmodtool
%define kmod_name openafs
%define kverrel %(%{kmodtool} verrel %{?kernvers} 2>/dev/null)
%define upvar ""
-%ifarch i686
-%define paevar PAE
-%endif
-%ifarch ppc
-%define smpvar smp
-%endif
-%ifarch i686 x86_64
-%define xenvar xen
-%define kdumpvar kdump
-%endif
-%{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?paevar} %{?xenvar} %{?kdumpvar}}
+%{!?kvariants: %define kvariants %{?upvar}}
-%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
# End legacy kernel build stuff
%endif
+%define dkms_version %{osvers}.%{pkgrel}
+
# 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
%if %{?debugspec:0}%{!?debugspec:1}
# 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}
%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}
License: IBM Public License
URL: http://www.openafs.org
BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Packager: Derek Atkins <warlord@MIT.EDU>
+Packager: OpenAFS Gatekeepers <openafs-gatekeepers@openafs.org>
Group: Networking/Filesystems
BuildRequires: %{?kdepend:%{kdepend}, } pam-devel, ncurses-devel, flex, bison
-%if %{build_userspace}
-BuildRequires: autoconf
+%if %{krb5support}
+BuildRequires: krb5-devel
%endif
-ExclusiveArch: %{ix86} x86_64 ia64
+ExclusiveArch: %{ix86} x86_64 ia64 s390 s390x sparc64 ppc ppc64
# http://dl.openafs.org/dl/openafs/candidate/%{afsvers}/...
Source0: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-src.tar.bz2
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
+
Source30: openafs-kernel-version.sh
+Source996: openafs-kvers-is.sh
+Source997: openafs-buildfedora.pl
Source998: openafs-buildall.sh
-Source999: kmodtool
-
-Patch0: openafs-1.4.0-kmodule26.patch
+Source999: openafs-kmodtool
%description
The AFS distributed filesystem. AFS is a distributed filesystem
will be installed. You probably don't
need to change this ever.
- --define "fedorakmod 1" Build 'Fedora' style kernel modules
+ --define "fedorakmod 0" Disable the building of 'Fedora' style kernel
+ modules, and use the old format.
+
+ --define "kvariants <variants>" When building Fedora style kernel modules,
+ this defines the set of kernel variants
+ to build.
+ <variants> is a space seperated list which
+ may contain one or more of
+ '' (for the generic kernel), smp, PAE, xen
+ or kdump
To a kernel module for your running kernel, just run:
rpmbuild --rebuild --target=`uname -m` openafs-%{pkgvers}-%{osvers}.%{pkgrel}.src.rpm
%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
This package provides basic server support to host files in an AFS
Cell.
+%if %{build_dkmspkg}
+%package -n dkms-%{name}
+Summary: DKMS-ready kernel source for AFS distributed filesystem
+Group: Development/Kernel
+Provides: openafs-kernel = %{version}
+%if %{fedorakmod}
+Provides: %{name}-kmod = %{version}
+%endif
+Requires(pre): dkms
+Requires(pre): flex
+Requires(post): dkms
+Requires: %{name}-kmod-common = %{version}
+
+%description -n dkms-%{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.
+
+This package provides the source code to allow DKMS to build an
+AFS kernel module.
+%endif
+
%if %{build_authlibs}
%package authlibs
Summary: OpenAFS authentication shared libraries
%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, autoconf, automake
+BuildRequires: krb5-devel
%description krb5
The AFS distributed filesystem. AFS is a distributed filesystem
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
#%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
-
-%if %{build_userspace}
-# Save some time -- install these if we're building userspace
-
-# Install the Krb5 Migration Kit
-tar -xzf src/packaging/RedHat/openafs-krb5-2.0.tar.gz
-
-#
-# patch afs-krb5 migration kit to work with openafs-1.3 and krb5-1.3;
-# add some features and fix bugs
-#
-
-# krb524 is no longer in a separate library as of krb5-1.3; handle this
-patch -p0 -b -z .krb524 < src/packaging/RedHat/afs-krb5-2.0-krb524.patch
-
-# make sure NETLIBS gets added to the proper programs (seems to be
-# needed only for Solaris)
-patch -p0 -b -z .libsocket < src/packaging/RedHat/afs-krb5-2.0-libsocket.patch
-
-# find an existing libcom_err and use that
-patch -p0 -b -z .com_err < src/packaging/RedHat/afs-krb5-2.0-com_err.patch
-
-# make afs-krb5 work with recent OpenAFS; includes and prototypes
-patch -p0 -b -z .openafs13 < src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch
-
-# nothing in afs-krb5 actually uses res_search
-patch -p0 -b -z .res_search < src/packaging/RedHat/afs-krb5-2.0-res_search.patch
-
-(cd afs-krb5/src && autoreconf) || exit 1
-
-%endif
-
##############################################################################
#
# building
# Configure AFS
+# If we're using Fedora kmods, work out which is the best kernel module to
+# use for the userland configuration step. If no variants have been specified,
+# then use the standard kernel. If variants are specified, use the standard kernel
+# if it's listed, otherwise pick the first listed kernel.
+ksrc=""
+%if %{fedorakmod}
+ for kvariant in %{kvariants} ; do
+ if [ -z "${kvariant}" -o -z "$ksrc" ] ; 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
+ fi
+ done
+%endif
+if [ -z "$ksrc" ] ; then
+ksrc=%{ksrcdir}
+fi
+
CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
./configure --with-afs-sysname=${sysname} \
--libdir=%{_libdir} \
--bindir=%{_bindir} \
--sbindir=%{_sbindir} \
+ --disable-strip-binaries \
+ --with-linux-kernel-packaging \
+ --enable-disconnected \
%if %{build_modules}
- --with-linux-kernel-headers=%{ksrcdir} \
+ --with-linux-kernel-headers=${ksrc} \
%endif
%if %{krb5support}
- --with-krb5-conf \
+ --with-krb5-conf=%{krb5config} \
%endif
$config_opts \
|| exit 1
%if %{fedorakmod} && %{build_modules}
for kvariant in %{kvariants} ; do
- cp -R libafs_tree _kmod_build_${kvariant}
- pushd _kmod_build_${kvariant}
- ./configure --with-afs-sysname=${sysname} \
+ 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} \
--prefix=%{_prefix} \
--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 \
+ --with-krb5-conf=/usr/kerberos/bin/krb5-config \
%endif
$config_opts \
|| exit 1
- popd
+ popd
+ fi
done
%endif
%if %{build_userspace}
# Build the user-space AFS stuff
make dest_nolibafs || exit 1
-
-%if %{krb5support}
-# Now build ka-forwarder
-(cd afs-krb5/src &&
- ./configure --prefix=%{_prefix} --with-krb5=%{_prefix}/kerberos \
- --libdir=%{_libdir} \
- --bindir=%{_bindir} \
- --sbindir=%{_sbindir} \
- --with-afs=`pwd`/../../${sysname}/dest/ && \
- make all PROGS="ka-forwarder" && \
- install -c -s ka-forwarder `pwd`/../../${sysname}/dest/etc ) \
- || exit 1
-%endif
-
%endif
%if %{build_modules}
%if %{fedorakmod}
for kvariant in %{kvariants}
do
- pushd _kmod_build_$kvariant;
- make all MPS=SP
- popd
+ if [ -n "${kvariant}" ] ; then
+ pushd _kmod_build_$kvariant;
+ make all
+ popd
+ else
+ make dest_only_libafs
+ fi
done
%else
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
+
+# 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
# Populate /usr/vice/etc
uve=$RPM_BUILD_ROOT%{_prefix}/vice/etc
install -p -m 644 src/packaging/RedHat/openafs-ThisCell $uve/ThisCell
-install -p -m 644 src/afsd/CellServDB $uve/CellServDB.dist
+install -p -m 644 %{SOURCE20} $uve/CellServDB.dist
install -p -m 644 src/packaging/RedHat/openafs-cacheinfo $uve/cacheinfo
#
+# install dkms source
+#
+install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/src
+cp -a libafs_tree $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}
+
+cat > $RPM_BUILD_ROOT%{_prefix}/src/%{name}-%{dkms_version}/dkms.conf <<EOF
+
+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"
+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
+
+#
# install kernel-source
#
# remove unused man pages
for x in afs_ftpd afs_inetd afs_login afs_rcp afs_rlogind afs_rsh \
- dkload knfs package runntp; do
+ dkload knfs package runntp symlink symlink_list symlink_make \
+ symlink_remove; do
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/${x}.1
done
# 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|^uss' \
+ |egrep '^backup|^bos|^butc|^fms|^fstrace|^kas|^read_tape|^uss' \
>openafs-man8files
#
%{_bindir}/pagsh
%{_bindir}/pagsh.krb
%{_bindir}/pts
+%{_bindir}/restorevol
%{_bindir}/scout
%{_bindir}/sys
%{_bindir}/tokens
%{_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
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
rm -f $RPM_BUILD_ROOT%{_libdir}/$f
done
-# Remove empty files from the krb5 migration
-for f in afs2k5db fakeka ; do
- rm -f $RPM_BUILD_ROOT%{_sbindir}/$f
-done
-
%if !%{build_authlibs}
rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so
rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so
+rm -f $RPM_BUILD_ROOT%{_libdir}/libafsauthent.so.*
+rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so.*
%endif
%endif
%if %{fedorakmod}
for kvariant in %{kvariants}
do
- pushd _kmod_build_$kvariant
- srcdir=src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
- dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+ if [ -n "$kvariant" ] ; then
+ 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
+ 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
- mkdir -p ${dstdir}
- install -m 744 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
- popd
+ mkdir -p ${dstdir}
+ install -m 755 ${srcdir}/openafs.ko ${dstdir}/openafs.ko
done
%else
# Install the kernel modules
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}
- # Mark kernel modules as executable; otherwise they won't get stripped
- # by /usr/lib/rpm/brp-strip
- install -m 744 ${srcdir}/${modname} ${dstdir}/openafs${kmodend}
+ install -m 755 ${srcdir}/${modname} ${dstdir}/openafs${kmodend}
done
%endif
%endif
chkconfig --del openafs-server
fi
+%if %{build_dkmspkg}
+%post -n dkms-%{name}
+dkms add -m %{name} -v %{dkms_version} --rpm_safe_upgrade
+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 %{name} -v %{dkms_version} --rpm_safe_upgrade --all ||:
+%endif
%endif
%if %{build_modules}
%endif
%endif
-
##############################################################################
###
### file lists
%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.*
%files server
%{_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
%{_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.*
%{_mandir}/man8/ptserver.*
%{_mandir}/man8/pt_util.*
%{_mandir}/man8/salvager.*
+%{_mandir}/man8/salvageserver.*
+%{_mandir}/man8/state_analyzer.*
%{_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
%defattr(-,root,root)
%{_libdir}/libafsauthent.so.*
%{_libdir}/libafsrpc.so.*
+%{_libdir}/libkopenafs.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
%if %{build_authlibs}
%{_libdir}/libafsauthent.so
%{_libdir}/libafsrpc.so
+%{_libdir}/libkopenafs.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/afs_compile_et.*
+
+%if %{build_dkmspkg}
+%files -n dkms-%{name}
+%defattr(-,root,root)
+%{_prefix}/src/%{name}-%{dkms_version}
+%endif
%files kernel-source
%defattr(-,root,root)
%files krb5
%defattr(-,root,root)
%{_bindir}/aklog
+%{_bindir}/klog.krb5
%{_sbindir}/asetkey
-%{_sbindir}/ka-forwarder
%{_mandir}/man1/aklog.*
%{_mandir}/man8/asetkey.*
%endif
###
##############################################################################
%changelog
+* Wed Dec 12 2007 Simon Wilkinson <simon@sxw.org.uk> 1.4.5
+- Make the RPM mockable
+
+* Tue Oct 29 2007 Simon Wilkinson <simon@sxw.org.uk> 1.4.5
+- Update to match the shipped 1.4.5 RPMS
+- Fix the kvariant stuff to only configure the 'standard' case once
+- Add openafs-kvers.sh back in
+
* Wed Oct 10 2007 Simon Wilkinson <simon@sxw.org.uk> 1.4.5pre1-1
- Use Fedora style kmods, which allows us to install multiple kernel types