diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-11-07 07:27:23 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-11-07 07:27:23 -0800 |
commit | a0961708ced50c90497811058eda6f4513d2986d (patch) | |
tree | cd361391a487292dbcd2c7f31d314f7bc698ad66 /pym/_emerge | |
parent | c17d8dabe4c64fc4ed87ac9a0637f8ccc9341823 (diff) | |
download | portage-a0961708ced50c90497811058eda6f4513d2986d.tar.gz portage-a0961708ced50c90497811058eda6f4513d2986d.tar.bz2 portage-a0961708ced50c90497811058eda6f4513d2986d.zip |
REQUIRED_USE: don't save in built packages
It should be safe to assume that REQUIRED_USE is satisfied if the
package is built, so it's a waste to save it. Also, fix code which
assumes that built Package instances have a REQUIRED_USE key in their
metadata.
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/depgraph.py | 2 | ||||
-rw-r--r-- | pym/_emerge/resolver/circular_dependency.py | 5 | ||||
-rw-r--r-- | pym/_emerge/resolver/slot_collision.py | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 084864076..2ff6acbe2 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -3066,7 +3066,7 @@ class depgraph(object): continue missing_use_adjustable.add(pkg) - required_use = pkg.metadata["REQUIRED_USE"] + required_use = pkg.metadata.get("REQUIRED_USE") required_use_warning = "" if required_use: old_use = self._pkg_use_enabled(pkg) diff --git a/pym/_emerge/resolver/circular_dependency.py b/pym/_emerge/resolver/circular_dependency.py index d113c5e8b..62d555634 100644 --- a/pym/_emerge/resolver/circular_dependency.py +++ b/pym/_emerge/resolver/circular_dependency.py @@ -143,7 +143,8 @@ class circular_dependency_handler(object): #If any of the flags we're going to touch is in REQUIRED_USE, add all #other flags in REQUIRED_USE to affecting_use, to not lose any solution. - required_use_flags = get_required_use_flags(parent.metadata["REQUIRED_USE"]) + required_use_flags = get_required_use_flags( + parent.metadata.get("REQUIRED_USE", "")) if affecting_use.intersection(required_use_flags): # TODO: Find out exactly which REQUIRED_USE flags are @@ -185,7 +186,7 @@ class circular_dependency_handler(object): parent_atom not in reduced_dep: #We found an assignment that removes the atom from 'dep'. #Make sure it doesn't conflict with REQUIRED_USE. - required_use = parent.metadata["REQUIRED_USE"] + required_use = parent.metadata.get("REQUIRED_USE", "")] if check_required_use(required_use, current_use, parent.iuse.is_valid_flag): use = self.depgraph._pkg_use_enabled(parent) diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py index 0df8f20a2..320713882 100644 --- a/pym/_emerge/resolver/slot_collision.py +++ b/pym/_emerge/resolver/slot_collision.py @@ -843,7 +843,7 @@ class slot_conflict_handler(object): #Make sure the changes don't violate REQUIRED_USE for pkg in required_changes: - required_use = pkg.metadata["REQUIRED_USE"] + required_use = pkg.metadata.get("REQUIRED_USE") if not required_use: continue |