summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/depgraph.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index bd2964f3c..b7aa82525 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -1891,9 +1891,8 @@ class depgraph(object):
metadata, mreasons = get_mask_info(root_config, cpv,
pkgsettings, db, pkg_type, built, installed, db_keys)
if metadata is not None:
- pkg = Package(built=built, cpv=cpv,
- installed=installed, metadata=metadata,
- root_config=root_config)
+ pkg = self._pkg(cpv, pkg_type, root_config,
+ installed=installed)
if pkg.cp != atom.cp:
# A cpv can be returned from dbapi.match() as an
# old-style virtual match even in cases when the
@@ -1901,6 +1900,11 @@ class depgraph(object):
# Filter out any such false matches here.
if not atom_set.findAtomForPackage(pkg):
continue
+ if pkg in self._dynamic_config._runtime_pkg_mask:
+ backtrack_reasons = \
+ self._dynamic_config._runtime_pkg_mask[pkg]
+ mreasons.append('backtracking: %s' % \
+ ', '.join(sorted(backtrack_reasons)))
if mreasons:
masked_pkg_instances.add(pkg)
if atom.use: