X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flbuild-sles;h=e61b27fe459f51f93f3cd046417787e2ad8a5d08;hb=c8da7bfbe0505175869973b25281b152940774b0;hp=ad774d9f10339ab92f1a6aeb5680a4dee00a301e;hpb=16cf66d437fdf756222e8a30e0948da2052b7693;p=fs%2Flustre-release.git diff --git a/build/lbuild-sles b/build/lbuild-sles index ad774d9..e61b27f 100644 --- a/build/lbuild-sles +++ b/build/lbuild-sles @@ -1,6 +1,11 @@ # 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+=".0" # TT-107: don't cache the BUILD dir (reset major to 5) + DEVEL_KERNEL_TYPE="source" +RPM_HELPERS_DIR="/usr/lib/rpm" prepare_and_build_srpm() { @@ -83,25 +88,41 @@ rpm_BUILD_kernel_dirname() { echo kernel${lustre}-${rpmsmptype}-${lnxmaj}${lnxmin}/linux-${lnxmaj} } +resolve_arch() { + local arch="$1" + # because we build an i686 kernel, we need to know if the arch we are + # resolving for is for the patched or patchless kernel (which is i586) + # we really should be building an i586 kernel to match what Novell does + local for_patchless=${2:-true} + local canonical=${3:-false} + + case $arch in + ppc64) arch=powerpc + ;; + i?86) if $canonical; then + arch=i386 + elif $(eval $for_patchless); then + arch=i586 + fi + ;; + esac + + echo "$arch" + +} + find_linux_devel_paths() { local path="$1" LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel} - - local objects=$TARGET_ARCH/$RPMSMPTYPE - if [ -d $path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/powerpc ]; then - objects="powerpc/$TARGET_ARCH" - elif [ $TARGET_ARCH == 'i686' ]; then - objects="i386/$RPMSMPTYPE" - fi - - LINUXOBJ=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$objects - LINUXRELEASE=$(find_linux_release "$LINUXOBJ") - - if [ -z "$LINUXRELEASE" ]; then - echo "Failed to find linux release in $LINUXOBJ" - return 255 - fi + LINUXOBJ=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$(resolve_arch $TARGET_ARCH $PATCHLESS)/$RPMSMPTYPE + # XXX this has been commented out in th rhel5 build file for a while + # as it says there, it's probably not needed anymore and can be deleted + #LINUXRELEASE=$(find_linux_release "$LINUXOBJ") + #if [ -z "$LINUXRELEASE" ]; then + # echo "Failed to find linux release in $LINUXOBJ" + # return 255 + #fi return 0 }