---- ca-certificates/sbin/update-ca-certificates 2008-11-01 18:39:19.000000000 +0100
-+++ ca-certificates/sbin/update-ca-certificates-local 2008-11-01 19:17:39.138384960 +0100
+--- ca-certificates-20140223/sbin/update-ca-certificates~ 2014-03-14 12:55:24.000000000 +0200
++++ ca-certificates-20140223/sbin/update-ca-certificates 2014-03-14 14:38:31.587876211 +0200
@@ -37,7 +37,7 @@
CERTSCONF=/etc/ca-certificates.conf
CERTSDIR=/usr/share/ca-certificates
-LOCALCERTSDIR=/usr/local/share/ca-certificates
+-CERTBUNDLE=ca-certificates.crt
+LOCALCERTSDIR=/etc/certs
- CERTBUNDLE=ca-certificates.crt
- ETCCERTSDIR=/etc/openssl/certs
++CERTBUNDLE=/etc/certs/ca-certificates.crt
+ ETCCERTSDIR=@openssldir@
cd $ETCCERTSDIR
+@@ -52,7 +52,7 @@
+
+ # Helper files. (Some of them are not simple arrays because we spawn
+ # subshells later on.)
+-TEMPBUNDLE="$(mktemp -t "${CERTBUNDLE}.tmp.XXXXXX")"
++TEMPBUNDLE="$(mktemp "${CERTBUNDLE}.tmp.XXXXXX")"
+ ADDED="$(mktemp -t "ca-certificates.tmp.XXXXXX")"
+ REMOVED="$(mktemp -t "ca-certificates.tmp.XXXXXX")"
+
@@ -62,7 +62,7 @@
# bundle.
add() {
CERT="$1"
- PEM="$ETCCERTSDIR/$(basename "$CERT" .crt | sed -e 's/ /_/g' \
-+ PEM="$ETCCERTSDIR/$(basename "$CERT" | sed -e 's/.crt$/.pem/' -e 's/ /_/g' \
++ PEM="$ETCCERTSDIR/$(basename "$CERT" .pem | sed -e 's/.crt$//' -e 's/ /_/g' \
-e 's/[()]/=/g' \
-e 's/,/_/g').pem"
if ! test -e "$PEM" || [ "$(readlink "$PEM")" != "$CERT" ]
remove() {
CERT="$1"
- PEM="$ETCCERTSDIR/$(basename "$CERT" .crt).pem"
-+ PEM="$ETCCERTSDIR/$(basename "$CERT" | sed 's/.crt$/.pem/')"
++ PEM="$ETCCERTSDIR/$(basename "$CERT" .pem | sed 's/.crt$//').pem"
if test -L "$PEM"
then
rm -f "$PEM"
-@@ -89,6 +89,7 @@
+@@ -90,6 +90,7 @@ if [ "$fresh" = 1 ]; then
do
- case $(readlink $symlink) in
- $CERTSDIR*) rm -f $symlink;;
-+ $LOCALCERTSDIR*) rm -f $symlink;;
- esac
+ case $(readlink "$symlink") in
+ $CERTSDIR*) rm -f "$symlink";;
++ $LOCALCERTSDIR*) rm -f "$symlink";;
+ esac
done
find . -type l -print | while read symlink
-@@ -110,24 +110,18 @@
+@@ -111,24 +111,18 @@
sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $CERTSCONF | while read crt
do
- if ! test -f "$CERTSDIR/$crt"
+ if test -f "$CERTSDIR/$crt"
- then
++ then
+ add "$CERTSDIR/$crt"
+ elif test -f "$LOCALCERTSDIR/$crt"
-+ then
+ then
+- echo "W: $CERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
+ add "$LOCALCERTSDIR/$crt"
+ else
-- echo "W: $CERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
+ echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
continue
fi
-# administrator.
-if [ -d "$LOCALCERTSDIR" ]
-then
-- find -L "$LOCALCERTSDIR" -type f -name '*.crt' | while read crt
+- find -L "$LOCALCERTSDIR" -type f -name '*.crt' | sort | while read crt
- do
- add "$crt"
- done
-fi
-
- chmod 0644 "$TEMPBUNDLE"
- mv -f "$TEMPBUNDLE" "$CERTBUNDLE"
+ rm -f "$CERTBUNDLE"
+ ADDED_CNT=$(wc -l < "$ADDED")