summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/emaint8
1 files changed, 7 insertions, 1 deletions
diff --git a/bin/emaint b/bin/emaint
index b5508652d..617cf2a1a 100755
--- a/bin/emaint
+++ b/bin/emaint
@@ -16,6 +16,7 @@ class WorldHandler(object):
def __init__(self):
self.invalid = []
self.not_installed = []
+ self.masked = []
self.unavailable = []
self.okay = []
self.found = os.access(portage_const.WORLD_FILE, os.R_OK)
@@ -25,8 +26,10 @@ class WorldHandler(object):
self.invalid.append(atom)
elif not portage.db["/"]["vartree"].dbapi.match(atom):
self.not_installed.append(atom)
- elif not portage.db["/"]["porttree"].dbapi.match(atom):
+ elif not portage.db["/"]["porttree"].dbapi.xmatch("match-all", atom):
self.unavailable.append(atom)
+ elif not portage.db["/"]["porttree"].dbapi.match("match-visible", atom):
+ self.masked.append(atom)
else:
self.okay.append(atom)
@@ -35,7 +38,10 @@ class WorldHandler(object):
if self.found:
errors += map(lambda x: "'%s' is not a valid atom" % x, self.invalid)
errors += map(lambda x: "'%s' is not installed" % x, self.not_installed)
+ errors += map(lambda x: "'%s' is masked (manually fix by adding to package.keywords)" % x, self.masked)
errors += map(lambda x: "'%s' has no ebuilds available" % x, self.unavailable)
+ if self.masked:
+ errors += "Masked ebuilds can be manually unmasked with package.keywords or package.unmask"
else:
errors.append(portage_const.WORLD_FILE + " could not be opened for reading")
return errors