summaryrefslogtreecommitdiff
path: root/remove_initd
diff options
context:
space:
mode:
authorChris Lawrence <lawrencc@debian.org>2002-04-15 02:25:51 -0500
committerDidier Raboud <odyx@debian.org>2002-04-15 02:25:51 -0500
commit615eefac454a2c04545dee376659cfdbe9e54d4b (patch)
tree251ec3478ffa07606e624381d96b9ac7b8dddc08 /remove_initd
lsb 1.1.0-11 Debian release.
Diffstat (limited to 'remove_initd')
-rwxr-xr-xremove_initd28
1 files changed, 28 insertions, 0 deletions
diff --git a/remove_initd b/remove_initd
new file mode 100755
index 0000000..641e2cb
--- /dev/null
+++ b/remove_initd
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+import sys, re, os, initdutils
+
+if len(sys.argv) > 1:
+ initfile = sys.argv[1]
+else:
+ print >> sys.stderr, 'Usage: %s /etc/init.d/<init-script>' % sys.argv[0]
+ sys.exit(1)
+
+headers = initdutils.scan_initfile(initfile)
+
+provides = headers.get('Provides')
+if provides:
+ facilities = initdutils.load_facilities()
+
+ for facility in provides:
+ if facilities.has_key(facility):
+ entries = []
+ for entry in facilities[facility]:
+ if entry[0] != initfile:
+ entries.append(entry)
+ facilities[facility] = entries
+
+ initdutils.save_facilities(facilities)
+
+initfile = initfile.replace('/etc/init.d/', '')
+os.system('/usr/sbin/update-rc.d -f %s remove' % initfile)