Whamcloud - gitweb
Try to get some more information when update_oldconfig fails. Probably some
[fs/lustre-release.git] / build / lmake
index 78ce511..d258b72 100755 (executable)
@@ -381,15 +381,25 @@ depend_kernel()
     # use the expect script to "make oldconfig" and answer the questions for
     # new items conservatively.  QA will get notified on anything newly added
     # for them to review and adjust accordingly.
-    timed_run 300 $TOPDIR/build/update_oldconfig
-    if [ $? -eq 143 ]; then
+    local logfile=$(mktemp /tmp/XXXXXX)
+    timed_run 300 $TOPDIR/build/update_oldconfig $logfile
+    if [ ${PIPESTATUS[0]} -eq 143 ]; then
         fatal 1 "update_oldconfig timed out"
+    elif [ ${PIPESTATUS[0]} -ne 0 ]; then
+       # dump the log
+        cat $logfile
+        rm -f $logfile
+        fatal 1 "update_oldconfig failed: $?. See log above."
     fi
+    rm -f $logfile
     # now notify if resulting .config is different than $CONFIG_FILE
     local tmpfile=$(mktemp /tmp/XXXXXX)
     diff -I '^#.*' -u "$CONFIG_FILE" .config >$tmpfile
     if [ -s $tmpfile ]; then
         { cat <<EOF
+To: qa@lists.clusterfs.com
+Subject: kernel_config change 
+
 The result of a make oldconfig on file $CONFIG_FILE resulted in a
 difference when compared to .config in the following way:
 
@@ -399,7 +409,7 @@ EOF
        # not sure these are entirely useful.  the above and "patch" are good
        #echo -e "\nThe entire new .config file:\n"
         #cat .config
-        } | mail -s "kernel_config change" qa@lists.clusterfs.com
+        } | sendmail -fqa@clusterfs.com -t
     fi
     rm -f $tmpfile
     case "$VERSION" in
@@ -563,7 +573,7 @@ build_kms()
     mkdir -p "${TOPDIR}/modules-${FULL_VERSION}"
     for dir in /usr/src/kernel-modules/* ; do
        # we are replacing lustre-lite, so don't include it
-       if [ ${dir##*/} != "lustre-lite" -a -e $dir/Makefile ]; then
+       if [ "${dir##*/}" != "lustre-lite" -a -e $dir/Makefile ]; then
            build_dir="${TOPDIR}/modules-${FULL_VERSION}/${dir##*/}"
            cp -a $dir $build_dir
            # these modules are terrible, and don't all build