Fetching from URLs falls back to mirrors if they exist (#13881)
Users can now list mirrors of the main url in packages. - [x] Instead of just a single `url` attribute, users can provide a list (`urls`) in the package, and these will be tried by in order by the fetch strategy. - [x] To handle one of the most common mirror cases, define a `GNUMirrorPackage` mixin to handle all the standard GNU mirrors. GNU packages can set `gnu_mirror_path` to define the path within a mirror, and the mixin handles setting up all the requisite GNU mirror URLs. - [x] update all GNU packages in `builtin` to use the `GNUMirrorPackage` mixin.
Showing
- lib/spack/docs/packaging_guide.rst 28 additions, 0 deletionslib/spack/docs/packaging_guide.rst
- lib/spack/spack/build_systems/gnu.py 37 additions, 0 deletionslib/spack/spack/build_systems/gnu.py
- lib/spack/spack/cmd/url.py 2 additions, 2 deletionslib/spack/spack/cmd/url.py
- lib/spack/spack/fetch_strategy.py 69 additions, 64 deletionslib/spack/spack/fetch_strategy.py
- lib/spack/spack/package.py 11 additions, 3 deletionslib/spack/spack/package.py
- lib/spack/spack/pkgkit.py 1 addition, 0 deletionslib/spack/spack/pkgkit.py
- lib/spack/spack/stage.py 2 additions, 2 deletionslib/spack/spack/stage.py
- lib/spack/spack/test/conftest.py 0 additions, 3 deletionslib/spack/spack/test/conftest.py
- lib/spack/spack/test/url_fetch.py 48 additions, 11 deletionslib/spack/spack/test/url_fetch.py
- var/spack/repos/builtin.mock/packages/noversion-bundle/package.py 1 addition, 1 deletion...k/repos/builtin.mock/packages/noversion-bundle/package.py
- var/spack/repos/builtin/packages/aspell/package.py 3 additions, 3 deletionsvar/spack/repos/builtin/packages/aspell/package.py
- var/spack/repos/builtin/packages/aspell6-de/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/aspell6-de/package.py
- var/spack/repos/builtin/packages/aspell6-en/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/aspell6-en/package.py
- var/spack/repos/builtin/packages/aspell6-es/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/aspell6-es/package.py
- var/spack/repos/builtin/packages/autoconf/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/autoconf/package.py
- var/spack/repos/builtin/packages/autogen/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/autogen/package.py
- var/spack/repos/builtin/packages/automake/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/automake/package.py
- var/spack/repos/builtin/packages/bash/package.py 3 additions, 2 deletionsvar/spack/repos/builtin/packages/bash/package.py
- var/spack/repos/builtin/packages/bc/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/bc/package.py
- var/spack/repos/builtin/packages/binutils/package.py 2 additions, 2 deletionsvar/spack/repos/builtin/packages/binutils/package.py
Loading
Please register or sign in to comment