#!/bin/bash -e
+
+# This is jpctb, a wrapper script for plumbing Ted Pearson's Java PCTB
+# client into a JVM on Linux.
+
+# This program is Free Software. Copyright (C) 2009 Ian Jackson.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is fur-
+# nished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
+# NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
+# NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
usage () { cat <<END
-usage: .../jpctb /path/to/dir/with/PCTB*.jar /path/to/yohoho/yohoho [...]
+usage: .../jpctb /path/to/yohoho/yohoho [...]
END
}
echo >&2 "jpctb: $*"
exit 127
}
+badusage () {
+ fail "bad usage: $*"
+}
-if [ $# -lt 2 ]; then usage; fail 'bad usage'; exit 127; fi
+while [ $# -ge 1 ]; do
+ case "$1" in
+ -) shift; break;;
+ --jpctb)
+ shift
+ srcjardir="$1"
+ shift || badusage "--jpctb needs a value"
+ ;;
+ -*) badusage "unknown option \`$1'"
+ ;;
+ *)
+ break
+ esac
+done
+
+if [ $# -lt 1 ]; then usage; badusage "need path to yohoho"; exit 127; fi
-srcjardir="$1"; shift
yohoho="$1"; shift
#---------- find ourselves ----------
*) jpctbdir="$PWD/$jpctbdir" ;;
esac
+if [ x"$srcjardir" = x ]; then
+ srcjardir="$jpctbdir"
+fi
+
#---------- find YPP client and the Java installation it uses ----------
yppdir="${yohoho%/*}"
+openjdk=/usr/lib/jvm/java-6-openjdk
+
if [ -x "$yppdir/java/bin/java" ]; then
javadir="$yppdir/java"
elif [ x"$JAVA_HOME" != x ] && [ -x "$JAVA_HOME/bin/java" ]; then
javadir="$JAVA_HOME"
+elif [ -x $openjdk/bin/java ]; then
+ javadir=$openjdk
else
- fail "could not find java runtime system"
+ fail "could not find java runtime system
+ please check that $yppdir/java points to your Java installation"
fi
case "$javadir" in
jpctb tmpdir: "$jtmp"
END
+#---------- run the control panel ----------
+
+"$javadir/bin/java" -jar "$srcjardir/PCTB-ControlPanel.jar"
+
#---------- create the temporary are and link farm ----------
rm -rf -- "$jtmp"