Skip to content

Commit 0f5e9cb

Browse files
authored
Merge pull request #305 from easybuilders/develop
release EasyBuild v5.0.0
2 parents 0b56378 + 98343f6 commit 0f5e9cb

File tree

2,819 files changed

+12478
-37356
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,819 files changed

+12478
-37356
lines changed

.github/workflows/deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: checkout
14-
uses: actions/checkout@v3
14+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1515
with:
1616
fetch-depth: 0
1717

1818
- name: set up Python
19-
uses: actions/setup-python@v4
19+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
2020
with:
2121
python-version: '3.10'
2222

2323
- name: checkout easybuild framework
24-
uses: actions/checkout@v3
24+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
2525
with:
2626
repository: easybuilders/easybuild-framework
2727
path: src/easybuild-framework

.github/workflows/flake8.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: checkout
11-
uses: actions/checkout@v3
11+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1212

1313
- name: set up Python
14-
uses: actions/setup-python@v4
14+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
1515
with:
1616
python-version: '3.10'
1717

1818
- name: flake8 Lint
19-
uses: py-actions/flake8@v2
19+
uses: py-actions/flake8@84ec6726560b6d5bd68f2a5bed83d62b52bb50ba # v2.3.0

.github/workflows/markdown-linting.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: checkout
12-
uses: actions/checkout@v3
12+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1313

1414
- name: MarkdownLint
15-
uses: DavidAnson/markdownlint-cli2-action@v10
15+
uses: DavidAnson/markdownlint-cli2-action@05f32210e84442804257b2a6f20b273450ec8265 # v19.1.0
1616
with:
1717
# all markdown, except filter out {demos,version-specific}/* for now, until we fix issues in those sections
1818
globs: |

.github/workflows/test.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: checkout
12-
uses: actions/checkout@v3
12+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
13+
1314
with:
1415
fetch-depth: 0
1516

1617
- name: set up Python
17-
uses: actions/setup-python@v4
18+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
1819
with:
1920
python-version: '3.10'
2021

2122
- name: Codespell action
22-
uses: codespell-project/actions-codespell@master
23+
uses: codespell-project/actions-codespell@406322ec52dd7b488e48c1c4b82e2a8b3a1bf630 # v2.1
2324
with:
2425
check_filenames: true
2526
ignore_words_list: atleast,ninjs,simpy,proovread,namd,precice,crate,ake
@@ -32,7 +33,7 @@ jobs:
3233
run: python ./.github/workflows/link_check.py
3334

3435
- name: checkout easybuild framework
35-
uses: actions/checkout@v3
36+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
3637
with:
3738
repository: easybuilders/easybuild-framework
3839
path: src/easybuild-framework
@@ -43,7 +44,7 @@ jobs:
4344
pip install -r requirements.txt
4445
mkdocs --version
4546
46-
- name: build tutorial
47+
- name: build docs
4748
# can't use --strict due to warnings being produced by mkdocs-redirect plugin
4849
# because we are re-directing .html pages
4950
# run: mkdocs build --strict

.github/workflows/yamllint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ jobs:
77
lintAllTheThings:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v3
10+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1111
- name: yaml-lint
12-
uses: ibiqlik/action-yamllint@v3
12+
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c # v3.1.1
1313
with:
1414
config_file: .yamllint.yml

docs/api/index.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

