X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Fpostrm;h=a397de918ca61c2a85f6a1559e969526cbe653be;hb=b76d253d5db9a66ac369774097a04418490ed95a;hp=cc8ea2189b5f53182626ebb77d0c54fd332af6a5;hpb=837acf438805c3ba03e4f966a3379ea5eff5cae1;p=ca-certificates.git diff --git a/debian/postrm b/debian/postrm index cc8ea21..a397de9 100644 --- a/debian/postrm +++ b/debian/postrm @@ -16,24 +16,40 @@ set -e # * `disappear' overwrit>r> # for details, see /usr/share/doc/packaging-manual/ +remove_dangling_symlinks() { + if ! [ -d /etc/ssl/certs ] + then + return + fi + echo -n "Removing dangling symlinks from /etc/ssl/certs... " + find /etc/ssl/certs -type l -print | while read h + do + test -f "$h" || rm -f "$h" + done + echo "done." +} + case "$1" in remove) - echo -n "Removing hash symlinks in /etc/ssl/certs ..." - find /etc/ssl/certs -type l -print | while read h - do - test -f "$h" || rm -f "$h" - done - echo done. - ;; + remove_dangling_symlinks + rmdir /usr/local/share/ca-certificates 2>/dev/null || true + ;; purge) - rm -f /etc/ssl/certs/ca-certificates.crt* - rm -f /etc/ca-certificates.conf* - if test -e /usr/share/debconf/confmodule; then - . /usr/share/debconf/confmodule - db_purge - fi - ;; + rm -f /etc/ssl/certs/ca-certificates.crt + remove_dangling_symlinks + + # Clean up even if openssl is removed before ca-certificates. + # (Which is what piuparts does.) + [ -d /etc/ssl/certs ] && rmdir --ignore-fail-on-non-empty /etc/ssl/certs + [ -d /etc/ssl ] && rmdir --ignore-fail-on-non-empty /etc/ssl + + rm -f /etc/ca-certificates.conf* + if test -e /usr/share/debconf/confmodule; then + . /usr/share/debconf/confmodule + db_purge + fi + ;; upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; @@ -41,7 +57,6 @@ case "$1" in *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 - esac # dh_installdeb will replace this with shell code automatically