-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Mitigate dune downgrades #14267
Mitigate dune downgrades #14267
Conversation
☀️ All lint checks passed a49a010
🌤️ Installability check (11202 → 11169)
|
735c774
to
a49a010
Compare
I understand your reasons, but I am worried by this solution. For example |
To give a bit more context, this PR follows a discussion we had this week with @kit-ty-kate, @AltGr and @avsm. I raised some concerns about #14266 as I was worried about the impact for opam and dune users. We then had a discussion between dune developers yesterday to see if we could avoid this problem entirely by making dune forward compatible. It turns out that while backward compatibility is good and already supported by dune, forward compatibility introduces other issues for both dune and users of dune. Ideally, you shouldn't have to rebuild everything when you upgrade dune, but when you downgrade dune it's cleaner and safer to rebuild everything. We can't express that fact in opam files at the moment, so I suppose the safest approach is @kit-ty-kate's original PR to remove the |
Thanks for the context. I had only partially followed the original discussion, and in fact raised some concerns also for the removal of the build flags. But as much as I agree that the removal of the |
I’m not in favour of this PR. My view is that we should get opam repository correct and coinstallable and not worry about a few rebuilds at this stage. Once we have a version of dune that is forwards compatible we can hopefully apply a safer optimisation in opam. But for now, correctness should come first to avoid breakage on upgrade. |
@avsm dune will not become forward compatible. That's what we discussed yesterday: making dune forward compatible would solve the downgrade problem but would create other more complicated ones. In the end, it's better to focus our efforts on the shared artifact cache, it will make everything a lot faster and we will make the |
That’s completely fine by me. Indeed, binary caching will eliminate a lot of rebuild time, so that’s a good way forward. I’m really keen to see any build unsoundness disappear from opam before we focus on any speed ups at the opam metadata level. The solver is complex enough :-) |
@kit-ty-kate is preparing another PR that will remove |
Mitigate #14185 by avoiding downgrades as much as possible. This should work for all opam packages in opam-repository but there might still be some issues for external packages or remotes.
This PR disables those packages from the repository and cannot be installed anymore:
None of these packages are their latest versions but this might also make some more packages uninstallable. This will be detected by Camelus.
cc @avsm @diml @AltGr