mirror of
https://git.yoctoproject.org/poky
synced 2026-02-09 02:03:04 +01:00
bitbake/fetch: Fix uri_replace
We were seeing duplicate endings to urls:
DEBUG: For url ['http', 'www.apache.org', '/dist/subversion/subversion-1.7.1.tar.bz2', '', '', {}] comparing ['http', 'www.apache.org', '/dist', '', '', {}] to ['http', 'archive.apache.org', '/dist', '', '', {}]
DEBUG: For url http://www.apache.org/dist/subversion/subversion-1.7.1.tar.bz2 returning http://archive.apache.org/dist/subversion/subversion-1.7.1.tar.bz2/subversion-1.7.1.tar.bz2
This patch addresses this by only performing substitutions when really needed.
(Bitbake rev: a17473d51f54a9dfb4eeaa5ad516c4851d5ac142)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -190,14 +190,15 @@ def uri_replace(ud, uri_find, uri_replace, d):
|
||||
else:
|
||||
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
|
||||
if uri_find_decoded.index(i) == 2:
|
||||
basename = None
|
||||
if ud.mirrortarball:
|
||||
if result_decoded[loc].endswith("/"):
|
||||
result_decoded[loc] = os.path.dirname(result_decoded[loc])
|
||||
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
|
||||
basename = os.path.basename(ud.localpath)
|
||||
elif ud.localpath:
|
||||
if result_decoded[loc].endswith("/"):
|
||||
result_decoded[loc] = os.path.dirname(result_decoded[loc])
|
||||
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
|
||||
basename = os.path.basename(ud.localpath)
|
||||
if basename and result_decoded[loc].endswith("/"):
|
||||
result_decoded[loc] = os.path.dirname(result_decoded[loc])
|
||||
if basename and not result_decoded[loc].endswith(basename):
|
||||
result_decoded[loc] = os.path.join(result_decoded[loc], basename)
|
||||
else:
|
||||
return ud.url
|
||||
result = encodeurl(result_decoded)
|
||||
|
||||
Reference in New Issue
Block a user