Re: [PATCH v2] imagebuilder, sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archives

2021-04-29 Thread Sven Roederer
Adrian,

Am Sonntag, 25. April 2021, 21:09:40 CEST schrieb Adrian Schmutzler:
> Hi,
> 
> > -Original Message-
> > From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> > On Behalf Of Sven Roederer
> > Sent: Samstag, 24. April 2021 23:48
> > To: openwrt-devel@lists.openwrt.org
> > Subject: [PATCH v2] imagebuilder, sdk: unset BINARY_FOLDER and
> > DOWNLOAD_FOLDER in final archives
> > 
> > Using these config-options to customize the folders used at build-time
> > makes these folder settings appear in generated archives. This causes the
> > archives to be not portable, as they going to use the build-time folders
> > on
> > 
> > the new systems. Errors look like for the imagebuilder:
> >   mkdir: cannot create directory '/mnt/build': Permission denied
> >   Makefile:116: recipe for target '_call_image' failed
> >   make[2]: *** [_call_image] Error 1
> >   Makefile:241: recipe for target 'image' failed
> >   make[1]: *** [image] Error 2
> > 
> > The build-time settings of these folders are passed into the archives via
> > .config for the imagebuilder and via Config.in and Config.build for the
> > sdk. The expected behavior is that after unpacking sdk and imagebuilder
> > act like these settings have the default, using intree folders. So unset
> > or filter out the build- time settings.
> 
> Consider breaking this down into separate patches for imagebuilder and sdk.
> 

pushed a splitted version as V3 [1].
Indeed I squashed them before submitting initially :-)

Best Sven

1 - https://patchwork.ozlabs.org/project/openwrt/list/?series=240802




___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


RE: [PATCH v2] imagebuilder, sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archives

2021-04-25 Thread Adrian Schmutzler
Hi,

> -Original Message-
> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org]
> On Behalf Of Sven Roederer
> Sent: Samstag, 24. April 2021 23:48
> To: openwrt-devel@lists.openwrt.org
> Subject: [PATCH v2] imagebuilder, sdk: unset BINARY_FOLDER and
> DOWNLOAD_FOLDER in final archives
> 
> Using these config-options to customize the folders used at build-time
> makes these folder settings appear in generated archives. This causes the
> archives to be not portable, as they going to use the build-time folders on
> the new systems. Errors look like for the imagebuilder:
> 
>   mkdir: cannot create directory '/mnt/build': Permission denied
>   Makefile:116: recipe for target '_call_image' failed
>   make[2]: *** [_call_image] Error 1
>   Makefile:241: recipe for target 'image' failed
>   make[1]: *** [image] Error 2
> 
> The build-time settings of these folders are passed into the archives via
> .config for the imagebuilder and via Config.in and Config.build for the sdk.
> The expected behavior is that after unpacking sdk and imagebuilder act like
> these settings have the default, using intree folders. So unset or filter out
> the build- time settings.

Consider breaking this down into separate patches for imagebuilder and sdk.

Best

Adrian

> 
> Signed-off-by: Sven Roederer 
> ---
> 
> This is an rewrite and extension of the patch send on 11. April.
> 
> 
>  target/imagebuilder/Makefile | 2 ++
>  target/sdk/Makefile  | 1 +
>  target/sdk/convert-config.pl | 9 -
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile
> index f9c08776a8..ef7fd3f25e 100644
> --- a/target/imagebuilder/Makefile
> +++ b/target/imagebuilder/Makefile
> @@ -29,6 +29,8 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean
>   mkdir -p $(IB_KDIR) $(IB_LDIR)
> $(PKG_BUILD_DIR)/staging_dir/host/lib \
>   $(PKG_BUILD_DIR)/target $(PKG_BUILD_DIR)/scripts
> $(IB_DTSDIR)
>   -cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config
> + $(SED) 's/^CONFIG_BINARY_FOLDER=.*/# CONFIG_BINARY_FOLDER
> was reset by Imagebuilder/' $(PKG_BUILD_DIR)/.config
> + $(SED) 's/^CONFIG_DOWNLOAD_FOLDER=.*/#
> CONFIG_DOWNLOAD_FOLDER was
> +reset by Imagebuilder/' $(PKG_BUILD_DIR)/.config
>   $(CP) -L \
>   $(INCLUDE_DIR) $(SCRIPT_DIR) \
>   $(TOPDIR)/rules.mk \
> 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_EPOC
> H),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..f6bc831d3a 100755
> --- a/target/sdk/convert-config.pl
> +++ b/target/sdk/convert-config.pl
> @@ -9,7 +9,14 @@ 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";
> +#warn "DEBUG: type: $type found for symbol
> CONFIG_$var=$val\n";
> + } elsif (/^CONFIG_([^=]+)=(.*)$/) {
>   $var = $1;
>   $val = $2;
> 
> --
> 2.17.1
> 
> 
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


openpgp-digital-signature.asc
Description: PGP signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH v2] imagebuilder, sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archives

2021-04-24 Thread Sven Roederer
Using these config-options to customize the folders used at build-time makes 
these
folder settings appear in generated archives. This causes the archives to be not
portable, as they going to use the build-time folders on the new systems. Errors
look like for the imagebuilder:

  mkdir: cannot create directory '/mnt/build': Permission denied
  Makefile:116: recipe for target '_call_image' failed
  make[2]: *** [_call_image] Error 1
  Makefile:241: recipe for target 'image' failed
  make[1]: *** [image] Error 2

The build-time settings of these folders are passed into the archives via 
.config
for the imagebuilder and via Config.in and Config.build for the sdk.
The expected behavior is that after unpacking sdk and imagebuilder act like 
these
settings have the default, using intree folders. So unset or filter out the 
build-
time settings.

Signed-off-by: Sven Roederer 
---

This is an rewrite and extension of the patch send on 11. April.


 target/imagebuilder/Makefile | 2 ++
 target/sdk/Makefile  | 1 +
 target/sdk/convert-config.pl | 9 -
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile
index f9c08776a8..ef7fd3f25e 100644
--- a/target/imagebuilder/Makefile
+++ b/target/imagebuilder/Makefile
@@ -29,6 +29,8 @@ $(BIN_DIR)/$(IB_NAME).tar.xz: clean
mkdir -p $(IB_KDIR) $(IB_LDIR) $(PKG_BUILD_DIR)/staging_dir/host/lib \
$(PKG_BUILD_DIR)/target $(PKG_BUILD_DIR)/scripts $(IB_DTSDIR)
-cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config
+   $(SED) 's/^CONFIG_BINARY_FOLDER=.*/# CONFIG_BINARY_FOLDER was reset by 
Imagebuilder/' $(PKG_BUILD_DIR)/.config
+   $(SED) 's/^CONFIG_DOWNLOAD_FOLDER=.*/# CONFIG_DOWNLOAD_FOLDER was reset 
by Imagebuilder/' $(PKG_BUILD_DIR)/.config
$(CP) -L \
$(INCLUDE_DIR) $(SCRIPT_DIR) \
$(TOPDIR)/rules.mk \
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..f6bc831d3a 100755
--- a/target/sdk/convert-config.pl
+++ b/target/sdk/convert-config.pl
@@ -9,7 +9,14 @@ 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";
+#  warn "DEBUG: type: $type found for symbol CONFIG_$var=$val\n";
+   } elsif (/^CONFIG_([^=]+)=(.*)$/) {
$var = $1;
$val = $2;
 
-- 
2.17.1


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel