]> git.pld-linux.org Git - packages/jstun.git/blobdiff - jstun.sh
- init script
[packages/jstun.git] / jstun.sh
diff --git a/jstun.sh b/jstun.sh
new file mode 100644 (file)
index 0000000..3d65d88
--- /dev/null
+++ b/jstun.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+help() {
+cat << __EOT__
+Usage: jstun [--daemon] [--pidfile=FILE] PORT1 IP1 PORT2 IP2
+__EOT__
+}
+
+while [ "$1" ]; do
+               case "$1" in
+                               --daemon)
+                                       DAEMONIZE="Yes, please do."
+                                       ;;
+                               --help)
+                                       help
+                                       exit
+                                       ;;
+                               --pidfile=*)
+                                       PIDFILE=${1#--pidfile=}
+                                       ;;
+                               --*)
+                                       echo "jstun: invalid option '$1'." >&2
+                                       help
+                                       exit 1
+                                       ;;
+                               *)
+                                       ARGV="$ARGV $1"
+                                       ;;
+               esac
+               shift
+done
+
+. /usr/share/java-utils/java-functions
+
+CLASSPATH=$(build-classpath jstun slf4j-api slf4j-jdk14)
+MAIN_CLASS=de.javawi.jstun.test.demo.StunServer
+
+if [ "$DAEMONIZE" ]; then
+       PIDFILE=${PIDFILE:-"$(mktemp)"}
+       (
+               trap 'pid=$(cat '$PIDFILE' 2>/dev/null); [ "$pid" ] && kill $pid' TERM INT EXIT
+               [ "$PIDFILE" ] && echo '$$' > $PIDFILE
+               set_javacmd
+               $JAVACMD -classpath $CLASSPATH $MAIN_CLASS $ARGV &
+               PID=$!
+               echo $PID > $PIDFILE
+               wait $PID
+               rm $PIDFILE
+       ) &
+else
+       run ${1:+"$@"}
+fi
This page took 0.066056 seconds and 4 git commands to generate.