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).
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,
ghc-pkg updateon each one. This will fail.
The GHC build system uses
ghc-pkg updateto register packages, and this
breaks 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.