docs/easybuild-v5/5.0.0beta1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ This includes (but is not limited to):
3737
- **some functionality has been deprecated**, including the use of the `run_cmd` and `run_cmd_qa` functions (`run_shell_cmd` should be used instead);
3838
- easyconfigs using an old [unsupported toolchain](../policies/toolchains.md) have been moved to the [easyconfigs archive](https://github.com/easybuilders/easybuild-easyconfigs-archive);
3939

40-
## Installation
40+
## Installation {: #eb5.0.0beta1_installation }
4141

4242
To install the initial beta release of EasyBuild v5.0.0 (`5.0.0beta1`), you can either:
4343

docs/easybuild-v5/changes-in-default-configuration.md

Lines changed: 0 additions & 55 deletions
This file was deleted.

docs/easybuild-v5/changes.md

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
# Changed default configuration or behaviour in EasyBuild v5.0
2+
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
4+
5+
The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0.
6+
7+
**Changed default configuration in EasyBuild framework**
8+
9+
- [RPATH linking is enabled by default (`--rpath`)][path]
10+
- [Trace output is enabled by default (`--trace`)][trace)]
11+
- [Including `extensions` statement in generated modules is enabled by default (`--module-extensions`)][module-extensions]
12+
- [Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`)][module-depends-on]
13+
- [Use Slurm as default job backend (`--job-backend`)][job-backend]
14+
- [Default maximum build parallelism is set to 16 (`--max-parallel`)][max-parallel-16]
15+
16+
**Changed behaviour in EasyBuild framework**
17+
18+
- [Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`)][dry-run-robot]
19+
- [Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch`][verifying-checksums]
20+
- [Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds`][lib-lib64-symlink]
21+
- [Use `sha256` as the default checksum type][sha256]
22+
- [Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`)][XDG_CONFIG_DIRS_default]
23+
- [Reverse order for parsing files in `$XDG_CONFIG_DIRS`][XDG_CONFIG_DIRS_order]
24+
- [Don't allow unresolved templates in easyconfig parameters by default][unresolved-templates]
25+
- [Refactor `make_extension_string` method in `EasyBlock` class][make_extension_string]
26+
- [Change default for `change_into_dir` option in `extract_file` function to to `False`][extract_file]
27+
- [Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler][toolchain-get-flag-dash]
28+
- [Enforce correct `.patch(.*)` extension for patch files][patch-extension]
29+
- [Run sanity checks commands from an empty temporary directory rather than the software install directory][sanity-check-commands]
30+
- [Only allow use of `rpath` toolchain option when `system` toolchain is used][system-toolchain-options]
31+
32+
**Changed defaults in easyblocks**
33+
34+
- [`download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations][python-pkgs-defaults]
35+
- [`CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default][cmakemake-libdir]
36+
37+
---
38+
39+
## RPATH linking is enabled by default (`--rpath`) {: #rpath }
40+
41+
[RPATH linking][rpath_support] is enabled by default in EasyBuild v5.0.
42+
43+
The benefits for enabling RPATH are explained in [Why RPATH?][rpath_support_why].
44+
45+
This enhancement **does not** add any filtering of environment variables. This means `$LD_LIBRARY_PATH`
46+
will continue to be appended by the environment module files EasyBuild generates,
47+
unless it is configured to filter these variables (via `--filter-env-vars`,
48+
see also [Relation to `$LD_LIBRARY_PATH`][rpath_support_LD_LIBRARY_PATH]).
49+
50+
The RPATH part of the EasyBuild sanity check has been relaxed (by default,
51+
to allow for installing software that uses RPATH linking on top of existing software installations that do not use RPATH.
52+
The RPATH sanity check can be made strict again via the `strict-rpath-sanity-check` EasyBuild configuration setting.
53+
54+
To disable RPATH linking, either:
55+
56+
- Use the `--disable-rpath` command line option;
57+
- Set the `$EASYBUILD_DISABLE_RPATH` environment variable;
58+
- Disable RPATH linking in an EasyBuild [configuration file](../configuration.md#configuration_file):
59+
60+
``` ini
61+
[override]
62+
rpath=0
63+
```
64+
65+
---
66+
67+
## Trace output is enabled by default (`--trace`) {: #trace }
68+
69+
The [`--trace` option](../tracing-progress.md) is enabled by default.
70+
71+
This makes the output produced by the `eb` command more informative, by providing more information about what's going on in the background.
72+
73+
To disable trace output, either:
74+
75+
- Use the `--disable-trace` command line option;
76+
- Set the `$EASYBUILD_DISABLE_TRACE` environment variable;
77+
- Disable trace mode in a [configuration file](../configuration.md#configuration_file):
78+
79+
``` ini
80+
[override]
81+
trace=0
82+
```
83+
84+
---
85+
86+
## Including `extensions` statement in generated modules is enabled by default (`module-extensions`) {: #module-extensions }
87+
88+
*(more info soon)*
89+
90+
---
91+
92+
## Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`) {: #module-depends-on }
93+
94+
*(more info soon)*
95+
96+
---
97+
98+
## Use Slurm as default job backend (`job-backend`) {: #job-backend }
99+
100+
*(more info soon)*
101+
102+
103+
---
104+
105+
## Default maximum build parallelism is set to 16 (`max-parallel`) {: #max-parallel-16 }
106+
107+
*(more info soon, ideally including some "scaling" data for long-running builds like GCC, LLVM, OpenFOAM, ...)*
108+
109+
---
110+
111+
## Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`) {: #dry-run-robot }
112+
113+
*(more info soon)*
114+
115+
---
116+
117+
## Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch` {: #verifying-checksums }
118+
119+
*(more info soon)*
120+
121+
---
122+
123+
## Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds` {: #lib-lib64-symlink }
124+
125+
*(more info soon)*
126+
127+
---
128+
129+
## Use `sha256` as the default checksum type {: #sha256 }
130+
131+
The default checksum type, used in EasyConfigs, is now set to `sha256`.
132+
133+
We have also [deprecated the older checksums types](deprecated-functionality.md#checksums).
134+
135+
---
136+
137+
## Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`) {: #XDG_CONFIG_DIRS_default }
138+
139+
*(more info soon)*
140+
141+
---
142+
143+
144+
## Reverse order for parsing files in `$XDG_CONFIG_DIRS` {: #XDG_CONFIG_DIRS_order }
145+
146+
*(more info soon)*
147+
148+
---
149+
150+
## Don't allow unresolved templates in easyconfig parameters by default {: #unresolved-templates }
151+
152+
*(more info soon, incl. support for `allow-unresolved-templates` configuration setting)*
153+
154+
---
155+
156+
## Refactor `make_extension_string` method in `EasyBlock` class {: #make_extension_string }
157+
158+
*(more info soon)*
159+
160+
---
161+
162+
## Change default for `change_into_dir` option in `extract_file` function to to `False` {: #extract_file }
163+
164+
*(more info soon)*
165+
166+
---
167+
168+
169+
## Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler {: #toolchain-get-flag-dash }
170+
171+
*(more info soon)*
172+
173+
---
174+
175+
## Enforce correct `.patch(.*)` extension for patch files {: #changes.md#patch-extension }
176+
177+
*(more info soon)*
178+
179+
---
180+
181+
182+
## Run sanity checks commands from an empty temporary directory rather than the software install directory { : #sanity-check-commands }
183+
184+
*(more info soon)*
185+
186+
---
187+
188+
## Only allow use of `rpath` toolchain option when `system` toolchain is used {: #system-toolchain-options }
189+
190+
*(more info soon)*
191+
192+
---
193+
194+
## `download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations { : #python-pkgs-defaults }
195+
196+
The `download_dep_fail`, `use_pip`, and `sanity_pip_check` easyconfig parameters are now enabled by default
197+
in the `PythonPackage` and `PythonBundle` generic easyblocks (and the easyblocks that derive from them).
198+
199+
This means that these should no longer be explicitly set to `True` in easyconfig files using these easyblocks.
200+
201+
---
202+
203+
## `CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default { : #cmakemake-libdir }
204+
205+
The generic `CMakeMake` easyblock will use `-DCMAKE_INSTALL_LIBDIR=lib` by default as option to the `cmake` command.
206+
Easyconfig files that specify this via `configopts` should be adjusted accordingly.
207+
208+
A custom easyconfig parameter named `install_libdir` has been added to `CMakeMake` to specify a custom value should that
209+
be required.

0 commit comments

Comments
 (0)