X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=build%2Flmake;h=ff615193359989bae3f2bb0141b5f8aa4e797082;hb=d2471242594606814f8226b069383d61c568fa7a;hp=c110acf3e70fdb439969b2fac4849a957c5fbd22;hpb=87a2010dd6dc319922325739995b4233518328db;p=fs%2Flustre-release.git diff --git a/build/lmake b/build/lmake index c110acf..ff61519 100755 --- a/build/lmake +++ b/build/lmake @@ -33,6 +33,7 @@ BOOT_ARCHS= JENSEN_ARCHS= SMP_ARCHS= BIGSMP_ARCHS= +PSERIES64_ARCHS= UP_ARCHS= RHBUILD=0 @@ -182,7 +183,11 @@ check_options() get_lustre_version() { - lustre_patch=$(grep lustre_version "$SERIES_FILE" 2>/dev/null) + for series in $SERIES ; do + SERIES_FILE="$TOPDIR/lustre/kernel_patches/series/$series" + lustre_patch=$(grep lustre_version "$SERIES_FILE" 2>/dev/null) + [ "$lustre_patch" ] && break + done [ "$lustre_patch" ] || \ fatal 1 "Could not determine Lustre version from $SERIES series." @@ -208,10 +213,12 @@ load_target() fatal 1 "Target $TARGET's kernel file $KERNEL not found in kernel directory $KERNELDIR." fi - if [ "$SERIES" ]; then - SERIES_FILE="$TOPDIR/lustre/kernel_patches/series/$SERIES" - [ -r "$SERIES_FILE" ] || \ - fatal 1 "Target $TARGET's series $SERIES missing from $TOPDIR/lustre/kernel_patches/series." + if [ "$SERIES" ] ; then + for series in $SERIES ; do + SERIES_FILE="$TOPDIR/lustre/kernel_patches/series/$series" + [ -r "$SERIES_FILE" ] || \ + fatal 1 "Target $TARGET's series $SERIES missing from $TOPDIR/lustre/kernel_patches/series." + done fi TARGET_ARCH=${TARGET_ARCH:-$BASE_ARCHS} @@ -270,15 +277,18 @@ patch_kernel() (( $UNPACK_KERNEL )) || return 0 [ "$SERIES" ] || return 0 pushd "$TOPDIR/linux" >/dev/null - echo -n "Applying patch" - for patch in $(<"$SERIES_FILE") ; do - PATCH_FILE="$TOPDIR/lustre/kernel_patches/patches/$patch" - [ -r "$PATCH_FILE" ] || \ - fatal 1 "Patch file not found: $patch" - echo -n " $patch" - patch -s -p1 < "$PATCH_FILE" || fatal 1 "Error applying patch $patch." + for series in $SERIES ; do + echo -n "Applying series $series:" + SERIES_FILE="$TOPDIR/lustre/kernel_patches/series/$series" + for patch in $(<"$SERIES_FILE") ; do + PATCH_FILE="$TOPDIR/lustre/kernel_patches/patches/$patch" + [ -r "$PATCH_FILE" ] || \ + fatal 1 "Patch file not found: $patch" + echo -n " $patch" + patch -s -p1 < "$PATCH_FILE" || fatal 1 "Error applying patch $patch." + done + echo done - echo popd >/dev/null } @@ -286,7 +296,7 @@ set_make() { MAKE="make -s" if [ "$CC" ] ; then - MAKE="$MAKE CC=$CC" + MAKE_CC="CC=$CC" fi if [ "$ARCH" ] ; then MAKE_ARCH="$MAKE ARCH=$ARCH" @@ -312,26 +322,24 @@ depend_kernel() echo "Overriding EXTRAVERSION in kernel..." perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${EXTRA_VERSION}${TARGET_CONFIG}/" Makefile echo "Making depend in $PWD..." - $MAKE mrproper || fatal 1 "Error running make mrproper" + $MAKE "$MAKE_CC" mrproper || fatal 1 "Error running make mrproper" cp "$CONFIG_FILE" .config for oc in oldconfig_nonint silentoldconfig oldconfig ; do if grep -q "$oc" Makefile ; then - OLDCONFIG="$oc" + $MAKE "$MAKE_CC" $oc || fatal 1 "Error running make oldconfig" break fi done - $MAKE $OLDCONFIG || fatal 1 "Error running make oldconfig" case "$VERSION" in 2.6*) - SYMLINKS="include/asm" + $MAKE "$MAKE_CC" include/asm ;; 2.4*) - SYMLINKS="symlinks" + $MAKE "$MAKE_CC" symlinks + $MAKE "$MAKE_CC" dep || fatal 1 "Error running make dep" ;; esac - $MAKE $SYMLINKS - $MAKE_J dep || fatal 1 "Error running make dep" - $MAKE include/linux/version.h || fatal 1 "Error making include/linux/version.h" + $MAKE "$MAKE_CC" include/linux/version.h || fatal 1 "Error making include/linux/version.h" } build_kernel() @@ -341,16 +349,16 @@ build_kernel() echo "Building kernel in $PWD..." case "$TARGET_ARCH" in i386 | i586 | i686 | athlon | x86_64) - $MAKE_J bzImage || fatal 1 "Error making bzImage." + $MAKE_J "$MAKE_CC" bzImage || fatal 1 "Error making bzImage." ;; - ppc | ppc64) - $MAKE_J vmlinux || fatal 1 "Error making vmlinux." + ia64 | ppc | ppc64) + $MAKE_J "$MAKE_CC" vmlinux || fatal 1 "Error making vmlinux." ;; *) - $MAKE_J boot || fatal 1 "Error making boot." + $MAKE_J "$MAKE_CC" boot || fatal 1 "Error making boot." ;; esac - $MAKE_J modules || fatal 1 "Error building modules." + $MAKE_J "$MAKE_CC" modules || fatal 1 "Error building modules." popd >/dev/null } @@ -371,7 +379,7 @@ build_lustre() (( $BUILD_LUSTRE )) || return 0 set_make pushd "$TOPDIR" >/dev/null - $MAKE_J || fatal 1 "Error building Lustre." + $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre." popd >/dev/null } @@ -390,7 +398,7 @@ install_kernel() mkdir -p "$DESTDIR/dev/shm" mkdir -p "$DESTDIR/lib/modules/${FULL_VERSION}" - $MAKE INSTALL_MOD_PATH="$DESTDIR" KERNELRELEASE="$FULL_VERSION" \ + $MAKE "$MAKE_CC" INSTALL_MOD_PATH="$DESTDIR" KERNELRELEASE="$FULL_VERSION" \ -s modules_install || \ fatal 1 "Error installing modules." @@ -438,7 +446,7 @@ install_lustre() set_make FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}" pushd "$TOPDIR" >/dev/null - $MAKE -s install "DESTDIR=$DESTDIR" KERNELRELEASE="$FULL_VERSION" || fatal 1 "Error installing Lustre." + $MAKE "$MAKE_CC" -s install "DESTDIR=$DESTDIR" KERNELRELEASE="$FULL_VERSION" || fatal 1 "Error installing Lustre." popd >/dev/null } @@ -455,7 +463,7 @@ build_kms() build_dir="${TOPDIR}/modules-${FULL_VERSION}/${dir##*/}" cp -a $dir $build_dir # these modules are terrible, and don't all build - $MAKE_J -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux" + $MAKE_J "$MAKE_CC" -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux" fi done } @@ -470,13 +478,13 @@ symver() install_kms() { (( $INSTALL_KERNEL )) || return 0 - (( $SUSEBUILD )) || return 0 + (( $LINUX26 )) || return 0 set_make FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}" for build_dir in "${TOPDIR}/modules-${FULL_VERSION}/*" ; do [ -d $build_dir ] || continue # these modules are terrible, and don't all build - $MAKE -C $build_dir KERNEL_SOURCE="${TOPDIR}/linux" INSTALL_MOD_PATH="$DESTDIR" + $MAKE "$MAKE_CC" -C $build_dir KERNEL_SOURCE="${TOPDIR}/linux" INSTALL_MOD_PATH="$DESTDIR" done ( symver vmlinux moddir="${DESTDIR}/lib/modules/${FULL_VERSION}" @@ -495,18 +503,21 @@ install_kms() save_headers() { - echo "Saving headers for $1 $2..." + (( $SAVE_HEADERS )) || return 0 + + echo "Saving headers for ${TARGET_CONFIG:-up} ${TARGET_ARCH}..." pushd linux >/dev/null KVERREL="${VERSION}-${EXTRA_VERSION}" # deal with the kernel headers that are version specific - saveddir="$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/$2/$1" + saveddir="$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/${TARGET_ARCH}/${TARGET_CONFIG:-up}" mkdir -p "$saveddir" install -m 644 include/linux/autoconf.h "$saveddir/autoconf.h" install -m 644 include/linux/version.h "$saveddir/version.h" mv include/linux/modules "$saveddir/" - echo $2 $1 ../../savedheaders/$2/$1/ >> $RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/list + echo ${TARGET_ARCH} ${TARGET_CONFIG} ../../savedheaders/${TARGET_ARCH}/${TARGET_CONFIG:-up}/ \ + >> "$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/list" popd >/dev/null } @@ -533,6 +544,9 @@ save_all_headers() for arch in $BIGSMP_ARCHS ; do save_headers bigsmp $arch done + for arch in $PSERIES64_ARCHS ; do + save_headers pseries64 $arch + done for arch in $UP_ARCHS ; do save_headers up $arch done @@ -653,6 +667,6 @@ install_lustre install_kms -save_all_headers +save_headers exit 0