spack/lib/spack
Harmen Stoppels 28675478ce
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`
2024-01-16 21:11:43 -08:00
..
docs Add documentation on checked_by license parameter (#41959) 2024-01-11 16:25:11 -08:00
env Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00
external Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00
llnl Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00
spack Create reproducible tarballs in VCSFetchStrategy.archive (#42042) 2024-01-16 21:11:43 -08:00
spack_installable Update copyright year to 2024 (#41919) 2024-01-02 09:21:30 +01:00