[OE-core] [RFC] How to deal allarch packages in dependency chain for multilib rootfs?

Kang Kai Kai.Kang at windriver.com
Thu Jun 28 08:48:08 UTC 2018


Hi all,

When build 32 bits rootfs with 64 bits bsp, if an allarch/noarch package 
is installed to lib32 rootfs, it causes
unexpected 64 bits packages which is required by the allarch package 
installed to lib32 rootfs.

Take ca-certificates as example. ca-certificates rdepends on openssl, so 
if ca-certificates is installed to image,
64 bits package openssl will be installed too no matter what the rootfs 
is. But only 32 bits openssl package should
be installed to 32 bits rootfs.

There are 2 ways to fixed the issue.

1 expand allarch/noarch packages with multilib. So if add 
ca-certificates to image, lib32-ca-certificates will be
    installed to 32bits rootfs. And then also the dependency 
lib32-openssl is installed. That is what we expected.

2 expand DEPENDS/RDEPENDS of allarch/noarch packages with a prefix 
'noarch-' when multilib is enabled. So then
ca-certificates requires 'noarch-openssl'. And make both lib32-openssl 
and openssl provides 'noarch-openssl'.
    When do_rootfs, there is only one rpm repo 'oe-rootfs-repo' now. We 
will create repos with different priorities
    according to different archs/subdirectories. For 32 bits image, make 
32 bits rpm repo has  higher priority, so lib32-openssl
    will be installed to 32 bits rootfs rather than 64bits.

I know these 2 ways are not perfect, but only possible ways I have in 
mind to solve the problem.

Any comment or suggestion is greatly appreciated. Thanks a lot.

-- 
Regards,
Neil | Kai Kang

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180628/70dc22f4/attachment-0002.html>


More information about the Openembedded-core mailing list