Imported Upstream version 3.3.2
[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
15 LOGDIR=%%LOGDIR%%
16 SYSCONFDIR=/etc
17
18 # ---------- Common functions ------------
19 # see packaging/common/ in the source tree
20 %%COMMON_FUNCTIONS%%
21 %%POST_RM_FUNCTIONS%%
22
23 # -------- End Common functions ----------
24 remove() {
25     if check_xinetd "amanda${pkg_type}"; then
26         rm_xinetd "amanda${pkg_type}" || { \
27         logger "Warning: Did not successfully remove amanda${pkg_type} from xinetd.";
28             exit 1; }
29         reload_xinetd
30     fi
31
32 }
33
34 purge() {
35     if [ -d ${SYSCONFDIR}/amanda ]; then
36         logger "Removing ${SYSCONFDIR}/amanda if empty..."
37         rmdir ${SYSCONFDIR}/amanda 2> /dev/null || true
38     fi
39     if [ -d ${LOGDIR} ]; then
40         logger "Removing ${LOGDIR}..."
41         rm -rf ${LOGDIR}
42     fi
43     if [ -d ${AMANDAHOMEDIR} ]; then
44         logger "Removing ${AMANDAHOMEDIR}..."
45         rm -rf ${AMANDAHOMEDIR}
46     fi
47     if [ -f ${SYSCONFDIR}/amandates ]; then
48         logger "Removing ${SYSCONFDIR}/amandates..."
49         rm -rf ${SYSCONFDIR}/amandates
50     fi
51     # Remove ${amanda_user} from sensitive groups.
52     if which deluser >/dev/null 2>&1 ; then
53         for group in tape; do
54             # only call deluser when amandabackup is in $group
55             if getent group "$group" |
56                 awk -F: '{ print $4 }' |
57                 awk -F, '{ for (i=1; i <= NF; i++ ) print $i }' |
58                 grep "^${amanda_user}$" > /dev/null; then
59                     deluser ${amanda_user} $group || true
60             fi
61         done
62     fi
63 }
64
65 case "$1" in
66   purge|abort-install)
67     remove
68     purge
69   ;;
70   remove|upgrade|deconfigure)
71     remove
72   ;;
73
74   failed-upgrade)
75     check_xinetd "amanda${pkg_type}"
76     if [ $? -eq 1 ] ; then
77         install_xinetd
78         reload_xinetd
79     fi
80   ;;
81
82   *)
83         echo "unknown argument --> $1" >&2
84         exit 0
85   ;;
86 esac