ANNOUNCE: GHC version 6.10.1 - MacOS installer

Jason Dagit dagit at codersbase.com
Tue Nov 18 16:41:50 EST 2008


On Wed, Nov 5, 2008 at 5:36 PM, Manuel M T Chakravarty <chak at cse.unsw.edu.au
> wrote:

> Ian Lynagh:
>
>  On Tue, Nov 04, 2008 at 09:02:12PM -0500, Brandon S. Allbery KF8NH wrote:
>>
>>> On 2008 Nov 4, at 20:26, Jason Dagit wrote:
>>>
>>>> On Tue, Nov 4, 2008 at 4:26 PM, Manuel M T Chakravarty
>>>> <chak at cse.unsw.edu.au> wrote:
>>>>
>>>>>
>>>>> Are you sure it does deinstall the 6.8 compiler?
>>>>>
>>>>> After installing 6.10, there should be a 608/ and a 610/
>>>>> directory.  This
>>>>> certainly happens on my Mac and I am not aware of an option to
>>>>> change that
>>>>> behaviour.
>>>>>
>>>>
>>> I expect if you used the OSX installer then /Library/Receipts is
>>> screwing you (it wipes the old files listed in the .bom file).  Try
>>> finding and removing the receipt directory and bom file before
>>> installing.
>>>
>>
>> The only file I can see that looks relevant is
>>   /Library/Receipts/boms/org.haskell.glasgowHaskellCompiler.ghc.pkg.bom
>>
>> Wouldn't removing it make uninstall impossible?
>>
>> In fact, if you did manage to get 2 versions installed, how would
>>   /Library/Frameworks/GHC.framework/Tools/Uninstaller
>> know which version to uninstall? Wouldn't it only know how to uninstall
>> the version it came with? I'd suggest that the overlapping file
>> "Uninstaller" could be why the older version gets removed, but that
>> wouldn't explain why Manuel can install both at once.
>>
>
> A current limitation of the MacOS package system is that it does not
> support uninstalling of packages; cf
>
>
> http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/Managed_Installs/chapter_5_section_7.html#/
> /apple_ref/doc/uid/10000145i-CH6-DontLinkElementID_29
>
> This is not a big drama on MacOS, as MacOS encourages the distribution of
> software packages as "bundles":
>
>
> http://developer.apple.com/documentation/CoreFoundation/Conceptual/CFBundles/CFBundles.html
>
> This essentially means that instead of sprinkling files all over the file
> system (as is common in other OSes), MacOS applications and frameworks
> (Mac-speak for libraries) are kept in a single directory.  Uninstalling then
> means doing an rm -rf on that directory.
>
> Unfortunately, some applications (including GHC and Apple's Xcode IDE)
> can't be entirely contained in a single directory.  In the case of GHC, we
> want symlinks in /usr/bin.  The established way of uninstalling such
> applications is by supplying an Uninstaller script, just as I did for GHC.
>  (Apple does the same for Xcode.)
>
> The purpose of the Uninstaller script is too completely remove
> GHC.framework from a machine - not just to remove one version.  In fact, if
> more than one version of GHC is installed, the Uninstaller will refuse to
> run and require the manual removal of all versions, but the current (easily
> achieved by a "rm -rf
> /Library/Frameworks/GHC.framework/Versions/<version>").  The main feature of
> the Uninstaller script is to get rid of all symlinks pointing into
> GHC.framework.  The framework itself is just deleted by a "rm -rf" as
> expected.  (It also removes the above mentioned receipt file.)
>
> So, to directly answer the above questions:
> * The package manger (which uses the receipts) can't uninstall and the
> uninstaller script doesn't need the receipt.  So, even after deleteing the
> receibt, you can still uninstall.
> * The Uninstaller can uninstall any version (at least as long as no
> symlinks are put into new directories outside of the bundle that the
> Uninstaller doesn't know about).


Is there an update on this thread?  I would still like to have my cake and
eat it too, meaning ghc 6.8.3 and ghc 6.10.1.  As far as I know the
installer hasn't been updated and if I try again I will lose my copy of
6.8.3.

Thanks,
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20081118/14235092/attachment.htm


More information about the Glasgow-haskell-users mailing list