fpco/stackage-curator

Don't allow manual flags to be overridden

Closed this issue · 2 comments

Motivation: if we override a manual flag, the build may very well succeed. However, end users will not be able to use the build plan, as cabal will refuse to modify the flag without manual intervention. See commercialhaskell/stackage#522 (comment) for more information.

@bergmark you think this is a good idea?

👍 Manual flags should not toggle automatically :-)

Hmm... I've implemented this change, but I don't think I can merge to master. There are really two kinds of manual flags:

  • Turn a feature on or off
  • Play with dependencies

We're trying to prevent the second case from being tweaked by the flag overrides in build-constraints.yaml. Unfortunately, we have many legitimate cases for wanting to play with the first case (e.g. disable doctests which will fail, enabling extra features to get broader test coverage). And there's no way to automatically determine which of these flags should be tweakable and which shouldn't.