diff mbox

[12/16,v5] core/legal-info: also save extra downloads

Message ID 0e4f63ef1f47edce58214cd21d9e5f177731979f.1457718289.git.yann.morin.1998@free.fr
State Changes Requested
Headers show

Commit Message

Yann E. MORIN March 11, 2016, 5:49 p.m. UTC
Some packages, like perl, download extra files that end up as part of
the source that Buildroot builds. Up until now, those files were not
saved in the legal-info output.

Add those files to the legal-info output.

The unfortunate side-effect is that we will also save the secondary
archive for the external blackfin toolchains; however, we already do
save the binary release of some external toolchains when they do not
provide actual source archives.

This is inherently bad, as those are not source archives, but solving
this is a bigger concern, for another series...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>

---
Changes v2 -> v3:
  - typo  (Luca)
  - incorporate the post-commit log message (the part about the
    side-effect) into the commit log itself, it makes sense to not
    forget about that
---
 package/pkg-generic.mk | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Thomas Petazzoni March 19, 2016, 3:14 p.m. UTC | #1
Dear Yann E. MORIN,

On Fri, 11 Mar 2016 18:49:25 +0100, Yann E. MORIN wrote:
> Some packages, like perl, download extra files that end up as part of
> the source that Buildroot builds. Up until now, those files were not
> saved in the legal-info output.
> 
> Add those files to the legal-info output.
> 
> The unfortunate side-effect is that we will also save the secondary
> archive for the external blackfin toolchains; however, we already do
> save the binary release of some external toolchains when they do not
> provide actual source archives.
> 
> This is inherently bad, as those are not source archives, but solving
> this is a bigger concern, for another series...

I see two possible ways around this:

 - Have two separate variables, like <pkg>_EXTRA_SOURCE (to be used for
   perl, contains real source code that needs to be saved during
   legal-info), and <pkg>_EXTRA_DOWNLOADS (to be used for external
   toolchains).

 - Just like you don't copy <pkg>_SOURCE to legal-info when
   <pkg>_ACTUAL_SOURCE is defined, don't copy <pkg>_EXTRA_DOWNLOADS
   when <pkg>_ACTUAL_SOURCE is defined.

Thomas
Arnout Vandecappelle March 20, 2016, 4:33 p.m. UTC | #2
On 03/19/16 16:14, Thomas Petazzoni wrote:
> Dear Yann E. MORIN,
>
> On Fri, 11 Mar 2016 18:49:25 +0100, Yann E. MORIN wrote:
>> Some packages, like perl, download extra files that end up as part of
>> the source that Buildroot builds. Up until now, those files were not
>> saved in the legal-info output.
>>
>> Add those files to the legal-info output.
>>
>> The unfortunate side-effect is that we will also save the secondary
>> archive for the external blackfin toolchains; however, we already do
>> save the binary release of some external toolchains when they do not
>> provide actual source archives.
>>
>> This is inherently bad, as those are not source archives, but solving
>> this is a bigger concern, for another series...
>
> I see two possible ways around this:
>
>   - Have two separate variables, like <pkg>_EXTRA_SOURCE (to be used for
>     perl, contains real source code that needs to be saved during
>     legal-info), and <pkg>_EXTRA_DOWNLOADS (to be used for external
>     toolchains).

  I don't like this very much, because it adds infra for something that is used 
only once.


>
>   - Just like you don't copy <pkg>_SOURCE to legal-info when
>     <pkg>_ACTUAL_SOURCE is defined, don't copy <pkg>_EXTRA_DOWNLOADS
>     when <pkg>_ACTUAL_SOURCE is defined.

  This sounds like a good idea. However, I'm sure that at some point we'll run 
into a conflict (i.e. a package that has ACTUAL_SOURCE defined but also wants 
EXTRA DOWNLOADS of sources). To be solved when that happens, but we need a good 
commit message or comment that basically summarises this entire discussion so we 
know the implications when that happens.

  Regards,
  Arnout

>
> Thomas
>
diff mbox

Patch

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index ed139fb..bc39ead 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -822,10 +822,12 @@  else
 # Other packages
 
 ifeq ($$($(2)_REDISTRIBUTE),YES)
-# Save the source tarball
-	$$(Q)$$(call hardlink-copy,\
-		     $$(DL_DIR)/$$($(2)_ACTUAL_SOURCE_TARBALL),\
-		     $$($(2)_REDIST_SOURCES_DIR))
+# Save the source tarball and any extra downloads, but not
+# patches, as they are handled specially afterwards.
+	$$(foreach e,$$($(2)_ACTUAL_SOURCE_TARBALL) $$(notdir $$($(2)_EXTRA_DOWNLOADS)),\
+			$$(Q)$$(call hardlink-copy,\
+				$$(DL_DIR)/$$(e),\
+				$$($(2)_REDIST_SOURCES_DIR))$$(sep))
 # Save patches and generate the series file
 # Because patches may come from various places (bundled in Buildroot,
 # from one or more global-patch-dir), there might be collisions on the