#!/bin/sh -e

pid=/var/run/freenet-unstable.pid
java=/usr/bin/java
user=freenetu
jar=/usr/share/java/freenet-unstable-0.4.3.jar
main=freenet.node.Main

[ -e $jar ] || exit 0

[ -e /etc/default/freenet-unstable ] && . /etc/default/freenet-unstable

: ${chroot:=/}
export CLASSPATH=$jar

case "$1" in
  start)
	printf "Starting unstable Freenet node"
	zcat /usr/share/freenet-unstable/seedNodes.dist | cat - /etc/freenet-unstable/seedNodes > /var/lib/freenet-unstable/seedNodes

	# start-stop-daemon will write pidfile *after* dropping privileges,
	# so make sure that is possible
	touch $pid
	chown $user $pid

	start-stop-daemon --start --oknodo --background --pidfile $pid --make-pidfile --user $user --chuid $user --startas $java --chroot $chroot -- $main --paramFile /etc/freenet-unstable/freenet.conf
	echo .
	;;
  export)
	start-stop-daemon --start --name should-not-exist --chuid $user --startas $java --chroot $chroot -- $main --paramFile /etc/freenet-unstable/freenet.conf --export
	;;
  stop)
	printf "Stopping unstable Freenet node"
	start-stop-daemon --stop --quiet --oknodo --pidfile $pid --user $user
	echo .
	;;
  restart|reload|force-reload)
	printf "Stopping unstable Freenet node"
	start-stop-daemon --stop --quiet --oknodo --pidfile $pid --user $user --retry 10
	echo .
	exec $0 start
	;;
  *)
	echo "Usage: $0 start|stop|restart|export"
	exit 1
	;;
esac
