Skip to content

Commit

Permalink
mail-filter/rspamd: use checkpath in init script (fixes bug 603248)
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.3.0
  • Loading branch information
djc committed Jan 3, 2017
1 parent d8a4eca commit 0dce7fb
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 0 deletions.
48 changes: 48 additions & 0 deletions mail-filter/rspamd/files/rspamd.init-r4
Original file line number Diff line number Diff line change
@@ -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 $?
}
71 changes: 71 additions & 0 deletions mail-filter/rspamd/rspamd-1.4.1-r1.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 0dce7fb

Please sign in to comment.