1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#!/bin/sh -e
#current version of Egoboo
version=2.22
#file name of downloaded file
filename=`tempfile`
#data to move
data=" basicdat import modules players text setup.txt controls.txt "
#destination directory
dest=/usr/share/games/egoboo
dest_base=/usr/share/games
#file from archive to delete
to_del="code egoboo.txt gpl.txt"
# Use debconf.
. /usr/share/debconf/confmodule || exit
# Establish the preliminaries.
db_version 2.0
#if download is selected
download()
{
db_fset egoboo/download seen false
db_beginblock
db_input critical egoboo/download || abort
db_endblock
db_go || exit 1
db_get egoboo/download
rm -f $filename
wget "$RET" -O $filename
download=1
}
#If local file is selected
local_file()
{
db_fset egoboo/get_local seen false
db_beginblock
db_input critical egoboo/get_local || abort
db_endblock
db_go || exit 1
db_get egoboo/get_local
filename="$RET"
}
# Called if we cannot communicate with the user.
abort()
{
# They can't see it..
# Try to leave them a message anyway.
db_fset egoboo/needfile seen false
db_input critical egoboo/needfile || true
db_go
if [ "$download" = "1" ]; then
rm -rf $filename
fi
exit 1
}
RUN_LOOP=1
while [ "$RUN_LOOP" = "1" ]
do
db_reset egoboo/intro
db_input critical egoboo/intro || abort
db_go
db_get egoboo/intro
if [ "$RET" != "true" ]; then
# If No, tell them how to do it later and quit.
db_input medium egoboo/later || true
db_go
exit 0
fi
#Ask if download
db_fset egoboo/select_dl seen false
db_beginblock
db_input critical egoboo/select_dl || abort
db_endblock
db_go || exit 1
db_get egoboo/select_dl
if [ "$RET" = "Download" ]; then
download;
else
local_file;
fi
if [ -f $filename ]; then
RUN_LOOP=0;
else
db_subst egoboo/badurl filename "$filename";
db_fset egoboo/badurl seen false;
db_input critical egoboo/badurl || exit 1;
RUN_LOOP=1;
fi
done
rm -rf $dest
mkdir $dest
tar zxvf $filename -C $dest_base || abort
cd $dest; rm -rf $to_del
if [ "$download" = "1" ]; then
rm -rf $filename
fi
db_fset egoboo/sucessful seen false
db_input critical egoboo/sucessful || true
db_go
exit 0
|