Author: pawelz Date: Fri Feb 25 22:27:51 2011 GMT Module: packages Tag: HEAD ---- Log message: - init script - better shell wrapper - rel 1
---- Files affected: packages/jstun: jstun.spec (1.2 -> 1.3) , jstun.init (NONE -> 1.1) (NEW), jstun.sh (NONE -> 1.1) (NEW), jstun.sysconfig (NONE -> 1.1) (NEW) ---- Diffs: ================================================================ Index: packages/jstun/jstun.spec diff -u packages/jstun/jstun.spec:1.2 packages/jstun/jstun.spec:1.3 --- packages/jstun/jstun.spec:1.2 Thu Feb 24 21:02:04 2011 +++ packages/jstun/jstun.spec Fri Feb 25 23:27:46 2011 @@ -1,7 +1,4 @@ # $Revision$, $Date$ -# TODO: -# - init scripts -# # Conditional build: %bcond_without source # don't build source jar @@ -11,11 +8,14 @@ Summary(pl.UTF-8): Serwer STUN napisany w języku Java. Name: jstun Version: 0.7.3 -Release: 0.1 +Release: 1 License: GPL v2 or Apache v2 Group: Development/Languages/Java Source0: http://jstun.javawi.de/%{name}-%{version}.src.tar.gz # Source0-md5: 0e2e0c5d52ba339a33472fc3a492e96d +Source1: %{name}.sysconfig +Source2: %{name}.init +Source3: %{name}.sh URL: http://jstun.javawi.de BuildRequires: ant BuildRequires: jar @@ -25,9 +25,12 @@ %if %{with source} BuildRequires: rpmbuild(macros) >= 1.555 %endif +BuildRequires: rpmbuild(macros) >= 1.228 BuildRequires: sed >= 4.0 +Requires(post,preun): /sbin/chkconfig Requires: java-slf4j Requires: jpackage-utils +Requires: rc-scripts BuildArch: noarch BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -58,16 +61,6 @@ %prep %setup -q -n STUN -cat > jstun.sh << '__EOF__' -#!/bin/sh - -. %{_datadir}/java-utils/java-functions - -CLASSPATH=$(build-classpath jstun slf4j-api slf4j-jdk14) -MAIN_CLASS=de.javawi.jstun.test.demo.StunServer -run ${1:+"$@"} -__EOF__ - %build export JAVA_HOME="%{java_home}" @@ -88,6 +81,9 @@ install -d $RPM_BUILD_ROOT%{_javadir} install -d $RPM_BUILD_ROOT%{_sbindir} +install -d $RPM_BUILD_ROOT/etc/sysconfig +install -d $RPM_BUILD_ROOT/etc/rc.d/init.d + # jars cp -a target/%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar @@ -96,15 +92,31 @@ install -d $RPM_BUILD_ROOT%{_javasrcdir} cp -a %{name}.src.jar $RPM_BUILD_ROOT%{_javasrcdir}/%{name}.src.jar -install jstun.sh $RPM_BUILD_ROOT%{_sbindir}/jstun +install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/%{name} +install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} +install %{SOURCE3} $RPM_BUILD_ROOT%{_sbindir}/jstun + %clean rm -rf $RPM_BUILD_ROOT +%post +/sbin/chkconfig --add %{name} +%service %{name} restart + +%preun +if [ "$1" = "0" ]; then + %service -q %{name} stop + /sbin/chkconfig --del %{name} +fi + + %files %defattr(644,root,root,755) %{_javadir}/%{name}.jar %{_javadir}/%{name}-%{version}.jar %attr(755,root,root) %{_sbindir}/jstun +%attr(754,root,root) /etc/rc.d/init.d/%{name} +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} %if %{with source} %files source @@ -118,6 +130,11 @@ All persons listed below can be reached at <cvs_login>@pld-linux.org $Log$ +Revision 1.3 2011/02/25 22:27:46 pawelz +- init script +- better shell wrapper +- rel 1 + Revision 1.2 2011/02/24 20:02:04 pawelz - shell wrapper ================================================================ Index: packages/jstun/jstun.init diff -u /dev/null packages/jstun/jstun.init:1.1 --- /dev/null Fri Feb 25 23:27:51 2011 +++ packages/jstun/jstun.init Fri Feb 25 23:27:46 2011 @@ -0,0 +1,110 @@ +#!/bin/sh +# +# jstun Java based STUN server. +# +# chkconfig: 345 89 11 +# +# description: jstun Java based STUN server. +# +# processname: jstun +# config: +# pidfile: /var/run/jstun.pid +# +# $Id$ + +# Source function library +. /etc/rc.d/init.d/functions + +# Get network config +. /etc/sysconfig/network + +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down "jstun" + exit 1 + fi +else + exit 0 +fi + +STUN_PORT1=3478 +STUN_PORT2=3479 + +# Get service config - may override defaults +[ -f /etc/sysconfig/jstun ] && . /etc/sysconfig/jstun + +ARGS="$STUN_PORT1 $STUN_IPADDRESS1 $STUN_PORT2 $STUN_IPADDRESS2" + +start() { + # Check if the service is already running? + if [ -f /var/lock/subsys/jstun ]; then + msg_already_running "jstun" + return + fi + + msg_starting "jstun" + daemon /usr/sbin/jstun --daemon --pidfile=/var/run/jstun.pid $ARGS + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/jstun +} + +stop() { + if [ ! -f /var/lock/subsys/jstun ]; then + msg_not_running "jstun" + return + fi + + # Stop daemons. + msg_stopping "jstun" + PID=/var/run/jstun.pid + killproc --pidfile /var/run/jstun.pid jstun -TERM + wait $(cat /var/run/jstun.pid) + rm -f /var/lock/subsys/jstun +} + +condrestart() { + if [ ! -f /var/lock/subsys/jstun ]; then + msg_not_running "jstun" + RETVAL=$1 + return + fi + + stop + sleep 1 + start +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + sleep 1 + start + ;; + try-restart) + condrestart 0 + ;; + reload) + reload + ;; + force-reload) + condrestart 7 + ;; + status) + status jstun + RETVAL=$? + ;; + *) + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" + exit 3 +esac + +exit $RETVAL ================================================================ Index: packages/jstun/jstun.sh diff -u /dev/null packages/jstun/jstun.sh:1.1 --- /dev/null Fri Feb 25 23:27:51 2011 +++ packages/jstun/jstun.sh Fri Feb 25 23:27:46 2011 @@ -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 ================================================================ Index: packages/jstun/jstun.sysconfig diff -u /dev/null packages/jstun/jstun.sysconfig:1.1 --- /dev/null Fri Feb 25 23:27:52 2011 +++ packages/jstun/jstun.sysconfig Fri Feb 25 23:27:46 2011 @@ -0,0 +1,6 @@ +# You need to public IP addresses +STUN_IPADDRESS1=x.x.x.x +STUN_IPADDRESS2=y.y.y.y + +# STUN_PORT1=3478 +# STUN_PORT2=3479 ================================================================ ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/jstun/jstun.spec?r1=1.2&r2=1.3&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
