diff mbox series

fetch2: Set maxsplit to match expected variables

Message ID 20230725134710.85784-1-dit.kozmaj@kynetics.com
State Accepted, archived
Commit 3b17a7ed9bf6cd2808946c2d9c3ed9961af11f19
Headers show
Series fetch2: Set maxsplit to match expected variables | expand

Commit Message

Dit Kozmaj July 25, 2023, 1:47 p.m. UTC
From: Dit Kozmaj <dit.kozmaj@kynetics.com>

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>
---
 bitbake/lib/bb/fetch2/__init__.py | 2 +-
 bitbake/lib/bb/tests/fetch.py     | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Alexandre Belloni July 25, 2023, 4:39 p.m. UTC | #1
Hello,

On 25/07/2023 13:47:10+0000, Dit Kozmaj wrote:
> From: Dit Kozmaj <dit.kozmaj@kynetics.com>
> 
> 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>
> ---
>  bitbake/lib/bb/fetch2/__init__.py | 2 +-
>  bitbake/lib/bb/tests/fetch.py     | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 

This doesn't apply one master, which branch did you use? Can you rebase?

> diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
> index 3e6555bd67..79b289eaec 100644
> --- a/bitbake/lib/bb/fetch2/__init__.py
> +++ b/bitbake/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/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
> index 61dd5cccaf..a261ad69d8 100644
> --- a/bitbake/lib/bb/tests/fetch.py
> +++ b/bitbake/lib/bb/tests/fetch.py
> @@ -1197,6 +1197,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" : ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo'}),
>         "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'}),
>      }
>      # we require a pathname to encodeurl but users can still pass such urls to 
>      # decodeurl and we need to handle them
> -- 
> 2.25.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#14887): https://lists.openembedded.org/g/bitbake-devel/message/14887
> Mute This Topic: https://lists.openembedded.org/mt/100350479/3617179
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Dit Kozmaj July 26, 2023, 8:10 a.m. UTC | #2
Hello, I was using the Dunfell branch.
I forget to move to the master branch to apply the patch. Sorry about that.
However I send a new Patch v2 that applies on the master branch and
obviously test it.

Thanks.



On Tue, Jul 25, 2023 at 6:39 PM Alexandre Belloni <
alexandre.belloni@bootlin.com> wrote:

> Hello,
>
> On 25/07/2023 13:47:10+0000, Dit Kozmaj wrote:
> > From: Dit Kozmaj <dit.kozmaj@kynetics.com>
> >
> > 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>
> > ---
> >  bitbake/lib/bb/fetch2/__init__.py | 2 +-
> >  bitbake/lib/bb/tests/fetch.py     | 1 +
> >  2 files changed, 2 insertions(+), 1 deletion(-)
> >
>
> This doesn't apply one master, which branch did you use? Can you rebase?
>
> > diff --git a/bitbake/lib/bb/fetch2/__init__.py
> b/bitbake/lib/bb/fetch2/__init__.py
> > index 3e6555bd67..79b289eaec 100644
> > --- a/bitbake/lib/bb/fetch2/__init__.py
> > +++ b/bitbake/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/bitbake/lib/bb/tests/fetch.py
> b/bitbake/lib/bb/tests/fetch.py
> > index 61dd5cccaf..a261ad69d8 100644
> > --- a/bitbake/lib/bb/tests/fetch.py
> > +++ b/bitbake/lib/bb/tests/fetch.py
> > @@ -1197,6 +1197,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" : ('git', '
> git.openembedded.org', '/bitbake', '', '', {'branch': '@foo'}),
> >         "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'}),
> >      }
> >      # we require a pathname to encodeurl but users can still pass such
> urls to
> >      # decodeurl and we need to handle them
> > --
> > 2.25.1
> >
>
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#14887):
> https://lists.openembedded.org/g/bitbake-devel/message/14887
> > Mute This Topic: https://lists.openembedded.org/mt/100350479/3617179
> > Group Owner: bitbake-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [
> alexandre.belloni@bootlin.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 3e6555bd67..79b289eaec 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/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/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 61dd5cccaf..a261ad69d8 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -1197,6 +1197,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" : ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo'}),
        "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'}),
     }
     # we require a pathname to encodeurl but users can still pass such urls to 
     # decodeurl and we need to handle them