summaryrefslogtreecommitdiff
path: root/remove_initd
blob: c7dc827453907a688b39f09850f375b05c158f65 (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
#!/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].items():
                if entry[0] != initfile:
                    entries[entry[0]] = entry[1]
            facilities[facility] = entries

    initdutils.save_facilities(facilities)

initfile = initfile.replace('/etc/init.d/', '')
os.system('/usr/sbin/update-rc.d -f %s remove' % initfile)