]> code.ossystems Code Review - openembedded-core.git/commitdiff
openssl: Fix symlink creation
authorDavid Vincent <freesilicon@gmail.com>
Mon, 23 Jan 2017 13:59:16 +0000 (14:59 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 10 Mar 2017 10:15:45 +0000 (10:15 +0000)
Symlinking the openssl configuration file at install time results in
errors when overriding it using an external package which also provides
openssl-conf. This should be done as a postinstall task for such
packages.

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-connectivity/openssl/openssl.inc

index 0b7991d1fdf9a88d9695ac6fbb9978fc952717f9..9afa5bd567e725e17fa49d41880ca63c14584fed 100644 (file)
@@ -201,7 +201,6 @@ do_install () {
           ${D}${sysconfdir}/ssl/
        ln -sf ${sysconfdir}/ssl/certs ${D}${libdir}/ssl/certs
        ln -sf ${sysconfdir}/ssl/private ${D}${libdir}/ssl/private
-       ln -sf ${sysconfdir}/ssl/openssl.cnf ${D}${libdir}/ssl/openssl.cnf
 }
 
 do_install_ptest () {
@@ -245,4 +244,16 @@ do_install_append_class-native() {
            OPENSSL_ENGINES=${libdir}/ssl/engines
 }
 
+pkg_postinst_openssl-conf () {
+#!/bin/sh
+if [ -e $D${libdir}/ssl/openssl.cnf ]; then
+       rm -f $D${libdir}/ssl/openssl.cnf
+fi
+
+# If openssl-conf is installed before openssl, we must ensure that the symlink
+# destination exists
+mkdir -p $D${libdir}/ssl/
+ln -s ${sysconfdir}/ssl/openssl.cnf $D${libdir}/ssl/openssl.cnf
+}
+
 BBCLASSEXTEND = "native nativesdk"