diff options
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/fetch/wget.py | 25 |
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: |