summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage.py')
-rw-r--r--pym/portage.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 7ead87327..050a8fb64 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6819,8 +6819,15 @@ class dblink:
self.settings.load_infodir(self.dbdir)
if myebuildpath:
- doebuild_environment(myebuildpath, "prerm", self.myroot,
- self.settings, 0, 0, self.vartree.dbapi)
+ try:
+ doebuild_environment(myebuildpath, "prerm", self.myroot,
+ self.settings, 0, 0, self.vartree.dbapi)
+ except portage_exception.UnsupportedAPIException, e:
+ # Sometimes this happens due to corruption of the EAPI file.
+ writemsg("!!! FAILED prerm: %s\n" % \
+ os.path.join(self.dbdir, "EAPI"), noiselevel=-1)
+ writemsg("%s\n" % str(e), noiselevel=-1)
+ return 1
catdir = os.path.dirname(self.settings["PORTAGE_BUILDDIR"])
portage_util.ensure_dirs(os.path.dirname(catdir),
uid=portage_uid, gid=portage_gid, mode=070, mask=0)