blob: aeb9a03f61fcb31b2200620d8327629c7feb7061 (
plain)
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
MENU_main_ITEMS="components install_prefix"
MENU_main_TITLE="The Ur-Quan Masters installation"
MENU_main_ITEM_components_TYPE=MENU
MENU_main_ITEM_install_prefix_TYPE=INPUT
MENU_components_TITLE="Optional components"
MENU_components_TEXT=\
" Here you can select which components you'd like to have installed. If you
can spare the space, you are adviced to select all, for the maximum game
experience.
"
package_filename() {
local FILENAME PACKNAME
eval PACKNAME="\${UQM_PACKAGE_$1_NAME}"
# Check complete package first for reinstall or downgrade.
# If they're not found, we'll settle for an upgrade package,
# maybe it will work, maybe it won't.
case "$UQM_INSTALL" in
NEW|REINSTALL|DOWNGRADE)
FILENAME="${CONTENT_PATH}uqm-${UQM_VERSION}-$PACKNAME.zip"
if [ -f "$FILENAME" ]; then
# Found complete package.
echo "$FILENAME"
return 0
fi
;;
esac
# A full package is needed for a new install
if [ "$UQM_INSTALL" = NEW ]; then
return 1
fi
# Check for upgrade package.
FILENAME="${CONTENT_PATH}uqm-${UQM_OLDVERSION}_to_${UQM_VERSION}-$PACKNAME.zip"
if [ -f "$FILENAME" ]; then
# Found upgrade package.
echo "$FILENAME"
return 0
fi
# Check complete package again, as you can upgrade with a complete
# package.
if [ "$UQM_INSTALL" = UPGRADE ]; then
FILENAME="${CONTENT_PATH}uqm-${UQM_VERSION}-$PACKNAME.zip"
if [ -f "$FILENAME" ]; then
# Found complete package.
echo "$FILENAME"
return 0
fi
fi
return 1
}
package_available() {
package_filename "$@" > /dev/null
return $?
}
set_components_menu() {
local TITLE OPTIONAL DEFAULT
MENU_install_components_TITLE="Optional components selection"
MENU_install_components_ITEMS="$UQM_PACKAGES"
for PACKAGE in $UQM_PACKAGES; do
eval TITLE="\"\${UQM_PACKAGE_${PACKAGE}_TITLE}\""
eval OPTIONAL="\${UQM_PACKAGE_${PACKAGE}_OPTIONAL}"
eval DEFAULT="\${UQM_PACKAGE_${PACKAGE}_DEFAULT}"
eval MENU_install_components_ITEM_${PACKAGE}_TYPE=CHECK
eval CHECK_${PACKAGE}_TITLE=\"\$TITLE\"
if [ "$DEFAULT" = "TRUE" ]; then
eval CHECK_${PACKAGE}_DEFAULT=CHECKED
else
eval CHECK_${PACKAGE}_DEFAULT=UNCHECKED
fi
if package_available "$PACKAGE"; then
if [ "$OPTIONAL" = "FALSE" ]; then
eval CHECK_${PACKAGE}_VALUE=CHECKED
eval CHECK_${PACKAGE}_FIXED=TRUE
fi
else
if [ "$OPTIONAL" = "TRUE" ]; then
eval CHECK_${PACKAGE}_VALUE=UNCHECKED
eval CHECK_${PACKAGE}_FIXED=TRUE
else
echo "Can't find '$PACKAGE' package"
return 1
fi
fi
done
return 0
}
show_components_menu() {
do_menu MENU install_components ""
}
INPUT_install_prefix_TITLE="Installation prefix"
#INPUT_install_prefix_TEXT=\
#" This is the top directory where the game data will be installed.
# In the directory you specify directories like 'bin', 'lib' and 'share'
# will be used.
#"
if [ "$(id -u)" -eq 0 ]; then
INPUT_install_prefix_DEFAULT="/usr/local/games/"
else
INPUT_install_prefix_DEFAULT="$HOME/uqm/"
fi
INPUT_install_prefix_VALIDATOR=validate_path
show_install_prefix_menu() {
do_menu INPUT install_prefix ""
INPUT_install_prefix_VALUE="${INPUT_install_prefix_VALUE%/}/"
}
INPUT_content_path_TITLE="Location of content packages"
INPUT_content_path_DEFAULT="${PWD%/}/"
INPUT_content_path_VALIDATOR=validate_path
show_content_path_menu() {
do_menu INPUT content_path ""
INPUT_content_path_VALUE="${INPUT_content_path_VALUE%/}/"
}
selected_packages() {
local RESULT PACKAGE VALUE
RESULT=""
for PACKAGE in $UQM_PACKAGES; do
eval VALUE="\$CHECK_${PACKAGE}_VALUE"
if [ "$VALUE" = CHECKED ]; then
RESULT="${RESULT:+$RESULT }$PACKAGE"
fi
done
echo "$RESULT"
}
|