aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Phillips <ryan_d_phillips@dell.com>2010-06-08 14:20:55 -0500
committerChris Larson <chris_larson@mentor.com>2010-06-09 19:32:36 -0700
commitf84f382f340d6db15b9e5afb8c7c93969249a958 (patch)
tree8a44a95313574209fbf66d420ac8cfd4d4b0b76e
parent5bb24832761bd518cb0249125f67939e0cbd0998 (diff)
downloadbitbake-f84f382f340d6db15b9e5afb8c7c93969249a958.tar.gz
bitbake-f84f382f340d6db15b9e5afb8c7c93969249a958.tar.bz2
bitbake-f84f382f340d6db15b9e5afb8c7c93969249a958.zip
Change wget fetcher to use the runfetchcmd
* Fixes proxy support to honor standard proxy environment variables. * Quote environment variables Signed-off-by: Chris Larson <chris_larson@mentor.com>
-rw-r--r--lib/bb/fetch/__init__.py3
-rw-r--r--lib/bb/fetch/wget.py28
2 files changed, 6 insertions, 25 deletions
diff --git a/lib/bb/fetch/__init__.py b/lib/bb/fetch/__init__.py
index cf26dc15..d91ecae1 100644
--- a/lib/bb/fetch/__init__.py
+++ b/lib/bb/fetch/__init__.py
@@ -204,6 +204,7 @@ def fetcher_compare_revisons(d):
def init(urls, d, setup = True):
urldata = {}
+
fn = bb.data.getVar('FILE', d, 1)
if fn in urldata_cache:
urldata = urldata_cache[fn]
@@ -400,7 +401,7 @@ def runfetchcmd(cmd, d, quiet = False):
for var in exportvars:
val = data.getVar(var, d, True)
if val:
- cmd = 'export ' + var + '=%s; %s' % (val, cmd)
+ cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
diff --git a/lib/bb/fetch/wget.py b/lib/bb/fetch/wget.py
index 58136203..dcc58c75 100644
--- a/lib/bb/fetch/wget.py
+++ b/lib/bb/fetch/wget.py
@@ -31,6 +31,7 @@ from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import encodeurl, decodeurl
+from bb.fetch import runfetchcmd
class Wget(Fetch):
"""Class to fetch urls via 'wget'"""
@@ -65,33 +66,12 @@ class Wget(Fetch):
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
- bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
- httpproxy = None
- ftpproxy = None
- if uri_type == 'http':
- httpproxy = data.getVar("HTTP_PROXY", d, True)
- httpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
- for p in httpproxy_ignore:
- if uri_host.endswith(p):
- httpproxy = None
- break
- if uri_type == 'ftp':
- ftpproxy = data.getVar("FTP_PROXY", d, True)
- ftpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
- for p in ftpproxy_ignore:
- if uri_host.endswith(p):
- ftpproxy = None
- break
- if httpproxy:
- fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
- if ftpproxy:
- fetchcmd = "ftp_proxy=" + ftpproxy + " " + fetchcmd
+
+ bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
- ret = os.system(fetchcmd)
- if ret != 0:
- return False
+ runfetchcmd(fetchcmd, d)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page