mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789)
* Some packages (e.g. mpfr at the time of this patch) can have patches with the same name but different contents (which apply to different versions of the package). This appends part of the patch hash to the cache file name to avoid conflicts. * Some exceptions which occur during fetching are not a subclass of SpackError and therefore do not have a 'message' attribute. This updates the logic for mirroring a single spec (add_single_spec) to produce an appropriate error message in that case (where before it failed with an AttributeError) * In various circumstances, a mirror can contain the universal storage path but not a cosmetic symlink; in this case it would not generate a symlink. Now "spack mirror create" will create a symlink for any package that doesn't have one.
Showing
- lib/spack/spack/caches.py 10 additions, 7 deletionslib/spack/spack/caches.py
- lib/spack/spack/mirror.py 1 addition, 1 deletionlib/spack/spack/mirror.py
- lib/spack/spack/patch.py 7 additions, 3 deletionslib/spack/spack/patch.py
- lib/spack/spack/stage.py 6 additions, 6 deletionslib/spack/spack/stage.py
Please register or sign in to comment