From 0ef143dbd661a034133413faf9306db9a5494d19 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 17 Dec 2025 12:16:28 +0100 Subject: [PATCH 1/2] Extend list of easyconfig parameters that extensions should not inherit It does not make sense for extensions to inherit source(-likes), patches or checksums from the parent easyconfig. Especially the `sources` won't be used anyway, so reset those to the defaults to avoid confusion. --- easybuild/framework/extension.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/easybuild/framework/extension.py b/easybuild/framework/extension.py index 22f2b9f42e..aa61dc8847 100644 --- a/easybuild/framework/extension.py +++ b/easybuild/framework/extension.py @@ -38,6 +38,7 @@ import copy import os +from easybuild.framework.easyconfig.default import get_easyconfig_parameter_default from easybuild.framework.easyconfig.easyconfig import resolve_template from easybuild.framework.easyconfig.templates import TEMPLATE_NAMES_EASYBLOCK_RUN_STEP, template_constant_dict from easybuild.tools.build_log import EasyBuildError, EasyBuildExit, raise_nosupport @@ -107,10 +108,18 @@ def __init__(self, mself, ext, extra_params=None): name, version = self.ext['name'], self.ext.get('version', None) - # parent sanity check paths/commands and postinstallcmds are not relevant for extension - self.cfg['sanity_check_commands'] = [] - self.cfg['sanity_check_paths'] = [] - self.cfg['postinstallcmds'] = [] + # Reset some options that should not be inherited from the parent + restore_options = ( + 'checksums', + 'data_sources', + 'patches', + 'postinstallcmds', + 'sanity_check_commands', + 'sanity_check_paths', + 'sources', + ) + for opt_name in restore_options: + self.cfg[opt_name] = get_easyconfig_parameter_default(opt_name) # construct dict with template values that can be used self.cfg.template_values.update(template_constant_dict({'name': name, 'version': version})) From b76011a5247efd2149c98c923edad1c37411a3b5 Mon Sep 17 00:00:00 2001 From: Alexander Grund Date: Wed, 7 Jan 2026 16:42:18 +0100 Subject: [PATCH 2/2] Also reset `skipsteps` --- easybuild/framework/extension.py | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/framework/extension.py b/easybuild/framework/extension.py index aa61dc8847..39655499fa 100644 --- a/easybuild/framework/extension.py +++ b/easybuild/framework/extension.py @@ -116,6 +116,7 @@ def __init__(self, mself, ext, extra_params=None): 'postinstallcmds', 'sanity_check_commands', 'sanity_check_paths', + 'skipsteps', 'sources', ) for opt_name in restore_options: