From 0f485bfd6fc82a109b9da629e464fca1e90faec3 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 17 Dec 2011 10:08:53 +0000 Subject: 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 --- meta/classes/native.bbclass | 2 +- meta/recipes-devtools/autoconf/autoconf.inc | 2 ++ meta/recipes-devtools/autoconf/autoconf_2.68.bb | 8 -------- meta/recipes-devtools/automake/automake_1.11.2.bb | 5 +++-- meta/recipes-devtools/python/python-native_2.7.2.bb | 2 ++ meta/recipes-gnome/gnome/gconf_3.2.3.bb | 1 + meta/recipes-support/boost/boost.inc | 1 + 7 files changed, 10 insertions(+), 11 deletions(-) (limited to 'meta') 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 -- cgit 1.2.3-korg