diff options
author | Thomas Perrot <thomas.perrot@bootlin.com> | 2024-02-09 17:04:50 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-10 14:13:51 +0000 |
commit | 987ab2a446aab235d6e86e97c05f25fb800d7acc (patch) | |
tree | ef608bf644940f3dcc48c05d875512fdfd5f2675 /bitbake/lib/bb/fetch2/wget.py | |
parent | 0f50f21151f302d4b4db115866a907628bcd4e3c (diff) | |
download | poky-987ab2a446aab235d6e86e97c05f25fb800d7acc.tar.gz |
bitbake: wget.py: always use the custom user agent
Add the "--user-agent" paramater in the wget base command to
perform all wget commands with this parameter, because a few
HTTP servers block requests with the default wget user agent.
For example, "hg.openjdk.org" never send a response to requests
have been sent with wget:
wget https://hg.openjdk.org/jdk8u/jdk8u/archive/jdk8u272-ga.tar.bz2
https://hg.openjdk.org/jdk8u/jdk8u/archive/jdk8u272-ga.tar.bz2
Resolving hg.openjdk.org (hg.openjdk.org)... 23.54.129.73
Connecting to hg.openjdk.org (hg.openjdk.org)|23.54.129.73|:443... connected.
HTTP request sent, awaiting response...
(Bitbake rev: d6fa261a9603677f0b3abbd309c1ca6073b63f4c)
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/fetch2/wget.py')
-rw-r--r-- | bitbake/lib/bb/fetch2/wget.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py index dc025800e6..bb38dd4358 100644 --- a/bitbake/lib/bb/fetch2/wget.py +++ b/bitbake/lib/bb/fetch2/wget.py | |||
@@ -87,7 +87,8 @@ class Wget(FetchMethod): | |||
87 | if not ud.localfile: | 87 | if not ud.localfile: |
88 | ud.localfile = d.expand(urllib.parse.unquote(ud.host + ud.path).replace("/", ".")) | 88 | ud.localfile = d.expand(urllib.parse.unquote(ud.host + ud.path).replace("/", ".")) |
89 | 89 | ||
90 | self.basecmd = d.getVar("FETCHCMD_wget") or "/usr/bin/env wget -t 2 -T 30 --passive-ftp" | 90 | self.basecmd = d.getVar("FETCHCMD_wget") \ |
91 | or "/usr/bin/env wget -t 2 -T 30 --passive-ftp --user-agent='%s'" % (self.user_agent) | ||
91 | 92 | ||
92 | if not self.check_certs(d): | 93 | if not self.check_certs(d): |
93 | self.basecmd += " --no-check-certificate" | 94 | self.basecmd += " --no-check-certificate" |
@@ -454,7 +455,7 @@ class Wget(FetchMethod): | |||
454 | f = tempfile.NamedTemporaryFile() | 455 | f = tempfile.NamedTemporaryFile() |
455 | with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f: | 456 | with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f: |
456 | fetchcmd = self.basecmd | 457 | fetchcmd = self.basecmd |
457 | fetchcmd += " -O " + f.name + " --user-agent='" + self.user_agent + "' '" + uri + "'" | 458 | fetchcmd += " -O " + f.name + " '" + uri + "'" |
458 | try: | 459 | try: |
459 | self._runwget(ud, d, fetchcmd, True, workdir=workdir) | 460 | self._runwget(ud, d, fetchcmd, True, workdir=workdir) |
460 | fetchresult = f.read() | 461 | fetchresult = f.read() |
@@ -492,7 +493,7 @@ class Wget(FetchMethod): | |||
492 | valid = 1 | 493 | valid = 1 |
493 | elif self._vercmp(version, newver) < 0: | 494 | elif self._vercmp(version, newver) < 0: |
494 | version = newver | 495 | version = newver |
495 | 496 | ||
496 | pupver = re.sub('_', '.', version[1]) | 497 | pupver = re.sub('_', '.', version[1]) |
497 | 498 | ||
498 | bb.debug(3, "*** %s -> UpstreamVersion = %s (CurrentVersion = %s)" % | 499 | bb.debug(3, "*** %s -> UpstreamVersion = %s (CurrentVersion = %s)" % |