ghc-pkg update should fail if dependent packages might break
If a package is recompiled and re-installed, and other packages depend on it, those packages might be broken; e.g. see #3060 (closed).
Hence ghc-pkg update should refuse to perform the update, unless explicitly overridden with --force. However, it's not quite as simple as that:
-
The package might already have been installed over the top of the old one, and
it's too late to reverse that.
-
cabal-installlikes to build and install a bunch of packages at the same time,using
ghc-pkg updateon each one. This will fail. -
The GHC build system uses
ghc-pkg updateto register packages, and thisbreaks when packages are re-built (it's ok for a clean build, though).
I've attached a couple of patches to implement it, but let's hold these back until the above issues are sorted out.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.10.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |