#! /bin/sh
# postrm script for #PACKAGE#
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postrm> `remove'
#        * <postrm> `purge'
#        * <old-postrm> `upgrade' <new-version>
#        * <new-postrm> `failed-upgrade' <old-version>
#        * <new-postrm> `abort-install'
#        * <new-postrm> `abort-install' <old-version>
#        * <new-postrm> `abort-upgrade' <old-version>
#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
       purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
        if [ "$1" = "purge" ]
        then
            if [ -e /etc/dropbear ]; then
                rm -f /etc/dropbear/dropbear_rsa_host_key
                rm -f /etc/dropbear/dropbear_dss_host_key
                rmdir --ignore-fail-on-non-empty /etc/dropbear
			fi
            update-rc.d dropbear remove >/dev/null
        fi
        ;;

    *)
        echo "postrm called with unknown argument \`$1'" >&2
        exit 1

esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
