X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=jarrg-ian.git;a=blobdiff_plain;f=jpctb;h=3557cd234bcf175845016e7ded7feab13dcb57c0;hp=28f71c114110dc25bb4a183b4c0d0c7e1808b9b5;hb=e8114d6839c34cb6d3f0167989757089519756e7;hpb=cde26335b1868186951809ced9700fa9ec4d9dba diff --git a/jpctb b/jpctb index 28f71c1..3557cd2 100755 --- a/jpctb +++ b/jpctb @@ -32,10 +32,21 @@ fail () { echo >&2 "jpctb: $*" exit 127 } + +nojre () { + fail "couldn't find the right jre: $* + perhaps you should make ypp's java symlink (normally yohoho/java) + point to your jre, eg to /usr/lib/jvm/java-6-sun" +} + badusage () { fail "bad usage: $*" } +check_only=false +setup_only=false +setup_only_simulate='' + while [ $# -ge 1 ]; do case "$1" in -) shift; break;; @@ -44,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'" ;; *) @@ -73,37 +93,93 @@ fi yppdir="${yohoho%/*}" +# this replicates the java-searching logic from yohoho/yohoho: if [ -x "$yppdir/java/bin/java" ]; then - javadir="$yppdir/java" -elif [ x"$JAVA_HOME" != x ] && [ -x "$JAVA_HOME/bin/java" ]; then - javadir="$JAVA_HOME" + yppjava="$yppdir/java/bin/java" +elif [ -x "$JAVA_HOME/bin/java" ]; then + yppjava="$JAVA_HOME/bin/java" else - fail "could not find java runtime system" + set +e + yppjava=`type -p java 2>&1` + set -e +fi + +cat <&2 "control panel failed with exit status $rc"; exit "$rc" ;; +esac + #---------- create the temporary are and link farm ---------- @@ -111,15 +187,14 @@ rm -rf -- "$jtmp" mkdir -- "$jtmp" "$extdir" "$linkfarm" cp "$srcjardir"/PCTB*.jar "$extdir" -lndir -silent "$javadir" "$linkfarm" +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" -export JPCTB_JRE="$javadir/jre" cat <<'END' >"$wrapper" #!/bin/bash @@ -165,4 +240,4 @@ chmod +x -- "$wrapper" #---------- now run it ---------- -exec "$yohoho" -Djava.home="$linkfarm/jre" +exec $setup_only_simulate "$yohoho" -Djava.home="$linkfarm/$jreleaf"