diff options
Diffstat (limited to 'bitbake/lib/bb/fetch2')
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 88c92c0b03..844f24aa5e 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
@@ -182,7 +182,7 @@ def encodeurl(decoded): | |||
182 | 182 | ||
183 | return url | 183 | return url |
184 | 184 | ||
185 | def uri_replace(ud, uri_find, uri_replace, d): | 185 | def uri_replace(ud, uri_find, uri_replace, replacements, d): |
186 | if not ud.url or not uri_find or not uri_replace: | 186 | if not ud.url or not uri_find or not uri_replace: |
187 | logger.error("uri_replace: passed an undefined value, not replacing") | 187 | logger.error("uri_replace: passed an undefined value, not replacing") |
188 | return None | 188 | return None |
@@ -213,6 +213,8 @@ def uri_replace(ud, uri_find, uri_replace, d): | |||
213 | if not uri_replace_decoded[loc]: | 213 | if not uri_replace_decoded[loc]: |
214 | result_decoded[loc] = "" | 214 | result_decoded[loc] = "" |
215 | else: | 215 | else: |
216 | for k in replacements: | ||
217 | uri_replace_decoded[loc] = uri_replace_decoded[loc].replace(k, replacements[k]) | ||
216 | #bb.note("%s %s %s" % (i, uri_replace_decoded[loc], uri_decoded[loc])) | 218 | #bb.note("%s %s %s" % (i, uri_replace_decoded[loc], uri_decoded[loc])) |
217 | result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc]) | 219 | result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc]) |
218 | if loc == 2: | 220 | if loc == 2: |
@@ -485,13 +487,20 @@ def build_mirroruris(origud, mirrors, ld): | |||
485 | uris = [] | 487 | uris = [] |
486 | uds = [] | 488 | uds = [] |
487 | 489 | ||
490 | replacements = {} | ||
491 | replacements["TYPE"] = origud.type | ||
492 | replacements["HOST"] = origud.host | ||
493 | replacements["PATH"] = origud.path | ||
494 | replacements["BASENAME"] = origud.path.split("/")[-1] | ||
495 | replacements["MIRRORNAME"] = origud.host.replace(':','.') + origud.path.replace('/', '.') | ||
496 | |||
488 | def adduri(uri, ud, uris, uds): | 497 | def adduri(uri, ud, uris, uds): |
489 | for line in mirrors: | 498 | for line in mirrors: |
490 | try: | 499 | try: |
491 | (find, replace) = line | 500 | (find, replace) = line |
492 | except ValueError: | 501 | except ValueError: |
493 | continue | 502 | continue |
494 | newuri = uri_replace(ud, find, replace, ld) | 503 | newuri = uri_replace(ud, find, replace, replacements, ld) |
495 | if not newuri or newuri in uris or newuri == origud.url: | 504 | if not newuri or newuri in uris or newuri == origud.url: |
496 | continue | 505 | continue |
497 | try: | 506 | try: |