Patchwork [V3] openssl.inc: Install c_rehash utility with openssl

login
register
mail settings
Submitter Yasir Khan
Date Dec. 17, 2013, 8:28 a.m.
Message ID <1387268915-28265-1-git-send-email-yasir_khan@mentor.com>
Download mbox | patch
Permalink /patch/63435/
State New
Headers show

Comments

Yasir Khan - Dec. 17, 2013, 8:28 a.m.
From: mykhani <yasir_khan@mentor.com>

c_rehash utility is not being installed with openssl.It conveniently
generates hash and symbolic links based on it for CA certificates
stored locally for SSL based server authentication

Signed-off-by: Yasir-Khan <yasir_khan@mentor.com>
---
 meta/recipes-connectivity/openssl/openssl.inc |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Richard Purdie - Dec. 19, 2013, 1:33 p.m.
On Tue, 2013-12-17 at 13:28 +0500, Yasir Khan wrote:
> From: mykhani <yasir_khan@mentor.com>
> 
> c_rehash utility is not being installed with openssl.It conveniently
> generates hash and symbolic links based on it for CA certificates
> stored locally for SSL based server authentication
> 
> Signed-off-by: Yasir-Khan <yasir_khan@mentor.com>
> ---
>  meta/recipes-connectivity/openssl/openssl.inc |    7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)

Unfortunately this commit has increased our benchmark build time by
approximately 3 minutes on a 1 hour 25 minute build time which is quite
a regression :(.

Would you be able to help figure out how we can regain some of the
performance?

Cheers,

Richard

> diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
> index 3bfe569..cdb1809 100644
> --- a/meta/recipes-connectivity/openssl/openssl.inc
> +++ b/meta/recipes-connectivity/openssl/openssl.inc
> @@ -13,6 +13,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
>  
>  DEPENDS = "perl-native-runtime"
>  
> +# Adding RDEPENDS for perl scripts
> +RDEPENDS_${PN}-misc +="perl"
> +
>  SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
>            "
>  S = "${WORKDIR}/openssl-${PV}"
> @@ -37,7 +40,7 @@ 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"
> +FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
>  FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
>  
>  # Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
> @@ -157,6 +160,8 @@ do_install () {
>  	sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
>  
>  	oe_multilib_header openssl/opensslconf.h
> +	# The c_rehash utility isn't installed by the normal installation process.
> +	install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
>  }
>  
>  BBCLASSEXTEND = "native nativesdk"
Koen Kooi - Dec. 19, 2013, 2:17 p.m.
Op 17 dec. 2013, om 09:28 heeft Yasir Khan <yasir_khan@mentor.com> het volgende geschreven:

> From: mykhani <yasir_khan@mentor.com>
> 
> c_rehash utility is not being installed with openssl.It conveniently
> generates hash and symbolic links based on it for CA certificates
> stored locally for SSL based server authentication
> 
> Signed-off-by: Yasir-Khan <yasir_khan@mentor.com>
> ---
> meta/recipes-connectivity/openssl/openssl.inc |    7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
> index 3bfe569..cdb1809 100644
> --- a/meta/recipes-connectivity/openssl/openssl.inc
> +++ b/meta/recipes-connectivity/openssl/openssl.inc
> @@ -13,6 +13,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
> 
> DEPENDS = "perl-native-runtime"
> 
> +# Adding RDEPENDS for perl scripts
> +RDEPENDS_${PN}-misc +="perl"

Does it need any perl-modules to function?

> +

R* variables go below do_install

> SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
>           "
> S = "${WORKDIR}/openssl-${PV}"
> @@ -37,7 +40,7 @@ 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"
> +FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
> FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"

Same thing for FILES* variables, btw

> 
> # Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
> @@ -157,6 +160,8 @@ do_install () {
> 	sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
> 
> 	oe_multilib_header openssl/opensslconf.h
> +	# The c_rehash utility isn't installed by the normal installation process.
> +	install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
> }
> 
> BBCLASSEXTEND = "native nativesdk"
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

Patch

diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
index 3bfe569..cdb1809 100644
--- a/meta/recipes-connectivity/openssl/openssl.inc
+++ b/meta/recipes-connectivity/openssl/openssl.inc
@@ -13,6 +13,9 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
 
 DEPENDS = "perl-native-runtime"
 
+# Adding RDEPENDS for perl scripts
+RDEPENDS_${PN}-misc +="perl"
+
 SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
           "
 S = "${WORKDIR}/openssl-${PV}"
@@ -37,7 +40,7 @@  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"
+FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
 FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
 
 # Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
@@ -157,6 +160,8 @@  do_install () {
 	sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
 
 	oe_multilib_header openssl/opensslconf.h
+	# The c_rehash utility isn't installed by the normal installation process.
+	install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
 }
 
 BBCLASSEXTEND = "native nativesdk"