diff options
-rwxr-xr-x | bin/emaint | 8 |
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 |