@@ -344,8 +344,11 @@ class Wget(FetchMethod):
opener = urllib.request.build_opener(*handlers)
try:
- uri_base = ud.url.split(";")[0]
- uri = "{}://{}{}".format(urllib.parse.urlparse(uri_base).scheme, ud.host, ud.path)
+ parts = urllib.parse.urlparse(ud.url.split(";")[0])
+ if parts.query:
+ uri = "{}://{}{}?{}".format(parts.scheme, parts.netloc, parts.path, parts.query)
+ else:
+ uri = "{}://{}{}".format(parts.scheme, parts.netloc, parts.path)
r = urllib.request.Request(uri)
r.get_method = lambda: "HEAD"
# Some servers (FusionForge, as used on Alioth) require that the
When recreating the uri in wget's checkstatus method, we only use the scheme, host and path. This completely strips the query parameters from the final URI and potentially breaks the checking functionality for URLs that require query parameters (such as the AZ fetcher with SAS token). This bug was resolved on master in `096301250455e2a83bdd818a56317c62436c9981`. This patch is adapted to the scarthgap branch. CC: Steve Sakoman <steve@sakoman.com> Signed-off-by: Philippe-Alexandre Mathieu <pamathieu@poum.ca> --- bitbake/lib/bb/fetch2/wget.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)