summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.ant26
-rw-r--r--res/debian/pkg__rhizi-common/README (renamed from res/debian/README)0
-rw-r--r--res/debian/pkg__rhizi-common/README.Debian (renamed from res/debian/README.Debian)0
-rw-r--r--res/debian/pkg__rhizi-common/changelog (renamed from res/debian/changelog)0
-rw-r--r--res/debian/pkg__rhizi-common/compat (renamed from res/debian/compat)0
-rw-r--r--res/debian/pkg__rhizi-common/control (renamed from res/debian/control)0
-rw-r--r--res/debian/pkg__rhizi-common/copyright (renamed from res/debian/copyright)0
-rw-r--r--res/debian/pkg__rhizi-common/dirs (renamed from res/debian/dirs)0
-rw-r--r--res/debian/pkg__rhizi-common/rhizi.cron.hourly (renamed from res/debian/rhizi.cron.hourly)0
-rw-r--r--res/debian/pkg__rhizi-common/rhizi.links (renamed from res/debian/rhizi.links)0
-rwxr-xr-xres/debian/pkg__rhizi-common/rules (renamed from res/debian/rules)0
-rw-r--r--res/debian/pkg__rhizi-mux/dirs2
-rw-r--r--res/debian/pkg__rhizi-mux/install (renamed from res/debian/install)0
-rw-r--r--res/debian/pkg__rhizi-mux/postinst (renamed from res/debian/postinst)0
-rw-r--r--res/debian/pkg__rhizi-mux/rhizi.init (renamed from res/debian/rhizi.init)0
-rw-r--r--res/debian/pkg__rhizi-single/rhizi.init144
16 files changed, 168 insertions, 4 deletions
diff --git a/build.ant b/build.ant
index 78807c58..e13b620b 100644
--- a/build.ant
+++ b/build.ant
@@ -195,13 +195,30 @@
</parallel>
</target>
- <target name="pkg-deb" depends="clean" description="package as .deb">
+ <target name="pkg-deb__mux" depends="clean" description="package as .deb">
+ <antcall target="pkg-deb__common">
+ <!-- FIXME: use rhizi-mux -->
+ <param name="pkg_name" value="rhizi" />
+ <param name="pkg_variant" value="rhizi-mux" />
+ </antcall>
+ </target>
+
+ <target name="pkg-deb__single" depends="clean" description="package as .deb">
+ <antcall target="pkg-deb__common">
+ <param name="pkg_name" value="rhizi" />
+ <param name="pkg_variant" value="rhizi-single" />
+ </antcall>
+ </target>
+
+ <target name="pkg-deb__common" depends="clean" description="package as .deb">
+
+ <fail unless="pkg_variant" />
+ <fail unless="pkg_name" />
- <property name="pkg_name" value="rhizi" />
<property name="pkg_version" value="0.1.0" />
<property name="pkg_debname" value="${pkg_name}_${pkg_version}" />
<property name="pkg_fullname" value="${pkg_name}-${pkg_version}" />
- <property name="build_dir__deb_pkg" value="${buildDir}/${pkg_fullname}" />
+ <property name="build_dir__deb_pkg" value="${buildDir}/deb-pkg__${pkg_variant}/${pkg_fullname}" />
<mkdir dir="dist" />
<mkdir dir="${build_dir__deb_pkg}" />
@@ -215,7 +232,8 @@
<generate_version_tag output="${build_dir__deb_pkg}/res/templates/fragment/" />
<copy todir="${build_dir__deb_pkg}/debian">
- <fileset dir="res/debian" />
+ <fileset dir="res/debian/pkg__rhizi-common" />
+ <fileset dir="res/debian/pkg__${pkg_variant}" />
</copy>
<delete verbose="true" includeemptydirs="true">
diff --git a/res/debian/README b/res/debian/pkg__rhizi-common/README
index 9df269f5..9df269f5 100644
--- a/res/debian/README
+++ b/res/debian/pkg__rhizi-common/README
diff --git a/res/debian/README.Debian b/res/debian/pkg__rhizi-common/README.Debian
index 91c91086..91c91086 100644
--- a/res/debian/README.Debian
+++ b/res/debian/pkg__rhizi-common/README.Debian
diff --git a/res/debian/changelog b/res/debian/pkg__rhizi-common/changelog
index a11dd580..a11dd580 100644
--- a/res/debian/changelog
+++ b/res/debian/pkg__rhizi-common/changelog
diff --git a/res/debian/compat b/res/debian/pkg__rhizi-common/compat
index ec635144..ec635144 100644
--- a/res/debian/compat
+++ b/res/debian/pkg__rhizi-common/compat
diff --git a/res/debian/control b/res/debian/pkg__rhizi-common/control
index 88a3b56a..88a3b56a 100644
--- a/res/debian/control
+++ b/res/debian/pkg__rhizi-common/control
diff --git a/res/debian/copyright b/res/debian/pkg__rhizi-common/copyright
index b54b990f..b54b990f 100644
--- a/res/debian/copyright
+++ b/res/debian/pkg__rhizi-common/copyright
diff --git a/res/debian/dirs b/res/debian/pkg__rhizi-common/dirs
index 41d605ce..41d605ce 100644
--- a/res/debian/dirs
+++ b/res/debian/pkg__rhizi-common/dirs
diff --git a/res/debian/rhizi.cron.hourly b/res/debian/pkg__rhizi-common/rhizi.cron.hourly
index 274cdd7a..274cdd7a 100644
--- a/res/debian/rhizi.cron.hourly
+++ b/res/debian/pkg__rhizi-common/rhizi.cron.hourly
diff --git a/res/debian/rhizi.links b/res/debian/pkg__rhizi-common/rhizi.links
index 58715e62..58715e62 100644
--- a/res/debian/rhizi.links
+++ b/res/debian/pkg__rhizi-common/rhizi.links
diff --git a/res/debian/rules b/res/debian/pkg__rhizi-common/rules
index e2a59841..e2a59841 100755
--- a/res/debian/rules
+++ b/res/debian/pkg__rhizi-common/rules
diff --git a/res/debian/pkg__rhizi-mux/dirs b/res/debian/pkg__rhizi-mux/dirs
new file mode 100644
index 00000000..1e1391d3
--- /dev/null
+++ b/res/debian/pkg__rhizi-mux/dirs
@@ -0,0 +1,2 @@
+etc/rhizi/
+var/run/rhizi
diff --git a/res/debian/install b/res/debian/pkg__rhizi-mux/install
index 8d6b927a..8d6b927a 100644
--- a/res/debian/install
+++ b/res/debian/pkg__rhizi-mux/install
diff --git a/res/debian/postinst b/res/debian/pkg__rhizi-mux/postinst
index 44b87c5f..44b87c5f 100644
--- a/res/debian/postinst
+++ b/res/debian/pkg__rhizi-mux/postinst
diff --git a/res/debian/rhizi.init b/res/debian/pkg__rhizi-mux/rhizi.init
index 61d9e916..61d9e916 100644
--- a/res/debian/rhizi.init
+++ b/res/debian/pkg__rhizi-mux/rhizi.init
diff --git a/res/debian/pkg__rhizi-single/rhizi.init b/res/debian/pkg__rhizi-single/rhizi.init
new file mode 100644
index 00000000..758e8625
--- /dev/null
+++ b/res/debian/pkg__rhizi-single/rhizi.init
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: rhizi
+# Required-Start: $local_fs $network $syslog
+# Required-Stop: $local_fs $network $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Rhizi service
+# Description: Rhizi kernel & accompanying web-server
+### END INIT INFO
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="rhizi-server"
+NAME=rhizi__{{ domain_name }}
+DAEMON=/usr/bin/python2.7
+PIDFILE=/var/run/rhizi/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+USERNAME=www-data
+GROUPNAME=www-data
+
+ARGS__DAEMON="/usr/lib/rhizi/rhizi-server/rz_server.py --config-dir=/etc/rhizi/mux-conf.d/{{ domain_name }}/"
+ARGS__START_STOP_DAEMON="--make-pidfile --background --chuid ${USERNAME}:${GROUPNAME}"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+# make sure /var/run/$NAME exists with proper +w mode as the uid:gid used to fork the server
+if [ ! -d /var/run/$NAME ]; then
+ mkdir /var/run/$NAME
+ chown ${USERNAME}:${GROUPNAME} /var/run/$NAME
+fi
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ start-stop-daemon --start --quiet --pidfile $PIDFILE $ARGS__START_STOP_DAEMON --exec $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --pidfile $PIDFILE $ARGS__START_STOP_DAEMON --exec $DAEMON -- \
+ $ARGS__DAEMON \
+ || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # 2 if daemon could not be stopped
+ # other if a failure occurred
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+
+ # Wait for children to finish too if this is a daemon that forks
+ # and if the daemon is only ever run from this initscript.
+ # If the above conditions are not satisfied then add some other code
+ # that waits for the process to drop all resources that could be
+ # needed by services started subsequently. A last resort is to
+ # sleep for some time.
+ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+ [ "$?" = 2 ] && return 2
+
+ # Many daemons don't delete their pidfiles when they exit.
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+#
+# run command
+#
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+: