-
Notifications
You must be signed in to change notification settings - Fork 933
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
Note issues with Provides-Dist and Obsoletes-Dist #513
Conversation
The design of Provides-Dist and Obsoletes-Dist was lifted pretty much directly from the design of Linux system package managers, without accounting for the fact that Linux distro repos are collaboratively maintained curated collections of packages with the ability to make repository wide changes, while PyPI is an open publishing platform with few practical restrictions other than size quotas and the default first-come-first-served policy on claiming names.
I think it's good to make this distinction, but as I mentioned in the other thread, I don't think that these sorts of things are nearly as likely to cause malicious problems as they seem. If anything the fact that they aren't enforced would cause more problems. Until a long-term solution is clear, I'd probably go with a less prescriptive and more descriptive phrasing, something like, "Currently tools like pip do not make any use of this information, and you should be aware that the information is not validated or vetted in any way." |
The fact |
(Note: I do think |
Is there a pip issue for this? It sounds to me like a reasonable feature request. |
Yep -- pypa/pip#4625. |
Well they're at least related by the fact that a worse form of abuse than is possible with |
I have no idea whether or not anyone is using them successfully in a private use scenario - they're perfectly fine in the context of a Linux-style curated repository, which is why I've worded the PR the way I have. (Private curated repositories are also one of the main available mechanisms for folks to defend against undocumented conflicts) |
@ncoghlan I don't have any objection to using them in private curated repositories, but I think "should only be used" is too strong, because I find the argument in favor of this is pretty weak. If I'd be happier replacing the stronger wording with, "These are not currently used by pip or PyPI, but have historically been included in case they would be useful for other package managers, particularly curated repositories." |
Paul Ganssle made a good case that it's better to be descriptive regarding Provides-Dist and Obsoletes-Dist (it's a matter of objective fact that they're rarely used, and installers ignore them completely), rather than attempting to be retroactively prescriptive.
Ah, I see now - yeah, that makes sense. eb8c260 switches from my original prescriptive wording to more matter-of-fact descriptive wording. |
@ncoghlan Thanks for putting up with my persnickettiness! |
It's been referred in this issue and others the What is it going to be working? [edit] I don't know if pypa/packaging-problems#154 is more relevant to my question. |
The design of Provides-Dist and Obsoletes-Dist was lifted pretty
much directly from the design of Linux system package managers,
without accounting for the fact that Linux distro repos are collaboratively
maintained curated collections of packages with the ability to make
repository wide changes, while PyPI is an open publishing platform
with few practical restrictions other than size quotas and the default
first-come-first-served policy on claiming names.
pypa/packaging-problems#154