]> source.dussan.org Git - rspamd.git/commitdiff
Unify systemd support
authorMikhail Gusarov <dottedmag@debian.org>
Sat, 7 Mar 2015 09:53:04 +0000 (09:53 +0000)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 11 Mar 2015 19:51:15 +0000 (21:51 +0200)
- Move it from debian/ and centos/
- Ensure Debian package installs .service/.socket
- Enable socket-activated service
- Clean up redundant CentOS config files

centos/sources/logging.conf [deleted file]
centos/sources/rspamd.service [deleted file]
centos/sources/tmpfiles.d [deleted file]
centos/sources/workers.conf [deleted file]
debian/rspamd.init [changed mode: 0755->0644]
debian/rspamd.install [deleted file]
debian/rules
linux/rspamd_debian.in [deleted file]
rspamd.service
rspamd.socket

diff --git a/centos/sources/logging.conf b/centos/sources/logging.conf
deleted file mode 100644 (file)
index 33234fd..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-logging {
-    type = "console";
-    level = "info";
-}
diff --git a/centos/sources/rspamd.service b/centos/sources/rspamd.service
deleted file mode 100644 (file)
index 64daa79..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=rapid spam filtering system
-After=syslog.target network.target remote-fs.target nss-lookup.target
-
-[Service]
-Type=simple
-PIDFile=/var/run/rspamd/rspamd.pid
-ExecStartPre=/usr/bin/rspamd -u rspamd -g rspamd -t
-ExecStart=/usr/bin/rspamd -f -c /etc/rspamd/rspamd.conf -u rspamd -g rspamd
-ExecStop=/bin/kill -s QUIT $MAINPID
-WantedBy=multi-user.target
diff --git a/centos/sources/tmpfiles.d b/centos/sources/tmpfiles.d
deleted file mode 100644 (file)
index 42bc936..0000000
+++ /dev/null
@@ -1 +0,0 @@
-d /var/run/rspamd 0770 rspamd rspamd
diff --git a/centos/sources/workers.conf b/centos/sources/workers.conf
deleted file mode 100644 (file)
index aa3c438..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-worker {
-    type = "normal";
-    bind_socket = "systemd:0";
-    mime = true;
-}
-worker {
-    type = "controller";
-    bind_socket = "systemd:1";
-    count = 1;
-    password = "q1";
-    secure_ip = "127.0.0.1";
-       static_dir = "${WWWDIR}";
-}
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
diff --git a/debian/rspamd.install b/debian/rspamd.install
deleted file mode 100644 (file)
index f02b35d..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/workers.conf etc/rspamd
-debian/logging.conf etc/rspamd
index fbb555cb31cc60a9b688714a4e8bbe8a4f2fd470..9eb1014f105feaf8554176147cbeaaafe98fd8b0 100755 (executable)
@@ -16,11 +16,13 @@ override_dh_auto_configure:
                -DEXAMPLESDIR=/usr/share/doc/rspamd/examples \
                -DLIBDIR=/usr/lib \
                -DINCLUDEDIR=/usr/include \
+               -DSYSTEMDDIR=/lib/systemd/system \
                -DNO_SHARED=ON \
                -DDEBIAN_BUILD=1 \
                -DINSTALL_EXAMPLES=ON \
                -DFORCE_GMIME24=ON \
-               -DENABLE_HIREDIS=ON
+               -DENABLE_HIREDIS=ON \
+               -DWANT_SYSTEMD_UNITS=ON
 
 override_dh_auto_clean:
        dh_auto_clean
diff --git a/linux/rspamd_debian.in b/linux/rspamd_debian.in
deleted file mode 100755 (executable)
index 5dec689..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          rspamd
-# Required-Start:    $syslog
-# Required-Stop:     $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Rspamd spam filtering system
-# Description:       Rspamd is fast and modular spam filtering system written in C
-### END INIT INFO
-
-# Author: Vsevolod Stakhov <vsevolod@highsecure.ru>
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Rspamd"
-NAME=rspamd
-DAEMON=/usr/bin/$NAME
-DAEMON_ARGS="-c /etc/rspamd.xml"
-PIDFILE=/var/run/rspamd/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-#
-# 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 --exec $DAEMON --test > /dev/null \
-               || return 1
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-               $DAEMON_ARGS \
-               || 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 --name $NAME
-       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"
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
-       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
-       return 0
-}
-
-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 $?
-       ;;
-  reload|force-reload)
-       log_daemon_msg "Reloading $DESC" "$NAME"
-       do_reload
-       log_end_msg $?
-       ;;
-  restart)
-       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
-       exit 3
-       ;;
-esac
-
-:
index ff9655b939a36750762bbc7b3bf9caba25dfc034..1cbc4f23264d2c742da30b5becbf61cf559fb0cb 100644 (file)
@@ -1,14 +1,7 @@
 [Unit]
 Description=rapid spam filtering system
+After=nss-lookup.target
 
 [Service]
-Type=simple
-# Replace Pre/Post with RuntimeDirectory once it is available
-PermissionsStartOnly=true
-ExecStartPre=/bin/mkdir -m700 -p /run/rspamd
-ExecStartPre=/bin/chown _rspamd:_rspamd /run/rspamd
-ExecStart=/usr/bin/rspamd -f -c /etc/rspamd/rspamd.conf
-ExecReload=/bin/kill -HUP $MAINPID
-ExecStopPost=/bin/rm -r /run/rspamd
-WorkingDirectory=/var/lib/rspamd
+ExecStart=/usr/bin/rspamd -c /etc/rspamd/rspamd.conf -f
 User=_rspamd
index e326dddcc185ed35b93282eccc898a99c21a3468..043d37c5512f43d39b5c402c9b6baca009c3dbff 100644 (file)
@@ -3,9 +3,6 @@ Description=rapid spam filtering system
 
 [Socket]
 ListenStream=11333
-ListenStream=127.0.0.1:11334
-ListenStream=127.0.0.1:11336
-FreeBind=true
+ListenStream=[::1]:11334
 
-[Install]
-WantedBy=sockets.target
+BindIPv6Only=both