<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/multilib.bbclass, branch hardknott</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=hardknott</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=hardknott'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2021-08-26T07:32:14+00:00</updated>
<entry>
<title>sdk: Enable do_populate_sdk with multilibs</title>
<updated>2021-08-26T07:32:14+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-06-20T21:46:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3cf7d5cd00b6b12169d78b289de4fb0cc56db896'/>
<id>urn:sha1:3cf7d5cd00b6b12169d78b289de4fb0cc56db896</id>
<content type='text'>
This patch enables building image based SDKs for multi-libbed images
e.g. lib32-core-image-minimal and so on. Change the path to nativesdk
tools to use recipe-sysroot since thats where the nativesdk components
are installed and it will need access to qemu wrappers during build for
processing intercepts

[YOCTO #14444]

(From OE-Core rev: 3d18d1924ff0dcf8788ee856e3f056e77db8f920)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 6196a785eababb040ee1dee9f33cb6d6dad77eef)
Signed-off-by: Anuj Mittal &lt;anuj.mittal@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib/recipes: Use new RecipePostKeyExpansion event</title>
<updated>2020-05-27T09:47:05+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2020-04-15T15:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=edbf8d3999126e3c271a47dada54d1724f59f573'/>
<id>urn:sha1:edbf8d3999126e3c271a47dada54d1724f59f573</id>
<content type='text'>
There are issues with multilib due to the ordering of events where some
functions see the remapped multilib dependencies and some do not. A significant
problem is that the multilib class needs to make some changes before key expansion
and some afterwards but by using existing event handlers, some code sees things
in a partially translated state, leading to bugs.

This patch changes things to use a new event handler from bitbake which makes the
ordering of the changes explcit.

The challenge in doing this is that it breaks some existing anonymous python and
dyanmic assignments. In some cases these used to be translated and no longer are,
meaning MLPREFIX has to be added. In some cases these are now translated and the
MLPREFIX can be removed.

This change does now make it very clear when MLPREFIX is required and when it is
not, its just the migration path which is harder. The patch changes the small number
of cases where fixes are needed.

In particular, where a variable like RDEPENDS is conditionally extended (e.g.
with an override), MLPREFIX is now required.

This patch also reverts:
base: Revert 'base.bbclass: considering multilib when setting LICENSE_EXCLUSION'

This reverts 6597130256a1609c3e05ec5891aceaf549c37985 as the changes
to multilib datastore handling mean its no longer necessary.

(From OE-Core rev: b3fda056a674889cd9697e779de023d4f993d3ce)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib.bbclass: fix qa warning of kernel-devicetree</title>
<updated>2019-11-29T17:43:39+00:00</updated>
<author>
<name>Kai Kang</name>
<email>kai.kang@windriver.com</email>
</author>
<published>2019-11-19T03:15:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=47048bfd6416c6fdeb545f890f38d57a1390450e'/>
<id>urn:sha1:47048bfd6416c6fdeb545f890f38d57a1390450e</id>
<content type='text'>
When kernel-devicetree is in RRECOMMENDS such as via variable
MACHINE_EXTRA_RRECOMMENDS for some bsp, it shows QA warning of multilib:

| WARNING: lib32-packagegroup-base-1.0-r83 do_package: QA Issue:
| lib32-packagegroup-base package lib32-packagegroup-machine-base
| - suspicious values 'kernel-devicetree' in RRECOMMENDS [multilib]

Add kernel-devicetree to exceptions to fix the QA issue. Because there
are already 3 kernel related criteria, simplify them by judging package
names whether start with 'kernel-'. And also refactor to remove
duplicate 'not'.

(From OE-Core rev: 5e4504026c6358c7d5649843dc354247f5972558)

Signed-off-by: Kai Kang &lt;kai.kang@windriver.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classextend.py: don't extend file for file dependency</title>
<updated>2019-09-16T22:02:45+00:00</updated>
<author>
<name>Changqing Li</name>
<email>changqing.li@windriver.com</email>
</author>
<published>2019-09-16T05:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=da61ee554134f5d56f2deaf42ea0d20d84e36b83'/>
<id>urn:sha1:da61ee554134f5d56f2deaf42ea0d20d84e36b83</id>
<content type='text'>
Fix error like:
lib32-e2fsprogs-1.45.3-r0 do_package_qa: QA Issue: /usr/sbin/e2scrub_all
contained in package lib32-e2fsprogs-e2scrub requires /bin/bash,
but no providers found in RDEPENDS_lib32-e2fsprogs-e2scrub

For some lib32 packages(eg: lib32-bash, lib32-sed) which probvides files,
extend is not needed

Eg: RPROVIDES of lib32-bash expects to have /bin/bash, with original
extend, it will become lib32-/bin/bash, then will cause above error

Fix by don't extend file dependency, and skip multilib check for file dependency
in do_package_qa to avoid error like:
WARNING: lib32-bash-5.0-r0 do_package: QA Issue: lib32-bash package lib32-bash
 - suspicious values '/bin/bash /bin/sh' in RPROVIDES [multilib]

(From OE-Core rev: a9163120ed52534e7dbf4db50dc2b03bbf69f06b)

