Re: [PATCH] Escape percent-signs in filename when fetching from mirrors

Mike Gilbert <[email protected]>
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <CAJ0EP40zAFGzZz_9UD+htuwV3UFy7_KLS35M4S5MN6UXvM_UfA@mail.gmail.com>
On Sun, May 31, 2020 at 4:20 PM Zac Medico <[email protected]> wrote:
>
> On 5/30/20 8:26 PM, Mike Gilbert wrote:
> > Bug: https://bugs.gentoo.org/719810
> > Signed-off-by: Mike Gilbert <[email protected]>
> > ---
> >  lib/portage/package/ebuild/fetch.py | 9 +++++++--
> >  1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py
> > index 28e7caf53..47c3ad28f 100644
> > --- a/lib/portage/package/ebuild/fetch.py
> > +++ b/lib/portage/package/ebuild/fetch.py
> > @@ -26,6 +26,11 @@ try:
> >  except ImportError:
> >       from urlparse import urlparse
> >
> > +try:
> > +     from urllib.parse import quote as urlquote
> > +except ImportError:
> > +     from urllib import quote as urlquote
> > +
> >  import portage
> >  portage.proxy.lazyimport.lazyimport(globals(),
> >       'portage.package.ebuild.config:check_config_instance,config',
> > @@ -351,7 +356,7 @@ _size_suffix_map = {
> >
> >  class FlatLayout(object):
> >       def get_path(self, filename):
> > -             return filename
> > +             return urlquote(filename)
> >
> >       def get_filenames(self, distdir):
> >               for dirpath, dirnames, filenames in os.walk(distdir,
> > @@ -382,7 +387,7 @@ class FilenameHashLayout(object):
> >                       c = c // 4
> >                       ret += fnhash[:c] + '/'
> >                       fnhash = fnhash[c:]
> > -             return ret + filename
> > +             return ret + urlquote(filename)
> >
> >       def get_filenames(self, distdir):
> >               pattern = ''
> >
>
> Please go ahead an merge, since SRC_URI arrows allow use to neglect
> unquoting as discussed in
> https://archives.gentoo.org/gentoo-portage-dev/message/176d5e6f38b346be760d05f9c6e72e02.

I ended up reverting this; I did not realize emirrordist shared the
same code. A new patch is on its way.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.