From 4873e71dd032f3f1fc00cb98f9d17ea9d3b1b390 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 21 Dec 2006 00:32:10 +0000 Subject: When a removal phase fails, tell the user where the ebuild is and advise them that the ebuild can be removed in order to skip the removal phases. svn path=/main/trunk/; revision=5340 --- pym/portage.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'pym/portage.py') 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): -- cgit v1.2.3-1-g7c22