From be2066c426699d84ce2b40749df6d218ee90f81f Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 15 Apr 2009 15:35:59 +0100 Subject: Added license notice to all files --- auto-installer.sh | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index d79f8af..62ac13d 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -1,4 +1,18 @@ #!/bin/sh +# Copyright 2009 Nick White +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# See for a copy of the GNU General +# Public License. FULLGAMENAME='' MINSCRIPT='' @@ -83,8 +97,8 @@ fi if [ -n "$PATCHES" ]; then for patch in $PATCHES; do - # grab 2nd line from scripts - patchtitle=$(sed -n 2p $patch|cut -d ' ' -f 2-) + # grab 17th line from scripts (description line; after license) + patchtitle=$(sed -n 17p $patch|cut -d ' ' -f 2-) if query "Do you want to install $patchtitle" y; then $patch \ -i "$TARGETDIR" \ -- cgit v1.2.3 From f668f7acafd2c15fe915f753d7ca9fd5b5f53d43 Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 15 Apr 2009 15:38:07 +0100 Subject: Ensure bash is always used to execute scripts --- auto-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index 62ac13d..a31dbd8 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Copyright 2009 Nick White # # This program is free software; you can redistribute it and/or -- cgit v1.2.3 From b4287acf7cef82f0215de55fd937670761fdee41 Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 15 Apr 2009 15:53:19 +0100 Subject: Normalised script descriptions --- auto-installer.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index a31dbd8..f8052bd 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -13,6 +13,9 @@ # # See for a copy of the GNU General # Public License. +# +# Runs the appropriate installer(s) for an Infinity Engine game, +# based on the CD inserted FULLGAMENAME='' MINSCRIPT='' -- cgit v1.2.3 From 3ecf0d63f3ce379f08e3d6aa609a4e73aa1f98b2 Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 15 Apr 2009 23:08:30 +0100 Subject: Removed Qwinn's fix/mod packs Turned out to be more trouble than it was worth to integrate these into the install. Best to leave it to intrepid users, at least for now. --- auto-installer.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index f8052bd..e7de650 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -65,7 +65,6 @@ case "$CDMD5" in SHORTGAMENAME="pst" MINSCRIPT=pst/install-2cd-minimal.sh EXTRASCRIPT=pst/install-2cd-extra.sh - PATCHES="pst/install-patch-fixpack.sh pst/install-patch-ub.sh pst/install-patch-tweaks.sh" WINDOWSFILES="torment.exe ereg" CDNO=2 ;; @@ -74,7 +73,7 @@ case "$CDMD5" in SHORTGAMENAME="pst" MINSCRIPT=pst/install-4cd-minimal.sh EXTRASCRIPT=pst/install-4cd-extra.sh - PATCHES="pst/install-patch-official.sh pst/install-patch-fixpack.sh pst/install-patch-ub.sh pst/install-patch-tweaks.sh" + PATCHES="pst/install-patch-official.sh" WINDOWSFILES="torment.exe ereg" CDNO=4 ;; -- cgit v1.2.3 From f370d9f9392270acecf87921c8961c32f0327fe8 Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 16 Apr 2009 09:34:35 +0100 Subject: Use scriptdir to allow running from anywhere --- auto-installer.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index e7de650..b68fd45 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -86,12 +86,12 @@ esac echo "$FULLGAMENAME detected, installing" -$MINSCRIPT -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly +"$scriptdir/$MINSCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly -if [ -n "$EXTRASCRIPT" ]; then +if [ -n "$scriptdir/$EXTRASCRIPT" ]; then if query "Do you want to do a full install, so the CDs will not be needed again?" y; then FULLINSTALL=1 - $EXTRASCRIPT -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly + "$scriptdir/$EXTRASCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly else FULLINSTALL=0 fi @@ -99,6 +99,7 @@ fi if [ -n "$PATCHES" ]; then for patch in $PATCHES; do + patch="$scriptdir/$patch" # grab 17th line from scripts (description line; after license) patchtitle=$(sed -n 17p $patch|cut -d ' ' -f 2-) if query "Do you want to install $patchtitle" y; then -- cgit v1.2.3 From eb9593d8616995cb9e88e9192acdaa9582d332fd Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 16 Apr 2009 11:31:39 +0100 Subject: Added autoinstaller menu to choose game manually --- auto-installer.sh | 99 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 49 deletions(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index b68fd45..206523d 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -34,55 +34,56 @@ parseargs "$@" echo "Checking CD version" CDMD5=$(md5sum $CDMOUNT/data1.cab|awk '{print $1}') -case "$CDMD5" in - "138528155dfeb695bd63f90eacee7dc0" ) - FULLGAMENAME="Baldurs Gate 1: 5CD International version" - SHORTGAMENAME="bg1" - MINSCRIPT=bg1/install-5cd-minimal.sh - EXTRASCRIPT=bg1/install-5cd-extra.sh - PATCHES="bg1/install-patch-intl.sh bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh" - WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url" - CDNO=5 - ;; - "1a6828b97a27967e8c4acc25e1ef48d2" ) - FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 3CD US version" - SHORTGAMENAME="bg1" - MINSCRIPT=totsc/install-3cd-minimal.sh - EXTRASCRIPT=bg1/install-3cd-extra.sh - PATCHES="bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh" - WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url" - CDNO=3 - ;; - "e27d259ddc0171ff945dbba136e60309" ) - FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 1CD UK version" - SHORTGAMENAME="totsc" - MINSCRIPT=totsc/install-1cd-uk.sh - PATCHES="totsc/install-patch-uk.sh totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" - WINDOWSFILES="bgmain2.exe baldur.exe config.exe mconvert.exe" - ;; - "640b61443cc86c434f1b6826e63c0e33" ) - FULLGAMENAME="Planescape Torment: 2CD version" - SHORTGAMENAME="pst" - MINSCRIPT=pst/install-2cd-minimal.sh - EXTRASCRIPT=pst/install-2cd-extra.sh - WINDOWSFILES="torment.exe ereg" - CDNO=2 - ;; - "5e8c2075163aca124de4a467fb33063d" ) - FULLGAMENAME="Planescape Torment: 4CD version" - SHORTGAMENAME="pst" - MINSCRIPT=pst/install-4cd-minimal.sh - EXTRASCRIPT=pst/install-4cd-extra.sh - PATCHES="pst/install-patch-official.sh" - WINDOWSFILES="torment.exe ereg" - CDNO=4 - ;; - * ) - echo "Unrecognised CD - please select game from menu" - # TODO: Add menu to show and select all known BG1 versions - exit 1 - ;; -esac +while [ -z "$MINSCRIPT" ]; do + case "$CDMD5" in + "138528155dfeb695bd63f90eacee7dc0" ) + FULLGAMENAME="Baldurs Gate 1: 5CD International version" + SHORTGAMENAME="bg1" + MINSCRIPT=bg1/install-5cd-minimal.sh + EXTRASCRIPT=bg1/install-5cd-extra.sh + PATCHES="bg1/install-patch-intl.sh bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh" + WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url" + CDNO=5 + ;; + "1a6828b97a27967e8c4acc25e1ef48d2" ) + FULLGAMENAME="Baldurs Gate & Tales of the Sword Coast: 3CD US version" + SHORTGAMENAME="totsc" + MINSCRIPT=totsc/install-3cd-minimal.sh + EXTRASCRIPT=totsc/install-3cd-extra.sh + PATCHES="totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" + WINDOWSFILES="baldur.exe bgmain.exe config.exe keymap.ini luaauto.cfg update.url" + CDNO=3 + ;; + "e27d259ddc0171ff945dbba136e60309" ) + FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 1CD UK version" + SHORTGAMENAME="totsc" + MINSCRIPT=totsc/install-1cd-uk.sh + PATCHES="totsc/install-patch-uk.sh totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" + WINDOWSFILES="bgmain2.exe baldur.exe config.exe mconvert.exe" + ;; + "640b61443cc86c434f1b6826e63c0e33" ) + FULLGAMENAME="Planescape Torment: 2CD version" + SHORTGAMENAME="pst" + MINSCRIPT=pst/install-2cd-minimal.sh + EXTRASCRIPT=pst/install-2cd-extra.sh + WINDOWSFILES="torment.exe ereg" + CDNO=2 + ;; + "5e8c2075163aca124de4a467fb33063d" ) + FULLGAMENAME="Planescape Torment: 4CD version" + SHORTGAMENAME="pst" + MINSCRIPT=pst/install-4cd-minimal.sh + EXTRASCRIPT=pst/install-4cd-extra.sh + PATCHES="pst/install-patch-official.sh" + WINDOWSFILES="torment.exe ereg" + CDNO=4 + ;; + * ) + echo "Unrecognised CD - please select game from menu" + choosegame + ;; + esac +done echo "$FULLGAMENAME detected, installing" -- cgit v1.2.3 From 1c9428ba23149f6d07556f658270db45ddcd9ff6 Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 16 Apr 2009 11:49:13 +0100 Subject: Make patch failure non-critical --- auto-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index 206523d..822fc61 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -109,7 +109,7 @@ if [ -n "$PATCHES" ]; then -p "$PATCHDIR" \ -l "$LANGUAGE" \ -c "$CDMOUNT" \ - 1>/dev/null || diequietly + 1>/dev/null fi done fi -- cgit v1.2.3 From 7560300c9a9779802c73bcec2a78c54ea070f16d Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 16 Apr 2009 12:07:45 +0100 Subject: Fixed bug detecting if there are any extras to install --- auto-installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index 822fc61..a54e107 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -89,7 +89,7 @@ echo "$FULLGAMENAME detected, installing" "$scriptdir/$MINSCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly -if [ -n "$scriptdir/$EXTRASCRIPT" ]; then +if [ -n "$EXTRASCRIPT" ]; then if query "Do you want to do a full install, so the CDs will not be needed again?" y; then FULLINSTALL=1 "$scriptdir/$EXTRASCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly -- cgit v1.2.3 From bdd2dc3b38860dd2c061b302b112ef3f5569c597 Mon Sep 17 00:00:00 2001 From: Nick White Date: Thu, 16 Apr 2009 12:42:16 +0100 Subject: Small fixes to totsc installer --- auto-installer.sh | 1 + 1 file changed, 1 insertion(+) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index a54e107..1fcdbc3 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -60,6 +60,7 @@ while [ -z "$MINSCRIPT" ]; do MINSCRIPT=totsc/install-1cd-uk.sh PATCHES="totsc/install-patch-uk.sh totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" WINDOWSFILES="bgmain2.exe baldur.exe config.exe mconvert.exe" + CDNO=6 ;; "640b61443cc86c434f1b6826e63c0e33" ) FULLGAMENAME="Planescape Torment: 2CD version" -- cgit v1.2.3 From a6055bfb9b9847021ab93cddfdc31357b2c7fc38 Mon Sep 17 00:00:00 2001 From: Nick White Date: Fri, 1 May 2009 09:40:15 +0100 Subject: Fixed targetdir setting (thanks Nick Daly) Fixed a problem with setting targetdir which could result in the current directory being deleted. --- auto-installer.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index 1fcdbc3..655bbaa 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -86,6 +86,9 @@ while [ -z "$MINSCRIPT" ]; do esac done +[ -z "$TARGETDIR" ] && [ -n "$SHORTGAMENAME" ] && export TARGETDIR="$PWD/$SHORTGAMENAME" +[ -z "$TARGETDIR" ] && diequietly + echo "$FULLGAMENAME detected, installing" "$scriptdir/$MINSCRIPT" -i "$TARGETDIR" -c "$CDMOUNT" 1>/dev/null || diequietly -- cgit v1.2.3 From ebdd12a60dfdb8db6976762653764f6b2533d9c9 Mon Sep 17 00:00:00 2001 From: Nick White Date: Fri, 1 May 2009 10:11:25 +0100 Subject: Add a few more anti-clobbering protections --- auto-installer.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'auto-installer.sh') 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 -- cgit v1.2.3 From 28083ccefa13e4137afb300544072e7e176c7de8 Mon Sep 17 00:00:00 2001 From: Nick White Date: Fri, 1 May 2009 10:38:18 +0100 Subject: Changed default install paths to not clash with script directory names --- auto-installer.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'auto-installer.sh') diff --git a/auto-installer.sh b/auto-installer.sh index b3ec696..a34a5cd 100755 --- a/auto-installer.sh +++ b/auto-installer.sh @@ -38,7 +38,7 @@ while [ -z "$MINSCRIPT" ]; do case "$CDMD5" in "138528155dfeb695bd63f90eacee7dc0" ) FULLGAMENAME="Baldurs Gate 1: 5CD International version" - SHORTGAMENAME="bg1" + SHORTGAMENAME="baldursgate1" MINSCRIPT=bg1/install-5cd-minimal.sh EXTRASCRIPT=bg1/install-5cd-extra.sh PATCHES="bg1/install-patch-intl.sh bg1/install-patch-baldurdash-fix.sh bg1/install-patch-baldurdash-text.sh" @@ -47,7 +47,7 @@ while [ -z "$MINSCRIPT" ]; do ;; "1a6828b97a27967e8c4acc25e1ef48d2" ) FULLGAMENAME="Baldurs Gate & Tales of the Sword Coast: 3CD US version" - SHORTGAMENAME="totsc" + SHORTGAMENAME="baldursgate1totsc" MINSCRIPT=totsc/install-3cd-minimal.sh EXTRASCRIPT=totsc/install-3cd-extra.sh PATCHES="totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" @@ -56,7 +56,7 @@ while [ -z "$MINSCRIPT" ]; do ;; "e27d259ddc0171ff945dbba136e60309" ) FULLGAMENAME="Baldurs Gate Tales of the Sword Coast: 1CD UK version" - SHORTGAMENAME="totsc" + SHORTGAMENAME="baldursgate1totsc" MINSCRIPT=totsc/install-1cd-uk.sh PATCHES="totsc/install-patch-uk.sh totsc/install-patch-baldurdash-fix.sh totsc/install-patch-baldurdash-text.sh" WINDOWSFILES="bgmain2.exe baldur.exe config.exe mconvert.exe" @@ -64,7 +64,7 @@ while [ -z "$MINSCRIPT" ]; do ;; "640b61443cc86c434f1b6826e63c0e33" ) FULLGAMENAME="Planescape Torment: 2CD version" - SHORTGAMENAME="pst" + SHORTGAMENAME="planescapetorment" MINSCRIPT=pst/install-2cd-minimal.sh EXTRASCRIPT=pst/install-2cd-extra.sh WINDOWSFILES="torment.exe ereg" @@ -72,7 +72,7 @@ while [ -z "$MINSCRIPT" ]; do ;; "5e8c2075163aca124de4a467fb33063d" ) FULLGAMENAME="Planescape Torment: 4CD version" - SHORTGAMENAME="pst" + SHORTGAMENAME="planescapetorment" MINSCRIPT=pst/install-4cd-minimal.sh EXTRASCRIPT=pst/install-4cd-extra.sh PATCHES="pst/install-patch-official.sh" -- cgit v1.2.3