tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install
cover tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install
This patch is based on the denzil-next branch, the master branch also needs it.
// Robert
The following changes since commit c8c394bd806978c867f2fe82e4bde65c98764880:
quilt: fix perl path in target perl scripts (2012-04-26 10:43:39 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib robert/121_pkg_arch
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/121_pkg_arch
Robert Yang (1):
tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install
into image
meta/conf/machine/include/tune-core2.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
PATCH 1/1 tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install into image
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbay
Then the diffutils.i586 would be installed to the crownbay's image, this is because diffutils.i586 is newer than diffutils.core2, both of deploy/rpm/i586 and deploy/rpm/core2 are in the dbpath, so rpm will select the newer one (diffutils.i586). This caused by:
PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
The PACKAGE_EXTRA_ARCHS will cause the deploy/rpm/i586 in the crownbay's dbpath, so any pkg which is needed by the image of both crownbay and qemux86, if the i586 one is newer than the core2, it would be installed into crownbay's image.
This is for yocto 1.2.1, if it is OK, I think the master branch also needs it.
[YOCTO #2360]
--- meta/conf/machine/include/tune-core2.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/conf/machine/include/tune-core2.inc +1 -1
@@ -11,7 +11,7 @@ AVAILTUNES += "core2" TUNE_FEATURES_tune-core2 = "${TUNE_FEATURES_tune-x86} core2" BASE_LIB_tune-core2 = "lib" TUNE_PKGARCH_tune-core2 = "core2" -PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2" +PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} core2" AVAILTUNES += "core2-64" TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2"
Signature · 1 line
1.7.1
Re: [PATCH 1/1] tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install into image
Op 22 mei 2012, om 12:15 heeft Robert Yang het volgende geschreven:
Quoted 10 lines
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbayThen the diffutils.i586 would be installed to the crownbay's image, this is because diffutils.i586 is newer than diffutils.core2, both of deploy/rpm/i586 and deploy/rpm/core2 are in the dbpath, so rpm will select the newer one (diffutils.i586). This caused by:
Quoted 6 lines
PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
The
PACKAGE_EXTRA_ARCHSwill cause the deploy/rpm/i586 in the crownbay's dbpath, so any pkg which is needed by the image of both crownbay and qemux86, if the i586 one is newer than the core2, it would be installed into crownbay's image.
This is a bug in RPM not respecting the arch priorities. Changing PACKAGE_EXTRA_ARCHS is the wrong way to 'fix' that.
Re: [PATCH 1/1] tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install into image
Quoted 12 lines · Koen Kooi
Op 22 mei 2012, om 12:15 heeft Robert Yang het volgende geschreven:
Quoted 10 lines
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbayThen the diffutils.i586 would be installed to the crownbay's image, this is because diffutils.i586 is newer than diffutils.core2, both of deploy/rpm/i586 and deploy/rpm/core2 are in the dbpath, so rpm will select the newer one (diffutils.i586). This caused by:
Quoted 8 lines
Quoted 6 lines
PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
The
PACKAGE_EXTRA_ARCHSwill cause the deploy/rpm/i586 in the crownbay's dbpath, so any pkg which is needed by the image of both crownbay and qemux86, if the i586 one is newer than the core2, it would be installed into crownbay's image.This is a bug in RPM not respecting the arch priorities. Changing
PACKAGE_EXTRA_ARCHSis the wrong way to 'fix' that.
Agreed, the core2 package should have higher priority compared to the i586 package and be the one that "wins" and gets installed. This is a bug in the rpm package/rootfs backend that needs to get fixed.
Cheers,
Richard