Whamcloud - gitweb
b=20744 hacks for Novell bug 639581
[fs/lustre-release.git] / build / lbuild-sles
index 94af57a..6d886c6 100644 (file)
@@ -1,6 +1,7 @@
 # vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4:
 
 DEVEL_KERNEL_TYPE="source"
+RPM_HELPERS_DIR="/usr/lib/rpm"
 
 prepare_and_build_srpm() {
 
@@ -83,25 +84,43 @@ rpm_BUILD_kernel_dirname() {
     echo kernel${lustre}-${rpmsmptype}-${lnxmaj}${lnxmin}/linux-${lnxmaj}
 }
 
-find_linux_devel_paths() {
-    local path="$1"
+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 $for_patchless; then
+                    arch=i586
+                fi
+                ;;
+    esac
+
+    echo "$arch"
 
-    LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}${delimiter}${lnxrel##${lnxmin#.}-}
+}
 
-    local objects=$TARGET_ARCH/$RPMSMPTYPE
-    if [ -d $path/usr/src/linux-${lnxmaj}${lnxmin}${delimiter}${lnxrel##${lnxmin#.}-}-obj/powerpc ]; then
-        objects="powerpc/$TARGET_ARCH"
-    elif [ $TARGET_ARCH == 'i686' ]; then
-        objects="i386/$RPMSMPTYPE"
-    fi
+find_linux_devel_paths() {
+    local path="$1"
 
-    LINUXOBJ=$path/usr/src/linux-${lnxmaj}${lnxmin}${delimiter}${lnxrel##${lnxmin#.}-}-obj/$objects
+    LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}
+    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
 
-    LINUXRELEASE=$(find_linux_release ${LINUXOBJ:-$LINUX})
-    if [ -z "$LINUXRELEASE" ]; then
-        echo "Failed to find linux release in ${LINUXOBJ:-$LINUX}"
-        return 255
-    fi
+    return 0
 }
 
 mcpu_rpmbuild_opt() {
@@ -109,4 +128,3 @@ mcpu_rpmbuild_opt() {
     echo "--define \'jobs $(/usr/bin/getconf _NPROCESSORS_ONLN)\'"
     return 0
 }
-