-
Notifications
You must be signed in to change notification settings - Fork 701
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
ensure that CVS easyconfigs are included in source tarball produced by 'python setup.py sdist' #10326
Conversation
sdist by default removes CVS, RCS and various other folders We have an EasyConfig folder named like that which got removed too. After this we must be careful not to include e.g. .git folders and the like Fixes easybuilders#10325
@Flamefire This results in also including the
Can we avoid that? Also, we should check for this (that the CVS easyconfigs are shipped in the source tarball, but the |
Where is this .git folder even coming from? Just tried with Python 3.7 and there is neither a .git in the extracted source distribution tar nor in easybuild/easyconfigs in the repo itself Working on a test |
@boegel I added a test as an extra job to GHA which checks for any .git and CVS folder. Extra job to not needlessly run this with all module tool combinations etc. About the .git folder: I can reproduce this but it is a bug in your local tree. There is no such folder in a "good" checkout. And while there are methods to remove it, it is "hard" and will lead to warnings on "good" checkouts because the folder is not found. See https://stackoverflow.com/questions/61061233/exclude-a-directory-given-by-name-in-any-subdirectory-in-sdist why it is hard I hence would simply ignore this because when you do a |
2c1e24a
to
ec6f234
Compare
An alternative suggested from SO: Switch to setuptools instead of distutils. There you can use |
@Flamefire If We worked hard to get rid of |
Not if you don't use it:
From what I understand Python world is moving to setuptools. What kind of issues? And it would be a build dependency only. |
sdist by default removes CVS, RCS and various other folders We have an EasyConfig folder named like that which got removed too. After this we must be careful not to include e.g. .git folders and the like Fixes easybuilders#10325
ec6f234
to
1f3bfc4
Compare
Those are automatically added
1f3bfc4
to
db93b05
Compare
I think
The Python world is actually moving to One of the biggest issue with setuptools is that on some operating systems, there's a really old version installed, sometimes so old it can't talk to PyPI anymore. I would really like to stay away from it. My life has been significantly easier since we stopped using |
No, setuptools uses distutils for some common stuff. But it doesn't monkeypatch it.
That almost is the same:
Well I proposed using get-pip for bootstrapping, which avoids this. And once you got pip all is fine. For testing I tried:
Downloads EB from PyPi. When not having setuptools installed it does download too but fails to install due to pip(!) requiring setuptools.
Sure. Then I'd suggest to merge this as-is because it does the job well enough. Once bootstrapping uses get-pip we can reconsider using setuptools for installation/sdist. The quote above sounds to me like we should. |
…-easyconfigs into fix_CVS_ECs_in_sdist
…s + also check for CVS easyconfigs with --search
Apparently I had a I made some small enhancements to the added tests in 1ad052e, this is ready to squeeze in for the EasyBuild v4.2.0 release now... |
sdist by default removes CVS, RCS and various other folders
We have an EasyConfig folder named like that which got removed too.
After this we must be careful not to include e.g. .git folders and the like
Fixes #10325