File: arpwatch.postrm

package info (click to toggle)
arpwatch 2.1a13-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 1,820 kB
  • ctags: 36
  • sloc: perl: 340; sh: 236; makefile: 202
file content (59 lines) | stat: -rw-r--r-- 1,286 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#! /bin/sh
# arpwatch.postrm: v2 2004/09/15 KELEMEN Peter <fuji@debian.org>

NUSER=arpwatch
NGROUP=arpwatch

set -e

case "$1" in
	purge)
		# find first and last SYSTEM_UID numbers
		for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`; do
			case $LINE in
				FIRST_SYSTEM_UID*)
					FIST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
					;;
				LAST_SYSTEM_UID*)
					LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
					;;
				*)
					;;
			esac
		done
		# remove system account if necessary
		if [ -n "$FIST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]; then
			if USERID=`getent passwd $NUSER | cut -f 3 -d ':'`; then
				if [ -n "$USERID" ]; then
					if [ "$FIST_SYSTEM_UID" -le "$USERID" ] && \
						[ "$USERID" -le "$LAST_SYSTEM_UID" ]; then

						deluser --quiet $NUSER || true
						# And then remove the group
						GROUPID=`getent group $NGROUP | cut -f 3 -d ':'`
						if [ -n "$GROUPID" ] ;  then
							delgroup --quiet $NGROUP || true
						fi
					fi
				fi
			fi
		fi

		# Remove state files
		if [ -d /var/lib/arpwatch ]; then
			find /var/lib/arpwatch/ -type f | xargs rm -f
		fi
		;;

	remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
		;;

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

#DEBHELPER#

exit 0