Re: Oddity with 'cabal install' in GHC 7.4.1

Ah -- so use cabal-dev for development and cabal-install when a version
stabilizes? -- Conal
On Sun, Feb 5, 2012 at 4:20 PM, Jason Dagit
On Sun, Feb 5, 2012 at 10:48 AM, Conal Elliott
wrote: On Sun, Feb 5, 2012 at 12:43 AM, Andres Löh
wrote: Hi Conal.
Thanks for the reply! Note that I get this message even running 'cabal install' a second time after changing nothing. Is that scenario an example of what you mean by a "potentially dangerous cabal invocation"?
The check currently is entirely ad-hoc. Any reinstallation of an existing package triggers the warning. There's no hash comparison.
I'm confused. Isn't package re-installation an extremely common thing in cabal while developing software?
I would say, "You should never mutate your user or global package database" and recommend using cabal-dev. The way cabal-install does destructive updates is evil. In particular, it likes to mutate your global or user package database. You run the risk of building something and then breaking it later by mutating its dependencies.
With cabal-dev it would be more like this: # Suppose you're in the source of bar # Further suppose you just changed # dependency 'foo' that you're also developing cabal-dev add-source ../foo cabal-dev install --reinstall foo
Technically this still mutates a package database but, it's a throwaway package database in the bar directory. I lose very little when I 'rm -rf cabal-dev dist' and my user and global package databases stay in tact. I feel as though I can't sing the sandboxed-build praise loudly enough. The time my computer takes to rebuild packages is negligible to the human time spent dealing with broken package databases..
I hope that helps, Jason
participants (1)
-
Conal Elliott