Message ID | 1393605956-18133-1-git-send-email-yann.morin.1998@free.fr |
---|---|
State | Changes Requested |
Headers | show |
Dear Yann E. MORIN, On Fri, 28 Feb 2014 17:45:56 +0100, Yann E. MORIN wrote: > From: "Yann E. MORIN" <yann.morin.1998@free.fr> > > 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/ > [...] 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
Hello, On Fri, 28 Feb 2014 20:16:20 +0100, Thomas Petazzoni wrote: > 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
Hello, On Fri, 28 Feb 2014 20:54:51 +0100, Thomas Petazzoni wrote: > 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
On Fri, Feb 28, 2014 at 5:45 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > From: "Yann E. MORIN" <yann.morin.1998@free.fr> > > 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/ > [...] > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> > --- > package/pkg-generic.mk | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > index 339c3eb..7b4d04e 100644 > --- a/package/pkg-generic.mk > +++ b/package/pkg-generic.mk > @@ -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
Fabio, All, On 2014-03-01 00:39 +0100, Fabio Porcedda spake thusly: > On Fri, Feb 28, 2014 at 5:45 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > From: "Yann E. MORIN" <yann.morin.1998@free.fr> > > > > 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/ > > [...] > > > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> > > Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> > > --- > > package/pkg-generic.mk | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > > index 339c3eb..7b4d04e 100644 > > --- a/package/pkg-generic.mk > > +++ b/package/pkg-generic.mk > > @@ -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? 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.
Dear Yann E. MORIN, On Fri, 28 Feb 2014 17:45:56 +0100, Yann E. MORIN wrote: > 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
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 339c3eb..7b4d04e 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -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