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

Mark Hatle mark.hatle at windriver.com
Thu Jun 28 14:26:42 UTC 2018


On 6/28/18 6:20 AM, Alexander Kanavin wrote:
> Maybe the better thing to do would be to name the packages in the
> first place in such a way that openssl is a 32 bit package, and
> lib64-openssl is the 64 bit one. Then any noarch package would pull in
> the correct version automatically. Is that not possible somehow?

For an individual implementation, sure...

But for the general case, it really should not matter if it's 32-bit or 64-bit
version of OpenSSL.  Both are 'functionally' equivalent.

--Mark

> Alex
> 
> 2018-06-28 13:13 GMT+02:00 Martin Jansa <martin.jansa at gmail.com>:
>> In our build I've removed the openssl runtime dependency
>> (RDEPENDS_${PN}_remove = "openssl"), because we pull the right version of
>> openssl (lib32-openssl in our case) to the image elsewhere.
>>
>> On Thu, Jun 28, 2018 at 10:48 AM Kang Kai <Kai.Kang at windriver.com> wrote:
>>>
>>> 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
>>>
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>




More information about the Openembedded-core mailing list