Skip to contentSkip to conversation

legal-info: extract even no-redistribute packages

PATCH New Yann E. MORIN 3 participants 7 messages Feb 28, 2014 – Mar 1, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 legal-info: extract even no-redistribute packages

From: "Yann E. MORIN" <[email protected]>

If a package is marked _REDISTRIBUTE = NO, then legal-info will not try to extract it first.

If that package also declares some _LICENSE_FILES, legal-info fails if it is the only action we're trying to run:

    $ cat defconfig
    BR2_INIT_NONE=y
    BR2_PACKAGE_LIBFSLCODEC=y
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    $ make libfslcodec-legal-info
    /bin/sh: /home/ymorin/dev/buildroot/O/legal-info/licenses.txt: No such file or directory
    make[1]: *** [libfslcodec-legal-info] Error 1

Fix this by always having legal-info extract the archives if one or more _LICENSE_FILES are specified.

Fixes:

    http://autobuild.buildroot.net/results/884/884ba13bb024fd9a4818f3184495b2cccc3f595e/
    http://autobuild.buildroot.net/results/b6e/b6e152ce117764337c243a9f356b32064106f5c3/
    http://autobuild.buildroot.net/results/a58/a588b3b535a1259f7bc110a6323e5f33830bcd94/
    http://autobuild.buildroot.net/results/6d5/6d5da7fe5aee871d98fd5503875453556ccbf854/
    [...]
Cc Thomas De Schampheleire <[email protected]>
---
 package/pkg-generic.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/pkg-generic.mk +2 -1
index 339c3eb..7b4d04e 100644
@@ -555,7 +555,8 @@ $(2)_MANIFEST_LICENSE_FILES = $$($(2)_LICENSE_FILES)
 endif
 $(2)_MANIFEST_LICENSE_FILES ?= not saved
 
-ifeq ($$($(2)_REDISTRIBUTE),YES)
+# If the package declares _LICENSE_FILES, we need to extract it
+ifneq ($$($(2)_LICENSE_FILES),)
 ifneq ($$($(2)_SITE_METHOD),local)
 ifneq ($$($(2)_SITE_METHOD),override)
 # Packages that have a tarball need it downloaded and extracted beforehand
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 legal-info: extract even no-redistribute packages

Dear Yann E. MORIN,

Quoted 19 lines · Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

If a package is marked _REDISTRIBUTE = NO, then legal-info will not try to extract it first.

If that package also declares some _LICENSE_FILES, legal-info fails if it is the only action we're trying to run:

    $ cat defconfig
    BR2_INIT_NONE=y
    BR2_PACKAGE_LIBFSLCODEC=y
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    $ make libfslcodec-legal-info
    /bin/sh: /home/ymorin/dev/buildroot/O/legal-info/licenses.txt: No such file or directory
    make[1]: *** [libfslcodec-legal-info] Error 1

Fix this by always having legal-info extract the archives if one or more _LICENSE_FILES are specified.

Quoted 6 lines

Fixes:

    http://autobuild.buildroot.net/results/884/884ba13bb024fd9a4818f3184495b2cccc3f595e/
    http://autobuild.buildroot.net/results/b6e/b6e152ce117764337c243a9f356b32064106f5c3/
    http://autobuild.buildroot.net/results/a58/a588b3b535a1259f7bc110a6323e5f33830bcd94/
    http://autobuild.buildroot.net/results/6d5/6d5da7fe5aee871d98fd5503875453556ccbf854/
    [...]

While I agree with the patch you're proposing, I was wondering which patch was introducing the regression. And I didn't find where the regression could be coming from. Looking more closely at one of the build results, you see that the tarballs are only extracted at the make legal-info invocation, which doesn't make any sense: "make" is executed before "make legal-info" in the autobuilders. So apparently, nothing gets built at all during "make", and it's only at the "make legal-info" step that packages are extracted.

So indeed your patch looks good, but it will not solve the autobuilders problems I believe.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

[Buildroot] Significant problem with the parallel build patch series

Hello,

Quoted 11 lines · Thomas Petazzoni

While I agree with the patch you're proposing, I was wondering which patch was introducing the regression. And I didn't find where the regression could be coming from. Looking more closely at one of the build results, you see that the tarballs are only extracted at the make legal-info invocation, which doesn't make any sense: "make" is executed before "make legal-info" in the autobuilders. So apparently, nothing gets built at all during "make", and it's only at the "make legal-info" step that packages are extracted.

So indeed your patch looks good, but it will not solve the autobuilders problems I believe.

Ok, after discussing with Gustavo, he told me that Vicente had already investigated the problem: it is caused by the parallel build patch series from Fabio.

The problem is that the autobuilders disable the construction of any root filesystem image (even the tarball one). And when you disable all images, then "make all" doesn't do anything (in fact, it runs the post-image scripts if you have defined any). That's because of the reorganization of the target dependencies for the parallel build patch series.

Fabio, which solution would you propose to ensure that packages get built even if no filesystem image format has been selected?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

[Buildroot] Significant problem with the parallel build patch series

Hello,

Quoted 2 lines · Thomas Petazzoni

Fabio, which solution would you propose to ensure that packages get built even if no filesystem image format has been selected?

What about:

-target-post-image: $(TARGETS_ROOTFS) +target-post-image: $(TARGETS_ROOTFS) target-finalize

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#4 lore raw

PATCH 1/1 legal-info: extract even no-redistribute packages

In reply to Yann E. MORIN
Quoted 37 lines · Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

If a package is marked _REDISTRIBUTE = NO, then legal-info will not try to extract it first.

