Skip to content

Commit 0c74f88

Browse files
committed
revise landing page with overview of changes in EasyBuild v5.0
1 parent 23f0737 commit 0c74f88

17 files changed

+178
-130
lines changed

docs/easybuild-v5/backwards-incompatible-changes.md

-57
This file was deleted.

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

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# Changes in default configuration in EasyBuild v5.0
22

3-
*(for a full overview of changes in EasyBuild v5.0, see [here](overview-of-changes.md))*
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
44

5-
Various changes in default configuration included in EasyBuild v5.0, including:
5+
The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0:
66

7-
* [Enable RPATH linking by default][rpath]
8-
* [Enable `--trace` by default][trace]
7+
- [RPATH linking is enabled by default (`--rpath`)](rpath)
8+
- [Trace output is enabled by default (`--trace`)](trace)
99

1010
---
1111

1212
## Enable RPATH linking by default {: #rpath }
1313

14-
[RPATH linking][rpath_support] is enabled by default in EasyBuild v5.0 (see [easybuild-framework PR #4448](https://github.com/easybuilders/easybuild-framework/pull/4448)).
14+
[RPATH linking][rpath_support] is enabled by default in EasyBuild v5.0.
1515

1616
The benefits for enabling RPATH are explained in [Why RPATH?][rpath_support_why].
1717

@@ -20,31 +20,34 @@ will continue to be appended by the environment module files EasyBuild generates
2020
unless it is configured to filter these variables (via `--filter-env-vars`,
2121
see also [Relation to `$LD_LIBRARY_PATH`][rpath_support_LD_LIBRARY_PATH]).
2222

23+
The RPATH part of the EasyBuild sanity check has been relaxed (by default,
24+
to allow for installing software that uses RPATH linking on top of existing software installations that do not use RPATH.
25+
The RPATH sanity check can be made strict again via the `strict-rpath-sanity-check` EasyBuild configuration setting.
26+
2327
To disable RPATH linking, either:
2428

25-
* Use the `--disable-rpath` command line option;
26-
* Set the `$EASYBUILD_DISABLE_RPATH` environment variable;
27-
* Disable RPATH linking in an EasyBuild [configuration file](../configuration.md#configuration_file):
29+
- Use the `--disable-rpath` command line option;
30+
- Set the `$EASYBUILD_DISABLE_RPATH` environment variable;
31+
- Disable RPATH linking in an EasyBuild [configuration file](../configuration.md#configuration_file):
2832

2933
``` ini
3034
[override]
3135
rpath=0
3236
```
3337

34-
3538
---
3639

3740
## Enable `--trace` by default {: #trace }
3841

39-
The [`--trace` option](../tracing-progress.md) is enabled by default (see [easybuild-framework PR #4250](https://github.com/easybuilders/easybuild-framework/pull/4250)).
42+
The [`--trace` option](../tracing-progress.md) is enabled by default.
4043

4144
This makes the output produced by the `eb` command more informative, by providing more information about what's going on in the background.
4245
4346
To disable trace output, either:
4447
45-
* Use the `--disable-trace` command line option;
46-
* Set the `$EASYBUILD_DISABLE_TRACE` environment variable;
47-
* Disable trace mode in a [configuration file](../configuration.md#configuration_file):
48+
- Use the `--disable-trace` command line option;
49+
- Set the `$EASYBUILD_DISABLE_TRACE` environment variable;
50+
- Disable trace mode in a [configuration file](../configuration.md#configuration_file):
4851
4952
``` ini
5053
[override]

docs/easybuild-v5/deprecated-functionality.md

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
# Deprecated functionality in EasyBuild v5.0
22

3-
*(for a full overview of changes in EasyBuild v5.0, see [here](overview-of-changes.md))*
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
44

55
Some functionality is being deprecated in EasyBuild v5.0, and will no longer be supported in EasyBuild v6.0:
66

7-
* [`run_cmd` and `run_cmd_qa` functions][run_cmd]
8-
* [`easybuild.tools.py2vs3` module][py2vs3]
7+
- [`run_cmd` and `run_cmd_qa` functions][run_cmd]
8+
- [`easybuild.tools.py2vs3` module][py2vs3]
99

1010
If you trigger any deprecated functionality when using EasyBuild v5.0, a warning message will be printed.
1111

1212
---
1313

1414
## `run_cmd` and `run_cmd_qa` functions {: #run_cmd }
1515

16-
The `run_cmd` and `run_cmd_qa` functions will be deprecated.
16+
The `run_cmd` and `run_cmd_qa` functions have been deprecated,
17+
and are scheduled to be removed in EasyBuild v6.0.
1718

1819
You should migrate to the new [`run_shell_cmd`](run_shell_cmd.md) function instead.
1920

@@ -22,8 +23,6 @@ You should migrate to the new [`run_shell_cmd`](run_shell_cmd.md) function inste
2223

2324
## `easybuild.tools.py2vs3` module {: #py2vs3 }
2425

25-
[easybuild-framework PR #4229](https://github.com/easybuilders/easybuild-framework/pull/4229)
26-
2726
The following table lists the changes required to replace imports from the the `py2vs3` module.
2827

2928
| `from easybuild.tools.py2vs3 import ...` | Replacement |

docs/easybuild-v5/enhancements.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
# Enhancements in EasyBuild v5.0
22

3-
*(for a full overview of changes in EasyBuild v5.0, see [here](overview-of-changes.md))*
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
44

55
Various significant enhancements are included in EasyBuild v5.0, including:
66

7-
* [`run_shell_cmd` function][run_shell_cmd]
8-
* [Granular exit codes][granular_exit_codes]
9-
* [Reproducible tarballs][reproducible_tarballs]
7+
- [`run_shell_cmd` function][run_shell_cmd]
8+
- [Granular exit codes][granular_exit_codes]
9+
- [Reproducible tarballs][reproducible_tarballs]
1010

1111
---
1212

1313
## `run_shell_cmd` function { : #run_shell_cmd }
1414

1515
See dedicated page on the new [`run_shell_cmd` function](run_shell_cmd.md).
1616

17+
1718
## Granular exit codes { : #granular_exit_codes }
1819

1920
EasyBuild v5 now uses a range of ~50 exit codes instead of just 0 for normal
@@ -27,6 +28,7 @@ EasyBuild will always return its own exit codes on termination. Other exit
2728
codes from external processes executed through `run_shell_cmd` or HTTP response
2829
status codes are reported in the corresponding logs.
2930

31+
3032
## Reproducible tarballs { : #reproducible_tarballs}
3133

3234
EasyBuild can now generate reproducible tarballs of sources cloned from Git

docs/easybuild-v5/index.md

+86-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,91 @@
11
# EasyBuild v5.0
22

3+
A high-level overview of changes in EasyBuild version 5.0 is listed below.
4+
5+
Click on a particular item for more information.
6+
7+
!!! warning "EasyBuild version 5.0.0 is not released yet"
8+
9+
EasyBuild v5.0.0 is still under active development via the `5.0.x` branches in the EasyBuild GitHub repositories.
10+
11+
Shortly before the release of EasyBuild v5.0.0, the `5.0.x` branches will be collapsed in the corresponding
12+
`develop` branches, and the `5.0.x` branches will then only be used as a staging area for additional EasyBuild
13+
v5.0.x releases.
14+
15+
The overview below is known to be incomplete, and will be gradually completed as we approach
16+
the release of EasyBuild v5.0.0.
17+
18+
---
19+
20+
## Breaking changes {: #breaking-changes }
21+
22+
EasyBuild v5.0 includes a number of backwards-incompatible changes:
23+
24+
- [Python 3.6+ is required to run EasyBuild v5.0.0](python36-required.md)
25+
26+
See also the [overview of removed functionality][removed-functionality] below.
27+
28+
29+
---
30+
31+
## Changes in default configuration
32+
33+
The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0:
34+
35+
- [RPATH linking is enabled by default (`--rpath`)](changes-in-default-configuration.md#rpath)
36+
- [Trace output is enabled by default (`--trace`)](changes-in-default-configuration.md#trace)
37+
38+
39+
---
40+
41+
## Enhancements
42+
43+
Various significant enhancements are included in EasyBuild v5.0, including:
44+
45+
- [`run_shell_cmd` function](run_shell_cmd.md)
46+
- [Granular exit codes](enhancements.md#granular_exit_codes)
47+
- [Reproducible tarballs](enhancements.md#reproducible_tarballs)
48+
49+
50+
---
51+
52+
## Removed functionality {: #removed-functionality }
53+
54+
Functionality that was deprecated a while ago has been removed:
55+
56+
- [EasyBuild bootstrap script is removed](removed-functionality.md#bootstrap_script)
57+
- [Experimental support for `.yeb` easyconfig format is removed](removed-functionality.md#yeb)
58+
59+
60+
---
61+
62+
## Deprecated functionality {: #deprecated-functionality }
63+
64+
Some functionality is being deprecated in EasyBuild v5.0, and will no longer be supported in EasyBuild v6.0:
65+
66+
- [`run_cmd` and `run_cmd_qa` functions](deprecated-functionality.md#run_cmd)
67+
- [`easybuild.tools.py2vs3` module](deprecated-functionality.md#py2vs3)
68+
69+
70+
---
71+
72+
## Other changes
73+
74+
*(coming soon)*
75+
76+
77+
---
78+
79+
## FAQ
80+
81+
*(coming soon)*
82+
83+
84+
---
85+
86+
## Other links
387

488
- [Beta releases and release candidates](release-candidates.md)
5-
- [Overview of changes](overview-of-changes.md)
6-
- [Backwards-incompatible changes](backwards-incompatible-changes.md)
7-
- [Changes in default configuration](changes-in-default-configuration.md)
8-
- [Enhancements](enhancements.md)
9-
- [`run_shell_cmd` function](run_shell_cmd.md)
10-
- [Deprecated functionality](deprecated-functionality.md)
11-
- [Policies](policies.md)
12-
- [GitHub Project board](https://github.com/orgs/easybuilders/projects/18)
89+
- [GitHub Project board for EasyBuild v5.0](https://github.com/orgs/easybuilders/projects/18)
1390
- [Talk on EasyBuild 5.0 at EasyBuild User Meeting 2023](https://easybuild.io/eum23/#easybuild5)
91+
- [Talk on EasyBuild 5.0 at EasyBuild User Meeting 2024](https://easybuild.io/eum24/#eb5)

docs/easybuild-v5/overview-of-changes.md

-29
This file was deleted.

docs/easybuild-v5/policies.md

-5
This file was deleted.
+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Python 3.6+ is required to run EasyBuild v5.0.0
2+
3+
EasyBuild 5.0 requires Python >= 3.6 to run.
4+
5+
Running EasyBuild with Python 2.7 or a Python 3 version older than Python 3.6 is no longer supported.
6+
7+
Trying to run EasyBuild with a Python version that is too old will result in an error:
8+
9+
```log
10+
ERROR: No compatible 'python' command found via $PATH (EasyBuild requires Python 3.6+)
11+
```
12+
13+
Python 2.7 has been [end-of-life since 1 Jan 2020](https://www.python.org/doc/sunset-python-2),
14+
and dropping compatibility with Python 2.7 and Python 3.5 enabled some significant code cleanup
15+
(see [easybuild-framework PR #4229](https://github.com/easybuilders/easybuild-framework/pull/4229)).
16+
17+
The [results of the 6th EasyBuild User Survey (2022)](https://easybuild.io/user_survey) show that the impact of
18+
this breaking change on the EasyBuild community should be very limited, since:
19+
20+
- Only ~13% of survey participants were still running EasyBuild on top of Python 2.7;
21+
- No survey participants reported using Python 3.5;
22+
- Over 85% of survey participants reported using Python 3.6, or a more recent version of Python 3;
23+
- Only 3 out of 118 survey participants (~2.5%) reported that dropping support for running EasyBuild
24+
on top of Python 2 would be *problematic* for them;
25+
26+
Along with actively removing code that was only required to retain compatibility with Python 2.7 or 3.5,
27+
the `easybuild.tools.py2vs3` module that was introduced to facilitate supporting both Python 2.7 and Python 3
28+
has been deprecated (see also [here](deprecated-functionality.md#py2vs3)).
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Removed functionality in EasyBuild v5.0
2+
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
4+
5+
Functionality that was deprecated a while ago has been removed:
6+
7+
- [EasyBuild bootstrap script is removed][bootstrap_script]
8+
- [Experimental support for `.yeb` easyconfig format is removed][yeb]
9+
10+
---
11+
12+
## Deprecated EasyBuild bootstrap script is removed {: #bootstrap_script }
13+
14+
The EasyBuild bootstrap script has been removed (see [easybuild-framework PR #4233](https://github.com/easybuilders/easybuild-framework/pull/4233)).
15+
16+
Please see the [installation page](../installation.md) for the suggested methods for installing EasyBuild.
17+
18+
---
19+
20+
## Experimental support for `.yeb` easyconfig format is removed {: #yeb }
21+
22+
Support for the experimental `.yeb` easyconfig format has been removed (see [easybuild-framework PR #4237](https://github.com/easybuilders/easybuild-framework/pull/4237)).
23+
24+
This format allowed easyconfigs to be specified in YAML. However, there has been no recent development of this
25+
format and little suggestion that anyone was using it at all.

docs/easybuild-v5/run_shell_cmd.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# `run_shell_cmd` function
22

3-
*(for a full overview of changes in EasyBuild v5.0, see [here](overview-of-changes.md))*
3+
*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))*
44

55
In EasyBuild v5.0, a new function named `run_shell_cmd` is introduced to run shell commands.
66

0 commit comments

Comments
 (0)