summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/package.bbclass16
1 files changed, 13 insertions, 3 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 23ff4772fa..cc64ddffc3 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -535,7 +535,7 @@ def copydebugsources(debugsrcdir, sources, d):
535# Package data handling routines 535# Package data handling routines
536# 536#
537 537
538def get_package_mapping (pkg, basepkg, d): 538def get_package_mapping (pkg, basepkg, d, depversions=None):
539 import oe.packagedata 539 import oe.packagedata
540 540
541 data = oe.packagedata.read_subpkgdata(pkg, d) 541 data = oe.packagedata.read_subpkgdata(pkg, d)
@@ -546,6 +546,14 @@ def get_package_mapping (pkg, basepkg, d):
546 if bb.data.inherits_class('allarch', d) and not d.getVar('MULTILIB_VARIANTS') \ 546 if bb.data.inherits_class('allarch', d) and not d.getVar('MULTILIB_VARIANTS') \
547 and data[key] == basepkg: 547 and data[key] == basepkg:
548 return pkg 548 return pkg
549 if depversions == []:
550 # Avoid returning a mapping if the renamed package rprovides its original name
551 rprovkey = "RPROVIDES_%s" % pkg
552 if rprovkey in data:
553 if pkg in bb.utils.explode_dep_versions2(data[rprovkey]):
554 bb.note("%s rprovides %s, not replacing the latter" % (data[key], pkg))
555 return pkg
556 # Do map to rewritten package name
549 return data[key] 557 return data[key]
550 558
551 return pkg 559 return pkg
@@ -566,8 +574,10 @@ def runtime_mapping_rename (varname, pkg, d):
566 574
567 new_depends = {} 575 new_depends = {}
568 deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "") 576 deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "")
569 for depend in deps: 577 for depend, depversions in deps.items():
570 new_depend = get_package_mapping(depend, pkg, d) 578 new_depend = get_package_mapping(depend, pkg, d, depversions)
579 if depend != new_depend:
580 bb.note("package name mapping done: %s -> %s" % (depend, new_depend))
571 new_depends[new_depend] = deps[depend] 581 new_depends[new_depend] = deps[depend]
572 582
573 d.setVar(varname, bb.utils.join_deps(new_depends, commasep=False)) 583 d.setVar(varname, bb.utils.join_deps(new_depends, commasep=False))