From bea442519e15f09c1939d526c4c74dd4e3b9b2cd Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 26 Sep 2024 14:35:01 +0200 Subject: [PATCH 1/3] add reproducible tarballs to the enhancements of EasyBuild v5 --- docs/easybuild-v5/enhancements.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 4078d963d..a351d96f9 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -6,6 +6,7 @@ Various significant enhancements are included in EasyBuild v5.0, including: * [`run_shell_cmd` function][run_shell_cmd] * [Granular exit codes][granular_exit_codes] +* [Reproducible tarballs][reproducible_tarballs] --- @@ -25,3 +26,17 @@ checksum check. The full list of exit codes is defined in the class EasyBuild will always return its own exit codes on termination. Other exit codes from external processes executed through `run_shell_cmd` or HTTP response status codes are reported in the corresponding logs. + +## Reproducible tarballs { : #reproducible_tarballs} + +EasyBuild can now generate reproducible tarballs of sources downloaded from Git +repositories. This means that the contents of sources obtained by cloning Git +repositories will be consistent across different systems and across time, +allowing to reliably validate those sources with checksums. EasyBuild follows +the [archival guidelines from reproducible-builds.org](https://reproducible-builds.org/docs/archives/) +to generate reproducible tarballs. + +This new feature does not apply to sources cloned with `keep_git_dir` enabled. +Including the `.git` folder in the sources is inherently time-dependent as it +contains information about the clone action itself, which hinders the creation +of a reproducible tarball. From a6386d4a08227914d31ed28f5e07716d9608470b Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 26 Sep 2024 22:44:28 +0200 Subject: [PATCH 2/3] use cloned instead of downloaded for sources get from git repos Co-authored-by: Sam Moors --- docs/easybuild-v5/enhancements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index a351d96f9..f4908e3ed 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -29,7 +29,7 @@ status codes are reported in the corresponding logs. ## Reproducible tarballs { : #reproducible_tarballs} -EasyBuild can now generate reproducible tarballs of sources downloaded from Git +EasyBuild can now generate reproducible tarballs of sources cloned from Git repositories. This means that the contents of sources obtained by cloning Git repositories will be consistent across different systems and across time, allowing to reliably validate those sources with checksums. EasyBuild follows From 7d50192b65e3f0abeee3dd9bf0d8f8668d217921 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 26 Sep 2024 22:48:31 +0200 Subject: [PATCH 3/3] avoid repition in text of reproducible tarballs enhacement --- docs/easybuild-v5/enhancements.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index f4908e3ed..4c5be7c85 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -30,11 +30,11 @@ status codes are reported in the corresponding logs. ## Reproducible tarballs { : #reproducible_tarballs} EasyBuild can now generate reproducible tarballs of sources cloned from Git -repositories. This means that the contents of sources obtained by cloning Git -repositories will be consistent across different systems and across time, -allowing to reliably validate those sources with checksums. EasyBuild follows -the [archival guidelines from reproducible-builds.org](https://reproducible-builds.org/docs/archives/) -to generate reproducible tarballs. +repositories. This means that those sources using the `git_config` option will +now have consistent contents across different systems and across time, allowing +to reliably validate them with checksums. EasyBuild follows the +[archival guidelines from reproducible-builds.org](https://reproducible-builds.org/docs/archives/) +to generate those reproducible tarballs. This new feature does not apply to sources cloned with `keep_git_dir` enabled. Including the `.git` folder in the sources is inherently time-dependent as it