diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-08-24 00:10:28 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-23 13:48:43 +0100 |
commit | d5cab2dbf5682d2fd08e58316a3bf39a10f63df2 (patch) | |
tree | 2cf56623b7a0e183762d89bffb8caa8e0c748163 /lib | |
parent | 27ca94c33234f0ef9753f8285213dde2871a3fcf (diff) | |
download | bitbake-contrib-d5cab2dbf5682d2fd08e58316a3bf39a10f63df2.tar.gz |
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>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/fetch2/__init__.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 7afb2aeb7..3eb0e4d21 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]) |