diff options
author | Nick White <git@njw.me.uk> | 2009-05-01 10:11:25 +0100 |
---|---|---|
committer | Nick White <git@njw.me.uk> | 2009-05-01 10:11:25 +0100 |
commit | ebdd12a60dfdb8db6976762653764f6b2533d9c9 (patch) | |
tree | 6e31272b9f85f91dc092f4776c4a50c7e5756275 | |
parent | a6055bfb9b9847021ab93cddfdc31357b2c7fc38 (diff) | |
download | gemrb-gameinstallers-ebdd12a60dfdb8db6976762653764f6b2533d9c9.tar.bz2 gemrb-gameinstallers-ebdd12a60dfdb8db6976762653764f6b2533d9c9.zip |
Add a few more anti-clobbering protections
-rwxr-xr-x | auto-installer.sh | 3 | ||||
-rw-r--r-- | includes/generic-includes.sh | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/auto-installer.sh b/auto-installer.sh index 655bbaa..b3ec696 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -89,6 +89,9 @@ done [ -z "$TARGETDIR" ] && [ -n "$SHORTGAMENAME" ] && export TARGETDIR="$PWD/$SHORTGAMENAME" [ -z "$TARGETDIR" ] && diequietly +# if targetdir already exists, make sure we never clobber it +[ -d "$TARGETDIR" ] && export alwaysdiesafely=1 + echo "$FULLGAMENAME detected, installing" "$scriptdir/$MINSCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly diff --git a/includes/generic-includes.sh b/includes/generic-includes.sh index 983853a..43474af 100644 --- a/includes/generic-includes.sh +++ b/includes/generic-includes.sh @@ -25,8 +25,12 @@ function die { - echo "Install can not continue, cleaning up partial install" - rm -rf "$TARGETDIR" + echo "Install can not continue" + + if [ "$alwaysdiesafely" != "1" ]; then + echo "Cleaning up partial install" + rm -rf "$TARGETDIR" + fi echo "" echo "The install failed; sorry." |