diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-10-25 05:29:01 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-10-25 05:29:01 +0000 |
commit | aa6e0cdf098ae7930daa2b3bc7bad80d0574d377 (patch) | |
tree | 500f70cad6768f737effc584c834e73d189b46a0 | |
parent | a3463bc1dcf821fa8db82469d2195200fc539bad (diff) | |
download | portage-aa6e0cdf098ae7930daa2b3bc7bad80d0574d377.tar.gz portage-aa6e0cdf098ae7930daa2b3bc7bad80d0574d377.tar.bz2 portage-aa6e0cdf098ae7930daa2b3bc7bad80d0574d377.zip |
Filter atoms that come from sets when generating
the list of atoms to record in the world file.
svn path=/main/trunk/; revision=8288
-rw-r--r-- | pym/_emerge/__init__.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 9eef9b6a3..6ad1c3865 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -586,6 +586,8 @@ def create_world_atom(pkg_key, metadata, args_set, root_config): be greedy with respect to slots. Unslotted system packages will not be stored in world.""" arg_atom = args_set.findAtomForPackage(pkg_key, metadata) + if not arg_atom: + return None cp = portage.dep_getkey(arg_atom) new_world_atom = cp sets = root_config.settings.sets @@ -1731,12 +1733,15 @@ class depgraph(object): that happen to match arguments are not incorrectly marked as nomerge.""" args_set = self._sets["args"] for myarg, myatom in arg_atoms: - if myatom in args_set: + if myatom in self._set_atoms: continue - args_set.add(myatom) self._set_atoms.add(myatom) - if not oneshot: - myfavorites.append(myatom) + if not self._get_parent_sets(myroot, myatom): + args_set.add(myatom) + if not oneshot: + # Filter out atoms that came from + # sets like system and world. + myfavorites.append(myatom) pprovideddict = pkgsettings.pprovideddict for arg, atom in arg_atoms: try: |