summaryrefslogtreecommitdiffstats
path: root/rc_delete
blob: 319d44b7bc627ab32c99e515d4eb9594a2e9eea8 (plain)
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
60
61
62
63
64
65
66
67
68
#!/bin/sh
#
# rc_delete - delete an init script from a runlevel
#
# Copyright (c) 2005 Natanael Copa
#
# Distributed under GPL-2
#

PROGRAM=`basename $0`

#load the libraries
. /sbin/functions.sh

LEVEL=4

die() {
	echo "$1" >&2
	exit 1
}

# print usage and die
usage() {
	echo "$PROGRAM $VERSION"
	echo "usage: $PROGRAM [-hv] [-l level] script..."
	echo ""
	echo "  -h  Show help and exit."
	echo "  -l  Only remove from specified level. Default is all levels."
	echo "  -v  Turn on verbose output."
	echo ""
	exit 1
}

#parse args
unset vflag
while getopts "hl:v" opt ; do
	case "$opt" in
		h)  usage;;
		l)  LEVEL="$OPTARG";;
		v)  vflag="-v"; VERBOSE=1 ;;
		\?) usage;;
	esac
done
shift `expr $OPTIND - 1`

# check if script is specified
[ $# -lt 1 ] && usage
while [ $# -gt 0 ] ; do
	SCRIPT="$1"

	rclinks=""
	for rcl in $ROOT/etc/rcS.d/[S][0-9][0-9]$SCRIPT \
		$ROOT/etc/rcL.d/[SK][0-9][0-9]$SCRIPT \
		$ROOT/etc/rcK.d/[SK][0-9][0-9]$SCRIPT ; do
		[ -e "$rcl" -o -L "$rcl" ] || continue
		echo "$rcl"
		rclinks="$rclinks $rcl"
	done
	
	for rclink in $rclinks ; do
		[ "$VERBOSE" ] && echo "Removing $rclink."
		rm -f $rclink
	done
	shift
done

exit 0