Be more robust to store corruption
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
The new-build code assumes that whatever is in `.cabal/store` is well-formed. However, in some cases the store can get corrupted; for example, if you upgrade to a new version of cabal-install that uses a different format, or if you manually modify files inside the store. In cases like this, new-build works extremely poorly; it will fail in a supremely uninformative way, and users won't have any recourse except to blow their store away and try again. It would be better if cabal-install was coded defensively against problems in the store.
Examples:
* #4113 Self-bootstrap with latest master and index doesn't work, it turned out that deleting store fixed the problem
* If some packages in the store are broken, new-build will still attempt o improve to them.
Contributor guide
Assessment
This issue has not been assessed yet.