aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2020-05-31 09:11:41 -0400
committerMike Gilbert <floppym@gentoo.org>2020-05-31 16:32:46 -0400
commit4c18f523bb86a8be4c148f365dabee06fca2e4fa (patch)
tree6a9756287f615054a8c03a745e73e9be939d2e59
parentUpdates for portage-2.3.100 release (diff)
downloadportage-4c18f523.tar.gz
portage-4c18f523.tar.bz2
portage-4c18f523.zip
Escape percent-signs in filename when fetching from mirrors
Bug: https://bugs.gentoo.org/719810 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rw-r--r--lib/portage/package/ebuild/fetch.py9
1 files 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 = ''