If that package also declares some _LICENSE_FILES, legal-info fails if it is the only action we're trying to run:

    $ cat defconfig
    BR2_INIT_NONE=y
    BR2_PACKAGE_LIBFSLCODEC=y
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    $ make libfslcodec-legal-info
    /bin/sh: /home/ymorin/dev/buildroot/O/legal-info/licenses.txt: No such file or directory
    make[1]: *** [libfslcodec-legal-info] Error 1

Fix this by always having legal-info extract the archives if one or more _LICENSE_FILES are specified.

Fixes:

    http://autobuild.buildroot.net/results/884/884ba13bb024fd9a4818f3184495b2cccc3f595e/
    http://autobuild.buildroot.net/results/b6e/b6e152ce117764337c243a9f356b32064106f5c3/
    http://autobuild.buildroot.net/results/a58/a588b3b535a1259f7bc110a6323e5f33830bcd94/
    http://autobuild.buildroot.net/results/6d5/6d5da7fe5aee871d98fd5503875453556ccbf854/
    [...]
Cc Thomas De Schampheleire <[email protected]>
---
 package/pkg-generic.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/pkg-generic.mk +0 -0
index 339c3eb..7b4d04e 100644

package/pkg-generic.mk $(2)_MANIFEST_LICENSE_FILES = $$($(2)_LICENSE_FILES) · line 561

Quoted 8 lines
package/pkg-generic.mk +2 -1
@@ -555,7 +555,8 @@ $(2)_MANIFEST_LICENSE_FILES = $$($(2)_LICENSE_FILES)
 endif
 $(2)_MANIFEST_LICENSE_FILES ?= not saved
 
-ifeq ($$($(2)_REDISTRIBUTE),YES)
+# If the package declares _LICENSE_FILES, we need to extract it
+ifneq ($$($(2)_LICENSE_FILES),)
 ifneq ($$($(2)_SITE_METHOD),local)
 ifneq ($$($(2)_SITE_METHOD),override)

If the package declares _LICENSE_FILES we need to extract it even if SITE_METHOD is local or override?

Regards

Signature · 1 line
Fabio Porcedda
#5 lore raw

PATCH 1/1 legal-info: extract even no-redistribute packages

Fabio, All,

On 2014-03-01 00:39 +0100, Fabio Porcedda spake thusly:

Quoted 41 lines · Yann E. MORIN
Quoted 40 lines

From: "Yann E. MORIN" <[email protected]>

If a package is marked _REDISTRIBUTE = NO, then legal-info will not try to extract it first.

If that package also declares some _LICENSE_FILES, legal-info fails if it is the only action we're trying to run:

    $ cat defconfig
    BR2_INIT_NONE=y
    BR2_PACKAGE_LIBFSLCODEC=y
    $ make BR2_DEFCONFIG=$(pwd)/defconfig defconfig
    $ make libfslcodec-legal-info
    /bin/sh: /home/ymorin/dev/buildroot/O/legal-info/licenses.txt: No such file or directory
    make[1]: *** [libfslcodec-legal-info] Error 1

Fix this by always having legal-info extract the archives if one or more _LICENSE_FILES are specified.

Fixes:

    http://autobuild.buildroot.net/results/884/884ba13bb024fd9a4818f3184495b2cccc3f595e/
    http://autobuild.buildroot.net/results/b6e/b6e152ce117764337c243a9f356b32064106f5c3/
    http://autobuild.buildroot.net/results/a58/a588b3b535a1259f7bc110a6323e5f33830bcd94/
    http://autobuild.buildroot.net/results/6d5/6d5da7fe5aee871d98fd5503875453556ccbf854/
    [...]
Cc Thomas De Schampheleire <[email protected]>
---
 package/pkg-generic.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/pkg-generic.mk +0 -0
index 339c3eb..7b4d04e 100644
@@ -555,7 +555,8 @@ $(2)_MANIFEST_LICENSE_FILES = $$($(2)_LICENSE_FILES)
 endif
 $(2)_MANIFEST_LICENSE_FILES ?= not saved
 
Quoted 8 lines

package/pkg-generic.mk $(2)_MANIFEST_LICENSE_FILES = $$($(2)_LICENSE_FILES) · line 561

Quoted 5 lines
package/pkg-generic.mk +2 -1
-ifeq ($$($(2)_REDISTRIBUTE),YES)
+# If the package declares _LICENSE_FILES, we need to extract it
+ifneq ($$($(2)_LICENSE_FILES),)
 ifneq ($$($(2)_SITE_METHOD),local)
 ifneq ($$($(2)_SITE_METHOD),override)

If the package declares _LICENSE_FILES we need to extract it even if SITE_METHOD is local or override?

I'm a bit uneasy as deciding what we should do in those cases.

We do not even save the tarballs for 'local' or 'override' packages in the first place. Saving the license texts would derogate from this behaviour.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH 1/1 legal-info: extract even no-redistribute packages

In reply to Yann E. MORIN

Dear Yann E. MORIN,

Quoted 9 lines · Yann E. MORIN

Fix this by always having legal-info extract the archives if one or more _LICENSE_FILES are specified.

Fixes:

    http://autobuild.buildroot.net/results/884/884ba13bb024fd9a4818f3184495b2cccc3f595e/
    http://autobuild.buildroot.net/results/b6e/b6e152ce117764337c243a9f356b32064106f5c3/
    http://autobuild.buildroot.net/results/a58/a588b3b535a1259f7bc110a6323e5f33830bcd94/
    http://autobuild.buildroot.net/results/6d5/6d5da7fe5aee871d98fd5503875453556ccbf854/
    [...]

This patch is not actually fixing those build failures: they were really caused by "make" not doing anything when no filesystem image format was selected. Though the problem is real, and the patch definitely valid.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com