mail-filter/rspamd: use checkpath in init script (fixes bug 603248)
authorDirkjan Ochtman <djc@gentoo.org>
Tue, 3 Jan 2017 18:56:37 +0000 (19:56 +0100)
committerDirkjan Ochtman <djc@gentoo.org>
Tue, 3 Jan 2017 19:00:51 +0000 (20:00 +0100)
Package-Manager: portage-2.3.0

mail-filter/rspamd/files/rspamd.init-r4 [new file with mode: 0644]
mail-filter/rspamd/rspamd-1.4.1-r1.ebuild [new file with mode: 0644]

diff --git a/mail-filter/rspamd/files/rspamd.init-r4 b/mail-filter/rspamd/files/rspamd.init-r4
new file mode 100644 (file)
index 0000000..cb4520f
--- /dev/null
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 2015-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="checkconfig"
+extra_started_commands="reload"
+
+RUNDIR=/var/run/rspamd
+PIDFILE=$RUNDIR/rspamd.pid
+
+depend() {
+       need net
+}
+
+checkconfig() {
+       /usr/bin/rspamadm configtest -c /etc/rspamd/rspamd.sysvinit.conf > /dev/null \
+               || return 1
+}
+
+start() {
+       checkconfig || return 1
+       ebegin "Starting ${SVCNAME}"
+
+       checkpath -d $RUNDIR -m 2750 -o rspamd:rspamd
+       rm -f $RUNDIR/$SVCNAME.sock
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE -u rspamd -g rspamd \
+                                               --exec /usr/bin/rspamd
+       eend $?
+}
+
+stop() {
+       if [ "${RC_CMD}" = "restart" ] ; then
+               checkconfig || return 1
+       fi
+
+       ebegin "Stopping ${SVCNAME}"
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE \
+                                               --exec /usr/bin/rspamd
+       eend $?
+}
+
+reload() {
+       checkconfig || return 1
+       ebegin "Reloading ${SVCNAME}"
+       start-stop-daemon --signal HUP --quiet --pidfile $PIDFILE
+       eend $?
+}
diff --git a/mail-filter/rspamd/rspamd-1.4.1-r1.ebuild b/mail-filter/rspamd/rspamd-1.4.1-r1.ebuild
new file mode 100644 (file)
index 0000000..978a2bd
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils pax-utils user systemd
+
+DESCRIPTION="Rapid spam filtering system"
+SRC_URI="https://rspamd.com/downloads/${P}.tar.xz"
+HOMEPAGE="https://github.com/vstakhov/rspamd"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+fann +jit libressl"
+
+RDEPEND="!libressl? ( dev-libs/openssl:0[-bindist] )
+               libressl? ( dev-libs/libressl:0 )
+               fann? ( sci-mathematics/fann )
+               jit? (
+                       dev-libs/libpcre[jit]
+                       dev-lang/luajit:2
+               )
+               !jit? (
+                       dev-libs/libpcre[-jit]
+                       >=dev-lang/lua-5.1:0
+               )
+               dev-libs/libevent
+               dev-db/sqlite:3
+               dev-libs/glib:2
+               dev-libs/gmime
+               dev-util/ragel
+               sys-apps/file
+               virtual/libiconv"
+DEPEND="dev-util/ragel
+               ${RDEPEND}"
+
+pkg_setup() {
+       enewgroup rspamd
+       enewuser rspamd -1 -1 /var/lib/rspamd rspamd
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DCONFDIR=/etc/rspamd
+               -DRUNDIR=/var/run/rspamd
+               -DDBDIR=/var/lib/rspamd
+               -DLOGDIR=/var/log/rspamd
+               -DENABLE_LUAJIT=$(usex jit ON OFF)
+               -DENABLE_FANN=$(usex fann ON OFF)
+       )
+       cmake-utils_src_configure
+}
+
+src_install() {
+       cmake-utils_src_install
+       pax-mark m "${ED}"/usr/bin/rspamadm-*
+       pax-mark m "${ED}"/usr/bin/rspamd-*
+       newinitd "${FILESDIR}/rspamd.init-r3" rspamd
+
+       dodir /var/lib/rspamd
+       dodir /var/log/rspamd
+
+       fowners rspamd:rspamd /var/lib/rspamd /var/log/rspamd
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/rspamd.logrotate" rspamd
+
+       systemd_newunit rspamd.service rspamd.service
+}