diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 33b3543dd..4c5be7c85 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -5,6 +5,8 @@ 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] --- @@ -12,3 +14,29 @@ Various significant enhancements are included in EasyBuild v5.0, including: See dedicated page on the new [`run_shell_cmd` function](run_shell_cmd.md). +## Granular exit codes { : #granular_exit_codes } + +EasyBuild v5 now uses a range of ~50 exit codes instead of just 0 for normal +termination and 1 for unexpected termination. Each non-zero exit code +correlates to the specific type of error or failure that caused the +termination of the program. For instance, a missing easyconfig or a failed +checksum check. The full list of exit codes is defined in the class +[easybuild.tools.build_log.EasyBuildExit](https://github.com/easybuilders/easybuild-framework/blob/main/easybuild/tools/build_log.py#L74). + +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 cloned from Git +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 +contains information about the clone action itself, which hinders the creation +of a reproducible tarball. diff --git a/docs/easystack-files.md b/docs/easystack-files.md index 7eba69190..d4bfa3df2 100644 --- a/docs/easystack-files.md +++ b/docs/easystack-files.md @@ -107,6 +107,20 @@ easyconfigs: This is not recommended however, as short options are more difficult to interpret by humans. +If you use an option that can be set multiple times (namely `amend` and `try-amend`), +you can supply the various values as a list under that option. +For example, to set various site customization easyconfig parameters for a MATLAB without editing the easyconfig, one can use: + +``` yaml +easyconfigs: + - MATLAB-2023a.eb: + options: + try-amend: + - license_server=hostname + - license_server_port=12345 + - key=abc-123 +``` + ## Combining command line options with options in an easystack file {: #easystack_combining_options } diff --git a/docs/version-specific/supported-software/l/libvdwxc.md b/docs/version-specific/supported-software/l/libvdwxc.md index c1f97d33c..ad33de9af 100644 --- a/docs/version-specific/supported-software/l/libvdwxc.md +++ b/docs/version-specific/supported-software/l/libvdwxc.md @@ -6,7 +6,7 @@ search: libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes. -*homepage*: +*homepage*: version | toolchain --------|----------