diff options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/autoinstall-includes.sh | 47 | ||||
-rw-r--r-- | includes/cd-includes.sh | 27 | ||||
-rw-r--r-- | includes/generic-includes.sh | 40 | ||||
-rw-r--r-- | includes/patch-includes.sh | 23 |
4 files changed, 118 insertions, 19 deletions
diff --git a/includes/autoinstall-includes.sh b/includes/autoinstall-includes.sh index a3bfa52..7ee3024 100644 --- a/includes/autoinstall-includes.sh +++ b/includes/autoinstall-includes.sh @@ -1,3 +1,18 @@ +# 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 <http://www.gnu.org/licenses/> for a copy of the GNU General +# Public License. + ### variables ### [ -z "$FULLINSTALL" ] && export FULLINSTALL=1 @@ -7,7 +22,8 @@ # a simplified version of query() from sorcery # $1 = question # $2 = default boolean answer [yYnN] -function query { +function query +{ while true; do RESPONSE="" echo -e -n "$1 [$2] " @@ -22,6 +38,35 @@ function query { done } +function choosegame +{ + while true; do + choice=0 + echo "Choose the game to install from the list:" + echo "1 | Baldur's Gate 1 (5CD International version)" + echo "2 | Baldurs Gate & Tales of the Sword Coast (3CD US version)" + echo "3 | Tales of the Sword Coast (1CD UK version)" + echo "4 | Planescape: Torment (4CD version)" + echo "5 | Planescape: Torment (2CD version)" + + read -n 1 choice + echo + + case $choice in + 1 ) export CDMD5="138528155dfeb695bd63f90eacee7dc0" + return 0 ;; + 2 ) export CDMD5="1a6828b97a27967e8c4acc25e1ef48d2" + return 0 ;; + 3 ) export CDMD5="e27d259ddc0171ff945dbba136e60309" + return 0 ;; + 4 ) export CDMD5="5e8c2075163aca124de4a467fb33063d" + return 0 ;; + 5 ) export CDMD5="640b61443cc86c434f1b6826e63c0e33" + return 0 ;; + esac + done +} + function recommendcfg { # usage: recommendcfg [numofcds] diff --git a/includes/cd-includes.sh b/includes/cd-includes.sh index 877aa57..e7c2526 100644 --- a/includes/cd-includes.sh +++ b/includes/cd-includes.sh @@ -1,3 +1,18 @@ +# 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 <http://www.gnu.org/licenses/> for a copy of the GNU General +# Public License. + ### default variables ### [ -z "$CDMOUNT" ] && export CDMOUNT="/media/cdrom" @@ -62,15 +77,3 @@ function getcd return 0 } - -function copycdextras -{ - # usage: copycdextras cdnum - # essentially a case insensitive cp -R cd#/* - CDNUMBER=$1 - - for filename in $(find $CDMOUNT/[cC][dD]$CDNUMBER/ -type f || die); do - relativepath=$(echo $filename|gawk -F "$CDMOUNT/[cC][dD]$CDNUMBER" '{print $2}'|tr A-Z a-z) - cp $filename "$TARGETDIR"/$relativepath || die - done -} diff --git a/includes/generic-includes.sh b/includes/generic-includes.sh index 07de078..51cffcb 100644 --- a/includes/generic-includes.sh +++ b/includes/generic-includes.sh @@ -1,3 +1,18 @@ +# 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 <http://www.gnu.org/licenses/> for a copy of the GNU General +# Public License. + ### default variables ### [ -z "$TMPDIR" ] && export TMPDIR="/tmp/iepatch" @@ -10,17 +25,30 @@ 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." - echo "Please make sure you have the correct CDs for $FULLGAMENAME" + echo "Please make sure you have the correct CDs for the game" echo "and enough free disk space, and try again." exit 1 } +function diesoftly +{ + # a non-destructive die + + echo " ! The install failed; sorry." 1>&2 + + exit 1 +} + function diequietly { exit 1 @@ -59,7 +87,7 @@ function checkforbin function setperms { - # usage setperms targetdir + # usage: setperms targetdir if ! [ -d "$1" ]; then return 1 @@ -94,6 +122,8 @@ function usage function parseargs { + # usage: parseargs args... + while getopts ":i:p:c:l:" options; do case $options in i ) export TARGETDIR="$OPTARG";; @@ -110,7 +140,7 @@ function parseargs function copylower { - #usage: copylower source destination + # usage: copylower source destination if [ -d "$1" ]; then for filename in $(find "$1" -type f); do lowerpath="$(echo $filename|gawk -F "$1" '{print $2}'|tr A-Z a-z)" diff --git a/includes/patch-includes.sh b/includes/patch-includes.sh index 0f76409..7081e9d 100644 --- a/includes/patch-includes.sh +++ b/includes/patch-includes.sh @@ -1,3 +1,18 @@ +# 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 <http://www.gnu.org/licenses/> for a copy of the GNU General +# Public License. + ### default variables ### [ -z "$PATCHDIR" ] && export PATCHDIR="$PWD" @@ -6,8 +21,14 @@ function getpatch { + # usage: getpatch url [filename] + url=$1 - filename=$(basename $url) + if [ $# -gt 1 ]; then + filename="$2" + else + filename=$(basename $url) + fi if [ -f "$PATCHDIR/$filename" ]; then cp "$PATCHDIR/$filename" $TMPDIR || die |