summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRyan Phillips <ryan_d_phillips@dell.com>2010-06-08 14:20:55 -0500
committerRichard Purdie <rpurdie@linux.intel.com>2010-07-02 15:41:36 +0100
commit40d7de8f06d789983ce060287f7517a440f1682c (patch)
tree541c8b6d8983c51f4a9fe43b3dc7c0c7421f60ab /bitbake/lib
parent88a257634a7a681d711e4401a7109d8742e9a166 (diff)
downloadpoky-40d7de8f06d789983ce060287f7517a440f1682c.tar.gz
Change wget fetcher to use the runfetchcmd
* Fixes proxy support to honor standard proxy environment variables. * Quote environment variables (Bitbake rev: f84f382f340d6db15b9e5afb8c7c93969249a958) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/fetch/__init__.py3
-rw-r--r--bitbake/lib/bb/fetch/wget.py28
2 files changed, 6 insertions, 25 deletions
diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py
index 701e79025a..6478f5acaa 100644
--- a/bitbake/lib/bb/fetch/__init__.py
+++ b/bitbake/lib/bb/fetch/__init__.py
@@ -204,6 +204,7 @@ def fetcher_compare_revisons(d):
204 204
205def init(urls, d, setup = True): 205def init(urls, d, setup = True):
206 urldata = {} 206 urldata = {}
207
207 fn = bb.data.getVar('FILE', d, 1) 208 fn = bb.data.getVar('FILE', d, 1)
208 if fn in urldata_cache: 209 if fn in urldata_cache:
209 urldata = urldata_cache[fn] 210 urldata = urldata_cache[fn]
@@ -400,7 +401,7 @@ def runfetchcmd(cmd, d, quiet = False):
400 for var in exportvars: 401 for var in exportvars:
401 val = data.getVar(var, d, True) 402 val = data.getVar(var, d, True)
402 if val: 403 if val:
403 cmd = 'export ' + var + '=%s; %s' % (val, cmd) 404 cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
404 405
405 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd) 406 bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s" % cmd)
406 407
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py
index 581362038a..dcc58c75e8 100644
--- a/bitbake/lib/bb/fetch/wget.py
+++ b/bitbake/lib/bb/fetch/wget.py
@@ -31,6 +31,7 @@ from bb import data
31from bb.fetch import Fetch 31from bb.fetch import Fetch
32from bb.fetch import FetchError 32from bb.fetch import FetchError
33from bb.fetch import encodeurl, decodeurl 33from bb.fetch import encodeurl, decodeurl
34from bb.fetch import runfetchcmd
34 35
35class Wget(Fetch): 36class Wget(Fetch):
36 """Class to fetch urls via 'wget'""" 37 """Class to fetch urls via 'wget'"""
@@ -65,33 +66,12 @@ class Wget(Fetch):
65 uri_type = uri_decoded[0] 66 uri_type = uri_decoded[0]
66 uri_host = uri_decoded[1] 67 uri_host = uri_decoded[1]
67 68
68 bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
69 fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0]) 69 fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
70 fetchcmd = fetchcmd.replace("${FILE}", ud.basename) 70 fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
71 httpproxy = None 71
72 ftpproxy = None 72 bb.msg.note(1, bb.msg.domain.Fetcher, "fetch " + uri)
73 if uri_type == 'http':
74 httpproxy = data.getVar("HTTP_PROXY", d, True)
75 httpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
76 for p in httpproxy_ignore:
77 if uri_host.endswith(p):
78 httpproxy = None
79 break
80 if uri_type == 'ftp':
81 ftpproxy = data.getVar("FTP_PROXY", d, True)
82 ftpproxy_ignore = (data.getVar("HTTP_PROXY_IGNORE", d, True) or "").split()
83 for p in ftpproxy_ignore:
84 if uri_host.endswith(p):
85 ftpproxy = None
86 break
87 if httpproxy:
88 fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
89 if ftpproxy:
90 fetchcmd = "ftp_proxy=" + ftpproxy + " " + fetchcmd
91 bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd) 73 bb.msg.debug(2, bb.msg.domain.Fetcher, "executing " + fetchcmd)
92 ret = os.system(fetchcmd) 74 runfetchcmd(fetchcmd, d)
93 if ret != 0:
94 return False
95 75
96 # Sanity check since wget can pretend it succeed when it didn't 76 # Sanity check since wget can pretend it succeed when it didn't
97 # Also, this used to happen if sourceforge sent us to the mirror page 77 # Also, this used to happen if sourceforge sent us to the mirror page