]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
fetch2/local: Ensure quoting is handled correctly from the url
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Jun 2012 12:57:53 +0000 (13:57 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 14 Jun 2012 12:57:59 +0000 (13:57 +0100)
The commit 420eb112a4f (fetch2: quote/unquote url paths) caused a regression
since local file urls containing quoted characters are no longer being handled
correctly. This fixes things so the url is dequoted correctly, fixing various
fetcher failures with recipes like "gtk+".

[YOCTO #2558]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/fetch2/local.py

index a0ed4442fb2cd30711ccc122ef8a69a3a2966d2d..1f4ec371a4d39e624617b5c3657b41c4c3b16d9c 100644 (file)
@@ -26,6 +26,7 @@ BitBake build tools.
 # Based on functions from the base bb module, Copyright 2003 Holger Schurig
 
 import os
+import urllib
 import bb
 import bb.utils
 from   bb import data
@@ -40,7 +41,7 @@ class Local(FetchMethod):
 
     def urldata_init(self, ud, d):
         # We don't set localfile as for this fetcher the file is already local!
-        ud.basename = os.path.basename(ud.url.split("://")[1].split(";")[0])
+        ud.basename = os.path.basename(urllib.unquote(ud.url.split("://")[1].split(";")[0]))
         return
 
     def localpath(self, url, urldata, d):
@@ -49,6 +50,7 @@ class Local(FetchMethod):
         """
         path = url.split("://")[1]
         path = path.split(";")[0]
+        path = urllib.unquote(path)
         newpath = path
         if path[0] != "/":
             filespath = data.getVar('FILESPATH', d, True)