Signed-off-by: Changqing Li &lt;changqing.li@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib.bbclass: Reduce ALTERNATIVE_PRIORITY for extended recipes</title>
<updated>2019-06-27T11:20:36+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2019-06-26T12:59:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8eb91205f6996b7e5106336442393157dc6746cf'/>
<id>urn:sha1:8eb91205f6996b7e5106336442393157dc6746cf</id>
<content type='text'>
Fixed:
MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

$ bitbake core-image-minimal
update-alternatives: libtool has multiple providers with the same priority,
please check
/path/to/rootfs/usr/lib/opkg/alternatives/libtool for details

Both libtool and lib32-libtool have the same priority (as they're the same
recipe), so update-alternatives won't deterministically pick a provider. This
means you could end up with an image using a 32-bit pkgconfig and 64-bit
libtool, for example.

Make extended recipes reduce priority by 1 (or 2, 3 ... when there are multiple
variants in MULTILIB_VARIANTS) to fix the problem.

[YOCTO #13418]

(From OE-Core rev: a2f53255ed7fb3657c470cd6a4452d883edd11cc)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib: add override for image recipe</title>
<updated>2019-06-12T20:08:52+00:00</updated>
<author>
<name>Changqing Li</name>
<email>changqing.li@windriver.com</email>
</author>
<published>2019-06-12T07:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=21bd096d6cbe7ce257d3b352e2a64c783e845d4d'/>
<id>urn:sha1:21bd096d6cbe7ce257d3b352e2a64c783e845d4d</id>
<content type='text'>
MACHINE set to qemux86-64
for lib32-core-image-sato, during do_rootfs, it will run
install_complementary, which will get localedir by
d.getVar("libdir"), without override, libdir will still be
lib64. add override to fix it.

(From OE-Core rev: 8ed0cf040abbfb0999ac92b59ca9b7067d340202)

Signed-off-by: Changqing Li &lt;changqing.li@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>musl,glibc,newlib: Drop redundant STAGINGCC</title>
<updated>2019-01-21T23:44:22+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2019-01-17T22:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d5edd81f89ac2a45c12537b6d5ae027553922d73'/>
<id>urn:sha1:d5edd81f89ac2a45c12537b6d5ae027553922d73</id>
<content type='text'>
We do not have initial phase of bootstrapping toolchains anymore

(From OE-Core rev: 75a2c15bbabf4df14631c822b20ce6d31098a5c8)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib: avoid expanding grub and grub-efi to multilib</title>
<updated>2018-10-01T12:04:49+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2018-09-29T07:23:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a1fd97e1c7fda0fc2813aa8360972cfe69092ccd'/>
<id>urn:sha1:a1fd97e1c7fda0fc2813aa8360972cfe69092ccd</id>
<content type='text'>
It doesn't make much sense to expand them to multilib, and there is an error on
qemuarm64 since grub-efi supports arm64, but doesn't support armv7a or armv7ve:

* Fixed:
  MACHINE = "qemuarm64"
  require conf/multilib.conf
  MULTILIBS = "multilib:lib32"
  DEFAULTTUNE_virtclass-multilib-lib32 = "armv7a"
  MACHINE_FEATURES_append = " efi"

  $ bitbake lib32-core-image-minimal

Also introduced a variable NON_MULTILIB_RECIPES in multilib.conf, so that we
can easily add other recipes, such as syslinux if needed.

(From OE-Core rev: 25f7c6c329038b443d36074fff45a30ba3712f7a)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>multilib.bbclass: fix do_package_qa_multilib error</title>
<updated>2018-10-01T12:04:49+00:00</updated>
<author>
<name>Changqing Li</name>
<email>changqing.li@windriver.com</email>
</author>
<published>2018-09-29T09:27:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4e93a76c1e49f43647e0f54de2ef93b8ce459367'/>
<id>urn:sha1:4e93a76c1e49f43647e0f54de2ef93b8ce459367</id>
<content type='text'>
lib32-packagegroup-anaconda-support have RDEPENDS to kernel-image,
but kernel-image don't have lib32, so skip it.

ERROR: QA Issue: lib32-packagegroup-anaconda-support package
lib32-packagegroup-anaconda-support - suspicious values 'kernel-image'
in RDEPENDS [multilib]

(From OE-Core rev: 24b8c61bf7dd13f7f371d3a910947a1fac062c6b)

Signed-off-by: Changqing Li &lt;changqing.li@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>target-sdk-provides-dummy: skip package_qa_multilib check</title>
<updated>2018-09-13T06:42:28+00:00</updated>
<author>
<name>Kai Kang</name>
<email>kai.kang@windriver.com</email>
</author>
<published>2018-09-11T23:25:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=1d5b01c956918fe3dec90649fc9d83c38f3afa50'/>
<id>urn:sha1:1d5b01c956918fe3dec90649fc9d83c38f3afa50</id>
<content type='text'>
The rprovides of target-sdk-provides-dummy don't be updated with
multilib, so it fails package_qa_multilib check. Because
target-sdk-provides-dummy doesn't install any file to sysroot, it is
safe to skip package_qa_multilib check for target-sdk-provides-dummy.

Remove ${MLPREFIX}target-sdk-provides-dummy from TOOLCHAIN_TARGET_TASK
at same time in populate_sdk_base.bbclass.

(From OE-Core rev: 3197c086269a4b21fb807a9c552b56f23c5b86dc)

Signed-off-by: Kai Kang &lt;kai.kang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
