[OE-core] [PATCH 05/10] nss: move create blank certificates to pkg_postinst

kai.kang at windriver.com kai.kang at windriver.com
Sat Sep 29 05:01:19 UTC 2018


From: Kai Kang <kai.kang at windriver.com>

There is a multilib install file conflict of nss:
| file /etc/pki/nssdb/key4.db conflicts between attempted installs of
| lib32-nss-3.38-r0.corei7_32 and nss-3.38-r0.corei7_64

Move the creation of blank certificates to pkg_postinst. And check if
certificates exist already, don't re-create them.

Signed-off-by: Kai Kang <kai.kang at windriver.com>
---
 meta/recipes-support/nss/nss_3.38.bb | 32 +++++++++++++++++-----------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-support/nss/nss_3.38.bb b/meta/recipes-support/nss/nss_3.38.bb
index 904b621a07..74145360b5 100644
--- a/meta/recipes-support/nss/nss_3.38.bb
+++ b/meta/recipes-support/nss/nss_3.38.bb
@@ -211,20 +211,20 @@ do_install_append() {
     sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
 }
 
-do_install_append_class-target() {
-    # Create a blank certificate
-    mkdir -p ${D}${sysconfdir}/pki/nssdb/
-    touch ./empty_password
-    certutil -N -d sql:${D}${sysconfdir}/pki/nssdb/ -f ./empty_password
-    chmod 644 ${D}${sysconfdir}/pki/nssdb/*.db
-    rm ./empty_password
-    # Remove build path prefix
-    sed -i "s:${D}::g"  ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
-}
-
 PACKAGE_WRITE_DEPS += "nss-native"
 pkg_postinst_${PN} () {
     if [ -n "$D" ]; then
+        if [ ! -d $D${sysconfdir}/pki/nssdb/ ]; then
+            # Create a blank certificate
+            mkdir -p $D${sysconfdir}/pki/nssdb/
+            touch $D/empty_password
+            certutil -N -d sql:$D${sysconfdir}/pki/nssdb/ -f $D/empty_password
+            chmod 644 $D${sysconfdir}/pki/nssdb/*.db
+            rm $D/empty_password
+            # Remove build path prefix
+            sed -i "s:$D::g"  $D${sysconfdir}/pki/nssdb/pkcs11.txt
+        fi
+
         for I in $D${libdir}/lib*.chk; do
             DN=`dirname $I`
             BN=`basename $I .chk`
@@ -235,6 +235,15 @@ pkg_postinst_${PN} () {
             fi
         done
     else
+        if [ ! -d ${sysconfdir}/pki/nssdb ]; then
+            # Create a blank certificate
+            mkdir -p ${sysconfdir}/pki/nssdb
+            empty_password=`mktemp`
+            certutil -N -d sql:$D${sysconfdir}/pki/nssdb/ -f $empty_password
+            chmod 644 $D${sysconfdir}/pki/nssdb/*.db
+            rm $empty_password
+        fi
+
         signlibs.sh
     fi
 }
@@ -244,7 +253,6 @@ FILES_${PN}-smime = "\
     ${bindir}/smime \
 "
 FILES_${PN} = "\
-    ${sysconfdir} \
     ${bindir} \
     ${libdir}/lib*.chk \
     ${libdir}/lib*.so \
-- 
2.18.0




More information about the Openembedded-core mailing list