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 <philipp.tomsich@theobroma-systems.com> Reported-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Klaus Goger <klaus.goger@theobroma-systems.com> Reviewed-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
This commit is contained in:
		
							parent
							
								
									18d38d3a94
								
							
						
					
					
						commit
						81630a3b38
					
				|  | @ -141,7 +141,11 @@ if $scm_only; then | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| if test -e include/config/auto.conf; 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}'` | ||||||
| else | else | ||||||
| 	echo "Error: kernelrelease not valid - run 'make prepare' to update it" | 	echo "Error: kernelrelease not valid - run 'make prepare' to update it" | ||||||
| 	exit 1 | 	exit 1 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue