-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename source
step
#4627
Comments
The impact of renaming the We should also take into account hooks though: renaming the There may be other "hidden" impact of this, we briefly discussed this during the last EasyBuild 5.0 sync meeting. @lexming @branfosj Do you recall anything else that may be relevant here? |
EB checks that If you need to use the same hooks with multiple versions of EB at once then you can use the following to only put a hook in scope based on the EasyBuild version: from easybuild.tools.version import VERSION
if VERSION >= "4.8.1":
def pre_build_and_install_loop_hook(ecs, *args, **kwargs):
pass |
@branfosj That seems relevant to put in our documentation, in particular in the page/section that covers breaking changes in EasyBuild 5.0, incll. the rename of |
@Flamefire As discussed during today's EasyBuild conf call, there's no opposition against this (unless there's more fallout that we haven't anticipated so far), so please open a PR to rename the |
We should add the example now - see easybuilders/easybuild-docs#267 We can then link to that from the EB5 docs. |
This is a follow-up discussion to #4624
That PR moved the verification of the checksums for sources and patches to the fetch-step.
That results in the "source"-step to only extract the sources.
We have for (almost) all steps now a 1:1 correspondence of (user-facing) step names and their method in the
EasyBlock
class:easybuild-framework/easybuild/framework/easyblock.py
Lines 4043 to 4048 in e0e04fb
However for the (new) "source"-step this isn't true any longer:
easybuild-framework/easybuild/framework/easyblock.py
Line 4054 in 8569344
Note that even prior to the change the status (printed to stdout) was "unpacking":
It could be argued that "source" (for use in e.g.
--stop=source
) was fitting because it verified the sources (&patches) and then extracted them, even though the former wasn't explicitly indicated.However after the change I think "source" is no longer appropriate and we should follow the method names at least for consistency and rename this step to "extract". I'd argue that
--stop=extract
is as clear as--stop=configure
and similar.An alternative would be "unpack" to match the status-message although it then won't match the method name
extract_step
This change can only be for 5.x as it is a breaking change and the above change is only for that branch.
I'm pretty sure we already have a check for valid step names, hence any use of the old name "source" would yield a clear message that it is an invalid value and to choose from the valid set of values. If not we should enhance that error message to do that.
With that the change will only cause some required change in habits for people doing
--stop=source
. This was however often just a workaround for--fetch
not verifying the checksums, so there is a better alternative for that.Theoretically there could be easyconfigs using
skipsteps=["source"]
although I can hardly imagine a reason for that. We currently have 4 such official ECs in the__archive__
and I'm not sure that was ever really OK as e.g. it meant that the checksums were not verified.No current official ECs use this.
Requesting input from @boegel, possibly putting this up on the next confcall agenda.
The text was updated successfully, but these errors were encountered: