bitbake: fetch2: uri_replace() improve mirrortarball handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Jun 2012 12:58:04 +0000 (12:58 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 21 Jun 2012 12:10:33 +0000 (13:10 +0100)
We only consider mirror tarballs when the source and target urls are of
differing types. We also should clear all url paramters when handling
mirror tarballs.

(From Poky rev: da140b8b0b3dda5429f9eee68829ef5247cdfe12)

(Bitbake rev: 7619dcad29a6c2405b15a8fbadfa11e81b399ae1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/fetch2/__init__.py

index baf668d..f81b845 100644 (file)
@@ -212,8 +212,11 @@ def uri_replace(ud, uri_find, uri_replace, d):
             if loc == 2:
                 # Handle path manipulations
                 basename = None
-                if ud.mirrortarball:
+                if uri_decoded[0] != uri_replace_decoded[0] and ud.mirrortarball:
+                    # If the source and destination url types differ, must be a mirrortarball mapping
                     basename = os.path.basename(ud.mirrortarball)
+                    # Kill parameters, they make no sense for mirror tarballs
+                    uri_decoded[5] = {}
                 elif ud.localpath:
                     basename = os.path.basename(ud.localpath)
                 if basename and not result_decoded[loc].endswith(basename):