diff options
author | Bastian Stender <bst@pengutronix.de> | 2017-09-14 10:22:31 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2017-09-16 11:35:15 +0200 |
commit | 6e1ab0ec9e1d239ac78ab8d3e2be9ad4a5a78dce (patch) | |
tree | 92b1e39a0beaf76ff6604ed21a7dba4b7e075884 /rules/barebox.make | |
parent | 3909716fc431f5f6838ae523f132022167bf12c4 (diff) | |
download | ptxdist-6e1ab0ec9e1d239ac78ab8d3e2be9ad4a5a78dce.tar.gz ptxdist-6e1ab0ec9e1d239ac78ab8d3e2be9ad4a5a78dce.tar.xz |
barebox: fix CONFIG_DEFAULT_ENVIRONMENT_PATH on (interrupted) oldconfig/nconfig/menuconfig
ptxdist adds ".ptxdist-defaultenv" if PTXCONF_BAREBOX_EXTRA_ENV is
enabled. If barebox oldconfig/nconfig/menuconfig do not modify the
configuration the barebox config from the BSP is copied without
executing the prepare stage responsible for amending
".ptxdist-defaultenv". The same happens on interrupted *config.
Steps to reproduce:
ptxdist targetinstall barebox
ptxdist menuconfig barebox (without modification)
ptxdist drop barebox.compile
ptxdist targetinstall barebox
Now CONFIG_DEFAULT_ENVIRONMENT_PATH is missing ".ptxdist-defaultenv"
leading to an unexpected environment.
Fix this by amending ".ptxdist-defaultenv" before compiling in case it
has not been amended before.
Signed-off-by: Bastian Stender <bst@pengutronix.de>
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/barebox.make')
-rw-r--r-- | rules/barebox.make | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rules/barebox.make b/rules/barebox.make index bdfefe8c6..a1133c485 100644 --- a/rules/barebox.make +++ b/rules/barebox.make @@ -89,8 +89,6 @@ ifdef PTXCONF_BAREBOX_EXTRA_ENV else \ cp "$(path)" $(BAREBOX_DIR)/.ptxdist-defaultenv/; \ fi;) - @sed -i -e "s,^\(CONFIG_DEFAULT_ENVIRONMENT_PATH=.*\)\"$$,\1 .ptxdist-defaultenv\"," \ - $(BAREBOX_DIR)/.config endif @$(call touch) @@ -101,6 +99,14 @@ endif $(STATEDIR)/barebox.compile: @$(call targetinfo) + +ifdef PTXCONF_BAREBOX_EXTRA_ENV + @if test $$(grep -c -e "^CONFIG_DEFAULT_ENVIRONMENT_PATH=.*\.ptxdist-defaultenv" $(BAREBOX_DIR)/.config) -eq 0; then \ + sed -i -e "s,^\(CONFIG_DEFAULT_ENVIRONMENT_PATH=.*\)\"$$,\1 .ptxdist-defaultenv\"," \ + $(BAREBOX_DIR)/.config; \ + fi +endif + @+cd $(BAREBOX_DIR) && $(BAREBOX_PATH) $(BAREBOX_ENV) \ $(MAKE) $(BAREBOX_MAKEVARS) @$(call touch) |