Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions easybuild/easyblocks/generic/bundle.py
Original file line number Diff line number Diff line change
Expand Up @@ -378,8 +378,9 @@ def install_step(self):
else:
# Explicit call as EasyBlocks might set additional environment variables in
# the make_module step, which may be required for later component builds.
# Set fake arg to True, as module components should not try to create their own module.
comp.make_module_step(fake=True)
# Set fake arg to True, as module components should not try to create their own module
with comp.cfg.allow_unresolved_templates():
comp.make_module_step(fake=True)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can this be correct? If this tries to create a module without being able to resolve templates that unresolved template ends up in the module, doesn't it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably don't need it in both places, and just having it in the make_module_step should be sufficient. Needs testing though.
The resulting module still looks fine, so this looks like some weirdness with how our Bundle EasyBlock is working.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed: The result is ignored, so we can just not copy the parent parameters: #3940


# Update current environment with component environment to ensure stuff provided
# by this component can be picked up by installation of subsequent components
Expand Down Expand Up @@ -436,7 +437,8 @@ def make_module_step(self, *args, **kwargs):
# Explicit call required as adding step to 'install_step' is not sufficient
# for module-only build. Set fake arg to True, as module components should
# not try to create their own module.
comp.make_module_step(*args, **dict(kwargs, fake=True))
with comp.cfg.allow_unresolved_templates():
comp.make_module_step(*args, **dict(kwargs, fake=True))

for env_var_name, env_var_val in comp.module_load_environment.items():
if env_var_name in self.module_load_environment:
Expand Down