easybuilders / easybuild-framework

EasyBuild is a software installation framework in Python that allows you to install software in a structured and robust way.
https://easybuild.io
GNU General Public License v2.0
152 stars 202 forks source link

Incomplete module for extensions #4647

Open Flamefire opened 1 month ago

Flamefire commented 1 month ago

I just noticed that the SciPy-bundle module generated by --module-only is missing some paths.

Those are supposed to be added by the numpy extension. However the current mechanism is flawed:

The problems with this are:

  1. For --module-only this is not run
  2. For --skip it might not be run
  3. For --parallel-extension it is not used either: https://github.com/easybuilders/easybuild-framework/blob/bf0af10626644574cdf528998962b6f3c770fdc1/easybuild/framework/easyblock.py#L2014

From our "official" easyblocks only numpy uses that mechanism.

So we need a new method for extensions that returns the module-extra when used as an extension. The current make_module_extra cannot be used for that.

I'd propose make_module_extra_extension but we already have make_module_extra_extensions which would be confusing.

Flamefire commented 1 month ago

@boegel I'd also consider this a blocker for 5.x especially as it is pretty much impossible to fix this in a fully backwards compatible manner, see the PR: #4652