[Buildroot] [PATCH 1 of 6 v3] legal info: fix saving of host package licenses
luca at lucaceresoli.net
Tue Nov 12 11:23:53 UTC 2013
Thomas De Schampheleire wrote:
> 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 at gmail.com>
Acked-by: Luca Ceresoli <luca at lucaceresoli.net>
Tested-by: Luca Ceresoli <luca at lucaceresoli.net>
More information about the buildroot