3 # Uninstaller script for GHC.framework
4 # (currently only for system volume installations)
6 INSTALL_DEST=/Library/Frameworks
9 # Turn off things that might make /usr/bin/ls give funky output
14 if [ ${INSTALL_BASE} = / ]; then
17 INSTALL_BIN=${INSTALL_BASE}/bin
18 INSTALL_MAN1=${INSTALL_BASE}/share/man/man1
19 INSTALL_HTML=${INSTALL_BASE}/share/doc
21 if [ ! -x ${INSTALL_DEST}/GHC.framework ]; then
22 echo "${INSTALL_DEST}/GHC.framework does not exit"
26 if [ ${USER} != root ]; then
27 echo "GHC.framework installer must be run with admin privileges"
28 echo "Prefix command by 'sudo'"
32 FRAMEWORK_DIRECTORY="$INSTALL_DEST/GHC.framework"
33 VERSIONS_DIRECTORY="$FRAMEWORK_DIRECTORY/Versions"
35 MY_VERSION=@FRAMEWORK_VERSION@
36 MY_DIRECTORY="$VERSIONS_DIRECTORY/$MY_VERSION"
38 CURRENT_DIRECTORY="$VERSIONS_DIRECTORY/Current"
39 CURRENT_VERSION=`readlink "$CURRENT_DIRECTORY"`
42 for f in `ls -1 "$MY_DIRECTORY/$1"`
45 # Only remove if it is a link to our version. e.g. /usr/bin/ghc
46 # will only be removed if we are the current version, but
47 # /usr/bin/ghc-7.0.1 will be removed even if ghc-7.2.1 is the
49 l=`readlink "$qf" | grep "GHC.framework/Versions/$MY_VERSION"`
57 removeLinksFrom /usr/bin
58 removeLinksFrom /usr/share/man/man1
59 removeLinksFrom /usr/share/doc
61 echo "Removing $MY_DIRECTORY"
62 rm -rf "$MY_DIRECTORY"
64 if [ "$CURRENT_VERSION" = "$MY_VERSION" ]
66 rm -f "$CURRENT_DIRECTORY"
68 # This isn't ideal, but it's a vague approximation to
69 # "the most recent version":
70 NEW_VERSION=`ls -1 "$VERSIONS_DIRECTORY" | tail -1`
71 if [ "$NEW_VERSION" = "" ]
73 echo "Removing $FRAMEWORK_DIRECTORY"
74 rm -rf "$FRAMEWORK_DIRECTORY"
76 ln -s "$NEW_VERSION" "$CURRENT_DIRECTORY"
77 NEW_CREATE_LINKS="$VERSIONS_DIRECTORY/$NEW_VERSION/Tools/create-links"
78 if [ -f "$NEW_CREATE_LINKS" ]
80 sh "$NEW_CREATE_LINKS" unused /Library/Frameworks /
85 echo "Removing package receipt"
86 # The first is for Leopard packages and the second for Tiger packages.
87 rm -f "/Library/Receipts/boms/org.haskell.ghc.$MY_VERSION.bom"
88 rm -rf "/Library/Receipts/ghc.$MY_VERSION.pkg"