summaryrefslogtreecommitdiffstats
path: root/rules/barebox.make
diff options
context:
space:
mode:
authorBastian Stender <bst@pengutronix.de>2017-09-14 10:22:31 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2017-09-16 11:35:15 +0200
commit6e1ab0ec9e1d239ac78ab8d3e2be9ad4a5a78dce (patch)
tree92b1e39a0beaf76ff6604ed21a7dba4b7e075884 /rules/barebox.make
parent3909716fc431f5f6838ae523f132022167bf12c4 (diff)
downloadptxdist-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.make10
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)