native.bbclass: Fix variable remapping coverage

When looking for RDEPENDS to process, bitbake iterates through PACKAGES
*and* PN. Since native.bbclass sets PACKAGES to be empty, its pointless
remapping the list of PACKAGES since this does nothing. There is a problem
since *_${PN} are used by bitbake but not remapped by the native.bbclass
class extension code.

This changes the code to remap _${PN} in both expanded and unexpanded
forms. As a result of this, various surprising dependencies are uncovered
and the patch rectifies those. These are real bugs since they're injecting
unneeded (unremapped) dependencies into the dependency chain.

(From OE-Core rev: 0f485bfd6fc82a109b9da629e464fca1e90faec3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2011-12-17 10:08:53 +00:00
parent 5aabdbaff7
commit 0fa52f7078
7 changed files with 10 additions and 11 deletions

View File

@@ -127,7 +127,7 @@ python native_virtclass_handler () {
d.setVar(varname, " ".join(newdeps))
map_dependencies("DEPENDS", e.data)
for pkg in (e.data.getVar("PACKAGES", True).split() + [""]):
for pkg in [e.data.getVar("PN", True), "", "${PN}"]:
map_dependencies("RDEPENDS", e.data, pkg)
map_dependencies("RRECOMMENDS", e.data, pkg)
map_dependencies("RSUGGESTS", e.data, pkg)