-
Notifications
You must be signed in to change notification settings - Fork 697
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
Remove legacy command v1-freeze
#9107
base: master
Are you sure you want to change the base?
Conversation
Should this be removed too? cabal/cabal-install/src/Distribution/Client/Setup.hs Lines 1432 to 1436 in d5f98df
|
@yvan-sraka: hello! Thanks a lot for you initiative. Unfortunately, some users still depend on v1- commands. If you know for a fact that v1-freeze is not used by anybody, e.g., it's broken for a long time or completely subsumed by v2-freeze, then please state that claim and it would be great to get rid of it. For a list of likely users of v1-, ask around in the tickets from the https://github.com/haskell/cabal/projects/12 and https://github.com/haskell/cabal/projects/10 projects. |
Thank @yvan-sraka for tackling this problem; as you are aware it is not much of a technical problem but also a social one :-) |
@andreabedini I just went over those boards and I don't think there's anything about |
d5f98df
to
c7b82d8
Compare
c7b82d8
to
4731719
Compare
Perhaps a good approach could be to start drafing a migration guide from v1-freeze to v2-freeze. This would help us pick missing use cases if there are any. |
@Mikolaj I think you are putting a very high bar here. All contributors to Cabal pay an ongoing tax for the arcane complexity of legacy modes codebase. Doing this indefinitely just because someone potentially might still be using them strikes me as an unfair bargain. Staunch users of I have not seen any conscious users of |
I totally support all points made by @Bodigrim but...
There are, sadly, some important ones. From the top of my mind:
The issue is, v2 is still not feature-complete w.r.t. v1 [citation needed, please search the bug tracker]. I personally don't think this should hold back the v1 purge. But it makes it hard to argue with current v1 users. |
https://agda.readthedocs.io/en/latest/getting-started/installation.html#using-cabal suggests that |
For the reference, That said, AFAIU |
The infrastructure we have at NASA for haskell regularly uses I've seen this in other companies in the wild too (still to this day), and that includes |
I'm not talking about what they suggest to the users, I'm talking their internal dev jobs,e.g.: |
It's hard to remember the specifics until I encounter this again, but I remember having to rely on I also found it easier to do benchmarking using |
You don't have to argue, this is an open-source development. Anyone unhappy with upstream decisions can maintain a fork, if they wish. I don't mean to be dismissive to @ivanperez-keera or @andreasabel (and I hugely respect both!), but unless there is an announced timeline to decomission, it's unlikely the remaining users of If I were you, I'd dedicate a stable branch of |
We can add this to the agenda for next week's meeting. |
I think lowering the bar and considering removing v1-freeze is fine, and other non-central v1-commands as well perhaps. We know there are existing gaps in v2-install and v2-build, and those are real gaps, and having a full timetable to sunset all v1 commands at this time would be just poor stewardship. Existing non-solved gaps in the v2- featureset are not something that maintainers should "put users on a clock" for or otherwise blame users for. Personally, as a maintainer, I have a lot of difficulties in navigating parts of the cabal codebase, but it is never the v1-commands to blame. |
This sounds like it can be done overnight, but I'd like to hear informed estimates. I'm pretty sure there's not enough humanpower around cabal development these days to pull this out, even if there's a consensus. Even harder to propose any timeline and be sure that it won't share the previous timeline's fate (namely, the proposer burned out and left active cabal development altogether). |
I would note there are existing problems with v1- install that will accumulate over time -- notably its lack of support for mutliple public libraries, build-tool-depends, etc. These will be "push" factors that continue to drive people away from v1- and towards v2- even without maintainers spending precious cycles actively making things worse :-P |
A few relevant tickets (please add more to the projects): https://github.com/haskell/cabal/projects/12 https://github.com/haskell/cabal/projects/10 I think the crucial one is #6481. You can read there (or linked) about numerous (as in dozens or hundreds per month, I guess) end users who are not programmers and who do @Bodigrim: the bar for all v1- commands other that Edit: heh, I'm writing this comment in the very PR. :D |
The following tries to be straight and to the point, but I don't want it to be taken as rude. I appreciate the effort from the contributors and maintainers taking care of these tools, which we don't have to put time into.
@Bodigrim I'm unsure about what you mean by this. If you mean a timeline to remove In my view, the reasonable way to approach decomissioning |
@Bodigrim wrote:
I strongly object.
I am. Dear folks eager to remove |
Hello everyone! This is a humble attempt to begin cleaning up the Cabal codebase by removing outdated chunks of code. The ideal starting point for this task seems the removal of legacy
v1
commands. I am more than willing to contribute by eliminating most of them, but I'm curious to know if there are users still relying on them (perhaps onv1-build
?). Thus, I've decided to start small with only the removal ofv1-freeze
. Are there any strong objections to this initiative? If not, what are the otherv1
commands that could be removed?Please include the following checklist in your PR:
Bonus points for added automated tests!