X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Fpostinst;h=21d1b94aceb2ebc15ca34aa78e50a2d9b5cdeba9;hb=26c8042c69f3424e5c3d7e93a9915725fee6742a;hp=dbd20e6717be07df96d8d133aef8a5f273c8bcfd;hpb=9a61b01203b7a552ab067ebd4a19366daeb4362d;p=ca-certificates.git diff --git a/debian/postinst b/debian/postinst index dbd20e6..21d1b94 100644 --- a/debian/postinst +++ b/debian/postinst @@ -21,13 +21,13 @@ # `abort-remove' or `abort-deconfigure'. each_value() { - echo "$l" |tr ',' '\n' | sed -e 's/^[[:space:]]*//' + echo "$1" |tr ',' '\n' | sed -e 's/^[[:space:]]*//' } memberp() { m="$1" l="$2" - each_value "$1" | grep -q "^$m\$" + each_value "$l" | grep -q "^$m\$" } delca() { @@ -38,10 +38,15 @@ delca() { case "$1" in configure) - if dpkg --compare-versions "$2" lt 20030414; then - # remove old *.pem files that ca-certificates installed - (cd /etc/ssl/certs; rm -f $(cat /usr/share/doc/ca-certificates/oldpemfiles)) - fi + if [ ! -e /usr/local/share/ca-certificates ] + then + if mkdir /usr/local/share/ca-certificates 2>/dev/null + then + chown root:staff /usr/local/share/ca-certificates + chmod 2775 /usr/local/share/ca-certificates + fi + fi + . /usr/share/debconf/confmodule db_version 2.0 db_capb multiselect @@ -69,6 +74,12 @@ case "$1" in if memberp "$ca" "$CERTS_ENABLED"; then echo "$ca" # CERTS_ENABLED=$(delca "$ca" "$CERTS_ENABLED") + elif memberp "$ca" "$CERTS_AVAILABLE" || + echo "$line" | grep -q '^!'; then + echo "!$ca" + elif [ -f /usr/share/ca-certificates/"$ca" ] || \ + [ -f /usr/local/share/ca-certificates/"$ca" ]; then + echo "$ca" else echo "!$ca" fi @@ -126,7 +137,13 @@ EOF -e 's/^[[:space:]]*1[[:space:]]*/!/' \ >> /etc/ca-certificates.conf fi - update-ca-certificates + # fix bogus symlink to ca-certificates.crt on upgrades; see + # Debian #643667; drop after wheezy + if dpkg --compare-versions "$2" lt-nl 20110502+nmu2+643667; then + update-ca-certificates --fresh + else + update-ca-certificates + fi ;; abort-upgrade|abort-remove|abort-deconfigure)