[matter] add support for needed_p_mask_changes backtrack info

This commit is contained in:
Fabio Erculiani
2013-10-21 10:27:45 +02:00
parent 2594f3f1d2
commit 4124a3e4e9
2 changed files with 22 additions and 0 deletions

View File

@@ -85,6 +85,7 @@ class PackageBuilder(object):
self._missing_use_packages = {}
self._needed_unstable_keywords = set()
self._needed_package_mask_changes = set()
@classmethod
def _build_standard_environment(cls, repository=None):
@@ -178,6 +179,13 @@ class PackageBuilder(object):
"""
return self._needed_unstable_keywords
def get_needed_package_mask_changes(self):
"""
Return the list of packages that haven't been merged due to the need
of package.mask changes.
"""
return self._needed_package_mask_changes
def run(self):
"""
Execute Package building action.
@@ -726,6 +734,10 @@ class PackageBuilder(object):
for pkg in v:
self._needed_unstable_keywords.add(
copy.deepcopy(pkg.cpv))
elif k == "needed_p_mask_changes":
for pkg in v:
self._needed_package_mask_changes.add(
copy.deepcopy(pkg.cpv))
else:
print_warning("unsupported backtrack info: %s -> %s" % (
k, v,))

View File

@@ -87,6 +87,7 @@ def matter_main(binary_pms, nsargs, cwd, specs):
uninstalled = []
missing_use = {}
unstable_keywords = set()
pmask_changes = set()
tainted_repositories = set()
spec_count = 0
tot_spec = len(specs)
@@ -119,6 +120,8 @@ def matter_main(binary_pms, nsargs, cwd, specs):
builder.get_missing_use_packages())
unstable_keywords.update(
builder.get_needed_unstable_keywords())
pmask_changes.update(
builder.get_needed_package_mask_changes())
preserved_libs = binary_pms.check_preserved_libraries(
emerge_config)
@@ -208,12 +211,19 @@ def matter_main(binary_pms, nsargs, cwd, specs):
print_generic("%s %s" % (
use_data["cp:slot"], " ".join(use_l)))
print_generic("")
if unstable_keywords:
print_generic("Packages not built due to missing unstable keywords:")
for atom in sorted(unstable_keywords):
print_generic("%s" % (atom,))
print_generic("")
if pmask_changes:
print_generic("Packages not built due to needed package.mask changes:")
for atom in sorted(pmask_changes):
print_generic("%s" % (atom,))
print_generic("")
print_generic("Preserved libs: %s" % (
preserved_libs,))
print_generic("")