Uninstallers?

Mark Lentczner mark.lentczner at gmail.com
Tue Apr 5 06:45:54 BST 2011


I'm preparing the 2011.2.0.1 rev. of HP for Mac OS X and I'm wondering what
to do about uninstallers.

"Uninstallation", when run as part of the installation of a particular HP
version, or as installed as a script to be run by the user later could mean
any of these things:

1) Uninstall precisely just the version installed, leaving other versions
(older and newer) alone.
2) Uninstall older versions than the version just installed.
3) Uninstall all but the newest version on the system.
4) Uninstall all versions.

I have a script that does #4. It tries pretty hard to remove most of older
GHC and HPs from your system[1]. I'm comfortable enough with it that I use
this script myself on both my test systems and my personal development
systems. Writing scripts for 1~3 would be harder. There are a number of
complex symlinks that have to get fixed up as individual versions are
removed - and they have to handle the vagaries of particular versions.

I'm thinking of adding these to the Max OS X HP installer:
1) Offer to run "Uninstall all versions" as an optional initial install step
2) Install that script in /Library/Haskell/bin

What do folks think? What does the Windows installer offer in this way? I'm
guessing Linux distros rely on the host OS's package manager for
uninstallation.

- Mark

[1] It doesn't attempt to clean up anything installed with --user. And, if
the user did --global installs with default .cabal/config settings, then
those packages will have bits spewed all over /usr/local and those aren't
cleaned up.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://projects.haskell.org/pipermail/haskell-platform/attachments/20110404/2cd7410d/attachment.htm>


More information about the Haskell-platform mailing list