openssl: extract legacy provider module to a separate package

Message ID 20220419112118.60914-1-peter.marko@siemens.com
State Accepted, archived
Commit 1537ebc3f6ae2aec9a3864b03704ab4dbc0e971b
Headers show
Series openssl: extract legacy provider module to a separate package | expand

Commit Message

Peter Marko April 19, 2022, 11:21 a.m. UTC
This module contains legacy cipher suites from libcrypto.
We should not need to include base package because we want
  to use this part of libcrypto.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 meta/recipes-connectivity/openssl/openssl_3.0.2.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Peter Marko April 29, 2022, 12:27 p.m. UTC | #1
This is important for seamless migration of applications to openssl3.
In particular poco from meta-oe needs this as packageconfig cannot add rdepends to a sub-package.
Could this be picked to kirkstone or do I need to send it as new patch?

Thanks,
  Peter

> -----Original Message-----
> From: Marko, Peter <Peter.Marko@siemens.com> 
> Sent: Tuesday, April 19, 2022 13:21
> To: openembedded-core@lists.openembedded.org
> Cc: Marko, Peter <Peter.Marko@siemens.com>
> Subject: [OE-core][PATCH] openssl: extract legacy provider module to a separate package
>
> This module contains legacy cipher suites from libcrypto.
> We should not need to include base package because we want
>   to use this part of libcrypto.
>
> Signed-off-by: Peter Marko <peter.marko@siemens.com>
> ---
>  meta/recipes-connectivity/openssl/openssl_3.0.2.bb | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> index ff2a22c6c3..a809666aa7 100644
> --- a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> +++ b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> @@ -224,7 +224,7 @@ do_install_ptest () {  # file to be installed for both the openssl-bin package and the libcrypto  # package since the openssl-bin package depends on the libcrypto package.
>  
> -PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
> +PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy"
>  
>  FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
>  FILES:libssl = "${libdir}/libssl${SOLIBS}"
> @@ -235,12 +235,13 @@ FILES:${PN}-engines = "${libdir}/engines-3"
>  # ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)  FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
>  FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
> +FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
>  FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
>  FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
>  
>  CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
>  
> -RRECOMMENDS:libcrypto += "openssl-conf"
> +RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
>  RDEPENDS:${PN}-misc = "perl"
>  RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
>  
> --
> 2.30.2
Steve Sakoman April 29, 2022, 6:16 p.m. UTC | #2
On Fri, Apr 29, 2022 at 2:27 AM Peter Marko <peter.marko@siemens.com> wrote:
>
> This is important for seamless migration of applications to openssl3.
> In particular poco from meta-oe needs this as packageconfig cannot add rdepends to a sub-package.
> Could this be picked to kirkstone or do I need to send it as new patch?

No need to send a patch, I'll cherry-pick it in my next patch set.

Thanks,

Steve

> > -----Original Message-----
> > From: Marko, Peter <Peter.Marko@siemens.com>
> > Sent: Tuesday, April 19, 2022 13:21
> > To: openembedded-core@lists.openembedded.org
> > Cc: Marko, Peter <Peter.Marko@siemens.com>
> > Subject: [OE-core][PATCH] openssl: extract legacy provider module to a separate package
> >
> > This module contains legacy cipher suites from libcrypto.
> > We should not need to include base package because we want
> >   to use this part of libcrypto.
> >
> > Signed-off-by: Peter Marko <peter.marko@siemens.com>
> > ---
> >  meta/recipes-connectivity/openssl/openssl_3.0.2.bb | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > index ff2a22c6c3..a809666aa7 100644
> > --- a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > +++ b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > @@ -224,7 +224,7 @@ do_install_ptest () {  # file to be installed for both the openssl-bin package and the libcrypto  # package since the openssl-bin package depends on the libcrypto package.
> >
> > -PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
> > +PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy"
> >
> >  FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
> >  FILES:libssl = "${libdir}/libssl${SOLIBS}"
> > @@ -235,12 +235,13 @@ FILES:${PN}-engines = "${libdir}/engines-3"
> >  # ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)  FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
> >  FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
> > +FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
> >  FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
> >  FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
> >
> >  CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
> >
> > -RRECOMMENDS:libcrypto += "openssl-conf"
> > +RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
> >  RDEPENDS:${PN}-misc = "perl"
> >  RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
> >
> > --
> > 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#165009): https://lists.openembedded.org/g/openembedded-core/message/165009
> Mute This Topic: https://lists.openembedded.org/mt/90559122/3617601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [sakoman@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Christopher Larson April 29, 2022, 11:33 p.m. UTC | #3
Just to clarify, you can certainly make rdepends of a subpackage depend on
a packageconfig, you just use inline python to do it. There are a number of
examples of this sort of conditional in oe-core.

On Fri, Apr 29, 2022 at 11:17 AM Steve Sakoman <sakoman@gmail.com> wrote:

> On Fri, Apr 29, 2022 at 2:27 AM Peter Marko <peter.marko@siemens.com>
> wrote:
> >
> > This is important for seamless migration of applications to openssl3.
> > In particular poco from meta-oe needs this as packageconfig cannot add
> rdepends to a sub-package.
> > Could this be picked to kirkstone or do I need to send it as new patch?
>
> No need to send a patch, I'll cherry-pick it in my next patch set.
>
> Thanks,
>
> Steve
>
> > > -----Original Message-----
> > > From: Marko, Peter <Peter.Marko@siemens.com>
> > > Sent: Tuesday, April 19, 2022 13:21
> > > To: openembedded-core@lists.openembedded.org
> > > Cc: Marko, Peter <Peter.Marko@siemens.com>
> > > Subject: [OE-core][PATCH] openssl: extract legacy provider module to a
> separate package
> > >
> > > This module contains legacy cipher suites from libcrypto.
> > > We should not need to include base package because we want
> > >   to use this part of libcrypto.
> > >
> > > Signed-off-by: Peter Marko <peter.marko@siemens.com>
> > > ---
> > >  meta/recipes-connectivity/openssl/openssl_3.0.2.bb | 5 +++--
> > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > > index ff2a22c6c3..a809666aa7 100644
> > > --- a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > > +++ b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
> > > @@ -224,7 +224,7 @@ do_install_ptest () {  # file to be installed for
> both the openssl-bin package and the libcrypto  # package since the
> openssl-bin package depends on the libcrypto package.
> > >
> > > -PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
> > > +PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc
> ${PN}-ossl-module-legacy"
> > >
> > >  FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
> > >  FILES:libssl = "${libdir}/libssl${SOLIBS}"
> > > @@ -235,12 +235,13 @@ FILES:${PN}-engines = "${libdir}/engines-3"
> > >  # ${prefix} comes from what we pass into --prefix at configure time
> (which is used for INSTALLTOP)
> FILES:${PN}-engines:append:mingw32:class-nativesdk = "
> ${prefix}${libdir}/engines-3"
> > >  FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
> > > +FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
> > >  FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
> > >  FILES:${PN}:append:class-nativesdk = "
> ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
> > >
> > >  CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
> > >
> > > -RRECOMMENDS:libcrypto += "openssl-conf"
> > > +RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
> > >  RDEPENDS:${PN}-misc = "perl"
> > >  RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"
> > >
> > > --
> > > 2.30.2
> >
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#165054):
> https://lists.openembedded.org/g/openembedded-core/message/165054
> Mute This Topic: https://lists.openembedded.org/mt/90559122/3617123
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> kergoth@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
index ff2a22c6c3..a809666aa7 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.0.2.bb
@@ -224,7 +224,7 @@  do_install_ptest () {
 # file to be installed for both the openssl-bin package and the libcrypto
 # package since the openssl-bin package depends on the libcrypto package.
 
-PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
+PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy"
 
 FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
 FILES:libssl = "${libdir}/libssl${SOLIBS}"
@@ -235,12 +235,13 @@  FILES:${PN}-engines = "${libdir}/engines-3"
 # ${prefix} comes from what we pass into --prefix at configure time (which is used for INSTALLTOP)
 FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
 FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
+FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
 FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
 FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
 
 CONFFILES:openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
 
-RRECOMMENDS:libcrypto += "openssl-conf"
+RRECOMMENDS:libcrypto += "openssl-conf ${PN}-ossl-module-legacy"
 RDEPENDS:${PN}-misc = "perl"
 RDEPENDS:${PN}-ptest += "openssl-bin perl perl-modules bash sed"