$MAKE "$MAKE_CC" mrproper || fatal 1 "Error running make mrproper"
rm -f rpm-release
cp "$CONFIG_FILE" .config
- # find the right file to grep in for the target
- for makefile in scripts/kconfig/Makefile Makefile; do
- if [ -f $makefile ]; then
- break
- fi
- done
- for oc in nonint_oldconfig silentoldconfig oldconfig ; do
- if grep -q "^$oc:" $makefile ; then
- $MAKE "$MAKE_CC" $oc || fatal 1 "Error running make oldconfig ($oc)"
- break
- fi
- done
+ # 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.
+ $TOPDIR/build/update_oldconfig
# now notify if resulting .config is different than $CONFIG_FILE
- if ! cmp "$CONFIG_FILE" .config; then
+ local tmpfile=$(mktemp /tmp/XXXXXX)
+ diff -I '^#.*' -u "$CONFIG_FILE" .config >$tmpfile
+ if [ -s $tmpfile ]; then
{ cat <<EOF
-The result of a make $oc on file $CONFIG_FILE resulted in a difference when
-compared to $CONFIG_FILE in the following way:
+The result of a make oldconfig on file $CONFIG_FILE resulted in a
+difference when compared to .config in the following way:
EOF
- diff -ur "$CONFIG_FILE" .config
- echo "Please consider updating $CONFIG_FILE."
- echo -e "\nThe entire new .config file:\n"
- cat .config
+ cat $tmpfile
+ echo -e "\n\nPlease consider updating $CONFIG_FILE."
+ # 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
fi
+ rm -f $tmpfile
case "$VERSION" in
2.6*)
$MAKE "$MAKE_CC" include/asm
--- /dev/null
+#!/usr/bin/expect
+
+log_user 1
+set spawnid [spawn make oldconfig]
+
+match_max 200
+
+# need to allow for the config tool to be built initially
+set timeout 30
+
+expect {
+ timeout {
+ puts "timeout"
+ exit 1
+ }
+ -re "\n *(\[^\n]* \\\[N\/y\/\\?] \\(NEW\\)) " {
+ puts "$expect_out(1,string) n"
+ send "n\r"
+ exp_continue
+ }
+ -re "\n *(\[^\n]* \\\[N\/m\/y\/\\?] \\(NEW\\)) " {
+ puts "$expect_out(1,string) m"
+ send "m\r"
+ exp_continue
+ }
+ -re "\n *(\[^\n]* \\\[N\/m\/\\?] \\(NEW\\)) " {
+ puts "$expect_out(1,string) m"
+ send "m\r"
+ exp_continue
+ }
+}