X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=jarrg-ian.git;a=blobdiff_plain;f=jpctb;h=50f295298b14b58b3cd688eafb23c4bef19aaaac;hp=c4f2b6e6a241035ebc7f891765b2e5269676af50;hb=a0f78a95d93aff0cd827a72e6b98b37866ef1f12;hpb=bed9e01d9c7112072a6ec4302f93c4c1e8e6cf82 diff --git a/jpctb b/jpctb index c4f2b6e..50f2952 100755 --- a/jpctb +++ b/jpctb @@ -43,6 +43,10 @@ badusage () { fail "bad usage: $*" } +check_only=false +setup_only=false +setup_only_simulate='' + while [ $# -ge 1 ]; do case "$1" in -) shift; break;; @@ -51,6 +55,15 @@ while [ $# -ge 1 ]; do srcjardir="$1" shift || badusage "--jpctb needs a value" ;; + --check-only) + check_only=true + shift + ;; + --setup-only) + setup_only=true + setup_only_simulate=echo + shift + ;; -*) badusage "unknown option \`$1'" ;; *) @@ -106,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 @@ -131,26 +151,32 @@ 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 <