Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o, Mike Gilbert <floppym@g.o>
Subject: Re: [gentoo-portage-dev] [PATCH] Escape percent-signs in filename when fetching from mirrors
Date: Sun, 31 May 2020 20:20:52
Message-Id: c80188dc-f9b4-9c20-32f7-6912cdd7efd4@gentoo.org
In Reply to: [gentoo-portage-dev] [PATCH] Escape percent-signs in filename when fetching from mirrors by Mike Gilbert
1 On 5/30/20 8:26 PM, Mike Gilbert wrote:
2 > Bug: https://bugs.gentoo.org/719810
3 > Signed-off-by: Mike Gilbert <floppym@g.o>
4 > ---
5 > lib/portage/package/ebuild/fetch.py | 9 +++++++--
6 > 1 file changed, 7 insertions(+), 2 deletions(-)
7 >
8 > diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py
9 > index 28e7caf53..47c3ad28f 100644
10 > --- a/lib/portage/package/ebuild/fetch.py
11 > +++ b/lib/portage/package/ebuild/fetch.py
12 > @@ -26,6 +26,11 @@ try:
13 > except ImportError:
14 > from urlparse import urlparse
15 >
16 > +try:
17 > + from urllib.parse import quote as urlquote
18 > +except ImportError:
19 > + from urllib import quote as urlquote
20 > +
21 > import portage
22 > portage.proxy.lazyimport.lazyimport(globals(),
23 > 'portage.package.ebuild.config:check_config_instance,config',
24 > @@ -351,7 +356,7 @@ _size_suffix_map = {
25 >
26 > class FlatLayout(object):
27 > def get_path(self, filename):
28 > - return filename
29 > + return urlquote(filename)
30 >
31 > def get_filenames(self, distdir):
32 > for dirpath, dirnames, filenames in os.walk(distdir,
33 > @@ -382,7 +387,7 @@ class FilenameHashLayout(object):
34 > c = c // 4
35 > ret += fnhash[:c] + '/'
36 > fnhash = fnhash[c:]
37 > - return ret + filename
38 > + return ret + urlquote(filename)
39 >
40 > def get_filenames(self, distdir):
41 > pattern = ''
42 >
43
44 Please go ahead an merge, since SRC_URI arrows allow use to neglect
45 unquoting as discussed in
46 https://archives.gentoo.org/gentoo-portage-dev/message/176d5e6f38b346be760d05f9c6e72e02.
47 --
48 Thanks,
49 Zac

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies