From f1f6fb18232258b5de3267a1cae2e483cd5f7ba7 Mon Sep 17 00:00:00 2001 From: necoro <> Date: Wed, 18 Oct 2006 17:27:31 +0000 Subject: fixed bug in update_world which ignored system --- geneticone/backend/portage_helper.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'geneticone/backend') diff --git a/geneticone/backend/portage_helper.py b/geneticone/backend/portage_helper.py index 3a6eab7..3d5a4a8 100644 --- a/geneticone/backend/portage_helper.py +++ b/geneticone/backend/portage_helper.py @@ -255,9 +255,26 @@ def update_world (newuse = False, deep = False): line = line.strip() if not len(line): continue # empty line if line[0] == "#": continue - packages.append(find_best_match(line)) + packages.append(line) world.close() + sys = gentoolkit.settings.packages + for x in sys: + if x[0] == "*": + x = x[1:] + packages.append(x.strip()) + + # Remove everything that is package.provided from our list + # This is copied from emerge.getlist() + for atom in packages[:]: + for expanded_atom in portage.flatten(portage.dep_virtual([atom], gentoolkit.settings)): + mykey = portage.dep_getkey(expanded_atom) + if mykey in gentoolkit.settings.pprovideddict and portage.match_from_list(expanded_atom, settings.pprovideddict[mykey]): + packages.remove(atom) + break + + packages = [find_best_match(x) for x in packages] + checked = [] updating = [] raw_checked = [] -- cgit v1.2.3-54-g00ecf