Imported Upstream version 3.3.3
[debian/amanda] / packaging / deb / postrm.src
1 # This get appended to amanda-backup-*-.postrm
2 # vim: ft=sh
3
4 LOGFILE=`mktemp /tmp/amanda-remove.log.XXXXXXXXXXX`
5 if [ $? -ne 0 ]; then
6         echo "Unable to create log file!"
7         exit 1
8 fi
9 amanda_user=amandabackup
10 amanda_group=disk
11 AMANDAHOMEDIR=%%AMANDAHOMEDIR%%
12 os=Linux
13 dist=%%DISTRO%%
14 LOGDIR=%%LOGDIR%%
15 SYSCONFDIR=/etc
16
17 # ---------- Common functions ------------
18 # see packaging/common/ in the source tree
19 %%COMMON_FUNCTIONS%%
20 %%POST_RM_FUNCTIONS%%
21
22 # -------- End Common functions ----------
23 remove() {
24     if check_xinetd "amanda${pkg_type}"; then
25         rm_xinetd "amanda${pkg_type}" || { \
26         logger "Warning: Did not successfully remove amanda${pkg_type} from xinetd.";
27             exit 1; }
28         check_superserver_running "xinetd" && reload_xinetd
29     fi
30     # Check for and remove existing inetd configs
31     if check_inetd "amanda${pkg_type}"; then
32         rm_inetd "amanda${pkg_type}"
33         check_superserver_running "inetd" && reload_inetd
34     fi
35 }
36
37 purge() {
38     if [ -d ${SYSCONFDIR}/amanda ]; then
39         logger "Removing ${SYSCONFDIR}/amanda if empty..."
40         rmdir ${SYSCONFDIR}/amanda 2> /dev/null || true
41     fi
42     if [ -d ${LOGDIR} ]; then
43         logger "Removing ${LOGDIR}..."
44         rm -rf ${LOGDIR}
45     fi
46     if ! rmdir $AMANDAHOMEDIR; then
47         logger "Message: $AMANDAHOMEDIR was not empty, and was not deleted: Contents are often backupsets. "
48     fi
49     if [ -f ${SYSCONFDIR}/amandates ]; then
50         logger "Removing ${SYSCONFDIR}/amandates..."
51         rm -rf ${SYSCONFDIR}/amandates
52     fi
53     # Remove ${amanda_user} from sensitive groups.
54     if which deluser >/dev/null 2>&1 ; then
55         for group in tape; do
56             # only call deluser when amandabackup is in $group
57             if getent group "$group" |
58                 awk -F: '{ print $4 }' |
59                 awk -F, '{ for (i=1; i <= NF; i++ ) print $i }' |
60                 grep "^${amanda_user}$" > /dev/null; then
61                     deluser ${amanda_user} $group || true
62             fi
63         done
64     fi
65 }
66
67 case "$1" in
68   purge|abort-install)
69     remove
70     purge
71   ;;
72   remove|upgrade|deconfigure)
73     remove
74   ;;
75
76   failed-upgrade|abort-upgrade)
77     check_xinetd "amanda${pkg_type}"
78     if [ $? -eq 1 ] ; then
79         install_xinetd
80         reload_xinetd
81     fi
82   ;;
83
84   *)
85         echo "unknown argument --> $1" >&2
86         exit 0
87   ;;
88 esac