sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archives
authorSven Roederer <devel-sven@geroedel.de>
Fri, 7 May 2021 19:35:21 +0000 (21:35 +0200)
committerBaptiste Jonglez <git@bitsofnetworks.org>
Fri, 14 May 2021 20:52:40 +0000 (22:52 +0200)
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.build.
The expected behavior is that the SDK acts after unpacking like these settings have
their defaults, using intree folders. So just filter these folders out when running
convert-config.pl to create Config.build.

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

Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
(cherry picked from commit 1e4b191ac8901328a726ebdc09ebe35da4363521)

target/sdk/convert-config.pl

index f73744a..08189df 100755 (executable)
@@ -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;