From aa6e0cdf098ae7930daa2b3bc7bad80d0574d377 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 25 Oct 2007 05:29:01 +0000 Subject: Filter atoms that come from sets when generating the list of atoms to record in the world file. svn path=/main/trunk/; revision=8288 --- pym/_emerge/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'pym/_emerge') 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: -- cgit v1.2.3-1-g7c22