mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00: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:
|
else:
|
||||||
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
|
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
|
||||||
if uri_find_decoded.index(i) == 2:
|
if uri_find_decoded.index(i) == 2:
|
||||||
|
basename = None
|
||||||
if ud.mirrortarball:
|
if ud.mirrortarball:
|
||||||
if result_decoded[loc].endswith("/"):
|
basename = os.path.basename(ud.localpath)
|
||||||
result_decoded[loc] = os.path.dirname(result_decoded[loc])
|
|
||||||
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
|
|
||||||
elif ud.localpath:
|
elif ud.localpath:
|
||||||
if result_decoded[loc].endswith("/"):
|
basename = os.path.basename(ud.localpath)
|
||||||
result_decoded[loc] = os.path.dirname(result_decoded[loc])
|
if basename and result_decoded[loc].endswith("/"):
|
||||||
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
|
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:
|
else:
|
||||||
return ud.url
|
return ud.url
|
||||||
result = encodeurl(result_decoded)
|
result = encodeurl(result_decoded)
|
||||||
|
|||||||
Reference in New Issue
Block a user