-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
Haskell packages not matching broken version should be allowed. #9287
Conversation
cc @peti |
@kquick, the idea behind Does that make sense? |
@peti: Ahh, nowI understand the purpose. Some thoughts on the matter:
If I understand correctly, the better patch would have been to drop the "markBroken" in the ghc7101 customizations specification. Perhaps a comment in lib.nix with essentially the text in your comment above would have helped lead me to this more correct conclusion. Longer term, I could see the use for a script to compare current versions against older references that would help change the weighting in #3 towards user over maintainer, but I suppose that's something to put on someone's "free time" list. Anyone have one of those that's empty? :-) |
Yes, it would. Unfortunately, Hydra simply ignore packages that throw an assertion failure. I wish that weren't the case, but there's no hope changing that behavior in the foreseeable future because having an (mostly) assertion-failure-free Nixpkgs tree that evaluates on half a dozen platorms is an undertaking that would need a small army of volunteers to pull off. As it is now, we'd be swamped in useless error messages even more than we already are. So, well, Hydra is not going to help us with this at the moment. It would help if the markBrokenVersion'ed package is used as a build input by another build -- in that case assertion errors are not ignored. As is happens, Generally speaking, I believe that
I'm not sure whether I follow. What do you mean by "someone still using a broken version explicitly"?
Again, I don't believe that I understand your point. Why do you think that this override affect users negatively?
Yes, that's what I'd recommend doing.
Yes, some automated way of catching those updates quickly once they occur would help improve the code base enormously! |
Basically just saying that from the "users" point of view, if the version supplied is no longer the known broken version that the build should or could simply be attempted with the optimistic perspective that it would succeed. This is in contrast to your position where the assert fails so that you as the maintainer know that the nix specifications need to be updated to return things to operational mode. However, that's also the optimistic perspective and there's no assurance that the new version isn't still broken. Thanks for the explanation; I am closing this pull request since it's not the desired direction. Do you know what specifically was broken with cmdlib 0.3.5? I can submit a new pull request that either updates the "broken" check to match the 0.3.6 version or else remove the markBroken for cmdlib entirely. |
As written, if a Haskell package does not match the broken version, the assert fails which aborts the evaluation. I observed this with cmdlib, which is marked as broken for "0.3.5", but the new version in hackage-packages.nix is "0.3.6". I believe that the attached captures the intent: broken packages versions are marked as broken and non-broken versions are accepted as-is.