diff options
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/actions.py | 10 | ||||
-rw-r--r-- | pym/_emerge/main.py | 10 |
2 files changed, 18 insertions, 2 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 219ed7101..610fc73d1 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -992,7 +992,15 @@ def calc_depclean(settings, trees, ldpath_mtimes, search_files.update(providers) writemsg_level(">>> Assigning files to packages...\n") - file_owners = real_vardb._owners.getFileOwnerMap(search_files) + file_owners = {} + for f in search_files: + owner_set = set() + for owner in linkmap.getOwners(f): + owner_dblink = real_vardb._dblink(owner) + if owner_dblink.exists(): + owner_set.add(owner_dblink) + if owner_set: + file_owners[f] = owner_set for pkg, consumers in list(consumer_map.items()): for lib, consumer_providers in list(consumers.items()): diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index 11a33149d..28431c58f 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -260,7 +260,15 @@ def display_preserved_libs(vardbapi, myopts): consumer_map[f] = consumers search_for_owners.update(consumers[:MAX_DISPLAY+1]) - owners = vardbapi._owners.getFileOwnerMap(search_for_owners) + owners = {} + for f in search_for_owners: + owner_set = set() + for owner in linkmap.getOwners(f): + owner_dblink = vardbapi._dblink(owner) + if owner_dblink.exists(): + owner_set.add(owner_dblink) + if owner_set: + owners[f] = owner_set for cpv in plibdata: print(colorize("WARN", ">>>") + " package: %s" % cpv) |