-
Notifications
You must be signed in to change notification settings - Fork 302
Make matching component sources in Bundle easyblock more reliable #3778
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
base: develop
Are you sure you want to change the base?
Conversation
bc75ff2
to
882177c
Compare
Regarding
easybuilders/easybuild-easyconfigs#21582 sets two sources for the Intel compilers. However, if I understand correctly, |
Yes it is used for patches and for I feel like we need a new Bundle easyblock which fixes all the quirks of the current one:
It looks like you can just put an easyconfig into a component and it would work as-if standalone but it doesn't in subtile ways due to this. And I don't see a way to fix it which would be backwards compatible. So this PR just reduces chances for one surprise |
I think we're slowly but surely finding out which parts of the Bundle EasyBlock are broken. I agree, that maybe starting a new Bundle EasyBlock rewriting everything from the ground up might be needed to fix all of these lingering issues. This will take quite some time, and until then, trying to fix or work around the existing issues is a good idea... |
As for I propose to disallow easyblocks overwriting |
882177c
to
81e9f42
Compare
Store where sources have been added to get the corresponding filled structure without relying on partially resolved templates.
81e9f42
to
029d1f8
Compare
Store where sources have been added to get the corresponding filled structure without relying on partially resolved templates.
Also do not fetch component patches twice
I've also move some stuff around to make the structure clearer:
fetch_step
now fetches patches instead of doing that (again) in the install stepEasyBlock
Note that this manual setting of
finalpath
isn't logically correct asstart_dir
of a component could be the builddir or the extracted source of some componentguess_start_dir
will always get the builddir (due to no sources present), potentially with a suffix as specified in the easyconfigs which many do (asfoo-1.2.3
) because the extracted source isn't available and thefinalpath
for the 2nd component and all following is wrong until easybuilders/easybuild-framework#4922But I don't see how to fix this without breaking existing easyconfigs and easyblocks.