From: Olof Johansson <olof@lixom.net>
To: Michal Marek <mmarek@suse.com>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
dvhart@linux.intel.com, Olof Johansson <olof@lixom.net>
Subject: [PATCH 04/10] merge_config.sh: exit non-0 in case of failures
Date: Wed, 28 Oct 2015 09:42:05 +0900 [thread overview]
Message-ID: <1445992931-28107-5-git-send-email-olof@lixom.net> (raw)
In-Reply-To: <1445992931-28107-1-git-send-email-olof@lixom.net>
Exit with non-0 value in cases where there was a failure to set an option.
Also, add a '-e' during which the conflict warnings are considered failures
(-e -r will result in these being failures, -r will result in them just being
reported).
Signed-off-by: Olof Johansson <olof@lixom.net>
---
scripts/kconfig/merge_config.sh | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
index fd0d537..c244042 100755
--- a/scripts/kconfig/merge_config.sh
+++ b/scripts/kconfig/merge_config.sh
@@ -20,14 +20,17 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
+EXITVAL=0
+
clean_up() {
rm -f $TMP_FILE
- exit
+ exit $EXITVAL
}
trap clean_up HUP INT TERM
usage() {
echo "Usage: $0 [OPTIONS] [CONFIG [...]]"
+ echo " -e consider conflicting overrides to be errors"
echo " -h display this help text"
echo " -m only merge the fragments, do not execute the make command"
echo " -n use allnoconfig instead of alldefconfig"
@@ -39,6 +42,7 @@ getval() {
grep -w -e "$1" "$2"
}
+CONF_IS_ERR=false
RUNMAKE=true
ALLTARGET=alldefconfig
WARNREDUN=false
@@ -46,6 +50,9 @@ OUTPUT=.
while true; do
case $1 in
+ "-e")
+ CONF_IS_ERR=true
+ ;;
"-n")
ALLTARGET=allnoconfig
;;
@@ -117,13 +124,19 @@ for MERGE_FILE in $MERGE_LIST ; do
grep -q -w $CFG $TMP_FILE || continue
PREV_VAL=$(getval "$CFG" "$TMP_FILE")
NEW_VAL=$(getval "$CFG" "$MERGE_FILE")
+ WARN=false
if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then
echo Value of $CFG is redefined by fragment $MERGE_FILE:
echo Previous value: $PREV_VAL
echo New value: $NEW_VAL
echo
+ WARN=true
elif [ "$WARNREDUN" = "true" ]; then
echo Value of $CFG is redundant by fragment $MERGE_FILE:
+ WARN=true
+ fi
+ if [ "$CONF_IS_ERR" = "true" -a "$WARN" = "true" ] ; then
+ EXITVAL=1
fi
sed -i "/$CFG[ =]/d" $TMP_FILE
done >&2
@@ -136,7 +149,7 @@ if [ "$RUNMAKE" = "false" ]; then
echo "# merged configuration written to $KCONFIG_CONFIG (needs make)"
echo "#"
clean_up
- exit
+ exit $EXITVAL
fi
# If we have an output dir, setup the O= argument, otherwise leave
@@ -152,10 +165,8 @@ fi
# allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
-
# Check all specified config values took (might have missed-dependency issues)
for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
-
REQUESTED_VAL=$(getval "$CFG" "$TMP_FILE")
ACTUAL_VAL=$(getval "$CFG" "$KCONFIG_CONFIG")
if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then
@@ -163,6 +174,7 @@ for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
echo "Requested value: $REQUESTED_VAL"
echo "Actual value: $ACTUAL_VAL"
echo ""
+ EXITVAL=1
fi >&2
done
--
2.1.4
next prev parent reply other threads:[~2015-10-28 0:42 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 0:42 [PATCH 00/10] merge_config misc reworks and testcases Olof Johansson
2015-10-28 0:42 ` [PATCH 01/10] merge_config.sh: factor out value parsing Olof Johansson
2015-10-28 5:24 ` Darren Hart
2015-10-28 0:42 ` [PATCH 02/10] merge_config.sh: print warnings on stderr Olof Johansson
2015-10-28 5:56 ` Darren Hart
2015-10-28 0:42 ` [PATCH 03/10] merge_config.sh: minor argument parsing refactoring Olof Johansson
2015-10-28 6:00 ` Darren Hart
2015-10-28 0:42 ` Olof Johansson [this message]
2015-10-28 6:19 ` [PATCH 04/10] merge_config.sh: exit non-0 in case of failures Darren Hart
2015-10-28 0:42 ` [PATCH 05/10] merge_config.sh: Better handling of CONFIG_FOO=n Olof Johansson
2015-10-28 6:26 ` Darren Hart
2015-10-28 6:30 ` Bruce Ashfield
2015-10-28 0:42 ` [PATCH 06/10] merge_config.sh: only consider last value of symbols Olof Johansson
2015-10-28 6:36 ` Darren Hart
2015-10-28 0:42 ` [PATCH 07/10] merge_config.sh: add tests Olof Johansson
2015-10-28 7:00 ` Darren Hart
2015-10-28 7:07 ` Olof Johansson
2015-10-28 0:42 ` [PATCH 08/10] merge_config.sh: use trap for cleanup Olof Johansson
2015-10-28 7:11 ` Darren Hart
2015-10-28 7:28 ` Darren Hart
2015-10-28 0:42 ` [PATCH 09/10] merge_config.sh: allow single configs to be passed in on cmdline Olof Johansson
2015-10-28 7:22 ` Darren Hart
2015-10-28 0:42 ` [PATCH 10/10] merge_config.sh: add tests for cmdline configs Olof Johansson
2015-10-28 7:32 ` Darren Hart
2015-10-28 0:46 ` [PATCH 00/10] merge_config misc reworks and testcases Olof Johansson
2015-11-06 16:07 ` Michal Marek
2015-10-28 5:02 ` Darren Hart
2015-10-28 5:30 ` Bruce Ashfield
2015-10-28 7:05 ` Darren Hart
-- strict thread matches above, loose matches on Subject: below --
2015-05-20 22:00 Olof Johansson
2015-05-20 22:00 ` [PATCH 04/10] merge_config.sh: exit non-0 in case of failures Olof Johansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1445992931-28107-5-git-send-email-olof@lixom.net \
--to=olof@lixom.net \
--cc=dvhart@linux.intel.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®