summaryrefslogtreecommitdiffstats
path: root/rc_delete
diff options
context:
space:
mode:
authorncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371>2006-10-24 12:26:42 +0000
committerncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371>2006-10-24 12:26:42 +0000
commitc8b95b81b69af4a0f90340f5874dcfe6ff057a9d (patch)
tree94bc4f11d8c3466b02d5aee235ff15c4fed3c50f /rc_delete
downloadalpine-baselayout-c8b95b81b69af4a0f90340f5874dcfe6ff057a9d.tar.bz2
alpine-baselayout-c8b95b81b69af4a0f90340f5874dcfe6ff057a9d.tar.xz
initial import based on 1.0.1
Diffstat (limited to 'rc_delete')
-rwxr-xr-xrc_delete68
1 files changed, 68 insertions, 0 deletions
diff --git a/rc_delete b/rc_delete
new file mode 100755
index 0000000..0b63aa8
--- /dev/null
+++ b/rc_delete
@@ -0,0 +1,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" ] || continue
+ echo "$rcl"
+ rclinks="$rclinks $rcl"
+ done
+
+ for rclink in $rclinks ; do
+ [ "$VERBOSE" ] && echo "Removing $rclink."
+ rm -f $rclink
+ done
+ shift
+done
+
+exit 0
+