diff options
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r-- | pym/portage/__init__.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index ae4f2b43e..04294ce12 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -2601,9 +2601,6 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", else: resumecommand=mysettings["RESUMECOMMAND"] - fetchcommand=fetchcommand.replace("${DISTDIR}",mysettings["DISTDIR"]) - resumecommand=resumecommand.replace("${DISTDIR}",mysettings["DISTDIR"]) - if not can_fetch: if fetched != 2: if fetched == 0: @@ -2633,8 +2630,14 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", locfetch=fetchcommand writemsg_stdout(">>> Downloading '%s'\n" % \ re.sub(r'//(.+):.+@(.+)/',r'//\1:*password*@\2/', loc)) - myfetch=locfetch.replace("${URI}",loc) - myfetch=myfetch.replace("${FILE}",myfile) + myfetch = locfetch.split() + variables = {"${DISTDIR}":mysettings["DISTDIR"], + "${URI}":loc, "${FILE}":myfile} + for i in xrange(len(myfetch)): + token = myfetch[i].strip("\"'") + value = variables.get(token) + if value is not None: + myfetch[i] = value spawn_keywords = {} if "userfetch" in mysettings.features and \ @@ -2652,7 +2655,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", con = con.replace(mysettings["PORTAGE_T"], mysettings["PORTAGE_FETCH_T"]) selinux.setexec(con) - myret = portage.process.spawn_bash(myfetch, + myret = portage.process.spawn(myfetch, env=mysettings.environ(), **spawn_keywords) if mysettings.selinux_enabled(): |