aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDit Kozmaj <dit.kozmaj@kynetics.com>2023-07-26 08:04:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-07-27 21:08:36 +0100
commit3b17a7ed9bf6cd2808946c2d9c3ed9961af11f19 (patch)
tree06ef7b30a06326a4127d3bf87ec78d7219971dfb
parent64bc00a46d1aacc23fe7e8d9a46a126f3a4bc318 (diff)
downloadbitbake-contrib-3b17a7ed9bf6cd2808946c2d9c3ed9961af11f19.tar.gz
fetch2: Set maxsplit to match expected variables
Set the maxsplit value to match the expected number of variables. This also avoids an unnecessary split as the parameters are in the form 'key=value' and the 'value' could contain the '=' character. Signed-off-by: Dit Kozmaj <dit.kozmaj@kynetics.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--lib/bb/fetch2/__init__.py2
-rw-r--r--lib/bb/tests/fetch.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py
index 770021de1..8afe012ef 100644
--- a/lib/bb/fetch2/__init__.py
+++ b/lib/bb/fetch2/__init__.py
@@ -388,7 +388,7 @@ def decodeurl(url):
if s:
if not '=' in s:
raise MalformedUrl(url, "The URL: '%s' is invalid: parameter %s does not specify a value (missing '=')" % (url, s))
- s1, s2 = s.split('=')
+ s1, s2 = s.split('=', 1)
p[s1] = s2
return type, host, urllib.parse.unquote(path), user, pswd, p
diff --git a/lib/bb/tests/fetch.py b/lib/bb/tests/fetch.py
index 20593764f..c5d15e9fd 100644
--- a/lib/bb/tests/fetch.py
+++ b/lib/bb/tests/fetch.py
@@ -1342,6 +1342,7 @@ class URLHandle(unittest.TestCase):
"cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg" : ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', collections.OrderedDict([('tag', 'V0-99-81'), ('module', 'familiar/dist/ipkg')])),
"git://git.openembedded.org/bitbake;branch=@foo;protocol=https" : ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo', 'protocol' : 'https'}),
"file://somelocation;someparam=1": ('file', '', 'somelocation', '', '', {'someparam': '1'}),
+ "https://somesite.com/somerepo.git;user=anyUser:idtoken=1234" : ('https', 'somesite.com', '/somerepo.git', '', '', {'user': 'anyUser:idtoken=1234'}),
r'git://s.o-me_ONE:!#$%^&*()-_={}[]\|:?,.<>~`@git.openembedded.org/bitbake;branch=main;protocol=https': ('git', 'git.openembedded.org', '/bitbake', 's.o-me_ONE', r'!#$%^&*()-_={}[]\|:?,.<>~`', {'branch': 'main', 'protocol' : 'https'}),
}
# we require a pathname to encodeurl but users can still pass such urls to