From 5eed196f74f1589daa76a6fe5cd9ee862fadc9f0 Mon Sep 17 00:00:00 2001 From: "Dr. Christian Tacke" <58549698+ChristianTackeGSI@users.noreply.github.com> Date: Tue, 21 Jan 2020 20:14:38 +0100 Subject: Use util.url.join for URLs in GNU Mirrors / reorder Mirrors (#14395) * Reorder GNU mirrors (#14395) As @adamjstewart commented in #14395, GNU suggests to use their mirror. So reorder the mirror to the top. GNU Doc: https://www.gnu.org/prep/ftp.en.html * Use spack.util.url.join for URLs in GNU mirrors (#14395) One should not use os.path.join for URLs. This does only work on POSIX systems. Instead use spack.util.url.join. So every part in spack uses the same url joining method. --- lib/spack/spack/build_systems/gnu.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/build_systems/gnu.py b/lib/spack/spack/build_systems/gnu.py index f0e70f440f..c5b5e74bb9 100644 --- a/lib/spack/spack/build_systems/gnu.py +++ b/lib/spack/spack/build_systems/gnu.py @@ -3,8 +3,7 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -import os.path - +import spack.util.url import spack.package @@ -15,8 +14,8 @@ class GNUMirrorPackage(spack.package.PackageBase): #: List of GNU mirrors used by Spack base_mirrors = [ - 'https://ftp.gnu.org/gnu', 'https://ftpmirror.gnu.org/', + 'https://ftp.gnu.org/gnu/', # Fall back to http if https didn't work (for instance because # Spack is bootstrapping curl) 'http://ftpmirror.gnu.org/' @@ -26,7 +25,8 @@ class GNUMirrorPackage(spack.package.PackageBase): def urls(self): self._ensure_gnu_mirror_path_is_set_or_raise() return [ - os.path.join(m, self.gnu_mirror_path) for m in self.base_mirrors + spack.util.url.join(m, self.gnu_mirror_path, resolve_href=True) + for m in self.base_mirrors ] def _ensure_gnu_mirror_path_is_set_or_raise(self): -- cgit v1.2.3-60-g2f50