summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/autoinstall-includes.sh47
-rw-r--r--includes/cd-includes.sh27
-rw-r--r--includes/generic-includes.sh40
-rw-r--r--includes/patch-includes.sh23
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