diff options
author | necoro <> | 2006-10-18 17:27:31 +0000 |
---|---|---|
committer | necoro <> | 2006-10-18 17:27:31 +0000 |
commit | f1f6fb18232258b5de3267a1cae2e483cd5f7ba7 (patch) | |
tree | a73d243dcbeecebca3f592d25bb17b44a3b6fa8a /geneticone/backend | |
parent | c9fdcf782e7ad7f54a35ab5c156cf0a2fa84ad1e (diff) | |
download | portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.gz portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.tar.bz2 portato-f1f6fb18232258b5de3267a1cae2e483cd5f7ba7.zip |
fixed bug in update_world which ignored system
Diffstat (limited to '')
-rw-r--r-- | geneticone/backend/portage_helper.py | 19 |
1 files changed, 18 insertions, 1 deletions
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 = [] |