summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage.py')
-rw-r--r--pym/portage.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 3de43de21..40cb23246 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -3581,11 +3581,12 @@ def unmerge(cat, pkg, myroot, mysettings, mytrimworld=1, vartree=None, ldpath_mt
try:
mylink.lockdb()
if mylink.exists():
- mylink.unmerge(trimworld=mytrimworld, cleanup=1,
+ retval = mylink.unmerge(trimworld=mytrimworld, cleanup=1,
ldpath_mtimes=ldpath_mtimes)
- mylink.delete()
- return 0
- return 1
+ if retval == os.EX_OK:
+ mylink.delete()
+ return retval
+ return os.EX_OK
finally:
mylink.unlockdb()
@@ -6380,7 +6381,7 @@ class dblink:
# XXX: Decide how to handle failures here.
if retval != os.EX_OK:
writemsg("!!! FAILED prerm: %s\n" % retval, noiselevel=-1)
- sys.exit(123)
+ return retval
self._unmerge_pkgfiles(pkgfiles)
@@ -6395,7 +6396,7 @@ class dblink:
# XXX: Decide how to handle failures here.
if retval != os.EX_OK:
writemsg("!!! FAILED postrm: %s\n" % retval, noiselevel=-1)
- sys.exit(123)
+ return retval
doebuild(myebuildpath, "cleanrm", self.myroot, self.settings,
tree="vartree", mydbapi=self.vartree.dbapi,
vartree=self.vartree)
@@ -6418,6 +6419,7 @@ class dblink:
portage_locks.unlockdir(catdir_lock)
env_update(target_root=self.myroot, prev_mtimes=ldpath_mtimes,
contents=contents)
+ return os.EX_OK
def _unmerge_pkgfiles(self, pkgfiles):