also consider 'normalised' package name with underscore rather than dash in EasyBuild easyblock #3358
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Recent versions of setuptools (>=69.0.3?) enforce normalized package names by replacing dashes (
-
) with underscores (_
) in the package name.This affects the source tarballs of EasyBuild v4.9.2 (and likely also more recent versions going forward), so the custom easyblock for installing EasyBuild must consider package names with both dash (like
easybuild-framework
) and underscore (likeeasybuild_framework
).Without this, installing EasyBuild v4.9.2 with an existing EasyBuild release like v4.9.1 fails with an error like:
That's because it's expecting to find a subdirectory like
easybuild-framework-4.9.2
after unpacking the source tarball foreasybuild-framework
v4.9.2, but onlyeasybuild_framework-4.9.2
is found (alongside the subdirectory for the unpackedeasybuild-easyblocks
andeasybuild-easyconfigs
packages).This is annoying, since anyone who will be using
eb --install-latest-eb-release
oreb EasyBuild-4.9.2.eb
(or equivalent, via--from-pr
) will be hitting this, unless they useeb --include-easyblocks-from-pr 3358
.edit: more info on the reason why
-
is replaced with_
can be found in https://packaging.python.org/en/latest/specifications/binary-distribution-format/#escaping-and-unicode:This is for names of binary distributions, for it also applies to source distributions, see https://packaging.python.org/en/latest/specifications/source-distribution-format/#source-distribution-file-name: