diff mbox series

[2/2] openssl: Fix ptest dependencies on perl-module-* being ignored by COMPLEMENTARY_GLOB

Message ID 20240116165602.2053194-2-William.Lyu@windriver.com
State New
Headers show
Series [1/2] perl: Add option to prevent COMPLEMENTARY_GLOB from ignoring perl-modules | expand

Commit Message

Lyu, William Jan. 16, 2024, 4:56 p.m. UTC
From: William Lyu <William.Lyu@windriver.com>

Change the openssl-ptest RDEPENDS from perl-modules to
perl-modules-force-all which RDEPENDS on the same set of packages
perl-module-* recommended by perl-modules. So, when openssl-ptest is
added via COMPLEMENTARY_GLOB "ptest-pkgs", its dependencies on these
perl-module-* packages still get added.

Signed-off-by: William Lyu <William.Lyu@windriver.com>
---
 meta/recipes-connectivity/openssl/openssl_3.2.0.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexander Kanavin Jan. 16, 2024, 5:20 p.m. UTC | #1
How about simple depending on specific module packages? I don’t think
OpenSSL truly needs all modules.

Alex

On Tue 16. Jan 2024 at 17.56, Lyu, William via lists.openembedded.org
<william.lyu=windriver.com@lists.openembedded.org> wrote:

> From: William Lyu <William.Lyu@windriver.com>
>
> Change the openssl-ptest RDEPENDS from perl-modules to
> perl-modules-force-all which RDEPENDS on the same set of packages
> perl-module-* recommended by perl-modules. So, when openssl-ptest is
> added via COMPLEMENTARY_GLOB "ptest-pkgs", its dependencies on these
> perl-module-* packages still get added.
>
> Signed-off-by: William Lyu <William.Lyu@windriver.com>
> ---
>  meta/recipes-connectivity/openssl/openssl_3.2.0.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
> b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
> index d041d2d214..7076bd3a7b 100644
> --- a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
> @@ -247,7 +247,7 @@ CONFFILES:openssl-conf =
> "${sysconfdir}/ssl/openssl.cnf"
>
>  RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
>  RDEPENDS:${PN}-misc = "perl"
> -RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
> +RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules-force-all bash sed"
>
>  RDEPENDS:${PN}-bin += "openssl-conf"
>
> --
> 2.43.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#193866):
> https://lists.openembedded.org/g/openembedded-core/message/193866
> Mute This Topic: https://lists.openembedded.org/mt/103766390/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Tim Orling Jan. 16, 2024, 6:56 p.m. UTC | #2
On Tue, Jan 16, 2024 at 9:21 AM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> How about simple depending on specific module packages? I don’t think
> OpenSSL truly needs all modules.
>

Agreed. I don’t see a compelling reason to add the perl-modules-force-all
complication. This will add confusion in my opinion.

Iterate the tests and add the required perl-module-* sub-packages one by
one (or by inspection if the test cases)

In almost all cases, RDEPENDS on perl-modules is a short cut and should be
avoided in favor of being explicit.


> Alex
>
> On Tue 16. Jan 2024 at 17.56, Lyu, William via lists.openembedded.org
> <william.lyu=windriver.com@lists.openembedded.org> wrote:
>
>> From: William Lyu <William.Lyu@windriver.com>
>>
>> Change the openssl-ptest RDEPENDS from perl-modules to
>> perl-modules-force-all which RDEPENDS on the same set of packages
>> perl-module-* recommended by perl-modules. So, when openssl-ptest is
>> added via COMPLEMENTARY_GLOB "ptest-pkgs", its dependencies on these
>> perl-module-* packages still get added.
>>
>> Signed-off-by: William Lyu <William.Lyu@windriver.com>
>> ---
>>  meta/recipes-connectivity/openssl/openssl_3.2.0.bb | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>> b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>> index d041d2d214..7076bd3a7b 100644
>> --- a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>> +++ b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>> @@ -247,7 +247,7 @@ CONFFILES:openssl-conf =
>> "${sysconfdir}/ssl/openssl.cnf"
>>
>>  RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
>>  RDEPENDS:${PN}-misc = "perl"
>> -RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
>> +RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules-force-all bash
>> sed"
>>
>>  RDEPENDS:${PN}-bin += "openssl-conf"
>>
>> --
>> 2.43.0
>>
>>
>>
>>
>>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#193868):
> https://lists.openembedded.org/g/openembedded-core/message/193868
> Mute This Topic: https://lists.openembedded.org/mt/103766390/924729
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> ticotimo@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Tim Orling Jan. 16, 2024, 10:31 p.m. UTC | #3
On Tue, Jan 16, 2024 at 10:57 AM Tim Orling via lists.openembedded.org
<ticotimo=gmail.com@lists.openembedded.org> wrote:

>
>
> On Tue, Jan 16, 2024 at 9:21 AM Alexander Kanavin <alex.kanavin@gmail.com>
> wrote:
>
>> How about simple depending on specific module packages? I don’t think
>> OpenSSL truly needs all modules.
>>
>
> Agreed. I don’t see a compelling reason to add the perl-modules-force-all
> complication. This will add confusion in my opinion.
>
> Iterate the tests and add the required perl-module-* sub-packages one by
> one (or by inspection if the test cases)
>
> In almost all cases, RDEPENDS on perl-modules is a short cut and should be
> avoided in favor of being explicit.
>
> This inspired me to sweep the dust off of
https://git.yoctoproject.org/poky-contrib/log/?h=timo/perl-deps_13376

