Message ID | 1350225704-5693-1-git-send-email-arnout@mind.be |
---|---|
State | Superseded |
Headers | show |
Arnout, On Sun, 14 Oct 2012 16:41:44 +0200, Arnout Vandecappelle (Essensium/Mind) wrote: > The legal-info target (and possibly others as well) depends on > <pkg>-extract to make sure the license file is available. However, > when <PKG>_OVERRIDE_SRCDIR is active, the <pkg>-extract target > doesn't exist. > > To solve this, we just call the target that rsyncs the source > <pkg>-extract. > > While we're at it, also add a <pkg>-patch target (which is equivalent > to <pkg>-extract). That avoids the same problem in the future if > something starts depending on <pkg>-patch. > > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> > > --- > package/pkg-generic.mk | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > index ffe7dfb..c2c1b06 100644 > --- a/package/pkg-generic.mk > +++ b/package/pkg-generic.mk > @@ -378,9 +378,11 @@ else > $(1)-configure: $(1)-depends \ > $$($(2)_TARGET_CONFIGURE) > > -$(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES) > +$(1)-depends: $(1)-extract $$($(2)_DEPENDENCIES) > > -$(1)-rsync: $$($(2)_TARGET_RSYNC) > +$(1)-patch: $(1)-extract > + > +$(1)-extract: $$($(2)_TARGET_RSYNC) > > $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) > endif I think I would prefer to keep the 1:1 mapping between virtual target name and real target name, and only have aliases when it makes sense. I.e: $(1)-rsync: $$($(2)_TARGET_RSYNC) # Possibly some comment here to explain what's going on $(1)-extract: $(1)-rsync $(1)-patch: $(1)-rsync Otherwise, I'm fine with fixing this problem using this approach, looks good to me. Thomas
On 14/10/12 20:01, Thomas Petazzoni wrote: > I think I would prefer to keep the 1:1 mapping between virtual target > name and real target name, and only have aliases when it makes sense. > I.e: > > $(1)-rsync: $$($(2)_TARGET_RSYNC) > > # Possibly some comment here to explain what's going on > $(1)-extract: $(1)-rsync > $(1)-patch: $(1)-rsync > > Otherwise, I'm fine with fixing this problem using this approach, looks > good to me. The reason that I choose to rename the -rsync target is that I'm hesitant to add more targets - they slow down make. However, this would only be for the OVERRIDE packages, so it just adds a few targets, not 1000. So I'll take your suggestion and resend. Regards, Arnout
On Sun, 14 Oct 2012 23:00:21 +0200, Arnout Vandecappelle wrote: > > Otherwise, I'm fine with fixing this problem using this approach, looks > > good to me. > > The reason that I choose to rename the -rsync target is that I'm hesitant > to add more targets - they slow down make. > > However, this would only be for the OVERRIDE packages, so it just adds a few > targets, not 1000. So I'll take your suggestion and resend. Ok, thanks! Thomas
Am 14.10.2012 16:41, schrieb Arnout Vandecappelle (Essensium/Mind): > The legal-info target (and possibly others as well) depends on > <pkg>-extract to make sure the license file is available. However, > when <PKG>_OVERRIDE_SRCDIR is active, the <pkg>-extract target > doesn't exist. > > To solve this, we just call the target that rsyncs the source > <pkg>-extract. > > While we're at it, also add a <pkg>-patch target (which is equivalent > to <pkg>-extract). That avoids the same problem in the future if > something starts depending on <pkg>-patch. > > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> > > --- > package/pkg-generic.mk | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > index ffe7dfb..c2c1b06 100644 > --- a/package/pkg-generic.mk > +++ b/package/pkg-generic.mk > @@ -378,9 +378,11 @@ else > $(1)-configure: $(1)-depends \ > $$($(2)_TARGET_CONFIGURE) > > -$(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES) > +$(1)-depends: $(1)-extract $$($(2)_DEPENDENCIES) > > -$(1)-rsync: $$($(2)_TARGET_RSYNC) > +$(1)-patch: $(1)-extract > + > +$(1)-extract: $$($(2)_TARGET_RSYNC) > > $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) > endif Hello, this does not fix my issue, not even after doing a "make clean". > LANG=C make legal-info > mkdir -p /home/stephan/Dokumente/BeagleBone/buildroot/output/target > if ! [ -d > "/home/stephan/Dokumente/BeagleBone/buildroot/output/target/bin" ]; then \ > if [ -d > "/home/stephan/Dokumente/BeagleBone/buildroot/fs/skeleton" ]; then \ > cp -fa > /home/stephan/Dokumente/BeagleBone/buildroot/fs/skeleton/* > /home/stephan/Dokumente/BeagleBone/buildroot/output/target/; \ > fi; \ > fi > find /home/stephan/Dokumente/BeagleBone/buildroot/output/target -type > d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf > find /home/stephan/Dokumente/BeagleBone/buildroot/output/target -type > f \( -name .empty -o -name '*~' \) -print0 | xargs -0 rm -rf > touch /home/stephan/Dokumente/BeagleBone/buildroot/output/build/.root > >>> Collecting legal info <snip> > >>> linux custom Syncing from source dir > /home/stephan/Dokumente/BeagleBone/kernel/kernel > rsync -au /home/stephan/Dokumente/BeagleBone/kernel/kernel/ > /home/stephan/Dokumente/BeagleBone/buildroot/output/build/linux-custom > cp: cannot stat `/home/stephan/Dokumente/dl/linux-custom.tar.gz': No > such file or directory > make: *** [linux-legal-info] Error 1 Regards Stephan
On 12/11/12 09:27, Stephan Hoffmann wrote: > Am 14.10.2012 16:41, schrieb Arnout Vandecappelle (Essensium/Mind): [snip] >> +$(1)-extract: $$($(2)_TARGET_RSYNC) >> >> $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) >> endif > Hello, > > this does not fix my issue, not even after doing a "make clean". [snip] >>>>> linux custom Syncing from source dir >> /home/stephan/Dokumente/BeagleBone/kernel/kernel >> rsync -au /home/stephan/Dokumente/BeagleBone/kernel/kernel/ >> /home/stephan/Dokumente/BeagleBone/buildroot/output/build/linux-custom >> cp: cannot stat `/home/stephan/Dokumente/dl/linux-custom.tar.gz': No >> such file or directory >> make: *** [linux-legal-info] Error 1 One step at a time :-) The .tar.gz doesn't exist for overridden packages. So what should we do - exclude the source for overridden packages? Regards, Arnout
Am 14.11.2012 00:48, schrieb Arnout Vandecappelle: > On 12/11/12 09:27, Stephan Hoffmann wrote: >> Am 14.10.2012 16:41, schrieb Arnout Vandecappelle (Essensium/Mind): > [snip] >>> +$(1)-extract: $$($(2)_TARGET_RSYNC) >>> >>> $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) >>> endif >> Hello, >> >> this does not fix my issue, not even after doing a "make clean". > [snip] >>>>>> linux custom Syncing from source dir >>> /home/stephan/Dokumente/BeagleBone/kernel/kernel >>> rsync -au /home/stephan/Dokumente/BeagleBone/kernel/kernel/ >>> /home/stephan/Dokumente/BeagleBone/buildroot/output/build/linux-custom >>> cp: cannot stat `/home/stephan/Dokumente/dl/linux-custom.tar.gz': No >>> such file or directory >>> make: *** [linux-legal-info] Error 1 > > One step at a time :-) > > The .tar.gz doesn't exist for overridden packages. So what should we > do - > exclude the source for overridden packages? Good point. At the first glance, I'd suggest to create the tar.gz using the x_OVERRIDE_SRCDIR. That seems to be better than nothing. After creating a linux-custom.tar.gz, "make legal-info" works for me, but it does not seem to make sence to copy a .tar.gz file that has not been extracted to build the packet. Kind regards Stephan > > Regards, > Arnout >
Am 14.11.2012 09:20, schrieb Stephan Hoffmann: > Am 14.11.2012 00:48, schrieb Arnout Vandecappelle: >> On 12/11/12 09:27, Stephan Hoffmann wrote: >>> Am 14.10.2012 16:41, schrieb Arnout Vandecappelle (Essensium/Mind): >> [snip] >>>> +$(1)-extract: $$($(2)_TARGET_RSYNC) >>>> >>>> $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) >>>> endif >>> Hello, >>> >>> this does not fix my issue, not even after doing a "make clean". >> [snip] >>>>>>> linux custom Syncing from source dir >>>> /home/stephan/Dokumente/BeagleBone/kernel/kernel >>>> rsync -au /home/stephan/Dokumente/BeagleBone/kernel/kernel/ >>>> /home/stephan/Dokumente/BeagleBone/buildroot/output/build/linux-custom >>>> cp: cannot stat `/home/stephan/Dokumente/dl/linux-custom.tar.gz': No >>>> such file or directory >>>> make: *** [linux-legal-info] Error 1 >> One step at a time :-) >> >> The .tar.gz doesn't exist for overridden packages. So what should we >> do - >> exclude the source for overridden packages? > Good point. At the first glance, I'd suggest to create the tar.gz using > the x_OVERRIDE_SRCDIR. That seems to be better than nothing. > > After creating a linux-custom.tar.gz, "make legal-info" works for me, > but it does not seem to make sence to copy a .tar.gz file that has not > been extracted to build the packet. Hello, I just started looking at this again and found in package/pkg-generic.mk: > # legal-info: produce legally relevant info. > $(1)-legal-info: > # Packages without a source are assumed to be part of Buildroot, skip > them. > ifneq ($(call qstrip,$$($(2)_SOURCE)),) > ifeq ($$($(2)_SITE_METHOD),local) > # Packages without a tarball: don't save and warn > @$(call legal-warning-pkg-savednothing,$$($(2)_RAWNAME),local) > else ifeq ($$($(2)_SITE_METHOD),override) > @$(call legal-warning-pkg-savednothing,$$($(2)_RAWNAME),override) > else So there should just be a warning, but no make failing. Obviously, the test for "override" does not work as expected. A patch changing this to ifneq ($$($(2)_OVERRIDE_SRCDIR),) follows, but I do not think that SITE_METHOD ever gets set to "override" at all. So other parts of pkg-generic.mk might also need a closer look. > Kind regards > > Stephan >> Regards, >> Arnout >> >
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index ffe7dfb..c2c1b06 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -378,9 +378,11 @@ else $(1)-configure: $(1)-depends \ $$($(2)_TARGET_CONFIGURE) -$(1)-depends: $(1)-rsync $$($(2)_DEPENDENCIES) +$(1)-depends: $(1)-extract $$($(2)_DEPENDENCIES) -$(1)-rsync: $$($(2)_TARGET_RSYNC) +$(1)-patch: $(1)-extract + +$(1)-extract: $$($(2)_TARGET_RSYNC) $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) endif
The legal-info target (and possibly others as well) depends on <pkg>-extract to make sure the license file is available. However, when <PKG>_OVERRIDE_SRCDIR is active, the <pkg>-extract target doesn't exist. To solve this, we just call the target that rsyncs the source <pkg>-extract. While we're at it, also add a <pkg>-patch target (which is equivalent to <pkg>-extract). That avoids the same problem in the future if something starts depending on <pkg>-patch. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> --- package/pkg-generic.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)