easybuild-framework icon indicating copy to clipboard operation
easybuild-framework copied to clipboard

Incomplete module for extensions

Open Flamefire opened this issue 1 year ago • 1 comments

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 result of ext.run() is collected in a variable: https://github.com/easybuilders/easybuild-framework/blob/bf0af10626644574cdf528998962b6f3c770fdc1/easybuild/framework/easyblock.py#L1950-L1952
  • This is then added to the module https://github.com/easybuilders/easybuild-framework/blob/bf0af10626644574cdf528998962b6f3c770fdc1/easybuild/framework/easyblock.py#L1466

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 avatar Sep 20 '24 12:09 Flamefire