summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/actions.py10
-rw-r--r--pym/_emerge/main.py10
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)