summaryrefslogtreecommitdiffstats
path: root/meta/classes-global/package.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-global/package.bbclass')
-rw-r--r--meta/classes-global/package.bbclass61
1 files changed, 3 insertions, 58 deletions
diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass
index a31224f243..72e39f6914 100644
--- a/meta/classes-global/package.bbclass
+++ b/meta/classes-global/package.bbclass
@@ -567,61 +567,6 @@ def copydebugsources(debugsrcdir, sources, d):
567 os.rmdir(p) 567 os.rmdir(p)
568 568
569# 569#
570# Package data handling routines
571#
572
573def get_package_mapping (pkg, basepkg, d, depversions=None):
574 import oe.packagedata
575
576 data = oe.packagedata.read_subpkgdata(pkg, d)
577 key = "PKG:%s" % pkg
578
579 if key in data:
580 if bb.data.inherits_class('allarch', d) and bb.data.inherits_class('packagegroup', d) and pkg != data[key]:
581 bb.error("An allarch packagegroup shouldn't depend on packages which are dynamically renamed (%s to %s)" % (pkg, data[key]))
582 # Have to avoid undoing the write_extra_pkgs(global_variants...)
583 if bb.data.inherits_class('allarch', d) and not d.getVar('MULTILIB_VARIANTS') \
584 and data[key] == basepkg:
585 return pkg
586 if depversions == []:
587 # Avoid returning a mapping if the renamed package rprovides its original name
588 rprovkey = "RPROVIDES:%s" % pkg
589 if rprovkey in data:
590 if pkg in bb.utils.explode_dep_versions2(data[rprovkey]):
591 bb.note("%s rprovides %s, not replacing the latter" % (data[key], pkg))
592 return pkg
593 # Do map to rewritten package name
594 return data[key]
595
596 return pkg
597
598def get_package_additional_metadata (pkg_type, d):
599 base_key = "PACKAGE_ADD_METADATA"
600 for key in ("%s_%s" % (base_key, pkg_type.upper()), base_key):
601 if d.getVar(key, False) is None:
602 continue
603 d.setVarFlag(key, "type", "list")
604 if d.getVarFlag(key, "separator") is None:
605 d.setVarFlag(key, "separator", "\\n")
606 metadata_fields = [field.strip() for field in oe.data.typed_value(key, d)]
607 return "\n".join(metadata_fields).strip()
608
609def runtime_mapping_rename (varname, pkg, d):
610 #bb.note("%s before: %s" % (varname, d.getVar(varname)))
611
612 new_depends = {}
613 deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "")
614 for depend, depversions in deps.items():
615 new_depend = get_package_mapping(depend, pkg, d, depversions)
616 if depend != new_depend:
617 bb.note("package name mapping done: %s -> %s" % (depend, new_depend))
618 new_depends[new_depend] = deps[depend]
619
620 d.setVar(varname, bb.utils.join_deps(new_depends, commasep=False))
621
622 #bb.note("%s after: %s" % (varname, d.getVar(varname)))
623
624#
625# Used by do_packagedata (and possibly other routines post do_package) 570# Used by do_packagedata (and possibly other routines post do_package)
626# 571#
627 572
@@ -2244,6 +2189,6 @@ def mapping_rename_hook(d):
2244 like debian.bbclass or manual PKG variable name changes 2189 like debian.bbclass or manual PKG variable name changes
2245 """ 2190 """
2246 pkg = d.getVar("PKG") 2191 pkg = d.getVar("PKG")
2247 runtime_mapping_rename("RDEPENDS", pkg, d) 2192 oe.packagedata.runtime_mapping_rename("RDEPENDS", pkg, d)
2248 runtime_mapping_rename("RRECOMMENDS", pkg, d) 2193 oe.packagedata.runtime_mapping_rename("RRECOMMENDS", pkg, d)
2249 runtime_mapping_rename("RSUGGESTS", pkg, d) 2194 oe.packagedata.runtime_mapping_rename("RSUGGESTS", pkg, d)