Patchwork openssl: create package for openssl configuration file

login
register
mail settings
Submitter Qiang Chen
Date Oct. 28, 2013, 5:15 a.m.
Message ID <1382937354-31622-1-git-send-email-qiang.chen@windriver.com>
Download mbox | patch
Permalink /patch/60541/
State Accepted
Commit 5c3ec044838e23539f9fe4cc74da4db2e5b59166
Headers show

Comments

Qiang Chen - Oct. 28, 2013, 5:15 a.m.
From: Qiang Chen <qiang.chen@windriver.com>

* Add the openssl-conf package to the list of packages to
  be created.  This package contains the openssl.cnf file
  which is used by both the openssl executable in the
  openssl package and the libcrypto library.

* This is to avoid messages like:
    WARNING: can't open config file: /usr/lib/ssl/openssl.cnf

* When running "openssl req" to request and generate a certificate
  the command will fail without the openssl.cnf file being
  installed on the target system.

* Made this package an RRECOMMENDS for libcrypto since:
	* libcrypto is a RDEPENDS for the openssl package
	* Users can specify a configuration file at another
      location so it is not stricly required and many
      commands will work without it (with warnings)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
---
 meta/recipes-connectivity/openssl/openssl.inc |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
Saul Wold - Oct. 29, 2013, 3:36 p.m.
On 10/27/2013 10:15 PM, qiang.chen@windriver.com wrote:
> From: Qiang Chen <qiang.chen@windriver.com>
>
> * Add the openssl-conf package to the list of packages to
>    be created.  This package contains the openssl.cnf file
>    which is used by both the openssl executable in the
>    openssl package and the libcrypto library.
>
> * This is to avoid messages like:
>      WARNING: can't open config file: /usr/lib/ssl/openssl.cnf
>
> * When running "openssl req" to request and generate a certificate
>    the command will fail without the openssl.cnf file being
>    installed on the target system.
>
> * Made this package an RRECOMMENDS for libcrypto since:
> 	* libcrypto is a RDEPENDS for the openssl package
> 	* Users can specify a configuration file at another
>        location so it is not stricly required and many
>        commands will work without it (with warnings)
>
> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
> ---
>   meta/recipes-connectivity/openssl/openssl.inc |   12 ++++++++++--
>   1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
> index 78ff7ae..f4b786a 100644
> --- a/meta/recipes-connectivity/openssl/openssl.inc
> +++ b/meta/recipes-connectivity/openssl/openssl.inc
> @@ -33,13 +33,21 @@ export AS = "${CC} -c"
>
>   inherit pkgconfig siteinfo multilib_header
>
> -PACKAGES =+ "libcrypto libssl ${PN}-misc"
> +PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
How about ${BPN}-conf here instead?

>   FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
>   FILES_libssl = "${libdir}/libssl.so.*"
>   FILES_${PN} =+ " ${libdir}/ssl/*"
> -FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf"
> +FILES_${PN}-misc = "${libdir}/ssl/misc"
>   FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
>
> +# Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
> +# package RRECOMMENDS on this package.  This will enable the configuration
> +# file to be installed for both the base openssl package and the libcrypto
> +# package since the base openssl package depends on the libcrypto package.
> +FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
> +CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
> +RRECOMMENDS_libcrypto += "openssl-conf"
> +
Same here, please use ${BPN} instead of openssl for the package 
construction.

This actually points out an inssue with alot of other packages that use 
${PN} for CONFFILES and packages that contain config files when setup on 
a multilib system.  I will be filing a general bug against this and 
watching for patches.

Thanks
	Sau!
