mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-07-05 13:25:20 +02:00
kbuild: fix argument parsing in scripts/config
[ Upstream commit f757f6011c92b5a01db742c39149bed9e526478f ] The script previously assumed --file was always the first argument, which caused issues when it appeared later. This patch updates the parsing logic to scan all arguments to find --file, sets the config file correctly, and resets the argument list with the remaining commands. It also fixes --refresh to respect --file by passing KCONFIG_CONFIG=$FN to make oldconfig. Signed-off-by: Seyediman Seyedarab <imandevel@gmail.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e78a34da61
commit
df5a4416c0
|
@ -32,6 +32,7 @@ commands:
|
||||||
Disable option directly after other option
|
Disable option directly after other option
|
||||||
--module-after|-M beforeopt option
|
--module-after|-M beforeopt option
|
||||||
Turn option into module directly after other option
|
Turn option into module directly after other option
|
||||||
|
--refresh Refresh the config using old settings
|
||||||
|
|
||||||
commands can be repeated multiple times
|
commands can be repeated multiple times
|
||||||
|
|
||||||
|
@ -124,16 +125,22 @@ undef_var() {
|
||||||
txt_delete "^# $name is not set" "$FN"
|
txt_delete "^# $name is not set" "$FN"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$1" = "--file" ]; then
|
FN=.config
|
||||||
FN="$2"
|
CMDS=()
|
||||||
if [ "$FN" = "" ] ; then
|
while [[ $# -gt 0 ]]; do
|
||||||
usage
|
if [ "$1" = "--file" ]; then
|
||||||
|
if [ "$2" = "" ]; then
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
FN="$2"
|
||||||
|
shift 2
|
||||||
|
else
|
||||||
|
CMDS+=("$1")
|
||||||
|
shift
|
||||||
fi
|
fi
|
||||||
shift 2
|
done
|
||||||
else
|
|
||||||
FN=.config
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
set -- "${CMDS[@]}"
|
||||||
if [ "$1" = "" ] ; then
|
if [ "$1" = "" ] ; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
@ -217,9 +224,8 @@ while [ "$1" != "" ] ; do
|
||||||
set_var "${CONFIG_}$B" "${CONFIG_}$B=m" "${CONFIG_}$A"
|
set_var "${CONFIG_}$B" "${CONFIG_}$B=m" "${CONFIG_}$A"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# undocumented because it ignores --file (fixme)
|
|
||||||
--refresh)
|
--refresh)
|
||||||
yes "" | make oldconfig
|
yes "" | make oldconfig KCONFIG_CONFIG=$FN
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user