summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-08-24 00:10:28 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-23 13:48:43 +0100
commitd5cab2dbf5682d2fd08e58316a3bf39a10f63df2 (patch)
tree2cf56623b7a0e183762d89bffb8caa8e0c748163
parent27ca94c33234f0ef9753f8285213dde2871a3fcf (diff)
downloadbitbake-contrib-d5cab2dbf5682d2fd08e58316a3bf39a10f63df2.tar.gz
bitbake-contrib-d5cab2dbf5682d2fd08e58316a3bf39a10f63df2.tar.bz2
bitbake-contrib-d5cab2dbf5682d2fd08e58316a3bf39a10f63df2.zip
fetch2: don't mandate path element in encodeurl()
URLs do not have to have a path; currently our npm URLs don't, so encodeurl() needs to handle if the path element isn't specified. This fixes errors using OpenEmbedded's devtool add / recipetool create on an npm URL after OE-Core revision ecca596b75cfda2f798a0bdde75f4f774e23a95b that uses decodeurl() and encodeurl() to change URL parameter values. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/fetch2/__init__.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py
index 7afb2aeb73..3eb0e4d211 100644
--- a/lib/bb/fetch2/__init__.py
+++ b/lib/bb/fetch2/__init__.py
@@ -411,8 +411,6 @@ def encodeurl(decoded):
type, host, path, user, pswd, p = decoded
- if not path:
- raise MissingParameterError('path', "encoded from the data %s" % str(decoded))
if not type:
raise MissingParameterError('type', "encoded from the data %s" % str(decoded))
url = '%s://' % type
@@ -423,10 +421,11 @@ 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.parse.quote(path)
+ if path:
+ # Standardise path to ensure comparisons work
+ while '//' in path:
+ path = path.replace("//", "/")
+ url += "%s" % urllib.parse.quote(path)
if p:
for parm in p:
url += ";%s=%s" % (parm, p[parm])