Skip to content

Allow to shadow alias with actual module #584

@xdelaruelle

Description

@xdelaruelle

In some cases it is desired that a module providing a bundle of things be shadowed by another module providing a newer version of one element of the bundle. Being shadowed means here that both modules are loaded but the second one shadow the first as its paths take precedence.

Such use case is especially used in EasyBuild. For instance, EasyBuild may install a Python/3.13.1 bundle that provides setuptools/75.6.0 component. But EasyBuild may also install setuptools/80.9.0 which requires the Python/3.13.1 bundle. So user environment contains setuptools/80.9.0 and Python/3.13.1 modules loaded with the setuptools module shadowing the setuptools component provided by the Python module.

To support such use case, a new feature has to be developed: ignoring conflict between a module alias and an actual module name. Actual module being able to load to take precedence (i.e., shadow) over the module alias.

Such feature will be linked to a configuration option: shadow_alias. This option will be disabled by default.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions