[lemonldap-ng] 10/37: Add systemd files for lemonldap-ng-fastcgi-server
Xavier Guimard
xguimard-guest at moszumanska.debian.org
Sat Mar 5 13:39:45 UTC 2016
This is an automated email from the git hooks/post-receive script.
xguimard-guest pushed a commit to branch master
in repository lemonldap-ng.
commit 6316d85185542caef2e8bbf385557196e2a1254f
Author: Xavier Guimard <x.guimard at free.fr>
Date: Sat Mar 5 07:44:21 2016 +0100
Add systemd files for lemonldap-ng-fastcgi-server
---
debian/control | 1 +
debian/lemonldap-ng-fastcgi-server.default | 15 ++++
debian/lemonldap-ng-fastcgi-server.init | 132 ++++++++++++++++++++++++++++
debian/lemonldap-ng-fastcgi-server.install | 2 +
debian/lemonldap-ng-fastcgi-server.manpages | 1 +
debian/lemonldap-ng-fastcgi-server.postinst | 17 ++++
debian/lemonldap-ng-fastcgi-server.service | 16 ++++
debian/lemonldap-ng-fastcgi-server.upstart | 14 +++
debian/rules | 2 +-
9 files changed, 199 insertions(+), 1 deletion(-)
diff --git a/debian/control b/debian/control
index 88ce10e..fa68ade 100644
--- a/debian/control
+++ b/debian/control
@@ -4,6 +4,7 @@ Uploaders: Xavier Guimard <x.guimard at free.fr>
Section: perl
Priority: extra
Build-Depends: debhelper (>= 9),
+ dh-systemd,
po-debconf
Build-Depends-Indep: libapache-session-perl,
libauthcas-perl,
diff --git a/debian/lemonldap-ng-fastcgi-server.default b/debian/lemonldap-ng-fastcgi-server.default
new file mode 100644
index 0000000..39841a9
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.default
@@ -0,0 +1,15 @@
+# Number of process (default: 7)
+#NPROC = 7
+
+# Unix socket to listen to
+SOCKET=/var/run/llng-fastcgi-server/llng-fastcgi.sock
+
+# Pid file
+PID=/var/run/llng-fastcgi-server/llng-fastcgi-server.pid
+
+# User and GROUP
+USER=www-data
+GROUP=www-data
+
+# Custom functions file
+#CUSTOM_FUNCTIONS_FILE=/var/lib/lemonldap-ng/myfile.pm
diff --git a/debian/lemonldap-ng-fastcgi-server.init b/debian/lemonldap-ng-fastcgi-server.init
new file mode 100755
index 0000000..77c0d55
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.init
@@ -0,0 +1,132 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: lemonldap-ng-fastcgi-server
+# Required-Start: $local_fs $remote_fs $network $syslog $named
+# Required-Stop: $local_fs $remote_fs $network $syslog $named
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: starts the Lemonldap::NG FastCGI server
+# Description: starts Lemonldap::NG FastCGI server using start-stop-daemon
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/llng-fastcgi-server
+NAME=llng-fastcgi-server
+DESC=llng-fastcgi-server
+
+# Include llng-fastcgi-server defaults if available
+if [ -r /etc/default/lemonldap-ng-fastcgi-server ]; then
+ . /etc/default/lemonldap-ng-fastcgi-server
+fi
+
+STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}"
+
+test -x $DAEMON || exit 0
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+# Try to extract llng-fastcgi-server pidfile
+if [ -z "$PID" ]; then
+ PID=/var/run/llng-fastcgi-server/llng-fastcgi-server.pid
+fi
+if [ -z "$SOCKET" ]; then
+ SOCKET=/var/run/llng-fastcgi-server/llng-fastcgi.sock
+fi
+
+DAEMON_OPTS="-p ${PID} -u ${USER} -g ${GROUP} -s ${SOCKET}"
+
+if [ -z "$CUSTOM_FUNCTIONS_FILE" ]; then
+ DAEMON_OPTS="$DAEMON_OPTS -f ${CUSTOM_FUNCTIONS_FILE}"
+fi
+
+start_server() {
+ # Start the daemon/service
+ #
+ # Returns:
+ # 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 $PID --exec $DAEMON --test > /dev/null \
+ || return 1
+ start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- \
+ $DAEMON_OPTS 2>/dev/null \
+ || return 2
+}
+
+stop_server() {
+ # Stops the daemon/service
+ #
+ # 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=$STOP_SCHEDULE --pidfile $PID --name $NAME
+ RETVAL="$?"
+ sleep 1
+ return "$RETVAL"
+}
+
+reload_server() {
+ # Function that sends a SIGHUP to the daemon/service
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --name $NAME
+ return 0
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ start_server
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ stop_server
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+ ;;
+ restart)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+
+ # Check configuration before stopping llng-fastcgi-server
+ if ! test_config; then
+ log_end_msg 1 # Configuration error
+ exit $?
+ fi
+
+ stop_server
+ case "$?" in
+ 0|1)
+ start_server
+ 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
+ ;;
+ reload|force-reload)
+ log_daemon_msg "Reloading $DESC configuration" "$NAME"
+ reload_server
+ log_end_msg $?
+ ;;
+ status)
+ status_of_proc -p $PID "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 3
+ ;;
+esac
diff --git a/debian/lemonldap-ng-fastcgi-server.install b/debian/lemonldap-ng-fastcgi-server.install
new file mode 100644
index 0000000..517c88d
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.install
@@ -0,0 +1,2 @@
+/usr/sbin/llng-fastcgi-server
+/etc/lemonldap-ng/nginx*
diff --git a/debian/lemonldap-ng-fastcgi-server.manpages b/debian/lemonldap-ng-fastcgi-server.manpages
new file mode 100644
index 0000000..3b5c01b
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.manpages
@@ -0,0 +1 @@
+fastcgi-server/man/llng-fastcgi-server.1p
diff --git a/debian/lemonldap-ng-fastcgi-server.postinst b/debian/lemonldap-ng-fastcgi-server.postinst
new file mode 100644
index 0000000..cc7aaf1
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.postinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+USER="www-data"
+GROUP="www-data"
+CHOWN="/bin/chown"
+ID="/usr/bin/id"
+
+if ! test -d /var/run/llng-fastcgi-server; then
+ rm -rf /var/run/llng-fastcgi-server
+ mkdir /var/run/llng-fastcgi-server
+fi
+$CHOWN $USER:$GROUP /var/run/llng-fastcgi-server
+
+#DEBHELPER#
+exit 0
diff --git a/debian/lemonldap-ng-fastcgi-server.service b/debian/lemonldap-ng-fastcgi-server.service
new file mode 100644
index 0000000..bc33665
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=FastCGI server for Lemonldap::NG websso system
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/default/lemonldap-ng-fastcgi-server
+PIDFile=/var/run/llng-fastcgi-server/llng-fastcgi-server.pid
+ExecStart=/usr/sbin/llng-fastcgi-server
+ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile ${PID}
+KillMode=mixed
+
+[Install]
+Alias=llng-fastcgi-server.service
+WantedBy=multi-user.target
+
diff --git a/debian/lemonldap-ng-fastcgi-server.upstart b/debian/lemonldap-ng-fastcgi-server.upstart
new file mode 100644
index 0000000..1326a48
--- /dev/null
+++ b/debian/lemonldap-ng-fastcgi-server.upstart
@@ -0,0 +1,14 @@
+description "FastCGI server for Lemonldap::NG websso system"
+
+start on filesystem and static-network-up
+stop on runlevel [016]
+
+expect fork
+respawn
+
+pre-start script
+ [ -x /usr/sbin/llng-fastcgi-server ] || { stop; exit 0; }
+end script
+
+exec /usr/sbin/llng-fastcgi-server -u www-data -g www-data -s /var/run/llng-fastcgi-server/llng-fastcgi.sock -p /var/run/llng-fastcgi-server/llng-fastcgi-server.pid
+
diff --git a/debian/rules b/debian/rules
index 8d608a0..54a10ff 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,7 +19,7 @@ CAPTCHADIR=$(LMVARDIR)/captcha
CAPTCHAOUTPUTDIR=$(LMVARDIR)/portal/captcha_output
%:
- dh $@
+ dh $@ --with systemd
override_dh_auto_configure:
cd lemonldap-ng-portal/example/skins/dark/ && rm -f redirect.tpl && ln -s ../common/redirect.tpl
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/lemonldap-ng.git
More information about the Pkg-perl-cvs-commits
mailing list