Comments
Patch
@@ -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)
@@ -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 \
@@ -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"
@@ -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,7 @@ 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"
PATHFIXPATCH = "file://path_prog_fixes.patch"
PATHFIXPATCH_virtclass-native = ""
@@ -16,6 +16,8 @@ S = "${WORKDIR}/Python-${PV}"
inherit native
+RPROVIDES += "python-distutils-native python-compression-native python-textutils-native"
+
EXTRA_OEMAKE = '\
BUILD_SYS="" \
HOST_SYS="" \
@@ -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 \
@@ -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
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. We use the unexpanded form since d.expandkeys() has not been called at the point this code executes. Remapping the expanded form is belt and braces to cover any case where the unexpanded key form may not be present. 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. Workarounds for this kind of problem in autoconf are removed. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> ---