Commit 81630a3b authored by Philipp Tomsich's avatar Philipp Tomsich

scripts: setlocalversion: safely extract variables from auto.conf using awk

Moving SPL_LDSCRIPT to Kconfig triggered an unfortunate attempt of
command substitution, as the sourced auto.conf may include $(ARCH)
which tries to execute a command 'ARCH'.
This showed up as a warning similar to the following:
  include/config/auto.conf: line 209: ARCH: command not found

This change does no longer attempt to source auto.conf, but rather
passes it through awk to retrieve the values for CONFIG_LOCALVERSION
and CONFIG_LOCALVERSION_AUTO.  This will also mitigate the risk of
unintended command substitution.
Signed-off-by: Philipp Tomsich's avatarPhilipp Tomsich <>
Reported-by: default avatarAndy Yan <>
Reviewed-by: Tom Rini's avatarTom Rini <>
Reviewed-by: default avatarKlaus Goger <>
Reviewed-by: default avatarJakob Unterwurzacher <>
parent 18d38d3a
......@@ -141,7 +141,11 @@ if $scm_only; then
if test -e include/config/auto.conf; then
. include/config/auto.conf
# We are interested only in CONFIG_LOCALVERSION and
# CONFIG_LOCALVERSION_AUTO, so extract these in a safe
# way (i.e. w/o sourcing auto.conf)
CONFIG_LOCALVERSION=`cat include/config/auto.conf | awk -F '=' '/^CONFIG_LOCALVERSION=/ {print $2}'`
CONFIG_LOCALVERSION_AUTO=`cat include/config/auto.conf | awk -F '=' '/^CONFIG_LOCALVERSION_AUTO=/ {print $2}'`
echo "Error: kernelrelease not valid - run 'make prepare' to update it"
exit 1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment