+--- ca-certificates-20120212/sbin/update-ca-certificates~ 2012-05-12 16:08:15.813747796 +0300
++++ ca-certificates-20120212/sbin/update-ca-certificates 2012-05-12 16:09:57.727422190 +0300
+@@ -41,6 +41,7 @@
+ done
+
+ CERTSCONF=$DESTDIR/etc/ca-certificates.conf
++CERTSCONFD=$DESTDIR/etc/ca-certificates.d
+ CERTSDIR=$DESTDIR/usr/share/ca-certificates
+ LOCALCERTSDIR=$DESTDIR/etc/certs
+ CERTBUNDLE=$DESTDIR/etc/certs/ca-certificates.crt
+@@ -105,25 +106,30 @@
+
+ echo -n "Updating certificates in $ETCCERTSDIR... "
+
+-# Handle certificates that should be removed. This is an explicit act
+-# by prefixing lines in the configuration files with exclamation marks (!).
+-sed -n -e '/^$/d' -e 's/^!//p' $CERTSCONF | while read crt
+-do
+- remove "$CERTSDIR/$crt"
+-done
++for conf in $CERTSCONF $CERTSCONFD/*.conf; do
++ # skip inexistent files (matched by glob)
++ [ -f $conf ] || continue
++
++ # Handle certificates that should be removed. This is an explicit act
++ # by prefixing lines in the configuration files with exclamation marks (!).
++ sed -n -e '/^$/d' -e 's/^!//p' $conf | while read crt
++ do
++ remove "$CERTSDIR/$crt"
++ done
+
+-sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $CERTSCONF | while read crt
+-do
+- if test -f "$CERTSDIR/$crt"
+- then
+- add "$CERTSDIR/$crt"
+- elif test -f "$LOCALCERTSDIR/$crt"
+- then
+- add "$LOCALCERTSDIR/$crt"
+- else
+- echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $CERTSCONF." >&2
+- continue
+- fi
++ sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $conf | while read crt
++ do
++ if test -f "$CERTSDIR/$crt"
++ then
++ add "$CERTSDIR/$crt"
++ elif test -f "$LOCALCERTSDIR/$crt"
++ then
++ add "$LOCALCERTSDIR/$crt"
++ else
++ echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $conf." >&2
++ continue
++ fi
++ done
+ done
+
+ rm -f "$CERTBUNDLE"