>   do_configure_prepend_darwin () {
>   	sed -i -e '/version-script=openssl\.ld/d' Configure
>   }
>
Paul Eggleton - Oct. 29, 2013, 4:03 p.m.
On Tuesday 29 October 2013 08:36:49 Saul Wold wrote:
> On 10/27/2013 10:15 PM, qiang.chen@windriver.com wrote:
> > From: Qiang Chen <qiang.chen@windriver.com>
> > 
> > * Add the openssl-conf package to the list of packages to
> > 
> >    be created.  This package contains the openssl.cnf file
> >    which is used by both the openssl executable in the
> >    openssl package and the libcrypto library.
> > 
> > * This is to avoid messages like:
> >      WARNING: can't open config file: /usr/lib/ssl/openssl.cnf
> > 
> > * When running "openssl req" to request and generate a certificate
> > 
> >    the command will fail without the openssl.cnf file being
> >    installed on the target system.
> > 
> > * Made this package an RRECOMMENDS for libcrypto since:
> > 	* libcrypto is a RDEPENDS for the openssl package
> > 	* Users can specify a configuration file at another
> > 	
> >        location so it is not stricly required and many
> >        commands will work without it (with warnings)
> > 
> > Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> > Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
> > ---
> > 
> >   meta/recipes-connectivity/openssl/openssl.inc |   12 ++++++++++--
> >   1 file changed, 10 insertions(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-connectivity/openssl/openssl.inc
> > b/meta/recipes-connectivity/openssl/openssl.inc index 78ff7ae..f4b786a
> > 100644
> > --- a/meta/recipes-connectivity/openssl/openssl.inc
> > +++ b/meta/recipes-connectivity/openssl/openssl.inc
> > @@ -33,13 +33,21 @@ export AS = "${CC} -c"
> > 
> >   inherit pkgconfig siteinfo multilib_header
> > 
> > -PACKAGES =+ "libcrypto libssl ${PN}-misc"
> > +PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
> 
> How about ${BPN}-conf here instead?

Does this work when two multilib variants produce the same package name? I 
suspect you'll get warnings.

Cheers,
Paul
Qiang Chen - Oct. 30, 2013, 9:33 a.m.
On 10/29/2013 11:36 PM, Saul Wold wrote:

> On 10/27/2013 10:15 PM, qiang.chen@windriver.com wrote:
>> From: Qiang Chen <qiang.chen@windriver.com>
>> * Add the openssl-conf package to the list of packages to
>>     be created.  This package contains the openssl.cnf file
>>     which is used by both the openssl executable in the
>>     openssl package and the libcrypto library.
>> * This is to avoid messages like:
>>       WARNING: can't open config file: /usr/lib/ssl/openssl.cnf
>> * When running "openssl req" to request and generate a certificate
>>     the command will fail without the openssl.cnf file being
>>     installed on the target system.
>> * Made this package an RRECOMMENDS for libcrypto since:
>>      * libcrypto is a RDEPENDS for the openssl package
>>      * Users can specify a configuration file at another
>>         location so it is not stricly required and many
>>         commands will work without it (with warnings)
>> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
>> Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
>> ---
>>    meta/recipes-connectivity/openssl/openssl.inc |   12 ++++++++++--
>>    1 file changed, 10 insertions(+), 2 deletions(-)
>> diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
>> index 78ff7ae..f4b786a 100644
>> --- a/meta/recipes-connectivity/openssl/openssl.inc
>> +++ b/meta/recipes-connectivity/openssl/openssl.inc
>> @@ -33,13 +33,21 @@ export AS = "${CC} -c"
>>    inherit pkgconfig siteinfo multilib_header
>> -PACKAGES =+ "libcrypto libssl ${PN}-misc"
>> +PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
> How about ${BPN}-conf here instead?
>>    FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
>>    FILES_libssl = "${libdir}/libssl.so.*"
>>    FILES_${PN} =+ " ${libdir}/ssl/*"
>> -FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf"
>> +FILES_${PN}-misc = "${libdir}/ssl/misc"
>>    FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
>> +# Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
>> +# package RRECOMMENDS on this package.  This will enable the configuration
>> +# file to be installed for both the base openssl package and the libcrypto
>> +# package since the base openssl package depends on the libcrypto package.
>> +FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
>> +CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
>> +RRECOMMENDS_libcrypto += "openssl-conf"
>> +
> Same here, please use ${BPN} instead of openssl for the package
> construction.
> This actually points out an inssue with alot of other packages that use
> ${PN} for CONFFILES and packages that contain config files when setup on
> a multilib system.  I will be filing a general bug against this and
> watching for patches.

Hi Saul,

Thanks for your reminder! I will send V2 patch after verification
according to your suggestion.


Thanks.
Qiang

> Thanks
>      Sau!
>>    do_configure_prepend_darwin () {
>>        sed -i -e '/version-script=openssl\.ld/d' Configure
>>    }
>
Qiang Chen - Oct. 30, 2013, 9:35 a.m.
On 10/30/2013 12:03 AM, Paul Eggleton wrote:

> On Tuesday 29 October 2013 08:36:49 Saul Wold wrote:
>> On 10/27/2013 10:15 PM, qiang.chen@windriver.com wrote:
>>> From: Qiang Chen <qiang.chen@windriver.com>
>>>
>>> * Add the openssl-conf package to the list of packages to
>>>
>>>     be created.  This package contains the openssl.cnf file
>>>     which is used by both the openssl executable in the
>>>     openssl package and the libcrypto library.
>>>
>>> * This is to avoid messages like:
>>>       WARNING: can't open config file: /usr/lib/ssl/openssl.cnf
>>>
>>> * When running "openssl req" to request and generate a certificate
>>>
>>>     the command will fail without the openssl.cnf file being
>>>     installed on the target system.
>>>
>>> * Made this package an RRECOMMENDS for libcrypto since:
>>> 	* libcrypto is a RDEPENDS for the openssl package
>>> 	* Users can specify a configuration file at another
>>> 	
>>>         location so it is not stricly required and many
>>>         commands will work without it (with warnings)
>>>
>>> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
>>> Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
>>> ---
>>>
>>>    meta/recipes-connectivity/openssl/openssl.inc |   12 ++++++++++--
>>>    1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/recipes-connectivity/openssl/openssl.inc
>>> b/meta/recipes-connectivity/openssl/openssl.inc index 78ff7ae..f4b786a
>>> 100644
>>> --- a/meta/recipes-connectivity/openssl/openssl.inc
>>> +++ b/meta/recipes-connectivity/openssl/openssl.inc
>>> @@ -33,13 +33,21 @@ export AS = "${CC} -c"
>>>
>>>    inherit pkgconfig siteinfo multilib_header
>>>
>>> -PACKAGES =+ "libcrypto libssl ${PN}-misc"
>>> +PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
>> How about ${BPN}-conf here instead?
> Does this work when two multilib variants produce the same package name? I
> suspect you'll get warnings.

Hi Paul,

I will verify this problem before I send V2 patch.


Thanks.
Qiang

>
> Cheers,
> Paul
>
>

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
index 78ff7ae..f4b786a 100644
--- a/meta/recipes-connectivity/openssl/openssl.inc
+++ b/meta/recipes-connectivity/openssl/openssl.inc
@@ -33,13 +33,21 @@  export AS = "${CC} -c"
 
 inherit pkgconfig siteinfo multilib_header
 
-PACKAGES =+ "libcrypto libssl ${PN}-misc"
+PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
 FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
 FILES_libssl = "${libdir}/libssl.so.*"
 FILES_${PN} =+ " ${libdir}/ssl/*"
-FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf"
+FILES_${PN}-misc = "${libdir}/ssl/misc"
 FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
 
+# Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
+# package RRECOMMENDS on this package.  This will enable the configuration
+# file to be installed for both the base openssl package and the libcrypto
+# package since the base openssl package depends on the libcrypto package.
+FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
+CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
+RRECOMMENDS_libcrypto += "openssl-conf"
+
 do_configure_prepend_darwin () {
 	sed -i -e '/version-script=openssl\.ld/d' Configure
 }