diff options
author | John W. Parent <45471568+johnwparent@users.noreply.github.com> | 2023-05-10 18:07:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-10 18:07:56 -0400 |
commit | 85cc9097cb10227fcb967e5620f07236006b80c3 (patch) | |
tree | 53cac48243deac5e7e59897b659bb1d0ad318f1f /etc | |
parent | 830ee6a1eb22fb42c5185ae3e60e5733f0ff4feb (diff) | |
download | spack-85cc9097cb10227fcb967e5620f07236006b80c3.tar.gz spack-85cc9097cb10227fcb967e5620f07236006b80c3.tar.bz2 spack-85cc9097cb10227fcb967e5620f07236006b80c3.tar.xz spack-85cc9097cb10227fcb967e5620f07236006b80c3.zip |
Windows: prefer Python decompression support (#36507)
On Windows, several commonly available system tools for decompression
are unreliable (gz/bz2/xz). This commit refactors `decompressor_for`
to call out to a Windows or Unix-specific method:
* The decompressor_for_nix method behaves the same as before and
generally treats the Python/system support options for decompression
as interchangeable (although avoids using Python's built-in tar
support since that has had issues with permissions).
* The decompressor_for_win method can only use Python support for
gz/bz2/xz, although for a tar.gz it does use system support for
untar (after the decompression step). .zip uses the system tar
utility, and .Z depends on external support (i.e. that the user
has installed 7zip).
A naming scheme has been introduced for the various _decompression
methods:
* _system_gunzip means to use a system tool (and fail if it's not
available)
* _py_gunzip means to use Python's built-in support for decompressing
.gzip files (and fail if it's not available)
* _gunzip is a method that can do either
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions