summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/EbuildFetcher.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py
index 800aefd13..7f5bc6df4 100644
--- a/pym/_emerge/EbuildFetcher.py
+++ b/pym/_emerge/EbuildFetcher.py
@@ -10,7 +10,6 @@ from portage import _unicode_encode
from portage import _unicode_decode
import codecs
from portage.elog.messages import eerror
-from portage.dbapi.porttree import _parse_uri_map
from portage.util import writemsg_stdout
from portage.util._pty import _create_pty_or_pipe
@@ -27,7 +26,7 @@ class EbuildFetcher(SpawnProcess):
raise AssertionError("ebuild not found for '%s'" % self.pkg.cpv)
try:
- uri_map = self._get_uri_map()
+ uri_map = self._get_uri_map(portdb, ebuild_path)
except portage.exception.InvalidDependString as e:
msg_lines = []
msg = "Fetch failed for '%s' due to invalid SRC_URI: %s" % \
@@ -94,14 +93,16 @@ class EbuildFetcher(SpawnProcess):
self.env = fetch_env
SpawnProcess._start(self)
- def _get_uri_map(self):
+ def _get_uri_map(self, portdb, ebuild_path):
"""
- This can raise InvalidDependString from _parse_uri_map().
+ This can raise InvalidDependString from portdbapi.getFetchMap().
"""
+ pkgdir = os.path.dirname(ebuild_path)
+ mytree = os.path.dirname(os.path.dirname(pkgdir))
use = None
if not self.fetchall:
use = self.pkg.use.enabled
- return _parse_uri_map(self.pkg.cpv, self.pkg.metadata, use=use)
+ return portdb.getFetchMap(self.pkg.cpv, useflags=use, mytree=mytree)
def _prefetch_size_ok(self, uri_map, settings, ebuild_path):
pkgdir = os.path.dirname(ebuild_path)