Load dependencies of SYSTEM toolchain by full name #5051
Load dependencies of SYSTEM toolchain by full name #5051Flamefire wants to merge 7 commits intoeasybuilders:developfrom
Conversation
4547971 to
044fecf
Compare
|
@Flamefire conflict to resolve? |
|
It makes sense to merge #5050 first so I can rebase this such that some commits disappear. That one should be trivial as it is a test-only change. In any case: Do you agree with this approach at all? In Slack @ocaisa mentioned:
However it currently works for EB-MNS but not HMNS I think I can limit this change to build dependencies but that doesn't solve the MNS discrepancy. That is if we want to allow this at all. If not this PR is not required and we need to error out earlier. |
Avoid the repaeted reads in almost every test.
The stdin/stdout/stderr handles need be closed by calling `communicate`. Otherwise the handles will be leaked and e.g. `test_run_shell_cmd_qa_trace` fails because it may capture a related warning.
This allows loading e.g. `GCCcore/12.3.0/ncurses/6.1` without loading the GCCcore/12.3.0 toolchain module. So we can use that as a dependency.
No need to use the full name for e.g. GCCcore/GCC which are in Core/GCC.
b32e257 to
4081d65
Compare
This allows loading e.g.
GCCcore/12.3.0/ncurses/6.1without loading the GCCcore/12.3.0 toolchain module.So we can use that as a dependency.
Note that this already works in the EasyBuildMNS because there the short and full module name are the same
Only in the HierarchicalMNS it fails because there 'Compiler/GCCcore/12.3.0/ncurses/6.4' needs to be used to load it.
A use of this is https://github.com/easybuilders/easybuild-easyconfigs/blob/8bca6595b2b975eb32eda0035613cf6fa17610a3/easybuild/easyconfigs/r/ripunzip/ripunzip-0.4.0.eb (from easybuilders/easybuild-easyconfigs#17959) which uses
Rustas a build dependencycc @Micket
Requires:
Because I didn't want to C&P the same code again. Last 2 commits are the relevant ones here