mirror of
https://git.freebsd.org/ports.git
synced 2025-06-07 13:50:38 -04:00
This is the final release of the long lasting OJ v1.x series. The next release will introduce backward incompatible changes that'll initially break all unmodified extensions/plugins. So enjoy this one and look forward to OJ2 developed in a Git-repo using the latest locationtech JTS. Changelog: https://sourceforge.net/projects/jump-pilot/files/OpenJUMP/1.16/ Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D28643
220 lines
8.1 KiB
Bash
220 lines
8.1 KiB
Bash
--- bin/oj_linux.sh.orig 2020-12-23 15:00:38 UTC
|
|
+++ bin/oj_linux.sh
|
|
@@ -4,9 +4,11 @@
|
|
## if unset defaults to
|
|
## JUMP_HOME (oj app folder) if writable or $HOME/.openjump (user home)
|
|
#JUMP_SETTINGS="/tmp/foobar"
|
|
+JUMP_SETTINGS="$HOME/.openjump"
|
|
|
|
## uncomment and put the path to your jre here
|
|
#JAVA_HOME="/home/ed/jre1.6.0_21"
|
|
+JAVA_HOME=${JAVA_HOME}
|
|
|
|
## uncomment and change your memory configuration here
|
|
## Xms is initial size, Xmx is maximum size
|
|
@@ -55,6 +57,7 @@ extract_libs(){
|
|
# extract zipped files in native dir (our way to ship symlinks to desktops)
|
|
for filepath in $(find "$1/" -name '*.tgz' -o -name '*.tar.gz')
|
|
do
|
|
+ echo "##### filepath = '$filepath'"
|
|
file=$(basename "$filepath")
|
|
folder=$(dirname "$filepath")
|
|
done=".$file.unzipped"
|
|
@@ -78,6 +81,7 @@ postinstall(){
|
|
|
|
macinstall(){
|
|
# create app package
|
|
+ echo "##### MACINSTALL"
|
|
cp -R -a "$1"/bin/OpenJUMP.app/Contents "$1" &&\
|
|
awk '{sub(/..\/oj_/,"bin/oj_",$0)}1' "$1"/bin/OpenJUMP.app/Contents/Resources/script > "$1"/Contents/Resources/script &&\
|
|
echo patched oj.app
|
|
@@ -113,14 +117,20 @@ case "$1" in
|
|
esac
|
|
|
|
## cd into jump home
|
|
+echo "##### pwd = '$OLD_DIR'"
|
|
OLD_DIR=`pwd`
|
|
cd "$JUMP_HOME"
|
|
+PWD_DIR=`pwd`
|
|
+echo "##### cd '$JUMP_HOME', pwd = '$PWD_DIR'"
|
|
|
|
## determine where to place settings, if no path given
|
|
+echo "##### ===== JUMP_SETTINGS = '$JUMP_SETTINGS'"
|
|
[ -z "$JUMP_SETTINGS" ] && \
|
|
JUMP_SETTINGS="$JUMP_HOME"; \
|
|
if [ -d "$JUMP_SETTINGS" ]; then
|
|
+ echo "##### within -d \$JUMP_SETTINGS"
|
|
if [ ! -w "$JUMP_SETTINGS" ]; then
|
|
+ echo "##### within ! -w \$JUMP_SETTINGS"
|
|
# try users home dir
|
|
JUMP_SETTINGS="$HOME/.openjump"
|
|
# create if missing
|
|
@@ -138,14 +148,19 @@ fi
|
|
# 1. first in oj_home/jre
|
|
# 2. in configured java_home
|
|
# 3. in path
|
|
+echo "##### -----------------------------------------------------------"
|
|
+echo "##### SEARCH JAVA:"
|
|
if [ -f "$JUMP_HOME/jre/bin/java" ]; then
|
|
JAVA="$JUMP_HOME/jre/bin/java"
|
|
+ echo "##### JAVA = '$JAVA'"
|
|
# is there a jre defined by env var?
|
|
elif [ -n "$JAVA_HOME" ]; then
|
|
JAVA=$JAVA_HOME/bin/java
|
|
+ echo "##### JAVA = '$JAVA'"
|
|
# well, let's look what we've got in the path
|
|
else
|
|
JAVA=`which java`
|
|
+ echo "##### JAVA = '$JAVA'"
|
|
fi
|
|
|
|
# java available
|
|
@@ -154,24 +169,28 @@ fi
|
|
add the location of java to your PATH environment variable." && ERROR=1 && end
|
|
|
|
# resolve recursive links to java binary
|
|
+echo "##### ===== Resolve recursive links to java binary: \$1 = '$1'"
|
|
relPath "$JAVA" && JAVA="$(pwd)/$JAVA"
|
|
-while [ -L "${JAVA}" ]; do
|
|
- JDIR=$(dirname "$JAVA")
|
|
- JAVA_CANDIDATE=$(readlink -n "${JAVA}")
|
|
- # protect against Gentoo's run-java-tool.bash wrapper
|
|
- if [ $(basename "$JAVA") != $(basename "$JAVA_CANDIDATE") ]; then
|
|
- break
|
|
- fi
|
|
- JAVA="$JAVA_CANDIDATE"
|
|
- relPath "$JAVA" && JAVA="${JDIR}/${JAVA}"
|
|
-done
|
|
+echo "##### awk script survived after \$1 test"
|
|
+#while [ -L "${JAVA}" ]; do
|
|
+# JDIR=$(dirname "$JAVA")
|
|
+# JAVA_CANDIDATE=$(readlink -n "${JAVA}")
|
|
+# # protect against Gentoo's run-java-tool.bash wrapper
|
|
+# if [ $(basename "$JAVA") != $(basename "$JAVA_CANDIDATE") ]; then
|
|
+# break
|
|
+# fi
|
|
+# JAVA="$JAVA_CANDIDATE"
|
|
+# relPath "$JAVA" && JAVA="${JDIR}/${JAVA}"
|
|
+#done
|
|
# java executable file?
|
|
[ ! -x "$JAVA" ] && \
|
|
echo "The found java binary '$JAVA' is no executable file." && ERROR=1 && end
|
|
|
|
# java version check
|
|
JAVA_VERSIONSTRING="$("$JAVA" -version 2>&1)"
|
|
-JAVA_VERSION=$( echo $JAVA_VERSIONSTRING | awk 'BEGIN{done=0}{gsub(/["\047]+/,"")}/[a-zA-Z]+ version [0-9]+/{split($3,a,"[^0-9]"); if(match(a[2],/^[0-9]+$/)){print a[1]"."a[2]}else{print a[1]".0"}; done=1}END{if(!done)exit 1}' )
|
|
+#JAVA_VERSION=$( echo $JAVA_VERSIONSTRING | awk 'BEGIN{done=0}{gsub(/["\047]+/,"")}/[a-zA-Z]+ version [0-9]+/{split($3,a,"[^0-9]"); if(match(a[2],/^[0-9]+$/)){print a[1]"."a[2]}else{print a[1]".0"}; done=1}END{if(!done)exit 1}' )
|
|
+JAVA_VERSION=$(echo $JAVA_VERSIONSTRING | awk -F'"' '/^java version/ || /^openjdk version/{print $2}' | awk -F'.' '{print $1"."$2}')
|
|
+echo "##### JAVA_VERSION = '$JAVA_VERSION'"
|
|
JAVA_ARCH=$(echo $JAVA_VERSIONSTRING | grep -q -i 64-bit && echo x64 || echo x86)
|
|
JAVA_NEEDED="1.6"
|
|
if ! is_decimal "$JAVA_VERSION"; then
|
|
@@ -193,7 +212,7 @@ echo ---JAVA---
|
|
echo "Using '$(basename "${JAVA}")' found in '$(dirname "${JAVA}")'"
|
|
"$JAVA" -version 2>&1|awk 'BEGIN{ORS=""}{print $0"; "}END{print "\n"}'
|
|
|
|
-JUMP_PROFILE=~/.jump/openjump.profile
|
|
+JUMP_PROFILE="$HOME/.openjump/openjump.profile"
|
|
if [ -f "$JUMP_PROFILE" ]; then
|
|
source $JUMP_PROFILE
|
|
fi
|
|
@@ -202,8 +221,13 @@ fi
|
|
if [ -z "$JUMP_LIB" ]; then
|
|
JUMP_LIB="./lib"
|
|
fi
|
|
+echo "##### JUMP_LIB = '$JUMP_LIB'"
|
|
+
|
|
JUMP_NATIVE_DIR="$JUMP_LIB/native"
|
|
JUMP_PLUGIN_DIR="${JUMP_PLUGIN_DIR:=$JUMP_LIB/ext}"
|
|
+echo "##### -----------------------------------------------------------"
|
|
+echo "##### JUMP_NATIVE_DIR = '$JUMP_NATIVE_DIR'"
|
|
+echo "##### JUMP_PLUGIN_DIR = '$JUMP_PLUGIN_DIR'"
|
|
|
|
JUMP_PLUGINS=./bin/default-plugins.xml
|
|
if [ -z "$JUMP_PLUGINS" ] || [ ! -f "$JUMP_PLUGINS" ]; then
|
|
@@ -212,6 +236,7 @@ if [ -z "$JUMP_PLUGINS" ] || [ ! -f "$JUMP_PLUGINS" ];
|
|
JUMP_PLUGINS="./scripts/default-plugins.xml"
|
|
fi
|
|
fi
|
|
+echo "##### JUMP_PLUGINS = '$JUMP_PLUGINS'"
|
|
|
|
# include every jar/zip in lib and native dir
|
|
for libfile in "$JUMP_LIB/"*.zip "$JUMP_LIB/"*.jar "$JUMP_NATIVE_DIR/$JAVA_ARCH/"*.jar "$JUMP_NATIVE_DIR/"*.jar
|
|
@@ -220,26 +245,34 @@ do
|
|
done
|
|
CLASSPATH=.:./bin:$CLASSPATH
|
|
export CLASSPATH;
|
|
+echo "##### CLASSPATH = '$CLASSPATH'"
|
|
|
|
## prepend jump opts
|
|
#
|
|
JUMP_OPTS="-plug-in-directory $JUMP_PLUGIN_DIR $JUMP_OPTS"
|
|
+echo "##### JUMP_OPTS = '$JUMP_OPTS'"
|
|
if [ -f "$JUMP_PLUGINS" ]; then
|
|
JUMP_OPTS="-default-plugins $JUMP_PLUGINS $JUMP_OPTS"
|
|
+ echo "##### JUMP_OPTS = '$JUMP_OPTS'"
|
|
fi
|
|
+
|
|
# workbench-properties.xml is used to manually load plugins (ISA uses this)
|
|
JUMP_PROPERTIES=./bin/workbench-properties.xml
|
|
if [ -n "$JUMP_PROPERTIES" ] && [ -f "$JUMP_PROPERTIES" ]; then
|
|
JUMP_OPTS="-properties $JUMP_PROPERTIES $JUMP_OPTS"
|
|
+ echo "##### JUMP_OPTS = '$JUMP_OPTS'"
|
|
fi
|
|
|
|
# compile jre opts, respect already set ones by environment
|
|
JAVA_OPTS="$JAVA_MAXMEM $JAVA_LANG $JAVA_OPTS"
|
|
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
|
|
JAVA_OPTS="$JAVA_OPTS -Djump.home=."
|
|
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
|
|
[ -n "JAVA_SAXDRIVER" ] && JAVA_OPTS="$JAVA_OPTS -Dorg.xml.sax.driver=$JAVA_SAXDRIVER"
|
|
[ -n "$JAVA_LOOKANDFEEL" ] && JAVA_OPTS="$JAVA_OPTS -Dswing.defaultlaf=$JAVA_LOOKANDFEEL"
|
|
# apply mac overrides
|
|
JAVA_OPTS="$JAVA_OPTS $JAVA_OPTS_OVERRIDE"
|
|
+echo "##### JAVA_OPTS = '$JAVA_OPTS'"
|
|
|
|
# java9+ needs some packages explicitly added/exported
|
|
if awk "BEGIN{if($JAVA_VERSION >= 9)exit 0;else exit 1}"; then
|
|
@@ -259,7 +292,8 @@ fi
|
|
JAVA_OPTS="-Dcom.sun.media.jai.disableMediaLib=true $JAVA_OPTS"
|
|
|
|
# in case some additional archives were placed in native dir inbetween
|
|
-extract_libs "$JUMP_NATIVE_DIR"
|
|
+echo "##### -----------------------------------------------------------"
|
|
+#extract_libs "$JUMP_NATIVE_DIR"
|
|
|
|
# allow jre to find native libraries in native dir, lib/ext (backwards compatibility)
|
|
NATIVE_PATH="$JUMP_NATIVE_DIR/$JAVA_ARCH:$JUMP_NATIVE_DIR:$JUMP_PLUGIN_DIR"
|
|
@@ -323,7 +357,11 @@ echo "$JUMP_SETTINGS/"
|
|
|
|
echo ---Detect maximum memory limit---
|
|
# use previously set or detect RAM size in bytes
|
|
-RAM_SIZE=${RAM_SIZE-$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)}
|
|
+#RAM_SIZE=${RAM_SIZE-$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)}
|
|
+RAM_SIZE=${RAM_SIZE-$(expr "$(sysctl hw.realmem | awk '/hw.realmem:/{print $2}')" / 1024)}
|
|
+echo "##### -----------------------------------------------------------"
|
|
+echo "##### RAM_SIZE = '$RAM_SIZE'"
|
|
+
|
|
if [ -n "$JAVA_MAXMEM" ]; then
|
|
echo "max. memory limit defined via JAVA_MAXMEM=$JAVA_MAXMEM"
|
|
elif ! is_number "$RAM_SIZE"; then
|
|
@@ -341,14 +379,19 @@ else
|
|
else
|
|
MEM_MAX="$MEM_MINUS1GB"
|
|
fi
|
|
+ echo "##### MEM_MAX = '$MEM_MAX'"
|
|
|
|
# limit 32bit jre to 2GiB = 2147483648 bytes
|
|
+ echo "##### JAVA_ARCH = '$JAVA_ARCH'"
|
|
if [ "$JAVA_ARCH" != "x64" ] && [ "$MEM_MAX" -gt "2147483648" ]; then
|
|
MEM_MAX=2147483648
|
|
fi
|
|
|
|
MEM_MAX_MB=`expr $MEM_MAX / 1024 / 1024`
|
|
+ MEM_MAX_MB=`expr $MEM_MAX / 1024`
|
|
JAVA_MAXMEM="-Xmx${MEM_MAX_MB}M"
|
|
+ echo "##### JAVA_MAXMEM = '$JAVA_MAXMEM'"
|
|
+
|
|
# output info
|
|
echo set max. memory limit to $MEM_MAX_MB MiB
|
|
fi
|