[PATCH v3 2/2] sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archives

Sven Roederer devel-sven at geroedel.de
Mon Apr 26 15:58:22 BST 2021


Using these config-options to customize the folders used at build-time makes these
folder settings appear in generated archive. This causes the SDK to be not
portable, as it's going to use the build-time folders on the new systems.
The errors vary from passing the build, disk out-of-space to permission denied.

The build-time settings of these folders are passed into the archive via Config.in
and Config.build.
The expected behavior is that the SDK acts after unpacking like these settings have
their defaults, using intree folders.

This addresses the same issue that's fixed in the previous commit for the imagebuilder.

Signed-off-by: Sven Roederer <devel-sven at geroedel.de>
---
 target/sdk/Makefile          | 1 +
 target/sdk/convert-config.pl | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/target/sdk/Makefile b/target/sdk/Makefile
index 0606621192..5330d14955 100644
--- a/target/sdk/Makefile
+++ b/target/sdk/Makefile
@@ -159,6 +159,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.xz: clean
 	$(SED) 's,^# REVISION:=.*,REVISION:=$(REVISION),g' $(SDK_BUILD_DIR)/include/version.mk
 	$(SED) 's,^# SOURCE_DATE_EPOCH:=.*,SOURCE_DATE_EPOCH:=$(SOURCE_DATE_EPOCH),g' $(SDK_BUILD_DIR)/include/version.mk
 	$(SED) '/LINUX_VERMAGIC:=/ { s,unknown,$(LINUX_VERMAGIC),g }' $(SDK_BUILD_DIR)/include/kernel.mk
+	$(SED) 's,default "$(CONFIG_DOWNLOAD_FOLDER)",default "",' $(SDK_BUILD_DIR)/Config.in
 	find $(SDK_BUILD_DIR) -name .git | $(XARGS) rm -rf
 	find $(SDK_BUILD_DIR) -name .svn | $(XARGS) rm -rf
 	find $(SDK_BUILD_DIR) -name CVS | $(XARGS) rm -rf
diff --git a/target/sdk/convert-config.pl b/target/sdk/convert-config.pl
index f73744af09..08189df95c 100755
--- a/target/sdk/convert-config.pl
+++ b/target/sdk/convert-config.pl
@@ -9,7 +9,13 @@ while (<>) {
 	chomp;
 	next if /^CONFIG_SIGNED_PACKAGES/;
 
-	if (/^CONFIG_([^=]+)=(.*)$/) {
+	if (/^CONFIG_((BINARY)|(DOWNLOAD))_FOLDER=(.*)$/) {
+		# We don't want to preserve the build setting of
+		# BINARY_FOLDER and DOWNLOAD_FOLDER.
+		$var = "$1_FOLDER";
+		$val = '""';
+		$type = "string";
+	} elsif (/^CONFIG_([^=]+)=(.*)$/) {
 		$var = $1;
 		$val = $2;
 
-- 
2.17.1




More information about the openwrt-devel mailing list