summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-24 17:45:06 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-24 17:45:06 -0700
commitfe1022a42fcbfd28c8eab09fe029462a68a62846 (patch)
tree92512ea279ea85c3bd62fcad669d78f192f10526 /pym
parent53daf8dec6740d6c04e4dd76dd36d1cc19093c27 (diff)
downloadportage-fe1022a42fcbfd28c8eab09fe029462a68a62846.tar.gz
portage-fe1022a42fcbfd28c8eab09fe029462a68a62846.tar.bz2
portage-fe1022a42fcbfd28c8eab09fe029462a68a62846.zip
PackageUninstall: return early if pkg is missing
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/PackageUninstall.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/PackageUninstall.py b/pym/_emerge/PackageUninstall.py
index aebf55e98..eb6a947a5 100644
--- a/pym/_emerge/PackageUninstall.py
+++ b/pym/_emerge/PackageUninstall.py
@@ -27,9 +27,16 @@ class PackageUninstall(CompositeTask):
def _start(self):
- self.settings.setcpv(self.pkg)
vardb = self.pkg.root_config.trees["vartree"].dbapi
dbdir = vardb.getpath(self.pkg.cpv)
+ if not os.path.exists(dbdir):
+ # Apparently the package got uninstalled
+ # already, so we can safely return early.
+ self.returncode = os.EX_OK
+ self.wait()
+ return
+
+ self.settings.setcpv(self.pkg)
cat, pf = portage.catsplit(self.pkg.cpv)
myebuildpath = os.path.join(dbdir, pf + ".ebuild")