summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Client/Solaris.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/Client/Solaris.py b/src/lib/Client/Solaris.py
index 13b55afa3..2ac09a119 100644
--- a/src/lib/Client/Solaris.py
+++ b/src/lib/Client/Solaris.py
@@ -191,16 +191,19 @@ class Solaris(Toolset):
sysvrmpkgs = [pkg for pkg in self.pkgwork['remove'] if self.ptypes[pkg] == 'sysv']
enrmpkgs = [pkg for pkg in self.pkgwork['remove'] if self.ptypes[pkg] == 'encap']
if sysvrmpkgs:
- system("/usr/sbin/pkgrm -n %s" % " ".join(sysvrmpkgs))
+ if not system("/usr/sbin/pkgrm -n %s" % " ".join(sysvrmpkgs)):
+ [self.pkgwork['remove'].remove(pkg) for pkg in sysvrmpkgs]
if enrmpkgs:
- system("/local/sbin/epkg -l -q -r %s" % " ".join(enrmpkgs))
+ if not system("/local/sbin/epkg -l -q -r %s" % " ".join(enrmpkgs)):
+ [self.pkgwork['remove'].remove(pkg) for pkg in enrmpkgs]
else:
self.CondPrint('verbose', "Need to remove packages: %s" % (self.pkgwork['remove']))
if len(self.extra_services) > 0:
if self.setup['remove'] in ['all', 'services']:
self.CondPrint('verbose', "Removing services: %s" % (self.extra_services))
for service in self.extra_services:
- system("/usr/sbin/svcadm disable %s" % service)
+ if not system("/usr/sbin/svcadm disable %s" % service):
+ self.extra_services.remove(service)
else:
self.CondPrint('verbose', "Need to remove services: %s" % (self.extra_services))