]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
package_manager.py: reverse archs correctly
authorRobert Yang <liezhi.yang@windriver.com>
Tue, 31 Oct 2017 07:27:15 +0000 (15:27 +0800)
committerRobert Yang <liezhi.yang@windriver.com>
Wed, 22 Nov 2017 03:03:30 +0000 (11:03 +0800)
commit07212ea571b28f316cfb7ff5da124d6767e34be2
tree3edc3e114a32ad397a7475bd76cbb6a5884a21c0
parent34aca9fb54dea8de95b777296bc87a10ab2ed53c
package_manager.py: reverse archs correctly

It had reversed all the archs, which mixed multilib and common archs, e.g.:
"all any noarch x86_64 core2-64 qemux86_64 x86 i586 core2-32"
After reversed:
"core2-32 i586 x86 qemux86_64 core2-64 x86_64 noarch any all"
The core2-32 has a higher priority than core2-64 after reversed which is
incorrect. Don't mix with mulitlib when reverse can fix the problem, and let
multilib archs have a higher priority for multilib image.

Fixed:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "core2-32"
IMAGE_INSTALL_append = " ca-certificates"

$ bitbake wrlinux-image-glibc-small
Check rootfs.manifest, no core_32 packages is installed, this is
correct, but after we build lib32-bash, it will be incorrect:
$ bitbake lib32-bash
$ bitbake wrlinux-image-glibc-small
Check rootfs.manifest, a few lib32 packages are installed, such as
lib32-bash, this is incorrect. It was because ca-certificates is
allarch, and requires /bin/sh, which is provided by both bash and
lib32-bash, and lib32-bash has a higher priority than bash, so it would
be installed.

[YOCTO #12288]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
meta/lib/oe/package_manager.py