Skip to content

Commit a5b46cd

Browse files
mikkorapeli-linaronathanchance
authored andcommitted
scripts: kconfig: merge_config.sh: warn on duplicate input files
External scripts like yocto kernel scc may provide same input config fragment multiple times. This may be a bug since processing same fragments multiple times can be time consuming. Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Link: https://patch.msgid.link/20260122105751.2186609-3-mikko.rapeli@linaro.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
1 parent dfc97e1 commit a5b46cd

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

scripts/kconfig/merge_config.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,23 @@ trap clean_up EXIT
130130

131131
cat $INITFILE > $TMP_FILE
132132

133+
PROCESSED_FILES=""
134+
133135
# Merge files, printing warnings on overridden values
134136
for ORIG_MERGE_FILE in $MERGE_LIST ; do
135137
echo "Merging $ORIG_MERGE_FILE"
136138
if [ ! -r "$ORIG_MERGE_FILE" ]; then
137139
echo "The merge file '$ORIG_MERGE_FILE' does not exist. Exit." >&2
138140
exit 1
139141
fi
142+
143+
# Check for duplicate input files
144+
case " $PROCESSED_FILES " in
145+
*" $ORIG_MERGE_FILE "*)
146+
${WARNOVERRIDE} "WARNING: Input file provided multiple times: $ORIG_MERGE_FILE"
147+
;;
148+
esac
149+
140150
# Use awk for single-pass processing instead of per-symbol grep/sed
141151
if ! "$AWK" -v prefix="$CONFIG_PREFIX" \
142152
-v warnoverride="$WARNOVERRIDE" \
@@ -259,6 +269,7 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do
259269
STRICT_MODE_VIOLATED=true
260270
fi
261271
mv "$TMP_FILE.new" "$TMP_FILE"
272+
PROCESSED_FILES="$PROCESSED_FILES $ORIG_MERGE_FILE"
262273
done
263274
if [ "$STRICT_MODE_VIOLATED" = "true" ]; then
264275
echo "The fragment redefined a value and strict mode had been passed."

0 commit comments

Comments
 (0)