-
Notifications
You must be signed in to change notification settings - Fork 135
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 inside package directory #408
Comments
I think you're asking for what setuptools calls It looks like archinstall uses symlinks to bring files from outside into the package. I think that should be OK, but it's possible something doesn't work with symlinks. |
the symlinks are with in the repo and using flit they break, using setup tools everything works as intended |
I think I've figured this out. We're using It's also more complex for sdists, where I imagine the 'right' thing is to include the symlinks as symlinks, along with the files they point to. But what if they point outside the project directory? 🤔 For now, symlinks aren't supported. We can look at supporting them, but there's a fair bit of complexity that would have to be worked out about how they should behave. |
This isn’t an easy question; sdists so far are implementation-defined, and I don’t remember if distutils supported symlinks in any way. |
I'm guessing it works in some way with distutils/setuptools, or archinstall wouldn't be arranged that way. Of course, that doesn't necessarily mean it's supported. 🙂 |
This was raised again in #683. I might in the future explicitly disallow symlinks, i.e. error on trying to build sdists or wheels from source files containing a symlink. Symlinking to something outside the project directory could be (part of) a security issue - e.g. if I craft an sdist or git repo containing a symlink and get someone else's system to build a wheel from it, it might grab a sensitive file like an SSH private key. I'm not sure there's a compelling use case for symlinking one location inside the project to another. Flit also doesn't try to cover every possible use case, so even if there are rare scenarios where one wants symlinks, it may still be out of scope. This would be in Flit 4.0, just in case someone is doing something with symlinks that currently works, despite the lack of deliberate support. |
I've been working on moving the archinstall library from setup-tools to flit. currently using setup.cfg we include profiles to the wheel and sdist like so
I have been unable to do the same with flit nor find any documentation about if this is possible, could flit add this functionality?
The text was updated successfully, but these errors were encountered: