diff options
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-04-18 15:27:07 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-18 16:27:45 +0100
commitb18134ddaf949b4f001a1613ab876aed6324040a (patch)
parent528388c3cef027d436fc794c73d57a247521c238 (diff)
buildtools-tarball: fix perl being included when building with ipk
Due to some logic within opkg, a package with the name matching a dependency will always win over a package with that name in RPROVIDES - even if there is an RCONFLICTS (which is silently ignored), higher feed priority and version. The end result is that buildtools gets perl installed instead of the nativesdk-buildtools-perl-dummy package and that perl (with missing dependencies) gets used in preference to the host one, which is precisely what we were trying to avoid. This is almost certainly a bug in opkg, especially as the other package's dependencies aren't properly installed under these circumstances either. However, specifying RREPLACES works around this, and with no apparent side-effects is probably the safest solution for now. At the same time I noticed that in prepending to SDK_PACKAGE_ARCHS we were actually ending up with a low priority for the dummy package feed rather than a high one, so change to append it instead. This has no effect on the packages that get installed at the moment, but should be done in case the package manager behaviour changes to factor in the feed priority in future. Fixes [YOCTO #9469]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2 files changed, 3 insertions, 2 deletions
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb
index d39bd9ac51..ee86881802 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -26,7 +26,7 @@ TOOLCHAIN_HOST_TASK ?= "\
nativesdk-texinfo \
-SDK_PACKAGE_ARCHS =+ "buildtools-dummy-${SDKPKGSUFFIX}"
+SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}"
TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-buildtools-nativesdk-standalone-${DISTRO_VERSION}"
diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
index 90784a9e27..2b96111600 100644
--- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
+++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit allarch
-PR = "r1"
+PR = "r2"
python() {
# Put the package somewhere separate to ensure it's never used except
@@ -22,5 +22,6 @@ ALLOW_EMPTY_${PN} = "1"
python populate_packages_prepend() {
d.appendVar(d.expand('RPROVIDES_${PN}'), '${PERLPACKAGES}')
d.appendVar(d.expand('RCONFLICTS_${PN}'), '${PERLPACKAGES}')
+ d.appendVar(d.expand('RREPLACES_${PN}'), '${PERLPACKAGES}')