X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flbuild-sles10;h=1f32ee7fbd1ec77e0d3432bc2f0a52d800c78580;hb=df0850a1f6cd8dea2d59f2b9936fe62dfeb0a7db;hp=5da0032bc6b3778bde40684b2cac270c88e82220;hpb=eea0b5248b5c08acb1a20f47f40bc5672db62dd4;p=fs%2Flustre-release.git diff --git a/build/lbuild-sles10 b/build/lbuild-sles10 index 5da0032..1f32ee7 100644 --- a/build/lbuild-sles10 +++ b/build/lbuild-sles10 @@ -21,7 +21,7 @@ cp %_sourcedir/linux-2.6.16-lustre.patch %_builddir/%{name}-%{version}/lustre.p ! grep -q lustre.patch %_sourcedir/series.conf && echo -e "\\n\\tlustre.patch" >> %_sourcedir/series.conf' \ -e "/flavor=\${config/a\ [ \"\$flavor\" == \"$RPMSMPTYPE\" ] || continue" \ - SOURCES/kernel-${spec}.spec + SOURCES/kernel-${spec}.spec || fatal 1 "Error while editing SOURCES/kernel-${spec}.spec" if $KERNEL_LUSTRE_NAMING; then # these are all of the changes needed because we change the package names @@ -32,7 +32,7 @@ Provides: kernel-$spec = %{version}-%{release} " \ -e 's/\(.*\)\([^#].*\)fookernel-source/\1\2kernel-lustre-source/g' \ -e '/^%build/,/^%changelog/s/kernel-\({*\)source/kernel-\1lustre-source/g' \ - SOURCES/kernel-${spec}.spec + SOURCES/kernel-${spec}.spec || fatal 1 "Error while editing SOURCES/kernel-${spec}.spec" fi # XXX - a building-on-Ubuntu hack @@ -42,7 +42,30 @@ curl ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17/2.6.17 -e 's/^\(BuildRequires: .*\)$/#NOU \1/g' \ -e 's/%(\(chmod .*\))$/%(bash -c "\1")/' \ -e 's/ -a 109//' \ - SOURCES/kernel-${spec}.spec + SOURCES/kernel-${spec}.spec || fatal 1 "Error while editing SOURCES/kernel-${spec}.spec" fi done } + +unpack_linux_devel_rpm-sles10() { + local callers_rpm="$1" + + # get the Module.symvers out of the kenrel-flavor RPM + local kernelrpm=${callers_rpm/-source-/-$RPMSMPTYPE-} + + if ! rpm2cpio < "$kernelrpm" | cpio -id ./usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$(resolve_arch $TARGET_ARCH)/$RPMSMPTYPE/Module.symvers ./boot/sym\* > /dev/null 2>&1; then + return 255 + fi + + # now just sanity check that everything needed to build properly versioned + # modules is in place + if [ ! -f usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$(resolve_arch $TARGET_ARCH)/$RPMSMPTYPE/Module.symvers && ! -f usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$TARGET_ARCH/$RPMSMPTYPE/Module.symvers ]; then + fatal 1 "cannot build kernel modules: the Kernel's Module.symvers is missing." + fi + if [ ! -f boot/symsets-${lnxmaj}${lnxmin}-${lnxrel}-$RPMSMPTYPE.tar.gz ]; then + fatal 1 "cannot build modules: the Kernel's symsets is missing." + fi + + return 0 + +}