summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/fetch2/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/fetch2/__init__.py')
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py13
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
185def uri_replace(ud, uri_find, uri_replace, d): 185def 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: