projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
280bd5b
)
Tweak the OS X installer uninstaller script
author
Ian Lynagh
<igloo@earth.li>
Sat, 23 Oct 2010 00:09:51 +0000
(
00:09
+0000)
committer
Ian Lynagh
<igloo@earth.li>
Sat, 23 Oct 2010 00:09:51 +0000
(
00:09
+0000)
distrib/MacOS/installer-scripts/Uninstaller.in
patch
|
blob
|
history
diff --git
a/distrib/MacOS/installer-scripts/Uninstaller.in
b/distrib/MacOS/installer-scripts/Uninstaller.in
index
8774e07
..
fab6a6b
100644
(file)
--- a/
distrib/MacOS/installer-scripts/Uninstaller.in
+++ b/
distrib/MacOS/installer-scripts/Uninstaller.in
@@
-38,33
+38,33
@@
MY_DIRECTORY="$VERSIONS_DIRECTORY/$MY_VERSION"
CURRENT_DIRECTORY="$VERSIONS_DIRECTORY/Current"
CURRENT_VERSION=`readlink "$CURRENT_DIRECTORY"`
CURRENT_DIRECTORY="$VERSIONS_DIRECTORY/Current"
CURRENT_VERSION=`readlink "$CURRENT_DIRECTORY"`
-if [ "$CURRENT_VERSION" = "$MY_VERSION" ]
-then
- rm -f "$CURRENT_DIRECTORY"
+removeLinksFrom () {
+ for f in `ls -1 "$MY_DIRECTORY/$1"`
+ do
+ qf="$1/$f"
+ # Only remove if it is a link to our version. e.g. /usr/bin/ghc
+ # will only be removed if we are the current version, but
+ # /usr/bin/ghc-7.0.1 will be removed even if ghc-7.2.1 is the
+ # current version.
+ l=`readlink "$qf" | grep "GHC.framework/Versions/$MY_VERSION"`
+ if [ "$l" != "" ]
+ then
+ rm -f "$qf"
+ fi
+ done
+}
- removeLinksFrom () {
- for f in `ls -1 "$MY_DIRECTORY/$1"`
- do
- qf="$1/$f"
- # Sanity check that it is a link like we expect
- l=`readlink "$qf" | grep GHC.framework/Versions`
- if [ "$l" != "" ]
- then
- rm -f "$qf"
- fi
- done
- }
-
- removeLinksFrom /usr/bin
- removeLinksFrom /usr/share/man/man1
- removeLinksFrom /usr/share/doc
-fi
+removeLinksFrom /usr/bin
+removeLinksFrom /usr/share/man/man1
+removeLinksFrom /usr/share/doc
echo "Removing $MY_DIRECTORY"
rm -rf "$MY_DIRECTORY"
if [ "$CURRENT_VERSION" = "$MY_VERSION" ]
then
echo "Removing $MY_DIRECTORY"
rm -rf "$MY_DIRECTORY"
if [ "$CURRENT_VERSION" = "$MY_VERSION" ]
then
+ rm -f "$CURRENT_DIRECTORY"
+
# This isn't ideal, but it's a vague approximation to
# "the most recent version":
NEW_VERSION=`ls -1 "$VERSIONS_DIRECTORY" | tail -1`
# This isn't ideal, but it's a vague approximation to
# "the most recent version":
NEW_VERSION=`ls -1 "$VERSIONS_DIRECTORY" | tail -1`