-
Notifications
You must be signed in to change notification settings - Fork 149
Breaking changes being considered for EasyBuild v5.0
Kenneth Hoste edited this page Nov 23, 2022
·
3 revisions
Breaking changes being considered for EasyBuild v5.0
- drop support for running EasyBuild with Python 2.7
- require Python 3.6+ ?
- replacement for
LooseVersion(sincedistutilsis deprecated) - new implementation of
run*functions with cleaner API (w.r.t. returning output/exit code, raises an error for failed commands or not, etc.)-
run+run_qa(vsrun_cmd+run_cmd_qa)
-
- deprecate use of
Trueindependenciesto use system toolchain => useSYSTEMinstead - enable installing extensions in parallel by default
- make
Bundlea central concept in framework (instead of a special generic easyblock) (cfr. issue #3403) - rename
runmethod used to install extensions to something better (issue #4113) - don't run sanity check commands from installation directory (issue #4044)
- enable by default:
download_dep_fail,use_pip,sanity_pip_check - move to
PythonBundlerather thanPythonPackageeven for single Python packages
- clean up easyconfigs using
PythonPackageorPythonBundleonce default fordownload_dep_fail,use_pip,sanity_pip_checkwas changed
-
make
sanity_check_commandsa required parameter (allow setting it empty)- could be done only for new PRs, so doesn't necessarily have to be tied to EB v5.0
- a bit silly for library-only easyconfigs...
-
fix easyconfig parameter consistency, e.g.
-
(pre)configopts->(pre_)configure_options -
postinstallcmds->post_install_commands -
modextrapaths->module_extra_paths
-
-
let EB automatically try to download the lowercase version of sources if download fails
-
make all software names lowercase by default
- already possible with custom naming scheme, but making this the default has advantages
- better to implement check in easyconfigs test suite to avoid introducing names with different capatilization
-
Get rid of
moduleclassec parameter (or at least make it non-obligatory...and maybe deprecated)- Selection is somewhat random (and subject to change from easyconfig to easyconfig)
- A lot of software does not easily fall into a single class
- Cannot only use the
MODULEPATHof amoduleclassas dependencies are not resolved - Idea for a replacement
-
categories.ymlfile for each software package- allow multiple categories
- convince Lmod/Tcl to add good support for this (see https://github.com/TACC/Lmod/pull/600)
- would allow category modification without a big PR for all package ec's
- could easily generate initial files from
moduleclassand for Lmod usewhatis("Category: Tools, Develop")in the module file
-
- Selection is somewhat random (and subject to change from easyconfig to easyconfig)