-
Notifications
You must be signed in to change notification settings - Fork 161
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
Dealing with Old Versions of Packages that are Broken by Releases; add "Conflicts" field to PackageInfo.g? #2077
Comments
I think this is a very good idea, but the package load mechanism then should issue an explicit error message about the need for a new package. |
A generic way for this would be to add a And once we have that, we can also edit the Handling with the conflicts field has to happen in two ways now, though, when loading the package:
One note: If the number of packages grows a lot, and lots of packages start using |
In #2061, we just came across a situation we've dealt with before but not very systematically. Essentially:
A package P relies (perhaps accidentally) on undocumented (or even erroneous) behaviour of existing code in the kernel or library (or in another package Q, I suppose). For brevity, I'll write this on the assumption is was the library.
A change to the library changes that undocumented behaviour
Perhaps after discussion, a new version of P is released, fixing the problem [sometimes it may be better to document the original behaviour and revert to it, but that is not the case I'm concerned with here]
So far, so good, but now old versions of P will not work correctly with the new library and we don't really have a good way of indicating that (unless I've missed it). We can say that the new library requires or suggests the new version of P, but we may not want to require or suggest P at all. What we want instead is for the library to be able to forbid versions of P before some landmark (perhaps with some way to override it).
This would be easy enough to do -- yet another field in GAPInfo and PackageInfo and tests in LoadPackage.
The text was updated successfully, but these errors were encountered: