legal info: fix saving of host package licenses
authorThomas De Schampheleire <patrickdepinguin@gmail.com>
Tue, 12 Nov 2013 08:47:56 +0000 (09:47 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 12 Nov 2013 22:20:37 +0000 (23:20 +0100)
commit003d38da3a716b0a19e980fb69a6cd55b353f4f3
treec1b8fe950358a4016041dee875cc9ad745dadf1c
parent7a7ec2dd3758a9832471db2ccf0f8bf7b08ad6dc
legal info: fix saving of host package licenses

Due to some tricky make behavior, the license texts of host packages that
did not provide an explicit HOST_FOO_LICENSE_FILES definition was not saved.
The problem is that it is not straightforward to use a variable
defined/updated inside an evaluated block as input to a foreach statement.
If you try to use $(FOO) then only the original value of FOO is used for
foreach, any update inside the block is ignored. However, if you use
$$(FOO), the entire contents of FOO (typically a list of items) is passed
as one item to foreach, thus causing just one iteration instead of several.

>From Arnout Vandecapelle's explanation:
Any variable referenced with a single $ inside the inner-generic-package
macro is expanded before the resulting contents are eval'ed. Therefore, it
is not possible to refer to variables defined by the inner-generic-package
macro from within a single-$ function call.

To fix the problem, one should defer the evaluation of the entire block
using double dollar signs.

Additionally, a few empty lines have been added to the legal-info-foo block
for clarity.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/pkg-generic.mk