27 |
27 |
|
28 |
28 |
#
|
29 |
29 |
# Notes:
|
30 |
|
# - find command in busybox (win32) don't support "-exec"
|
31 |
|
# - trap command in busybox (win32) don't support "trap comando ERR"
|
32 |
|
# - busybox (win32) don't support statement "local"
|
|
30 |
# - find command in busybox (win32) doesn't support "-exec"
|
|
31 |
# - trap command in busybox (win32) doesn't support "trap comando ERR"
|
|
32 |
# - busybox (win32) doesn't support statement "local"
|
33 |
33 |
# - Careful with loop "while", changes in variables within the loop are
|
34 |
34 |
# lost when you leave this. Use "for" loops to avoid this.
|
35 |
35 |
#
|
... | ... | |
46 |
46 |
}
|
47 |
47 |
#trap onerror ERR
|
48 |
48 |
|
49 |
|
####################
|
|
49 |
#################################
|
50 |
50 |
# Identify OS and Architecture #
|
51 |
|
####################
|
|
51 |
#################################
|
52 |
52 |
|
53 |
53 |
UNAME=$(uname -a)
|
54 |
54 |
if echo "$UNAME" | grep -i "win" >/dev/null; then
|
55 |
55 |
OS="win"
|
56 |
56 |
ARG_D32=""
|
57 |
|
CPSEP=";"
|
|
57 |
CPSEP=";"
|
58 |
58 |
else
|
59 |
59 |
if echo "$UNAME" | grep -i "lin" >/dev/null ; then
|
60 |
60 |
OS="lin"
|
61 |
61 |
# Only linux support -d32 arg
|
62 |
62 |
ARG_D32="-d32"
|
63 |
|
CPSEP=":"
|
|
63 |
CPSEP=":"
|
64 |
64 |
else
|
65 |
65 |
OS="unknown"
|
66 |
66 |
ARG_D32=""
|
67 |
|
CPSEP=":"
|
|
67 |
CPSEP=":"
|
68 |
68 |
fi
|
69 |
69 |
fi
|
70 |
70 |
if echo "$UNAME" | egrep -i "(x86_64)|(amd64)" >/dev/null ; then
|
... | ... | |
77 |
77 |
|
78 |
78 |
getJavaArchitecture() {
|
79 |
79 |
if [ "$ARCH" = "x86" ] ; then
|
80 |
|
# Si la arquitectura del SO es x86 decimos
|
81 |
|
# que la de java es x86
|
|
80 |
# Si la arquitectura del SO es x86 decimos
|
|
81 |
# que la de java es x86
|
82 |
82 |
echo "x86"
|
83 |
83 |
else
|
84 |
|
# si la arquitectura es x86_64, comprobamos
|
85 |
|
# la arquitectura de la java que nos pasan
|
|
84 |
# si la arquitectura es x86_64, comprobamos
|
|
85 |
# la arquitectura de la java que nos pasan
|
86 |
86 |
if "$1" -version 2>&1 | egrep -i "64-Bit" >/dev/null ; then
|
87 |
87 |
echo "x86_64"
|
88 |
88 |
else
|
... | ... | |
139 |
139 |
|
140 |
140 |
|
141 |
141 |
logger () {
|
142 |
|
# level (INFO/WARNIG) message
|
|
142 |
# level (INFO/WARNING) message
|
143 |
143 |
LOGGER_LEVEL="$1"
|
144 |
144 |
shift
|
145 |
145 |
echo "$LOGGER_LEVEL launch $@"
|
... | ... | |
156 |
156 |
|
157 |
157 |
logger_cmd() {
|
158 |
158 |
logger_info "$@"
|
159 |
|
eval $@ 2>&1 | tee -a "$LOGGER_FILE"
|
|
159 |
eval $@ 2>&1 | tee -a "$LOGGER_FILE"
|
160 |
160 |
}
|
161 |
161 |
|
162 |
|
#########################
|
163 |
|
# Locate whitch command #
|
164 |
|
#########################
|
|
162 |
########################
|
|
163 |
# Locate which command #
|
|
164 |
########################
|
165 |
165 |
|
166 |
166 |
if type which >/dev/null; then
|
167 |
|
WHICH=which
|
|
167 |
WHICH=which
|
168 |
168 |
else
|
169 |
|
WHICH=type
|
|
169 |
WHICH=type
|
170 |
170 |
fi
|
171 |
171 |
|
172 |
172 |
logger_info "gvSIG Installation folder: $GVSIG_INSTALL_FOLDER"
|
173 |
173 |
logger_info "gvSIG home folder: $GVSIG_HOME_FOLDER"
|
174 |
174 |
|
175 |
|
##########################################################
|
176 |
|
# Search in gvSIG/extensiones the architecture of plugins
|
177 |
|
# installeds and set as PREFERED_ARCHITECTURE
|
178 |
|
# Note: Busybox n windows don't support -exec in find
|
179 |
|
##########################################################
|
|
175 |
###########################################################
|
|
176 |
# Search in gvSIG/extensiones the architecture of installed
|
|
177 |
# plugins and set as PREFERED_ARCHITECTURE
|
|
178 |
# Note: Busybox in windows doesn't support -exec in find
|
|
179 |
###########################################################
|
180 |
180 |
|
181 |
181 |
setPreferedArchitecture() {
|
182 |
182 |
pf_foundArch=""
|
... | ... | |
217 |
217 |
PJH5=
|
218 |
218 |
PJH6=
|
219 |
219 |
if [ -d "$GVSIG_INSTALL_FOLDER/gvSIG/extensiones/jre_7_windows_i586/jre" ] ; then
|
220 |
|
PJH5="$GVSIG_INSTALL_FOLDER/gvSIG/extensiones/jre_7_windows_i586/jre"
|
|
220 |
PJH5="$GVSIG_INSTALL_FOLDER/gvSIG/extensiones/jre_7_windows_i586/jre"
|
221 |
221 |
fi
|
222 |
222 |
if [ -d /usr/lib/jvm ] ; then
|
223 |
|
PJH6=$(find /usr/lib/jvm -maxdepth 1 ! -name "jvm" -name "[a-zA-Z]*" ! -type l -print)
|
|
223 |
PJH6=$(find /usr/lib/jvm -maxdepth 1 ! -name "jvm" -name "[a-zA-Z]*" ! -type l -print)
|
224 |
224 |
fi
|
225 |
225 |
|
226 |
226 |
#
|
227 |
|
# in next line, JAVA_HOME is set during instalation process
|
|
227 |
# in next line, JAVA_HOME is set during installation process
|
228 |
228 |
DEFAULT_JAVA_HOME="${JAVA_HOME}"
|
229 |
229 |
#
|
230 |
230 |
#
|
... | ... | |
237 |
237 |
|
238 |
238 |
for JAVA_HOME_TO_USE in "$JAVA_HOME" "$DEFAULT_JAVA_HOME" "$PJH1" "$PJH2" "$PJH3" "$PJH4" "$PJH5" $PJH6 ""
|
239 |
239 |
do
|
240 |
|
if [ "$JAVA_HOME_TO_USE" = "" ] ; then
|
241 |
|
continue
|
242 |
|
fi
|
|
240 |
if [ "$JAVA_HOME_TO_USE" = "" ] ; then
|
|
241 |
continue
|
|
242 |
fi
|
243 |
243 |
logger_info "Checking JAVA_HOME ${JAVA_HOME_TO_USE}..."
|
244 |
|
if [ ! -d "$JAVA_HOME_TO_USE" ] ; then
|
245 |
|
logger_warn "Folder not found ($JAVA_HOME_TO_USE), skip"
|
246 |
|
continue
|
247 |
|
fi
|
248 |
|
if [ ! -x "$JAVA_HOME_TO_USE/bin/java" ] ; then
|
249 |
|
logger_warn "Not a valid JAVA_HOME ($JAVA_HOME_TO_USE), bin/java not found, skip"
|
250 |
|
continue
|
251 |
|
fi
|
|
244 |
if [ ! -d "$JAVA_HOME_TO_USE" ] ; then
|
|
245 |
logger_warn "Folder not found ($JAVA_HOME_TO_USE), skip"
|
|
246 |
continue
|
|
247 |
fi
|
|
248 |
if [ ! -x "$JAVA_HOME_TO_USE/bin/java" ] ; then
|
|
249 |
logger_warn "Not a valid JAVA_HOME ($JAVA_HOME_TO_USE), bin/java not found, skip"
|
|
250 |
continue
|
|
251 |
fi
|
252 |
252 |
JAVA_ARCH=$(getJavaArchitecture "$JAVA_HOME_TO_USE/bin/java")
|
253 |
253 |
if [ "$JAVA_ARCH" != "$PREFERED_ARCHITECTURE" ] ; then
|
254 |
|
JAVA_HOME_OTHER_ARCHITECTURE="$JAVA_HOME_TO_USE"
|
255 |
|
logger_warn "Prefered architecture is $PREFERED_ARCHITECTURE, java $JAVA_ARCH found in $JAVA_HOME_TO_USE, skip"
|
256 |
|
continue
|
257 |
|
fi
|
258 |
|
break
|
|
254 |
JAVA_HOME_OTHER_ARCHITECTURE="$JAVA_HOME_TO_USE"
|
|
255 |
logger_warn "Prefered architecture is $PREFERED_ARCHITECTURE, java $JAVA_ARCH found in $JAVA_HOME_TO_USE, skip"
|
|
256 |
continue
|
|
257 |
fi
|
|
258 |
break
|
259 |
259 |
done
|
260 |
260 |
|
261 |
261 |
if [ "$JAVA_HOME_TO_USE" = "" ] ; then
|
262 |
|
# Try to use the java in the system path
|
263 |
|
if ! type java >/dev/null ; then
|
264 |
|
# java not found in the system path
|
265 |
|
if [ "$JAVA_HOME_OTHER_ARCHITECTURE" != "" ] ; then
|
266 |
|
JAVA_HOME="$JAVA_HOME_OTHER_ARCHITECTURE"
|
267 |
|
JAVA="$JAVA_HOME/bin/java"
|
268 |
|
logger_warn "java $PREFERED_ARCHITECTURE not found in the system path, using $JAVA_HOME_OTHER_ARCHITECTURE"
|
269 |
|
else
|
270 |
|
logger_warn "java not found in the system"
|
271 |
|
exit 1
|
272 |
|
fi
|
273 |
|
else
|
274 |
|
if [ "$(getJavaArchitecture $($WHICH java))" != "$PREFERED_ARCHITECTURE" ] ; then
|
275 |
|
logger_warn "java $PREFERED_ARCHITECTURE not found, using $($WHICH java)"
|
276 |
|
fi
|
277 |
|
unset JAVA_HOME
|
278 |
|
JAVA="java"
|
279 |
|
fi
|
|
262 |
# Try to use the java in the system path
|
|
263 |
if ! type java >/dev/null ; then
|
|
264 |
# java not found in the system path
|
|
265 |
if [ "$JAVA_HOME_OTHER_ARCHITECTURE" != "" ] ; then
|
|
266 |
JAVA_HOME="$JAVA_HOME_OTHER_ARCHITECTURE"
|
|
267 |
JAVA="$JAVA_HOME/bin/java"
|
|
268 |
logger_warn "java $PREFERED_ARCHITECTURE not found in the system path, using $JAVA_HOME_OTHER_ARCHITECTURE"
|
|
269 |
else
|
|
270 |
logger_warn "java not found in the system"
|
|
271 |
exit 1
|
|
272 |
fi
|
|
273 |
else
|
|
274 |
if [ "$(getJavaArchitecture $($WHICH java))" != "$PREFERED_ARCHITECTURE" ] ; then
|
|
275 |
logger_warn "java $PREFERED_ARCHITECTURE not found, using $($WHICH java)"
|
|
276 |
fi
|
|
277 |
unset JAVA_HOME
|
|
278 |
JAVA="java"
|
|
279 |
fi
|
280 |
280 |
else
|
281 |
|
JAVA_HOME="$JAVA_HOME_TO_USE"
|
282 |
|
JAVA="$JAVA_HOME/bin/java"
|
|
281 |
JAVA_HOME="$JAVA_HOME_TO_USE"
|
|
282 |
JAVA="$JAVA_HOME/bin/java"
|
283 |
283 |
fi
|
284 |
284 |
|
285 |
285 |
if [ "$PREFERED_ARCHITECTURE" = "x86" ] ; then
|
... | ... | |
301 |
301 |
|
302 |
302 |
add_library_path() {
|
303 |
303 |
#logger_info "add_library_path $1"
|
304 |
|
LD_LIBRARY_PATH="$1{CPSEP}$LD_LIBRARY_PATH$"
|
305 |
|
GVSIG_NATIVE_LIBS="$1{CPSEP}$GVSIG_NATIVE_LIBS"
|
306 |
|
PATH="$1{CPSEP}$PATH$"
|
|
304 |
LD_LIBRARY_PATH="$LD_LIBRARY_PATH${CPSEP}$1"
|
|
305 |
GVSIG_NATIVE_LIBS="$GVSIG_NATIVE_LIBS${CPSEP}$1"
|
|
306 |
PATH="$1${CPSEP}$PATH"
|
307 |
307 |
}
|
308 |
308 |
|
309 |
309 |
list_shared_library_dependencies() {
|
310 |
310 |
logger_info "Checking shared library dependencies for $1"
|
311 |
311 |
if [ "$OS" = "win" ] ; then
|
312 |
|
logger_cmd ./cygcheck.exe "$1"
|
|
312 |
logger_cmd ./cygcheck.exe "\"$1"\"
|
313 |
313 |
else
|
314 |
|
logger_cmd ldd "$1"
|
315 |
|
fi || logger_warn "Problens checking shared library $1" || true
|
|
314 |
logger_cmd ldd "$1"
|
|
315 |
fi || logger_warn "Problems checking shared library $1" || true
|
316 |
316 |
}
|
317 |
317 |
|
318 |
318 |
add_classpath() {
|
... | ... | |
357 |
357 |
export GVSIG_PARAMS
|
358 |
358 |
|
359 |
359 |
# gvSIG initial classpath
|
360 |
|
export GVSIG_CLASSPATH="$LIBRARIES:$GVSIG_CLASSPATH"
|
|
360 |
export GVSIG_CLASSPATH="$LIBRARIES${CPSEP}$GVSIG_CLASSPATH"
|
361 |
361 |
|
362 |
362 |
########################
|
363 |
363 |
# Memory configuration #
|
... | ... | |
370 |
370 |
# Maximum permanent memory size: needed to load classes and statics
|
371 |
371 |
export GVSIG_MAX_PERM_SIZE=${GVSIG_MAX_PERM_SIZE:-128M}
|
372 |
372 |
|
373 |
|
#############################
|
374 |
|
# Execute plugin's autorun #
|
375 |
|
#############################
|
|
373 |
############################
|
|
374 |
# Execute plugin autoruns #
|
|
375 |
############################
|
376 |
376 |
|
377 |
377 |
for PLUGIN_FOLDER in "$GVSIG_INSTALL_FOLDER/gvSIG/extensiones/"*
|
378 |
378 |
do
|
... | ... | |
397 |
397 |
|
398 |
398 |
DEBUG_ARGS="X${@}X"
|
399 |
399 |
if expr match "$DEBUG_ARGS" "X.*--pause.*X" >/dev/null; then
|
400 |
|
DEBUG_PAUSE="y"
|
|
400 |
DEBUG_PAUSE="y"
|
401 |
401 |
else
|
402 |
|
DEBUG_PAUSE="n"
|
|
402 |
DEBUG_PAUSE="n"
|
403 |
403 |
fi
|
404 |
404 |
|
405 |
405 |
if expr match "$DEBUG_ARGS" "X.*--debug.*X" >/dev/null; then
|