[OE-core] [PATCHv3 1/6] license.bbclass: Write recipeinfo file in license folder
Paul Eggleton
paul.eggleton at linux.intel.com
Fri Nov 20 02:32:39 UTC 2015
Hi Mariano,
On Thursday 19 November 2015 14:25:14 mariano.lopez at linux.intel.com wrote:
> From: Mariano Lopez <mariano.lopez at linux.intel.com>
>
> Currently there is no way to get the recipe version when
> creating the rootfs. It is needed because the manifest
> file for the image has to contain this important piece
> of information.
>
> This change writes a new file in the license folder for
> every recipe. This file is called "recipeinfo" and have
> the information used to write the manifest file for the
> recipes deployed next to the image.
>
> [YOCTO #6772]
>
> Signed-off-by: Mariano Lopez <mariano.lopez at linux.intel.com>
> ---
> meta/classes/license.bbclass | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
> index c616a20..7cf39e0 100644
> --- a/meta/classes/license.bbclass
> +++ b/meta/classes/license.bbclass
> @@ -142,6 +142,10 @@ python do_populate_lic() {
> # The base directory we wrangle licenses to
> destdir = os.path.join(d.getVar('LICSSTATEDIR', True), d.getVar('PN',
> True)) copy_license_files(lic_files_paths, destdir)
> + info = get_recipe_info(d)
> + with open(os.path.join(destdir, "recipeinfo"), "w") as f:
> + for key in sorted(info.keys()):
> + f.write("%s: %s\n" % (key, info[key]))
> }
>
> # it would be better to copy them in do_install_append, but
> find_license_filesa is python @@ -156,6 +160,13 @@ python
> perform_packagecopy_prepend () {
> add_package_and_files(d)
> }
>
> +def get_recipe_info(d):
> + info = {}
> + info["PV"] = d.getVar("PV", True)
> + info["PR"] = d.getVar("PR", True)
> + info["LICENSE"] = d.getVar("LICENSE")
This should be d.getVar("LICENSE", True) so that the value gets expanded
(usually there aren't any variable references in LICENSE values but we can't
discount it).
> + return info
> +
> def add_package_and_files(d):
> packages = d.getVar('PACKAGES', True)
> files = d.getVar('LICENSE_FILES_DIRECTORY', True)
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the Openembedded-core
mailing list