[OE-core] [PATCH 1/1] openssl: Move libcrypto to base_libdir

Andrei Gherzan andrei at gherzan.ro
Tue Feb 21 22:33:36 UTC 2012


This fix is for dhclient. It needs libcrypto at runtime and if
libcrypto is in libdir, it's path can be inaccessible on systems
where /usr is on nfs for example or dhclient is needed before
/usr is mounted.

Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
---
 ...001-openssl-Move-libcrypto-to-base_libdir.patch |   62 ++++++++++++++++++++
 meta/recipes-connectivity/openssl/openssl.inc      |   10 +++-
 .../recipes-connectivity/openssl/openssl_1.0.0g.bb |    2 +-
 3 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/0001-openssl-Move-libcrypto-to-base_libdir.patch

diff --git a/meta/recipes-connectivity/openssl/0001-openssl-Move-libcrypto-to-base_libdir.patch b/meta/recipes-connectivity/openssl/0001-openssl-Move-libcrypto-to-base_libdir.patch
new file mode 100644
index 0000000..7023153
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/0001-openssl-Move-libcrypto-to-base_libdir.patch
@@ -0,0 +1,62 @@
+From ac1fe1490e997fb8fd91ec13b675d38efcc65775 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei at gherzan.ro>
+Date: Thu, 9 Feb 2012 00:03:38 +0200
+Subject: [PATCH] openssl: Move libcrypto to base_libdir
+
+This fix is for dhclient. It needs libcrypto at runtime and if
+libcrypto is in libdir, it's path can be inaccessible on systems
+where /usr is on nfs for example or dhclient is needed before
+/usr is mounted.
+
+Signed-off-by: Andrei Gherzan <andrei at gherzan.ro>
+Upstream-Status: Pending
+---
+ meta/recipes-connectivity/openssl/openssl.inc      |    8 +++++++-
+ .../recipes-connectivity/openssl/openssl_1.0.0g.bb |    2 +-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
+index 771f146..76a28ff 100644
+--- a/meta/recipes-connectivity/openssl/openssl.inc
++++ b/meta/recipes-connectivity/openssl/openssl.inc
+@@ -36,10 +36,11 @@ export AS = "${CC} -c"
+ inherit pkgconfig siteinfo
+ 
+ PACKAGES =+ "libcrypto libssl ${PN}-misc"
+-FILES_libcrypto = "${libdir}/libcrypto.so.*"
++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}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
+ 
+ do_configure_prepend_darwin () {
+ 	sed -i -e '/version-script=openssl\.ld/d' Configure
+@@ -132,6 +133,11 @@ do_install () {
+ 	oe_libinstall -so libcrypto ${D}${libdir}
+ 	oe_libinstall -so libssl ${D}${libdir}
+ 
++	# Moving libcrypto to /usr
++	mkdir -p ${D}/${base_libdir}/
++	mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
++	sed -i s/usr// ${D}/${libdir}/pkgconfig/libcrypto.pc
++
+ 	install -d ${D}${includedir}
+ 	cp --dereference -R include/openssl ${D}${includedir}
+ 	sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
+diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
+index 80dfcb3..8ffe931 100644
+--- a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
++++ b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
+@@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
+ 
+ CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+ 
+-PR = "${INC_PR}.0"
++PR = "${INC_PR}.1"
+ 
+ LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
+ 
+-- 
+1.7.5.4
+
diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
index 771f146..eb6c5ea 100644
--- a/meta/recipes-connectivity/openssl/openssl.inc
+++ b/meta/recipes-connectivity/openssl/openssl.inc
@@ -36,10 +36,11 @@ export AS = "${CC} -c"
 inherit pkgconfig siteinfo
 
 PACKAGES =+ "libcrypto libssl ${PN}-misc"
-FILES_libcrypto = "${libdir}/libcrypto.so.*"
+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}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
 
 do_configure_prepend_darwin () {
 	sed -i -e '/version-script=openssl\.ld/d' Configure
@@ -132,6 +133,13 @@ do_install () {
 	oe_libinstall -so libcrypto ${D}${libdir}
 	oe_libinstall -so libssl ${D}${libdir}
 
+	# Moving libcrypto to /usr
+	if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+		mkdir -p ${D}/${base_libdir}/
+		mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
+		sed -i s#libdir=\$\{exec_prefix\}\/lib#libdir=${base_libdir}# ${D}/${libdir}/pkgconfig/libcrypto.pc
+	fi
+
 	install -d ${D}${includedir}
 	cp --dereference -R include/openssl ${D}${includedir}
 	sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
index 80dfcb3..8ffe931 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.0g.bb
@@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
 
 CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
 
-- 
1.7.5.4





More information about the Openembedded-core mailing list