Skip to content

Make lukko flag default to off.#322

Merged
Mikolaj merged 4 commits into
haskell:masterfrom
a-02:10724-flip-lukko-flag-default
May 2, 2025
Merged

Make lukko flag default to off.#322
Mikolaj merged 4 commits into
haskell:masterfrom
a-02:10724-flip-lukko-flag-default

Conversation

@a-02

@a-02 a-02 commented Jan 18, 2025

Copy link
Copy Markdown
Contributor

Based on discussions from haskell/cabal#10724, which was spurred by the comment here: haskellari/lukko#39 (comment)

@a-02 a-02 force-pushed the 10724-flip-lukko-flag-default branch from 3c6a5d3 to c7c0c2f Compare January 18, 2025 06:20
@Mikolaj

Mikolaj commented Jan 18, 2025

Copy link
Copy Markdown
Member

I was thinking we could start by flipping the flag in cabal, as the main user of hackage-security. However, this PR is a sensible second step. Or am I missing something?

@andreasabel

Copy link
Copy Markdown
Member

Note that so far we have a commented-out line turning off lukko in the project file:

-- constraints: hackage-security -lukko

This PR should also touch this line. Probably it makes sense to just delete it.

@a-02

a-02 commented Jan 18, 2025

Copy link
Copy Markdown
Contributor Author

I think I just misunderstood the ask from the dev meeting on Thursday. I can make the PR to set the lukko flag to off in cabal and get that done first before this.

Comment thread hackage-security/hackage-security.cabal
@Bodigrim

Copy link
Copy Markdown
Contributor

I was thinking we could start by flipping the flag in cabal, as the main user of hackage-security.

You can flip it in cabal.project of Cabal, but it would not meaningfully help anyone who relies on Hackage source distribution. E. g., Stackage will still be in trouble if lukko is not updated in time.

However, this PR is a sensible second step.

One possibility is to keep default: True but set manual: False. In which case the solver will keep using lukko if available in current configuration but will flip the flag automatically and switch to base otherwise.

@Mikolaj

Mikolaj commented Jan 18, 2025

Copy link
Copy Markdown
Member

Thanks, Bodigrim!

Co-authored-by: ˌbodʲɪˈɡrʲim <andrew.lelechenko@gmail.com>
@Bodigrim

Copy link
Copy Markdown
Contributor

@Mikolaj @andreasabel what's the status of this? Could we please get it merged?

@Mikolaj

Mikolaj commented Apr 14, 2025

Copy link
Copy Markdown
Member

I'm sorry I've read the comment chain one time too many and now I'm confused. Weren't we supposed to change the flag first in cabal (I don't think we did; did we?) and only then, after some time, in hackage-security? See haskell/cabal#10724 (comment), unless we've developed a better deprecation plan since then. Did we?

@Bodigrim

Copy link
Copy Markdown
Contributor

You do you, but I think all this "developing a deprecation plan" is greatly overcomplicated. What's wrong with simply switching the flag in hackage-security? If you want to be super duper extra safe, both switch the default value and mark the flag as automatic, so that it can be switched back via a Hackage revision.

@Mikolaj

Mikolaj commented Apr 15, 2025

Copy link
Copy Markdown
Member

It's all about incentives. If anybody is keen enough to see this change through quickly and would like to take responsibility for the change process, patching and reverting as needed, I'm more than happy to assist in enacting the fast plan and then cleaning up the fallout.

By default, the cabal/hackage-security team is conservative, though.

@Bodigrim

Copy link
Copy Markdown
Contributor

Count me keen enough then :)

@a-02 could you please make the flag both automatic manual: False and disabled default: False? Making it automatic would allow me to switch it back by revision, if anything unforeseen happens.

@Mikolaj

Mikolaj commented Apr 17, 2025

Copy link
Copy Markdown
Member

Great! Let's do it!

@a-02

a-02 commented Apr 17, 2025

Copy link
Copy Markdown
Contributor Author

You got it, now its set to False in both fields.

@Mikolaj

Mikolaj commented Apr 17, 2025

Copy link
Copy Markdown
Member

Could you also please rebase? Maybe then Ci failures would vanish...

@Bodigrim

Bodigrim commented May 1, 2025

Copy link
Copy Markdown
Contributor

@Mikolaj good to go? CI is green now.

@Mikolaj

Mikolaj commented May 2, 2025

Copy link
Copy Markdown
Member

Yes, LGTM. Rebasing and merging.

@Mikolaj Mikolaj merged commit 4883e59 into haskell:master May 2, 2025
33 checks passed
Bodigrim added a commit to haskell/cabal that referenced this pull request Jun 18, 2025
The lukko package (https://hackage.haskell.org/package/lukko)
was meant to be a temporary workaround, and relevant improvements
have been long accessible from base:GHC.IO.Handle.Lock.

As suggested at haskellari/lukko#39 (comment),
let's switch the default value of the lukko flag of cabal-install
from True to False. Additionally, to be on the safe side, we make it
an automatic one, so that if things go terribly wrong a Hackage revision
could sort it back.

The same change has been implemented for the hackage-security package
sometime ago in haskell/hackage-security#322,
and there seems to be no complaints.
Bodigrim added a commit to haskell/cabal that referenced this pull request Jun 18, 2025
The lukko package (https://hackage.haskell.org/package/lukko)
was meant to be a temporary workaround, and relevant improvements
have been long accessible from base:GHC.IO.Handle.Lock.

As suggested at haskellari/lukko#39 (comment),
let's switch the default value of the lukko flag of cabal-install
from True to False. Additionally, to be on the safe side, we make it
an automatic one, so that if things go terribly wrong a Hackage revision
could sort it back.

The same change has been implemented for the hackage-security package
sometime ago in haskell/hackage-security#322,
and there seems to be no complaints.
Mikolaj pushed a commit to haskell/cabal that referenced this pull request Jun 21, 2025
The lukko package (https://hackage.haskell.org/package/lukko)
was meant to be a temporary workaround, and relevant improvements
have been long accessible from base:GHC.IO.Handle.Lock.

As suggested at haskellari/lukko#39 (comment),
let's switch the default value of the lukko flag of cabal-install
from True to False. Additionally, to be on the safe side, we make it
an automatic one, so that if things go terribly wrong a Hackage revision
could sort it back.

The same change has been implemented for the hackage-security package
sometime ago in haskell/hackage-security#322,
and there seems to be no complaints.
zlonast pushed a commit to zlonast/cabal that referenced this pull request Aug 25, 2025
The lukko package (https://hackage.haskell.org/package/lukko)
was meant to be a temporary workaround, and relevant improvements
have been long accessible from base:GHC.IO.Handle.Lock.

As suggested at haskellari/lukko#39 (comment),
let's switch the default value of the lukko flag of cabal-install
from True to False. Additionally, to be on the safe side, we make it
an automatic one, so that if things go terribly wrong a Hackage revision
could sort it back.

The same change has been implemented for the hackage-security package
sometime ago in haskell/hackage-security#322,
and there seems to be no complaints.
zlonast pushed a commit to zlonast/cabal that referenced this pull request Aug 26, 2025
The lukko package (https://hackage.haskell.org/package/lukko)
was meant to be a temporary workaround, and relevant improvements
have been long accessible from base:GHC.IO.Handle.Lock.

As suggested at haskellari/lukko#39 (comment),
let's switch the default value of the lukko flag of cabal-install
from True to False. Additionally, to be on the safe side, we make it
an automatic one, so that if things go terribly wrong a Hackage revision
could sort it back.

The same change has been implemented for the hackage-security package
sometime ago in haskell/hackage-security#322,
and there seems to be no complaints.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants