From: Dongxiao Xu <[email protected]>
In the orignal logic, the renaming will not work for "FILES_" if defined
variables as:
PACKAGES = "${PN}"
FILES_abc = "/usr/include/abc.h"
It is because ${PN} is "lib64-abc" so it will not be contained in
pkgrename.
This commit enumerates all element in PACKAGES, getting the original
packages and multilib packages, then doing renaming for "FILES_",
"RDEPENDS_", etc. This fixes a lot of missing files and incorrect
dependencies.
Signed-off-by: Dongxiao Xu <[email protected]>
---
meta/classes/multilib.bbclass | 18 ++++++++----------
1 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index 571b7be..46c24e1 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -63,20 +63,18 @@ python __anonymous () {
newvar.append(extend_name(v))
d.setVar(varname, " ".join(newvar))
- pkgs = []
- pkgrename = {}
+ pkgs_mapping = []
for pkg in (d.getVar("PACKAGES", True) or "").split():
if pkg.startswith(variant):
- pkgs.append(pkg)
+ pkgs_mapping.append([pkg.split(variant + "-")[1], pkg])
continue
- pkgrename[pkg] = extend_name(pkg)
- pkgs.append(pkgrename[pkg])
+ pkgs_mapping.append([pkg, extend_name(pkg)])
- if pkgrename:
- d.setVar("PACKAGES", " ".join(pkgs))
- for pkg in pkgrename:
- for subs in ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY",
"DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY"]:
- d.renameVar("%s_%s" % (subs, pkg), "%s_%s" % (subs,
pkgrename[pkg]))
+ d.setVar("PACKAGES", " ".join([row[1] for row in pkgs_mapping]))
+
+ for pkg_mapping in pkgs_mapping:
+ for subs in ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY",
"DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY"]:
+ d.renameVar("%s_%s" % (subs, pkg_mapping[0]), "%s_%s" % (subs,
pkg_mapping[1]))
map_dependencies("DEPENDS", d)
for pkg in (d.getVar("PACKAGES", True).split() + [""]):
--
1.7.6
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core