From 0c71b9c673d6a96d62e0f1a037d70b3e9ea8339d Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Sun, 15 May 2011 12:03:20 -0700 Subject: --autounmask: Allow package.mask changes --- pym/_emerge/resolver/backtracking.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'pym/_emerge/resolver/backtracking.py') diff --git a/pym/_emerge/resolver/backtracking.py b/pym/_emerge/resolver/backtracking.py index 3c40bd8df..dcdaee0cb 100644 --- a/pym/_emerge/resolver/backtracking.py +++ b/pym/_emerge/resolver/backtracking.py @@ -7,11 +7,12 @@ class BacktrackParameter(object): __slots__ = ( "needed_unstable_keywords", "runtime_pkg_mask", "needed_use_config_changes", "needed_license_changes", - "rebuild_list", "reinstall_list" + "rebuild_list", "reinstall_list", "needed_p_mask_changes" ) def __init__(self): self.needed_unstable_keywords = set() + self.needed_p_mask_changes = set() self.runtime_pkg_mask = {} self.needed_use_config_changes = {} self.needed_license_changes = {} @@ -27,6 +28,7 @@ class BacktrackParameter(object): #Shallow copies are enough here, as we only need to ensure that nobody adds stuff #to our sets and dicts. The existing content is immutable. result.needed_unstable_keywords = copy.copy(self.needed_unstable_keywords) + result.needed_p_mask_changes = copy.copy(self.needed_p_mask_changes) result.runtime_pkg_mask = copy.copy(self.runtime_pkg_mask) result.needed_use_config_changes = copy.copy(self.needed_use_config_changes) result.needed_license_changes = copy.copy(self.needed_license_changes) @@ -37,6 +39,7 @@ class BacktrackParameter(object): def __eq__(self, other): return self.needed_unstable_keywords == other.needed_unstable_keywords and \ + self.needed_p_mask_changes == other.needed_p_mask_changes and \ self.runtime_pkg_mask == other.runtime_pkg_mask and \ self.needed_use_config_changes == other.needed_use_config_changes and \ self.needed_license_changes == other.needed_license_changes and \ @@ -138,6 +141,8 @@ class Backtracker(object): for change, data in changes.items(): if change == "needed_unstable_keywords": para.needed_unstable_keywords.update(data) + elif change == "needed_p_mask_changes": + para.needed_p_mask_changes.update(data) elif change == "needed_license_changes": for pkg, missing_licenses in data: para.needed_license_changes.setdefault(pkg, set()).update(missing_licenses) -- cgit v1.2.3-1-g7c22