From be77f3138cc1c4131b74924b275acef692f46b26 Mon Sep 17 00:00:00 2001 From: Leonid Borisenko Date: Fri, 16 Nov 2012 18:29:25 +0000 Subject: package.bbclass: add getter of additional metadata Two variables are searched for value of additional package metadata: * PACKAGE_ADD_METADATA_ * PACKAGE_ADD_METADATA First found variable with defined value wins. is a parameter of getter and expected to be a distinct name of specific package type. For example: 'DEB' or 'RPM'. Variable can contain multiple [one-line] metadata fields, separated by literal sequence '\n'. Separator can be redefined through variable flag 'separator'. Getter returns found value with separator replaced with newline character. As side-effect, searched variables acquired flags 'type' (equals to 'list') and 'separator'. (From OE-Core rev: 98ea2fc35a3ef609a944929e21e0f9be2889036d) Signed-off-by: Leonid Borisenko Signed-off-by: Martin Jansa Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/package.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'meta/classes/package.bbclass') diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 9b511a6..70f9aaa 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -363,6 +363,17 @@ def get_package_mapping (pkg, basepkg, d): return pkg +def get_package_additional_metadata (pkg_type, d): + base_key = "PACKAGE_ADD_METADATA" + for key in ("%s_%s" % (base_key, pkg_type.upper()), base_key): + if d.getVar(key) is None: + continue + d.setVarFlag(key, "type", "list") + if d.getVarFlag(key, "separator") is None: + d.setVarFlag(key, "separator", "\\n") + metadata_fields = [field.strip() for field in oe.data.typed_value(key, d)] + return "\n".join(metadata_fields).strip() + def runtime_mapping_rename (varname, pkg, d): #bb.note("%s before: %s" % (varname, d.getVar(varname, True))) -- cgit v1.1