<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>ping <br>
</p>
<p>Once we enabled multilib, and IMAGE_INSTALL_append packages that
also provided by package target-sdk-provides-dummy,</p>
<p>task populate_sdk will failed, similar error like:</p>
<p><span style="color: rgb(51, 51, 51); font-family: Arial,
sans-serif; font-size: 14px; font-style: normal;
font-variant-ligatures: normal; font-variant-caps: normal;
font-weight: 400; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px;
-webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
255); text-decoration-style: initial; text-decoration-color:
initial; display: inline !important; float: none;">Problem:
package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with perl-dev provided by perl-dev-5.30.0-r0.core2_64</span></p>
<div class="moz-cite-prefix">On 8/28/19 4:47 PM, Changqing Li wrote:<br>
</div>
<blockquote type="cite"
cite="mid:55061e6b-3692-fe81-7ecf-be8c629d956e@windriver.com">ping
<br>
<br>
On 8/19/19 11:22 AM, <a class="moz-txt-link-abbreviated" href="mailto:changqing.li@windriver.com">changqing.li@windriver.com</a> wrote:
<br>
<blockquote type="cite">From: Changqing Li
<a class="moz-txt-link-rfc2396E" href="mailto:changqing.li@windriver.com"><changqing.li@windriver.com></a>
<br>
<br>
Configuration:
<br>
IMAGE_INSTALL_append = " bash"
<br>
<br>
require conf/multilib.conf
<br>
MULTILIBS = "multilib:lib32"
<br>
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
<br>
<br>
Reproduce cmd:
<br>
bitbake core-image-minimal -c populate_sdk
<br>
<br>
Error info:
<br>
--> Finished dependency resolution
<br>
Error:
<br>
Problem: package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with /bin/sh provided by bash-5.0-r0.core2_64
<br>
- package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with bash provided by bash-5.0-r0.core2_64
<br>
- package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
conflicts with /bin/bash provided by bash-5.0-r0.core2_64
<br>
- package
target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target
obsoletes bash provided by bash-5.0-r0.core2_64
<br>
- cannot install the best candidate for the job
<br>
- conflicting requests
<br>
<br>
when do_populate_sdk, package target-sdk-provides-dummy provides
<br>
dummy /bin/sh, ... and package bash also provides this, we
append
<br>
dummy arch sdk-provides-dummy-target to the end of
ALL_MULTILIB_PACKAGE_ARCHS,
<br>
then reverted sdk-provides-dummy-target to the first arch
<br>
for dnf config etc/dnf/vars/arch to make it high priority.
<br>
<br>
when multilib is enabled, below statement will not work as
expected.
<br>
ALL_MULTILIB_PACKAGE_ARCHS = "${@all_multilib_tune_values(d,
'PACKAGE_ARCHS')}"
<br>
<br>
Eg:
<br>
For lib32 variant, PACKAGE_ARCHS is:
<br>
all any noarch x86 qemux86_64 sdk-provides-dummy-target
<br>
<br>
For lib64 variant, PACKAGE_ARCHS is:
<br>
all any noarch x86_64 core2-64 qemux86_64
sdk-provides-dummy-target
<br>
<br>
Then:
<br>
ALL_MULTILIB_PACKAGE_ARCHS will be
<br>
x86 qemux86_64 sdk-provides-dummy-target x86_64 core2-64
<br>
<br>
Fixed by append sdk-provides-dummy-target during do_populate_sdk
<br>
<br>
Signed-off-by: Changqing Li <a class="moz-txt-link-rfc2396E" href="mailto:changqing.li@windriver.com"><changqing.li@windriver.com></a>
<br>
---
<br>
meta/classes/populate_sdk_base.bbclass | 2 +-
<br>
1 file changed, 1 insertion(+), 1 deletion(-)
<br>
<br>
diff --git a/meta/classes/populate_sdk_base.bbclass
b/meta/classes/populate_sdk_base.bbclass
<br>
index 59920a5..3362656 100644
<br>
--- a/meta/classes/populate_sdk_base.bbclass
<br>
+++ b/meta/classes/populate_sdk_base.bbclass
<br>
@@ -21,7 +21,6 @@ def complementary_globs(featurevar, d):
<br>
SDKIMAGE_FEATURES ??= "dev-pkgs dbg-pkgs src-pkgs
${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation',
'doc-pkgs', '', d)}"
<br>
SDKIMAGE_INSTALL_COMPLEMENTARY =
'${@complementary_globs("SDKIMAGE_FEATURES", d)}'
<br>
-PACKAGE_ARCHS_append_task-populate-sdk = "
sdk-provides-dummy-target"
<br>
SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}"
<br>
# List of locales to install, or "all" for all of them, or
unset for none.
<br>
@@ -130,6 +129,7 @@ def populate_sdk_common(d):
<br>
inst_pkgs = (d.getVar("PACKAGE_INSTALL") or "").split()
<br>
inst_attempt_pkgs =
(d.getVar("PACKAGE_INSTALL_ATTEMPTONLY") or "").split()
<br>
+ d.appendVar('ALL_MULTILIB_PACKAGE_ARCHS', '
sdk-provides-dummy-target')
<br>
d.setVar('PACKAGE_INSTALL_ORIG', ' '.join(inst_pkgs))
<br>
d.setVar('PACKAGE_INSTALL_ATTEMPTONLY', '
'.join(inst_attempt_pkgs))
<br>
</blockquote>
<br>
</blockquote>
<pre class="moz-signature" cols="72">--
BRs
Sandy(Li Changqing)</pre>
</body>
</html>