diff options
author | Mike Gilbert <floppym@gentoo.org> | 2020-05-31 09:11:41 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2020-05-31 16:32:46 -0400 |
commit | 4c18f523bb86a8be4c148f365dabee06fca2e4fa (patch) | |
tree | 6a9756287f615054a8c03a745e73e9be939d2e59 | |
parent | Updates for portage-2.3.100 release (diff) | |
download | portage-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.py | 9 |
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 = '' |