Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/package/ebuild/
Date: Sun, 31 May 2020 20:34:53
Message-Id: 1590957166.4c18f523bb86a8be4c148f365dabee06fca2e4fa.floppym@gentoo
1 commit: 4c18f523bb86a8be4c148f365dabee06fca2e4fa
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 31 13:11:41 2020 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun May 31 20:32:46 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4c18f523
7
8 Escape percent-signs in filename when fetching from mirrors
9
10 Bug: https://bugs.gentoo.org/719810
11 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
12
13 lib/portage/package/ebuild/fetch.py | 9 +++++++--
14 1 file changed, 7 insertions(+), 2 deletions(-)
15
16 diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py
17 index 28e7caf53..47c3ad28f 100644
18 --- a/lib/portage/package/ebuild/fetch.py
19 +++ b/lib/portage/package/ebuild/fetch.py
20 @@ -26,6 +26,11 @@ try:
21 except ImportError:
22 from urlparse import urlparse
23
24 +try:
25 + from urllib.parse import quote as urlquote
26 +except ImportError:
27 + from urllib import quote as urlquote
28 +
29 import portage
30 portage.proxy.lazyimport.lazyimport(globals(),
31 'portage.package.ebuild.config:check_config_instance,config',
32 @@ -351,7 +356,7 @@ _size_suffix_map = {
33
34 class FlatLayout(object):
35 def get_path(self, filename):
36 - return filename
37 + return urlquote(filename)
38
39 def get_filenames(self, distdir):
40 for dirpath, dirnames, filenames in os.walk(distdir,
41 @@ -382,7 +387,7 @@ class FilenameHashLayout(object):
42 c = c // 4
43 ret += fnhash[:c] + '/'
44 fnhash = fnhash[c:]
45 - return ret + filename
46 + return ret + urlquote(filename)
47
48 def get_filenames(self, distdir):
49 pattern = ''