summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/__init__.py')
-rw-r--r--pym/_emerge/__init__.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 520a86104..68f976cbe 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2560,6 +2560,7 @@ class depgraph(object):
myroot = self.target_root
dbs = self._filtered_trees[myroot]["dbs"]
vardb = self.trees[myroot]["vartree"].dbapi
+ real_vardb = self._trees_orig[myroot]["vartree"].dbapi
portdb = self.trees[myroot]["porttree"].dbapi
bindb = self.trees[myroot]["bintree"].dbapi
pkgsettings = self.pkgsettings[myroot]
@@ -2638,16 +2639,12 @@ class depgraph(object):
" $ROOT.\n") % x, noiselevel=-1)
return 0, []
relative_path = x[len(myroot):]
- vartree = self._trees_orig[myroot]["vartree"]
owner_cpv = None
- for cpv in vardb.cpv_all():
- self.spinner.update()
- cat, pf = portage.catsplit(cpv)
- if portage.dblink(cat, pf, myroot,
- pkgsettings, vartree=vartree).isowner(
- relative_path, myroot):
- owner_cpv = cpv
- break
+ for pkg, relative_path in \
+ real_vardb._owners.iter_owners([relative_path]):
+ owner_cpv = pkg.mycpv
+ break
+
if owner_cpv is None:
portage.writemsg(("\n\n!!! '%s' is not claimed " + \
"by any package.\n") % x, noiselevel=-1)