chiark / gitweb /
invoke std java for control panel via jre directory
[jarrg-ian.git] / jpctb
diff --git a/jpctb b/jpctb
index 54c1f41cda4ffc8ff722a087b930853bed9b0407..600bf1451240dc646b90e9e70d48bece5253c52e 100755 (executable)
--- a/jpctb
+++ b/jpctb
@@ -119,18 +119,25 @@ fi
 javadir="${yppjava%/bin/java}"
 if [ -x "$javadir/jre/bin/java" ]; then
        echo "   java/ points to the jre, good"
+       jreleaf=jre
 else
        echo "   java/ has just the executable bin/java, trying readlink"
        absjava=`readlink -f "$yppjava"`
        echo "   abs. java:    \"$absjava\""
        case "$absjava" in
-       */jre/bin/java)
-               echo "   found jre directory, good"
-               javadir="${absjava%/jre/bin/java}"
+       */*/bin/java)
+               javadir="${absjava%/bin/java}"
+               jreleaf="${javadir##*/}"
+               javadir="${javadir%/*}"
+               echo "   jre leaf dir: \"$jreleaf\""
+               case "$jreleaf" in
+               jre)    echo "   found jre directory, good";;
+               jre1.*) echo "   found versioned jre directory $jreleaf, ok";;
+               *)      nojre "java binary not in jre dir ($jreleaf)";;
+               esac
                ;;
        *)
-               nojre "java binary not in jre dir"
-               ;;
+               nojre "real java binary not in ../bin/java dir";;
        esac
 fi
 
@@ -144,13 +151,15 @@ jtmp="$jpctbdir/tmp"
 linkfarm="$jtmp/linkfarm"
 extdir="$jtmp/ext"
 
-export JPCTB_JRE="$javadir/jre"
+export JPCTB_JRE="$javadir/$jreleaf"
+realjava="$JPCTB_JRE/bin/java"
 
 #---------- confirm for the user which paths we're using ----------
 
 cat <<END
-   java:         "$javadir"
+   java dir.:    "$javadir"
    JRE:          "$JPCTB_JRE"
+   primary java: "$realjava"
    PCTB jars:    "$srcjardir"
    jpctb tmpdir: "$jtmp"
 END
@@ -160,7 +169,7 @@ END
 if $check_only; then echo "Check successful."; exit 0; fi
 
 set +e
-$setup_only_simulate "$javadir/bin/java" \
+$setup_only_simulate "$realjava" \
  -Dcom.tedpearson.ypp.market.controlpanel.exitstatus=12 \
  -jar "$srcjardir/PCTB-ControlPanel.jar"
 rc=$?
@@ -185,7 +194,7 @@ cp -Rs "$javadir"/. "$linkfarm"/.
 
 #---------- edit the linkfarm to have our jvm wrapper ----------
 
-wrapper="$linkfarm"/jre/bin/java
+wrapper="$linkfarm"/$jreleaf/bin/java
 rm -- "$wrapper"
 
 export JPCTB_EXTDIR="$extdir"
@@ -234,4 +243,4 @@ chmod +x -- "$wrapper"
 
 #---------- now run it ----------
 
-exec $setup_only_simulate "$yohoho" -Djava.home="$linkfarm/jre"
+exec $setup_only_simulate "$yohoho" -Djava.home="$linkfarm/$jreleaf"