diff options
author | Harmen Stoppels <me@harmenstoppels.nl> | 2024-01-17 06:11:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-16 21:11:43 -0800 |
commit | 28675478ce7c8b3dc1d896829585493ce57cd420 (patch) | |
tree | 1a02816b35c3cf1441c341bed0e82ea4de72ec21 /var | |
parent | c05ed2c31a8f30bf6665f0a0b86749b43b8c1508 (diff) | |
download | spack-28675478ce7c8b3dc1d896829585493ce57cd420.tar.gz spack-28675478ce7c8b3dc1d896829585493ce57cd420.tar.bz2 spack-28675478ce7c8b3dc1d896829585493ce57cd420.tar.xz spack-28675478ce7c8b3dc1d896829585493ce57cd420.zip |
Create reproducible tarballs in VCSFetchStrategy.archive (#42042)
Currently when you repeatedly create a bootstrap mirror that includes
`clingo-bootstrap@spack` you get different tarballs every time.
This is a general problem with mirroring checkouts from version control
as tarballs. I think it's best to create tarballs ourselves, since that way we
have more control over its contents.
This PR ensures normalized tarballs like we do for build caches:
- normalize file permissions (in fact that was already inspired by git, so
should be good)
- normalized file creation/modification time (timestamp 0)
- uid / guid = 0, no usernames
- normalized gzip header
- dir entries are ordered by `(is_dir, name)` where strings are not locale aware ;)
- POSIX says st_mode of symlinks is unspecified, so work around it and
force mode to `0o755`
Diffstat (limited to 'var')
0 files changed, 0 insertions, 0 deletions