From ff02e0649ab9dc4d8c956189dae9a11bcdf0a992 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Mon, 16 Aug 2010 18:08:39 +0000 Subject: [PATCH] fixes if package is removed before being configured --- lam-packaging/debian/postrm | 57 +++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/lam-packaging/debian/postrm b/lam-packaging/debian/postrm index 49a128e0..06537f9e 100755 --- a/lam-packaging/debian/postrm +++ b/lam-packaging/debian/postrm @@ -6,35 +6,42 @@ if [ -f /usr/share/debconf/confmodule ]; then . /usr/share/debconf/confmodule db_version 2.0 || [ $? -lt 30 ] + set +e db_get "ldap-account-manager/config-webserver" - webservers="$RET" - restart="" - for server in $webservers; do - server=${server%,} - case "$server" in - apache2) - rm -f /etc/$server/conf.d/ldap-account-manager - test -x /usr/sbin/$server || continue - restart="$restart $server" - ;; - esac - done - db_get "ldap-account-manager/restart-webserver" - if [ "$RET" = "true" ]; then - for server in $restart; do - server=${server%,} - if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $server restart - else - /etc/init.d/$server restart - fi - done + if [ $? -eq 0 ]; then + set -e + webservers="$RET" + restart="" + for server in $webservers; do + server=${server%,} + case "$server" in + apache2) + rm -f /etc/$server/conf.d/ldap-account-manager + test -x /usr/sbin/$server || continue + restart="$restart $server" + ;; + esac + done fi + + set +e + db_get "ldap-account-manager/restart-webserver" + if [ $? -eq 0 && "$RET" = "true" ]; then + set -e + for server in $restart; do + server=${server%,} + if [ -x /usr/sbin/invoke-rc.d ]; then + invoke-rc.d $server restart + else + /etc/init.d/$server restart + fi + done + fi + + set -e if [ "$1" = "purge" ]; then rm -r -f /usr/share/ldap-account-manager; rm -r -f /var/lib/ldap-account-manager; fi - - if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then - db_purge + db_purge fi #DEBHELPER#