Uninstallers?

Carlton Mills crmills_2000 at yahoo.com
Tue Apr 5 18:56:52 BST 2011


  I like "uninstall all". I am just getting started with GHC and have cluttered 
up my disk over the last two years; being totally ignorant I have (pre HP) tried 
installing via .tgz and macports. So far HP has installed OK and I have no 
problems, but I have not had a chance to do anything non-trivial. And cabal has 
worked fine to install packages.

  So something that cleans everything up seems great. I see no downside.

Thank you,
Carlton Mills





________________________________
From: Mark Lentczner <mark.lentczner at gmail.com>
To: haskell-platform at projects.haskell.org
Sent: Tue, April 5, 2011 12:45:54 AM
Subject: Uninstallers?

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/20110405/c91559aa/attachment.htm>


More information about the Haskell-platform mailing list