summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Client/Solaris.py8
-rw-r--r--src/lib/Client/Toolset.py9
2 files changed, 15 insertions, 2 deletions
diff --git a/src/lib/Client/Solaris.py b/src/lib/Client/Solaris.py
index cc2f0627b..36f59c1d1 100644
--- a/src/lib/Client/Solaris.py
+++ b/src/lib/Client/Solaris.py
@@ -223,3 +223,11 @@ class ToolsetImpl(Toolset):
unlink(self.noaskname)
except:
pass
+
+ def RestartService(self, service):
+ '''Restart a service'''
+ if service.get("FMRI").startswith('lrc'):
+ Toolset.RestartService(self, service)
+ else:
+ self.logger.debug("Restarting service %s" % (service.get("FMRI")))
+ self.saferun("svcadm disable %s" % (service.get("FMRI"))
diff --git a/src/lib/Client/Toolset.py b/src/lib/Client/Toolset.py
index 7aa6a420f..3861233b2 100644
--- a/src/lib/Client/Toolset.py
+++ b/src/lib/Client/Toolset.py
@@ -530,8 +530,7 @@ class Toolset(object):
# stop services in miniroot
self.saferun('/etc/init.d/%s stop' % svc.get('name'))
else:
- self.logger.debug('Restarting service %s' % svc.get('name'))
- self.saferun('/etc/init.d/%s %s' % (svc.get('name'), svc.get('reload', 'reload')))
+ self.RestartService(svc)
for entry in self.structures:
if [strent for strent in entry.getchildren() if not self.states.get(strent, False)]:
@@ -693,3 +692,9 @@ class Toolset(object):
self.modified.append(entry)
left = len(work) + len(self.pkgwork['remove'])
self.HandleBundleDeps()
+
+ def RestartService(self, entry):
+ '''Restart a service entry'''
+ self.logger.debug('Restarting service %s' % entry.get('name'))
+ self.saferun('/etc/init.d/%s %s' % (entry.get('name'), entry.get('reload', 'reload')))
+