summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/FakeVartree.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-26 20:21:02 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-26 20:21:02 -0700
commit23926b159418c22f053f74b217e1a6378816739c (patch)
treeacfcdddac28ee8b87146c76de7ea396f8de3b76a /pym/_emerge/FakeVartree.py
parent6aa2a0c5bb6eedf9c8024b1a20d40e802ec13516 (diff)
downloadportage-23926b159418c22f053f74b217e1a6378816739c.tar.gz
portage-23926b159418c22f053f74b217e1a6378816739c.tar.bz2
portage-23926b159418c22f053f74b217e1a6378816739c.zip
Bug #334365 - When depgraph.display_problems() shows the message
about masked installed packages, customize the InvalidDependString display to show the path of the *DEPEND file that contains the invalid dependency.
Diffstat (limited to 'pym/_emerge/FakeVartree.py')
-rw-r--r--pym/_emerge/FakeVartree.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py
index c74092d55..1d6a1aa67 100644
--- a/pym/_emerge/FakeVartree.py
+++ b/pym/_emerge/FakeVartree.py
@@ -7,12 +7,20 @@ import portage
from portage import os
from _emerge.Package import Package
from _emerge.PackageVirtualDbapi import PackageVirtualDbapi
+from portage.const import VDB_PATH
from portage.dbapi.vartree import vartree
from portage.update import grab_updates, parse_updates, update_dbentries
if sys.hexversion >= 0x3000000:
long = int
+class FakeVardbapi(PackageVirtualDbapi):
+ def getpath(self, cpv, filename=None):
+ path = os.path.join(self.settings['EROOT'], VDB_PATH, cpv)
+ if filename is not None:
+ path =os.path.join(path, filename)
+ return path
+
class FakeVartree(vartree):
"""This is implements an in-memory copy of a vartree instance that provides
all the interfaces required for use by the depgraph. The vardb is locked
@@ -37,7 +45,7 @@ class FakeVartree(vartree):
mykeys.append("_mtime_")
self._db_keys = mykeys
self._pkg_cache = pkg_cache
- self.dbapi = PackageVirtualDbapi(real_vartree.settings)
+ self.dbapi = FakeVardbapi(real_vartree.settings)
# Intialize variables needed for lazy cache pulls of the live ebuild
# metadata. This ensures that the vardb lock is released ASAP, without