diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-24 17:45:06 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-24 17:45:06 -0700 |
commit | fe1022a42fcbfd28c8eab09fe029462a68a62846 (patch) | |
tree | 92512ea279ea85c3bd62fcad669d78f192f10526 | |
parent | 53daf8dec6740d6c04e4dd76dd36d1cc19093c27 (diff) | |
download | portage-fe1022a42fcbfd28c8eab09fe029462a68a62846.tar.gz portage-fe1022a42fcbfd28c8eab09fe029462a68a62846.tar.bz2 portage-fe1022a42fcbfd28c8eab09fe029462a68a62846.zip |
PackageUninstall: return early if pkg is missing
-rw-r--r-- | pym/_emerge/PackageUninstall.py | 9 |
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") |