$package=~/([^\-]*\-[^\-]*)\.([^\.]*)$/;
my ($version, $arch) = ($1,$2);
die "Couldn't extract version and architecture" if !$version or !$arch;
- $list{$arch} = {} if !$list{$arch};
- $list{$arch}{$version} =[] if !$list{$arch}{$version};
- push @{$list{$arch}{$version}}, $variant;
- }
+ my @archs=map {/^.*\-([^\-]*)/;$1;} split(' ',`ls -d /usr/src/kernels/$version$append-*`);
+ foreach my $arch (@archs) {
+ print "Adding $variant, version $version for $arch\n";
+ $list{$arch} = {} if !$list{$arch};
+ $list{$arch}{$version} =[] if !$list{$arch}{$version};
+ push @{$list{$arch}{$version}}, $variant;
+ }
+ }
}
-
# Build the base package
print "Building the base system\n";
system("rpmbuild -ba --define \"fedorakmod 1\" --define \"osvers fc$fedoraversion\" $specdir/openafs.spec") == 0 or exit 1;
# Openafs Spec $Revision$
-%define afsvers 1.4.5pre1
-%define pkgvers 1.4.5pre1
+%define afsvers @VERSION@
+%define pkgvers @VERSION@
# 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
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
+
Source30: openafs-kernel-version.sh
+Source996: openafs-kvers-is.sh
+Source997: openafs-buildfedora.pl
Source998: openafs-buildall.sh
Source999: kmodtool
%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
+ cp -R libafs_tree _kmod_build_${kvariant}
+ pushd _kmod_build_${kvariant}
+ ./configure --with-afs-sysname=${sysname} \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--bindir=%{_bindir} \
%endif
$config_opts \
|| exit 1
- popd
+ popd
+ fi
done
%endif
%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 MPS=SP
+ popd
+ else
+ make dest_only_libafs MPS=SP
+ fi
done
%else
# 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
#
%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
+ srcdir=_kmod_build_$kvariant/src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+ else
+ srcdir=${sysname}/dest/root.client%{_prefix}/vice/etc/modload
+ fi
- mkdir -p ${dstdir}
- install -m 744 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
- popd
+ dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+ mkdir -p ${dstdir}
+ install -m 744 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
done
%else
# Install the kernel modules
###
##############################################################################
%changelog
+* 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