From: brian Date: Mon, 20 Mar 2006 16:38:32 +0000 (+0000) Subject: Try to get some more information when update_oldconfig fails. Probably some X-Git-Tag: v1_7_100~526 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=bc1afa51e9f1df823e3b9aefb5513609ce1de521 Try to get some more information when update_oldconfig fails. Probably some missing expect patterns, etc. --- diff --git a/build/lmake b/build/lmake index 65cbaa0..d258b72 100755 --- a/build/lmake +++ b/build/lmake @@ -381,10 +381,17 @@ 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 diff --git a/build/update_oldconfig b/build/update_oldconfig index a9b240d..3332bf7 100755 --- a/build/update_oldconfig +++ b/build/update_oldconfig @@ -1,6 +1,11 @@ -#!/usr/bin/expect +#!/usr/bin/expect -f +# log all interaction to a file to diagnose failures +log_file [index $argv 0] + +# and not stddout log_user 0 + set spawnid [spawn make oldconfig] #match_max 200 @@ -10,7 +15,7 @@ set timeout 30 expect { timeout { - puts "timeout" + puts "timeout: $expect_out(buffer)" exit 1 } -re "\n *(\[^\n]* \\\[N\/y\/\\?] \\(NEW\\)) " {