summaryrefslogtreecommitdiff
path: root/bitbake/lib
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/fetch/wget.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch/wget.py b/bitbake/lib/bb/fetch/wget.py
index 88193755d..75357d539 100644
--- a/bitbake/lib/bb/fetch/wget.py
+++ b/bitbake/lib/bb/fetch/wget.py
@@ -60,11 +60,30 @@ class Wget(Fetch):
else:
fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
+ uri = uri.split(";")[0]
+ uri_decoded = list(bb.decodeurl(uri))
+ 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("${URI}", uri)
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
- httpproxy = data.getVar("http_proxy", d, True)
- ftpproxy = data.getVar("ftp_proxy", d, True)
+ httpproxy = None
+ ftpproxy = None
+ if uri_type == 'http':
+ httpproxy = data.getVar("HTTP_PROXY", d, True)
+ httpproxy_ignore = data.getVar("HTTP_PROXY_IGNORE", d, True).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).split()
+ for p in ftpproxy_ignore:
+ if uri_host.endswith(p):
+ ftpproxy = None
+ break
if httpproxy:
fetchcmd = "http_proxy=" + httpproxy + " " + fetchcmd
if ftpproxy: