summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-12-21 16:00:43 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-12-21 16:00:43 +0000
commitd6847146871ec59dbc34a3d1b7f6177061c8d461 (patch)
tree931427944844e91e55494e6aa259dd35c4f8cd1e
parentfed08c23e3fd971f7e68d9bac797bf9e2122ed39 (diff)
downloadportage-d6847146871ec59dbc34a3d1b7f6177061c8d461.tar.gz
portage-d6847146871ec59dbc34a3d1b7f6177061c8d461.tar.bz2
portage-d6847146871ec59dbc34a3d1b7f6177061c8d461.zip
Separate masked and unavailable ebuilds and report that masked ebuilds can be
handled with package.keywords or package.unmask when they are detected. svn path=/main/trunk/; revision=2427
-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