diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-04-18 15:27:07 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-18 16:27:45 +0100 |
commit | b18134ddaf949b4f001a1613ab876aed6324040a (patch) | |
tree | a78004909661e711c94df4056c71c27cb5391b8c /meta | |
parent | 528388c3cef027d436fc794c73d57a247521c238 (diff) | |
download | openembedded-core-b18134ddaf949b4f001a1613ab876aed6324040a.tar.gz openembedded-core-b18134ddaf949b4f001a1613ab876aed6324040a.tar.bz2 openembedded-core-b18134ddaf949b4f001a1613ab876aed6324040a.zip |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/meta/buildtools-tarball.bb | 2 | ||||
-rw-r--r-- | meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb | 3 |
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}') } |