]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
buildtools-tarball: fix perl being included when building with ipk
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 18 Apr 2016 03:27:07 +0000 (15:27 +1200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 18 Apr 2016 15:27:45 +0000 (16:27 +0100)
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>
meta/recipes-core/meta/buildtools-tarball.bb
meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb

index d39bd9ac512f19e211cc619ba7cc62a0f74c4a61..ee8688180236b99a41623ed4d1341224f2554954 100644 (file)
@@ -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}"
 
index 90784a9e27ce0f6607c61b191799f64b987d3890..2b96111600c24d0627d6ba11b52f1cc7b1c30873 100644 (file)
@@ -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}')
 }