summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Client/Tools/DebInit.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/Client/Tools/DebInit.py b/src/lib/Client/Tools/DebInit.py
index 9f52861a4..912009280 100644
--- a/src/lib/Client/Tools/DebInit.py
+++ b/src/lib/Client/Tools/DebInit.py
@@ -11,14 +11,20 @@ class DebInit(Bcfg2.Client.Tools.SvcTool):
__handles__ = [('Service', 'deb')]
__req__ = {'Service': ['name', 'status']}
__svcrestart__ = 'restart'
- svcre = re.compile("/etc/.*/[SK]\d\d(?P<name>\S+)")
+ svcre = re.compile("/etc/.*/[SK]\d+(?P<name>\S+)")
# implement entry (Verify|Install) ops
def VerifyService(self, entry, _):
'''Verify Service status for entry'''
- rawfiles = glob.glob("/etc/rc*.d/*%s" % (entry.get('name')))
- files = [filename for filename in rawfiles if \
- self.svcre.match(filename).group('name') == entry.get('name')]
+ rawfiles = glob.glob("/etc/rc*.d/[SK]*%s" % (entry.get('name')))
+ files = []
+ for filename in rawfiles:
+ match = self.svcre.match(filename)
+ if not match:
+ self.logger.error("Failed to match file: %s" % filename)
+ continue
+ if match.group('name') == entry.get('name'):
+ files.append(filename)
if entry.get('status') == 'off':
if files:
entry.set('current_status', 'on')