summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-12-17 10:08:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-05 12:35:42 +0000
commit0f485bfd6fc82a109b9da629e464fca1e90faec3 (patch)
tree1606c51c99e069d303a0210fcef518b5fdc482cf
parent0c97fd9d721cea9786e89a557418649ef4576cfd (diff)
downloadopenembedded-core-0f485bfd6fc82a109b9da629e464fca1e90faec3.tar.gz
openembedded-core-0f485bfd6fc82a109b9da629e464fca1e90faec3.tar.bz2
openembedded-core-0f485bfd6fc82a109b9da629e464fca1e90faec3.zip
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/native.bbclass2
-rw-r--r--meta/recipes-devtools/autoconf/autoconf.inc2
-rw-r--r--meta/recipes-devtools/autoconf/autoconf_2.68.bb8
-rw-r--r--meta/recipes-devtools/automake/automake_1.11.2.bb5
-rw-r--r--meta/recipes-devtools/python/python-native_2.7.2.bb2
-rw-r--r--meta/recipes-gnome/gnome/gconf_3.2.3.bb1
-rw-r--r--meta/recipes-support/boost/boost.inc1
7 files changed, 10 insertions, 11 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 49823d6fc6..00196baba8 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -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)
diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
index 08a1b02219..1d0cf900fc 100644
--- a/meta/recipes-devtools/autoconf/autoconf.inc
+++ b/meta/recipes-devtools/autoconf/autoconf.inc
@@ -6,6 +6,8 @@ LICENSE = "GPLv3"
HOMEPAGE = "http://www.gnu.org/software/autoconf/"
SECTION = "devel"
DEPENDS += "m4-native"
+DEPENDS_virtclass-native = "m4-native gnu-config-native"
+DEPENDS_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk"
RDEPENDS_${PN} = "m4 gnu-config"
SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
diff --git a/meta/recipes-devtools/autoconf/autoconf_2.68.bb b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
index 9028e8336b..84eb1821b4 100644
--- a/meta/recipes-devtools/autoconf/autoconf_2.68.bb
+++ b/meta/recipes-devtools/autoconf/autoconf_2.68.bb
@@ -4,8 +4,6 @@ PR = "r4"
PARALLEL_MAKE = ""
-DEPENDS += "m4-native"
-RDEPENDS_${PN} = "m4 gnu-config"
LICENSE = "GPLv2 & GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504"
@@ -22,12 +20,6 @@ SRC_URI += "file://autoreconf-include.patch \
SRC_URI[md5sum] = "864d785215aa60d627c91fcb21b05b07"
SRC_URI[sha256sum] = "c491fb273fd6d4ca925e26ceed3d177920233c76d542b150ff35e571454332c8"
-DEPENDS_virtclass-native = "m4-native gnu-config-native"
-RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native"
-
-DEPENDS_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk"
-RDEPENDS_${PN}_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk"
-
SRC_URI_append_virtclass-native = " file://fix_path_xtra.patch"
EXTRA_OECONF += "ac_cv_path_M4=m4"
diff --git a/meta/recipes-devtools/automake/automake_1.11.2.bb b/meta/recipes-devtools/automake/automake_1.11.2.bb
index b455edfe6f..0a65f24fbe 100644
--- a/meta/recipes-devtools/automake/automake_1.11.2.bb
+++ b/meta/recipes-devtools/automake/automake_1.11.2.bb
@@ -3,7 +3,7 @@ LICENSE="GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS_virtclass-native = "autoconf-native"
-RDEPENDS_automake += "\
+RDEPENDS_${PN} += "\
autoconf \
perl \
perl-module-bytes \
@@ -27,7 +27,8 @@ RDEPENDS_automake += "\
perl-module-text-parsewords \
perl-module-vars "
-RDEPENDS_automake-native = "autoconf-native perl-native-runtime"
+RDEPENDS_${PN}_virtclass-native = "autoconf-native perl-native-runtime"
+RDEPENDS_${PN}_virtclass-nativesdk = "autoconf-nativesdk"
PATHFIXPATCH = "file://path_prog_fixes.patch"
PATHFIXPATCH_virtclass-native = ""
diff --git a/meta/recipes-devtools/python/python-native_2.7.2.bb b/meta/recipes-devtools/python/python-native_2.7.2.bb
index 8bf736d1ec..67b546d76e 100644
--- a/meta/recipes-devtools/python/python-native_2.7.2.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.2.bb
@@ -18,6 +18,8 @@ S = "${WORKDIR}/Python-${PV}"
inherit native
+RPROVIDES += "python-distutils-native python-compression-native python-textutils-native"
+
EXTRA_OEMAKE = '\
BUILD_SYS="" \
HOST_SYS="" \
diff --git a/meta/recipes-gnome/gnome/gconf_3.2.3.bb b/meta/recipes-gnome/gnome/gconf_3.2.3.bb
index 9d327fce85..f7d35946d3 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.3.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.3.bb
@@ -39,6 +39,7 @@ do_install_append() {
# disable dbus-x11 when x11 isn't in DISTRO_FEATURES
RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)}"
+RDEPENDS_${PN}_virtclass-native = ""
FILES_${PN} += "${libdir}/GConf/* \
${libdir}/gio/*/*.so \
diff --git a/meta/recipes-support/boost/boost.inc b/meta/recipes-support/boost/boost.inc
index dfe00f2753..74f3e4ba3f 100644
--- a/meta/recipes-support/boost/boost.inc
+++ b/meta/recipes-support/boost/boost.inc
@@ -74,6 +74,7 @@ FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/libboost_*.a"
# "boost" is a metapackage which pulls in all boost librabries
PACKAGES += "${PN}"
RRECOMMENDS_${PN} += "${BOOST_PACKAGES}"
+RRECOMMENDS_${PN}_virtclass-native = ""
ALLOW_EMPTY_${PN} = "1"
# to avoid GNU_HASH QA errors added LDFLAGS to ARCH; a little bit dirty but at least it works