aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2020-05-31 17:24:25 -0400
committerMike Gilbert <floppym@gentoo.org>2020-05-31 17:30:14 -0400
commitc238d5f7ed264179c263f5a2da983c4ee50b4f00 (patch)
tree3a1b95824878e9f5d84bd53bfecc7ec0d7571673
parentRevert "Escape percent-signs in filename when fetching from mirrors" (diff)
downloadportage-c238d5f7ed264179c263f5a2da983c4ee50b4f00.tar.gz
portage-c238d5f7ed264179c263f5a2da983c4ee50b4f00.tar.bz2
portage-c238d5f7ed264179c263f5a2da983c4ee50b4f00.zip
Escape percent-signs in portage.package.ebuild.fetch.get_mirror_url()
This avoids double-escaping in emirrordist. We only want to escape the path when fetching the file from the mirror, not when mirroring the file. Bug: https://bugs.gentoo.org/719810 Fixes: 4c18f523bb86a8be4c148f365dabee06fca2e4fa Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rw-r--r--lib/portage/package/ebuild/fetch.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py
index 28e7caf53..9682fea89 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',
@@ -520,7 +525,7 @@ def get_mirror_url(mirror_url, filename, mysettings, cache_path=None):
f.close()
return (mirror_url + "/distfiles/" +
- mirror_conf.get_best_supported_layout().get_path(filename))
+ urlquote(mirror_conf.get_best_supported_layout().get_path(filename)))
def fetch(myuris, mysettings, listonly=0, fetchonly=0,