Patchwork [bitbake-devel,v2] fetch2: replace double slashes in paths in encodeurl()

login
register
mail settings
Submitter Paul Eggleton
Date Sept. 7, 2012, 1:34 p.m.
Message ID <1347024875-9427-1-git-send-email-paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/36123/
State New
Headers show

Comments

Paul Eggleton - Sept. 7, 2012, 1:34 p.m.
This ensures that if all a MIRRORS entry does is add a slash, this does
not result in a circular loop.

Fixes [YOCTO #3073].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 bitbake/lib/bb/fetch2/__init__.py |    3 +++
 1 file changed, 3 insertions(+)
Richard Purdie - Sept. 7, 2012, 1:50 p.m.
On Fri, 2012-09-07 at 14:34 +0100, Paul Eggleton wrote:
> This ensures that if all a MIRRORS entry does is add a slash, this does
> not result in a circular loop.
> 
> Fixes [YOCTO #3073].
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  bitbake/lib/bb/fetch2/__init__.py |    3 +++
>  1 file changed, 3 insertions(+)

Merged to master, thanks.

Richard

Patch

diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 12ebce2..b232d3e 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -178,6 +178,9 @@  def encodeurl(decoded):
         url += "@"
     if host and type != "file":
         url += "%s" % host
+    # Standardise path to ensure comparisons work
+    while '//' in path:
+        path = path.replace("//", "/")
     url += "%s" % urllib.quote(path)
     if p:
         for parm in p: