Skip to content

also copy patches of extensions to easybuild subdirectory of installation directory#4939

Merged
ocaisa merged 4 commits intoeasybuilders:developfrom
bedroge:copy_exts_patches
Jun 27, 2025
Merged

also copy patches of extensions to easybuild subdirectory of installation directory#4939
ocaisa merged 4 commits intoeasybuilders:developfrom
bedroge:copy_exts_patches

Conversation

@bedroge
Copy link
Copy Markdown
Contributor

@bedroge bedroge commented Jun 27, 2025

Solves #4864 by adding the patches of extensions to the list of patches that are copied to $installdir/easybuild.

Note that there's also #4863: I'm not sure if the patches should go into either easybuild or easybuild/reprod or both, for now I've taken the same approach that is used for regular patches: only copy them to easybuild. But this can be easily changed.

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jun 27, 2025

I was going to say we also need to check for patches of components, but I see this is actually solved in the easyblock in that case. However, that solution can be problematic as the patch then has to appear in the parent bundle directory and in a directory for the individual component (see easybuilders/easybuild-easyconfigs@6afd169 for an example)

boegel
boegel previously requested changes Jun 27, 2025
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

@bedroge Looks good, works as expected, but let's also cover this in the tests: bedroge#2

Copy link
Copy Markdown
Member

@ocaisa ocaisa left a comment

Choose a reason for hiding this comment

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

This looks good, but since it does indeed look pretty trivial to add the patches to the reprod directory I would also do that while we are here. I also note that the patches are also required for the repo try/except loop above (line 5122)

@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jun 27, 2025

I also note that the patches are also required for the repo try/except loop above (line 5122)

Good catch! I've done the same for the code that copies the patches to a central repo.

This looks good, but since it does indeed look pretty trivial to add the patches to the reprod directory I would also do that while we are here.

So you want to copy them to both directories? It is currently rather confusing which file ends up where, and it's going to duplicate some things, so shouldn't we first decide on a proper structure for this easybuild//reprod dir?

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jun 27, 2025

This looks good, but since it does indeed look pretty trivial to add the patches to the reprod directory I would also do that while we are here.

So you want to copy them to both directories? It is currently rather confusing which file ends up where, and it's going to duplicate some things, so shouldn't we first decide on a proper structure for this easybuild//reprod dir?

Not going to delay this to figure that out. IMO the correct place is the reprod directory, but the bigger issue is that right now what is in the reprod directory does not actually work in some cases, fixing that is its own PR.

ocaisa
ocaisa previously approved these changes Jun 27, 2025
enhance test to verify that extension patches were copied to 'easybuild' subdir in installation directory
@ocaisa ocaisa dismissed boegel’s stale review June 27, 2025 10:13

TEsting PR merged

@ocaisa ocaisa merged commit ee37956 into easybuilders:develop Jun 27, 2025
37 checks passed
@bedroge bedroge deleted the copy_exts_patches branch June 27, 2025 11:04
@boegel boegel added this to the 5.1.1 milestone Jul 4, 2025
@boegel boegel added the bug fix label Jul 4, 2025
@bedroge
Copy link
Copy Markdown
Contributor Author

bedroge commented Jul 18, 2025

Note that this bug fix introduced a new bug that pops up when installing an easyconfig with an extension that has a patch. See #4959 (comment) for more details, and a fix is implemented in #4960.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Patch files for extensions are not copied to the easybuild or reprod directory

3 participants