-
Notifications
You must be signed in to change notification settings - Fork 58
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
Symlinks aren't preserved in sdist archive #146
Comments
That said, it's not urgent, as we're working this around by using GitHub snapshot archive. However, these aren't exactly stable, so we'd prefer being able to use sdist from PyPI. Using another PEP517 is also an option. FWICS e.g. hatchling correctly preserves symlinks in sdist. |
Oh, I had this problem before and moved the tests outside of the package with the intention of not including them in the sdist in the first place. :-D See #53 But then the tests are explicitly included in the MANIFEST.in? Hmmm. |
Well, we'd actually prefer having them inside the package. Git doesn't guarantee reproducible archives, and we've been recently badly bitten by tons of checksum failures when GitHub upgraded git (then they reverted that because of the fallout). |
So there is no way to fix the symlinks with setuptools, and I'm not willing to learn another build system at the moment, so making temporary directories is the only real path forward, which seems like a massive overkill, really. And there is nothing system dependent in the tests outside of windows, so I'm not really sure if you running the test are useful, but I guess it's a matter of principle? |
I don't know if it's "useful" either. I don't have any other way of testing whether the package is still going to work month from now, or in the next release of Python… Python stuff gets broken all the time. |
True, it could theoretically break with a new version of Python, good point. |
The symlinks from the git repository are converted to regular files in sdist archive. As a result, I get a few test failures when running the test suite from it:
In the git repository:
but:
I suppose it's a limitation of setuptools. Perhaps it'd be safer to be creating
test_data
dynamically in a temporary directory, e.g. via a pytest fixture usingtmp_path
?The text was updated successfully, but these errors were encountered: