summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-06 05:30:42 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-06 05:30:42 -0700
commit0d529b7829b19b3f55dc05747dc8299ae32498e1 (patch)
tree2ee6107644f090d7afe013b32da3a594db78a9b4
parentBug #331413 - Clarify valid $VERSION parts that may be used in (diff)
downloadportage-multirepo-0d529b7829b19b3f55dc05747dc8299ae32498e1.tar.gz
portage-multirepo-0d529b7829b19b3f55dc05747dc8299ae32498e1.tar.bz2
portage-multirepo-0d529b7829b19b3f55dc05747dc8299ae32498e1.zip
* Split out a _get_masking_status() method that returns categorized
message objects instead of plain strings. * Move masks to the "invalid" category.
-rw-r--r--pym/_emerge/depgraph.py18
-rw-r--r--pym/portage/package/ebuild/getmaskingstatus.py4
2 files changed, 15 insertions, 7 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index cc697ccf..4addbd44 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -20,6 +20,8 @@ from portage.dep import Atom
from portage.output import bold, blue, colorize, create_color_func, darkblue, \
darkgreen, green, nc_len, red, teal, turquoise, yellow
bad = create_color_func("BAD")
+from portage.package.ebuild.getmaskingstatus import \
+ _getmaskingstatus, _MaskReason
from portage.sets import SETPREFIX
from portage.sets.base import InternalPackageSet
from portage.util import cmp_sort_key, writemsg, writemsg_stdout
@@ -6020,21 +6022,27 @@ def show_blocker_docs_link():
print()
def get_masking_status(pkg, pkgsettings, root_config):
+ return [mreason.message for \
+ mreason in _get_masking_status(pkg, pkgsettings, root_config)]
- mreasons = portage.getmaskingstatus(
+def _get_masking_status(pkg, pkgsettings, root_config):
+
+ mreasons = _getmaskingstatus(
pkg, settings=pkgsettings,
portdb=root_config.trees["porttree"].dbapi)
if not pkg.installed:
if not pkgsettings._accept_chost(pkg.cpv, pkg.metadata):
- mreasons.append("CHOST: %s" % \
- pkg.metadata["CHOST"])
+ mreasons.append(_MaskReason("CHOST", "CHOST: %s" % \
+ pkg.metadata["CHOST"]))
if pkg.invalid:
for msg_type, msgs in pkg.invalid.items():
for msg in msgs:
- mreasons.append("invalid: %s" % (msg,))
+ mreasons.append(
+ _MaskReason("invalid", "invalid: %s" % (msg,)))
if not pkg.metadata["SLOT"]:
- mreasons.append("invalid: SLOT is undefined")
+ mreasons.append(
+ _MaskReason("invalid", "SLOT: undefined"))
return mreasons
diff --git a/pym/portage/package/ebuild/getmaskingstatus.py b/pym/portage/package/ebuild/getmaskingstatus.py
index f1ccd6d9..61a06e76 100644
--- a/pym/portage/package/ebuild/getmaskingstatus.py
+++ b/pym/portage/package/ebuild/getmaskingstatus.py
@@ -147,7 +147,7 @@ def _getmaskingstatus(mycpv, settings, portdb):
msg.append("license(s)")
rValue.append(_MaskReason("LICENSE", " ".join(msg)))
except portage.exception.InvalidDependString as e:
- rValue.append(_MaskReason("LICENSE", "LICENSE: "+str(e)))
+ rValue.append(_MaskReason("invalid", "LICENSE: "+str(e)))
try:
missing_properties = settings._getMissingProperties(mycpv, metadata)
@@ -161,7 +161,7 @@ def _getmaskingstatus(mycpv, settings, portdb):
msg.append("properties")
rValue.append(_MaskReason("PROPERTIES", " ".join(msg)))
except portage.exception.InvalidDependString as e:
- rValue.append(_MaskReason("PROPERTIES", "PROPERTIES: "+str(e)))
+ rValue.append(_MaskReason("invalid", "PROPERTIES: "+str(e)))
# Only show KEYWORDS masks for installed packages
# if they're not masked for any other reason.