This detects (but doesn't yet know how to properly handle) the RDEPENDS for
openssl-ptest. See attached snippet of the log.

It is too greedy so some dependencies are not going to be needed.



>> Alex
>>
>> On Tue 16. Jan 2024 at 17.56, Lyu, William via lists.openembedded.org
>> <william.lyu=windriver.com@lists.openembedded.org> wrote:
>>
>>> From: William Lyu <William.Lyu@windriver.com>
>>>
>>> Change the openssl-ptest RDEPENDS from perl-modules to
>>> perl-modules-force-all which RDEPENDS on the same set of packages
>>> perl-module-* recommended by perl-modules. So, when openssl-ptest is
>>> added via COMPLEMENTARY_GLOB "ptest-pkgs", its dependencies on these
>>> perl-module-* packages still get added.
>>>
>>> Signed-off-by: William Lyu <William.Lyu@windriver.com>
>>> ---
>>>  meta/recipes-connectivity/openssl/openssl_3.2.0.bb | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>>> b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>>> index d041d2d214..7076bd3a7b 100644
>>> --- a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>>> +++ b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>>> @@ -247,7 +247,7 @@ CONFFILES:openssl-conf =
>>> "${sysconfdir}/ssl/openssl.cnf"
>>>
>>>  RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
>>>  RDEPENDS:${PN}-misc = "perl"
>>> -RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
>>> +RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules-force-all bash
>>> sed"
>>>
>>>  RDEPENDS:${PN}-bin += "openssl-conf"
>>>
>>> --
>>> 2.43.0
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#193872):
> https://lists.openembedded.org/g/openembedded-core/message/193872
> Mute This Topic: https://lists.openembedded.org/mt/103766390/924729
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> ticotimo@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
ChenQi Jan. 17, 2024, 4:52 a.m. UTC | #4
Can we change the perl recipe to simply use 'RDEPENDS' for perl-modules?
I don't see what benefit the 'RRECOMMENDS' could give us.

Regards,
Qi


On 1/17/24 02:56, Tim Orling wrote:
>
>
> On Tue, Jan 16, 2024 at 9:21 AM Alexander Kanavin 
> <alex.kanavin@gmail.com> wrote:
>
>     How about simple depending on specific module packages? I don’t
>     think OpenSSL truly needs all modules.
>
>
> Agreed. I don’t see a compelling reason to add the 
> perl-modules-force-all complication. This will add confusion in my 
> opinion.
>
> Iterate the tests and add the required perl-module-* sub-packages one 
> by one (or by inspection if the test cases)
>
> In almost all cases, RDEPENDS on perl-modules is a short cut and 
> should be avoided in favor of being explicit.
>
>
>     Alex
>
>     On Tue 16. Jan 2024 at 17.56, Lyu, William via
>     lists.openembedded.org
>     <https://urldefense.com/v3/__http://lists.openembedded.org__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvhkVBVlxg$>
>     <william.lyu=windriver.com@lists.openembedded.org> wrote:
>
>         From: William Lyu <William.Lyu@windriver.com>
>
>         Change the openssl-ptest RDEPENDS from perl-modules to
>         perl-modules-force-all which RDEPENDS on the same set of packages
>         perl-module-* recommended by perl-modules. So, when
>         openssl-ptest is
>         added via COMPLEMENTARY_GLOB "ptest-pkgs", its dependencies on
>         these
>         perl-module-* packages still get added.
>
>         Signed-off-by: William Lyu <William.Lyu@windriver.com>
>         ---
>          meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>         <https://urldefense.com/v3/__http://openssl_3.2.0.bb__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvgVPdEvRA$>
>         | 2 +-
>          1 file changed, 1 insertion(+), 1 deletion(-)
>
>         diff --git
>         a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>         <https://urldefense.com/v3/__http://openssl_3.2.0.bb__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvgVPdEvRA$>
>         b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>         <https://urldefense.com/v3/__http://openssl_3.2.0.bb__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvgVPdEvRA$>
>         index d041d2d214..7076bd3a7b 100644
>         --- a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>         <https://urldefense.com/v3/__http://openssl_3.2.0.bb__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvgVPdEvRA$>
>         +++ b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
>         <https://urldefense.com/v3/__http://openssl_3.2.0.bb__;!!AjveYdw8EvQ!cxKJn1SS8SQ9ODf0H1IfuN2qyCFPWHDlbuuYvuan7dIN9Nds2MS9DozRKwvNf7Di3p7lYRZ7IPV-BvgVPdEvRA$>
>         @@ -247,7 +247,7 @@ CONFFILES:openssl-conf =
>         "${sysconfdir}/ssl/openssl.cnf"
>
>          RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
>          RDEPENDS:${PN}-misc = "perl"
>         -RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
>         +RDEPENDS:${PN}-ptest += "openssl-bin perl
>         perl-modules-force-all bash sed"
>
>          RDEPENDS:${PN}-bin += "openssl-conf"
>
>         -- 
>         2.43.0
>
>
>
>
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#193872):https://lists.openembedded.org/g/openembedded-core/message/193872
> Mute This Topic:https://lists.openembedded.org/mt/103766390/7304865
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub  [Qi.Chen@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Lyu, William Jan. 17, 2024, 5:45 p.m. UTC | #5
Qi, according to the comments in the perl_5.38.2.bb recipe, perl-modules recommends "all the other perl packages" which might include optional packages. I assume leaving optional packages as "runtime recommended" (RRECOMMENDS) - aka. soft dependencies - can reduce the possibility of conflicts. The following patch changed the package_manager to ignore RRECOMMENDS to avoid conflict:

https://lists.openembedded.org/g/openembedded-core/message/167303
diff mbox series

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
index d041d2d214..7076bd3a7b 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.2.0.bb
@@ -247,7 +247,7 @@  CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
 
 RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
 RDEPENDS:${PN}-misc = "perl"
-RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
+RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules-force-all bash sed"
 
 RDEPENDS:${PN}-bin += "openssl-conf"