ca-certificates: support running update-ca-certificates during do_rootfs

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andreas Oberritter
2013-03-19 19:32:29 +00:00
committed by Martin Jansa
parent 8a1c0ebb3d
commit 6a9359a4a6
4 changed files with 87 additions and 16 deletions
@@ -0,0 +1,15 @@
DESCRIPTION = "Common CA certificates"
HOMEPAGE = "http://packages.debian.org/sid/ca-certificates"
SECTION = "misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=6135800ff6d893c7904d7aad90972eb5"
PR = "r1"
SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/ca-certificates_${PV}.tar.gz \
file://0001-update-ca-certificates-remove-c-rehash.patch \
file://0002-update-ca-certificates-use-SYSROOT.patch"
SRC_URI[md5sum] = "1fbbec2028a33cf865b79c204aa2e626"
SRC_URI[sha256sum] = "fb51ec9a2c551838cc1646a0b3c9e6bea5c1bb20ff5d71c542451fac4b191c22"
inherit allarch
@@ -0,0 +1,12 @@
require ca-certificates-${PV}.inc
do_install() {
install -d ${D}${bindir_crossscripts}
install -m755 ${S}/sbin/update-ca-certificates ${D}${bindir_crossscripts}
}
SYSROOT_PREPROCESS_FUNCS += "ca_certificates_sysroot_preprocess"
ca_certificates_sysroot_preprocess() {
sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
}
@@ -0,0 +1,56 @@
Upstream-Status: Pending
From 724cb153ca0f607fb38b3a8db3ebb2742601cd81 Mon Sep 17 00:00:00 2001
From: Andreas Oberritter <obi@opendreambox.org>
Date: Tue, 19 Mar 2013 17:14:33 +0100
Subject: [PATCH 2/2] update-ca-certificates: use $SYSROOT
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
sbin/update-ca-certificates | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/sbin/update-ca-certificates b/sbin/update-ca-certificates
index c567e3d..923b68a 100755
--- a/sbin/update-ca-certificates
+++ b/sbin/update-ca-certificates
@@ -37,11 +37,11 @@ do
shift
done
-CERTSCONF=/etc/ca-certificates.conf
-CERTSDIR=/usr/share/ca-certificates
-LOCALCERTSDIR=/usr/local/share/ca-certificates
+CERTSCONF=$SYSROOT/etc/ca-certificates.conf
+CERTSDIR=$SYSROOT/usr/share/ca-certificates
+LOCALCERTSDIR=$SYSROOT/usr/local/share/ca-certificates
CERTBUNDLE=ca-certificates.crt
-ETCCERTSDIR=/etc/ssl/certs
+ETCCERTSDIR=$SYSROOT/etc/ssl/certs
cleanup() {
rm -f "$TEMPBUNDLE"
@@ -64,9 +64,9 @@ add() {
PEM="$ETCCERTSDIR/$(basename "$CERT" .crt | sed -e 's/ /_/g' \
-e 's/[()]/=/g' \
-e 's/,/_/g').pem"
- if ! test -e "$PEM" || [ "$(readlink "$PEM")" != "$CERT" ]
+ if ! test -e "$PEM" || [ "$(readlink "$PEM")" != "${CERT##$SYSROOT}" ]
then
- ln -sf "$CERT" "$PEM"
+ ln -sf "${CERT##$SYSROOT}" "$PEM"
echo +$PEM >> "$ADDED"
fi
cat "$CERT" >> "$TEMPBUNDLE"
@@ -148,7 +148,7 @@ mv -f "$TEMPBUNDLE" "$CERTBUNDLE"
echo "$ADDED_CNT added, $REMOVED_CNT removed; done."
-HOOKSDIR=/etc/ca-certificates/update.d
+HOOKSDIR=$SYSROOT/etc/ca-certificates/update.d
echo -n "Running hooks in $HOOKSDIR...."
VERBOSE_ARG=
[ "$verbose" = 0 ] || VERBOSE_ARG=--verbose
--
1.7.10.4
@@ -1,16 +1,8 @@
DESCRIPTION = "Common CA certificates"
HOMEPAGE = "http://packages.debian.org/sid/ca-certificates"
SECTION = "misc"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=6135800ff6d893c7904d7aad90972eb5"
DEPENDS = "ca-certificates-cross"
SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/ca-certificates_${PV}.tar.gz \
file://0001-update-ca-certificates-remove-c-rehash.patch"
require ca-certificates-${PV}.inc
SRC_URI[md5sum] = "1fbbec2028a33cf865b79c204aa2e626"
SRC_URI[sha256sum] = "fb51ec9a2c551838cc1646a0b3c9e6bea5c1bb20ff5d71c542451fac4b191c22"
inherit autotools allarch
inherit autotools
do_install_prepend() {
mkdir -p ${D}/usr/share/ca-certificates
@@ -32,11 +24,7 @@ do_install_append() {
}
pkg_postinst_${PN} () {
if [ -n "$D" ] ; then
exit 1
fi
${sbindir}/update-ca-certificates
SYSROOT="$D" update-ca-certificates
}
CONFFILES_${PN} = "/etc/ca-certificates.conf"