Skip to content

Relax strict Hackage revision matching? #3520

@snoyberg

Description

@snoyberg

I've seen a few different people report the same "not actually a bug" in the Stack prerelease (or from Arch users using a master-based build). The case is:

  • They've got a custom package-index set up
  • That package index is pointing at a 00-index.tar.gz file (which doesn't keep all revisions) instead of 01-index.tar.gz
  • The new Stack release is stricter about matching revisions listed in a snapshot, erroring out
  • As a result, stack build et al suddenly stop working with the new Stack release

There's a strong argument in favor of keeping this behavior: it provides for proper reproducibility, and usage of 00-index.tar.gz should basically be considered unsupported. On the other hand, revisions are unlikely to break snapshots (though it happens), and therefore we may be able to get away with sweeping this under the rug.

I see a few different options for this next release:

  • Keep the behavior as-is, and tell users that they have a bug
  • Change the behavior back to just warning on a revision mismatch
  • Make a new option to change the behavior on revision mismatch
  • Possibly unrelated: give a warning (that can be silenced via config) when you point at a package index named 00-index.tar.gz

I'm mostly leaning towards no changes, but wanted to open the discussion.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions