Skip to contentSkip to conversation

tune-core2.inc: PACKAGE_EXTRA_ARCHS causes wrong packages install

PATCH In review Robert Yang 3 participants 4 messages May 22, 2012

lore
Share & tools
lore
#0 lore raw

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(-)
#1 lore raw

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
index 338ba73..aabdf9c 100644
@@ -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
#2 lore raw

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=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:

Quoted 6 lines

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 a bug in RPM not respecting the arch priorities. Changing PACKAGE_EXTRA_ARCHS is the wrong way to 'fix' that.

#3 lore raw

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=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:

Quoted 8 lines
Quoted 6 lines

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 a bug in RPM not respecting the arch priorities. Changing PACKAGE_EXTRA_ARCHS is 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