X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flbuild-sles11;h=6b6b36d1a4db9a1f55af90fb6e7dbabd244035b3;hb=33257361eef3aeb09eee0d10026be17b6f3f5bcb;hp=3fc997d5cdfed6d43612264c735f77b053aabfac;hpb=7605640b70abc07b10c71a97432fa3a1309e627a;p=fs%2Flustre-release.git diff --git a/build/lbuild-sles11 b/build/lbuild-sles11 index 3fc997d..6b6b36d 100644 --- a/build/lbuild-sles11 +++ b/build/lbuild-sles11 @@ -1,23 +1,19 @@ # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: # increment this if you have made a change that should force a new kernel -# to build built -# BUILD_GEN=1 -#BUILD_GEN=2 # bz19952: remove -lustre tag from kernel RPM names -BUILD_GEN=3 # bz19975 enable the building of src.rpms by default +# to build built for this distribution (only -- if you want to force a kernel +# build on all distributions, update the BUILD_GEN variable in build/lbuild) +BUILD_GEN+=".0" source ${0%/*}/lbuild-sles -# this is what lnxrel really should be, once bug 19336 lands -real_lnxrel=${lnxrel##${lnxmin#.}-} - edit_specs() { # edit the SPECs with our changes local spec for spec in $RPMSMPTYPE source; do #cp $TOPDIR/SOURCES/kernel-$spec.spec{,.orig} - sed -i -e "s/^\(Release: *\).*$/\1${real_lnxrel}_${buildid}/" \ + sed -i -e "s/^\(Release: *\).*$/\1${lnxrel}_${buildid}/" \ -e "s/^ExclusiveArch:.*/& ppc ppc64/" \ -e '/^%setup /a\ cp %_sourcedir/linux-2.6.27-lustre.patch %_builddir/%{name}-%{version}/lustre.patch\ @@ -31,24 +27,24 @@ cp %_sourcedir/linux-2.6.27-lustre.patch %_builddir/%{name}-%{version}/lustre.p if $KERNEL_LUSTRE_NAMING; then # these are all of the changes needed because we change the package names # to kernel-lustre-*. these should all go away when we stop this insanity - sed -i -e 's/^\(Name:.*kernel-\)\(.*\)/\1lustre-\2/' \ - -e "/^Provides: *kernel = /a\ + sed -i -e 's/^\(Name:.*kernel-\)\(.*\)/\1lustre-\2/' \ + -e "/^Provides: *kernel = /a\ Provides: kernel-$spec = %{version}-%{release} " \ - -e 's/^\([ ][ ]*-i %_builddir\/kernel-\)\(source-2.6.27.21\/\$patch; then\)/\1lustre-\2/' \ - -e '/^%build/,/^%changelog/s/\(kernel-\)\(source\.files\)/\1lustre-\2/g' \ - -e '/--no-backup-if-mismatch/,/fi/s/kernel-source-/kernel-lustre-source-/g' \ - -e "s/^\(%package -n kernel-\)\(.*\)/\1lustre-\2/" \ - -e "s/^\(%description -n kernel-\)\(.*\)/\1lustre-\2/" \ - -e "s/^\(%files -n kernel-\)\(.*\)/\1lustre-\2/" \ - -e "s/^\(Provides:.*kernel-\)\(.*\)/\1lustre-\2/" \ - -e "s/^\(Requires:.*kernel-\)\(.*\)/\1lustre-\2/" \ - -e "s/^\(Supplements:.*kernel-\)\(.*\)/\1lustre-\2/" \ - SOURCES/kernel-${spec}.spec || \ - fatal 1 "Error while editing SOURCES/kernel-${spec}.spec" + -e 's/^\([ ][ ]*-i %_builddir\/kernel-\)\(source-2.6.27.21\/\$patch; then\)/\1lustre-\2/' \ + -e '/^%build/,/^%changelog/s/\(kernel-\)\(source\.files\)/\1lustre-\2/g' \ + -e '/--no-backup-if-mismatch/,/fi/s/kernel-source-/kernel-lustre-source-/g' \ + -e "s/^\(%package -n kernel-\)\(.*\)/\1lustre-\2/" \ + -e "s/^\(%description -n kernel-\)\(.*\)/\1lustre-\2/" \ + -e "s/^\(%files -n kernel-\)\(.*\)/\1lustre-\2/" \ + -e "s/^\(Provides:.*kernel-\)\(.*\)/\1lustre-\2/" \ + -e "s/^\(Requires:.*kernel-\)\(.*\)/\1lustre-\2/" \ + -e "s/^\(Supplements:.*kernel-\)\(.*\)/\1lustre-\2/" \ + SOURCES/kernel-${spec}.spec || \ + fatal 1 "Error while editing SOURCES/kernel-${spec}.spec" fi - # XXX - a building-on-Ubuntu hack + # XXX - a building-on-Ubuntu hack if grep -q "Ubuntu" /etc/issue; then sed -i -e '/^%_sourcedir\/install-configs %_sourcedir .*/i\ curl ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17-mm1/broken-out/i386-use-c-code-for-current_thread_info.patch | patch -p1' \ @@ -67,11 +63,8 @@ unpack_linux_devel_rpm-sles11() { local rpmdir="${callers_rpm%/*}" local kernelrpm - local wanted_kernel="${lnxmaj}${lnxmin}${TARGET_DELIMITER}${lnxrel}" - if $PATCHLESS; then -# this $PATCHLESS block should go away when bug 19336 lands. - wanted_kernel="${lnxmaj}${lnxmin}${TARGET_DELIMITER}${real_lnxrel}" - fi + local wanted_kernel="${lnxmaj}${lnxmin}-${lnxrel}" + # this is a hack that should go away when the modified lustre kernel # Provides kernel-default-base vvvvvvvvv if ! kernelrpm=$(find_rpm "$rpmdir" provides "^kernel-(lustre-)?default-base = $wanted_kernel"); then @@ -82,4 +75,28 @@ unpack_linux_devel_rpm-sles11() { fatal 1 "Unpack error for $kernelrpm" fi + if ! kernelrpm=$(find_rpm "$rpmdir" provides "^kernel-(lustre-)?default-devel = $wanted_kernel"); then + fatal 1 "Could not find the kernel-default-devel in $rpmdir/" + fi + + if ! rpm2cpio < "$rpmdir/$kernelrpm" | cpio -id > /dev/null 2>&1; then + fatal 1 "Unpack error for $kernelrpm" + fi + +} + +find_linux_rpm-sles11() { + local prefix="$1" + local wanted_kernel="$2" + local pathtorpms=${3:-"${KERNELRPMSBASE}/${lnxmaj}/${DISTRO}/${TARGET_ARCH}"} + + # what, oh what, do we do for sles11? + # if anyone knows how we get an arbitrary (kernel-source and + # kernel-default-base in this case) from the Suse update mechanism, + # please feel free to fix this + + fatal 1 "I don't know how to get packages for SLES11" + + return 0 + }