diff options
author | TBK <tbk@jjtc.dk> | 2017-10-04 12:46:48 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2017-10-09 15:50:54 +0000 |
commit | dd017b00960cc4c64788a3092d0b444eb592f341 (patch) | |
tree | 48da30cfb6dece02953f2b5f90c6fcdc29bd1135 /community/rspamd | |
parent | 0c2b89fb9b8889b59e0ff8e73182280894967e29 (diff) | |
download | aports-dd017b00960cc4c64788a3092d0b444eb592f341.tar.bz2 aports-dd017b00960cc4c64788a3092d0b444eb592f341.tar.xz |
community/rspamd: move from testing
Diffstat (limited to 'community/rspamd')
-rw-r--r-- | community/rspamd/APKBUILD | 154 | ||||
-rw-r--r-- | community/rspamd/cmakelists.patch | 10 | ||||
-rw-r--r-- | community/rspamd/rspamd.confd | 16 | ||||
-rw-r--r-- | community/rspamd/rspamd.initd | 46 | ||||
-rw-r--r-- | community/rspamd/rspamd.logrotated | 11 | ||||
-rw-r--r-- | community/rspamd/rspamd.pre-install | 6 | ||||
-rw-r--r-- | community/rspamd/worker.conf.in | 6 |
7 files changed, 249 insertions, 0 deletions
diff --git a/community/rspamd/APKBUILD b/community/rspamd/APKBUILD new file mode 100644 index 0000000000..a0bd4c0add --- /dev/null +++ b/community/rspamd/APKBUILD @@ -0,0 +1,154 @@ +# Maintainer: Valery Kartel <valery.kartel@gmail.com> +# Contributor: Valery Kartel <valery.kartel@gmail.com> +# Contributor: Nathan Angelacos <nangel@alpinelinux.org> +# Contributor: TBK <alpine@jjtc.eu> +pkgname=rspamd +pkgver=1.6.4 +pkgrel=0 +pkgdesc="Fast, free and open-source spam filtering system" +url="https://rspamd.com" +arch="x86_64 x86 armhf ppc64le" +license="BSD" +options="!check" +pkgusers=$pkgname +pkggroups=$pkgname +makedepends="cmake ragel perl lua-dev glib-dev pcre-dev icu-dev + libevent-dev sqlite-dev libressl-dev file-dev curl-dev + gd-dev fann-dev" +install="$pkgname.pre-install" +subpackages="$pkgname-doc $pkgname-client $pkgname-utils::noarch + $pkgname-controller::noarch $pkgname-fuzzy::noarch + $pkgname-proxy::noarch + " +source="$pkgname-$pkgver.tar.gz::https://github.com/vstakhov/$pkgname/archive/$pkgver.tar.gz + $pkgname.logrotated + $pkgname.initd + $pkgname.confd + cmakelists.patch + worker.conf.in + " +builddir="$srcdir/$pkgname-$pkgver" + +prepare() { + local worker + default_prepare + + cd "$builddir" + for worker in proxy:2 normal:3 controller:4 fuzzy:5; do + sed -e "s/@name@/${worker%:*}/g" -e "s/@port@/${worker#*:}/g" \ + "$srcdir"/worker.conf.in > conf/worker-${worker%:*}.conf + done + sed -ri -e 's/worker /&"rspamd_proxy" /' \ + conf/worker-proxy.conf + sed "$(grep -n -m1 'worker {' conf/rspamd.conf|cut -d: -f1),\$d" \ + -i conf/rspamd.conf && \ + echo '.include(glob=true) "$CONFDIR/worker-*.conf"' >> \ + conf/rspamd.conf + sed -ri -e 's~DBDIR(/rspamd.sock)~RUNDIR\1~' \ + -e 's~rspamd_dynamic~dynamic~' \ + conf/options.inc +} + +build() { + cd "$builddir" + cmake CMakeLists.txt \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCONFDIR=/etc/$pkgname \ + -DRUNDIR=/run/$pkgname \ + -DRSPAMD_USER=$pkgusers \ + -DRSPAMD_GROUP=$pkggroups \ + -DENABLE_DB=ON \ + -DENABLE_SQLITE=ON \ + -DENABLE_HIREDIS=ON \ + -DENABLE_REDIRECTOR=ON \ + -DENABLE_URL_INCLUDE=ON \ + -DINSTALL_EXAMPLES=ON + make +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + + mkdir -p "$pkgdir"/etc/$pkgname/local.d \ + "$pkgdir"/etc/$pkgname/override.d + + install -Dm644 "$srcdir"/$pkgname.logrotated \ + "$pkgdir"/etc/logrotate.d/$pkgname + install -Dm755 "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname + install -Dm644 "$srcdir"/$pkgname.confd \ + "$pkgdir"/etc/conf.d/$pkgname + + install -dm750 -o $pkgname -g $pkgname \ + "$pkgdir"/var/lib/$pkgname/dynamic + install -dm750 -g $pkgname \ + "$pkgdir"/var/log/$pkgname + chown $pkgname:$pkgname "$pkgdir"/var/lib/$pkgname + + mkdir "$pkgdir"/usr/sbin + find "$pkgdir"/usr/bin -type l -delete + mv "$pkgdir"/usr/bin/rspamd-$pkgver \ + "$pkgdir"/usr/sbin/rspamd + mv "$pkgdir"/usr/bin/rspamadm-$pkgver \ + "$pkgdir"/usr/bin/rspamadm + + mv "$pkgdir"/usr/share/examples \ + "$pkgdir"/usr/share/doc + mv "$pkgdir"/usr/share/$pkgname/www/README.md \ + "$pkgdir"/usr/share/$pkgname/www/plugins.txt \ + "$pkgdir"/usr/share/doc/$pkgname +} + +client() { + pkgdesc="$pkgdesc (console client)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/rspamc-$pkgver \ + "$subpkgdir"/usr/bin/rspamc +} + +utils() { + depends="perl" + pkgdesc="$pkgdesc (utilities)" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/${pkgname}_stats \ + "$subpkgdir"/usr/bin/${pkgname}-stats + mv "$pkgdir"/usr/bin/${pkgname}-redirector "$subpkgdir"/usr/bin +} + +fuzzy() { + depends="$pkgname" + pkgdesc="$pkgdesc (local fuzzy storage)" + mkdir -p "$subpkgdir"/etc/$pkgname/modules.d + mv "$pkgdir"/etc/$pkgname/worker-fuzzy.* \ + "$subpkgdir"/etc/$pkgname + mv "$pkgdir"/etc/$pkgname/modules.d/fuzzy_* \ + "$subpkgdir"/etc/$pkgname/modules.d +} + +controller() { + license="MIT" + depends="$pkgname" + pkgdesc="$pkgdesc (controller web interface)" + mkdir -p "$subpkgdir"/usr/share/$pkgname \ + "$subpkgdir"/etc/$pkgname + mv "$pkgdir"/usr/share/$pkgname/www \ + "$subpkgdir"/usr/share/$pkgname + mv "$pkgdir"/etc/$pkgname/worker-controller.* \ + "$subpkgdir"/etc/$pkgname +} + +proxy() { + depends="$pkgname rmilter" + pkgdesc="$pkgdesc (milter support)" + mkdir -p "$subpkgdir"/etc/$pkgname + mv "$pkgdir"/etc/$pkgname/worker-proxy.* \ + "$subpkgdir"/etc/$pkgname +} + +sha512sums="19c22d8f1085e8b48379787205d85053fb0f2c1ed7c3b4f757980929517dc344b5a4999963b0eeb9cd1c68412d0dc59c1eaa403125e42dbab257b24ed0627756 rspamd-1.6.4.tar.gz +2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb rspamd.logrotated +df37726d03e676b16d707854d95bafc9162da65c27bb150edbfc0cb00f1842188a1f2a8f1b82be5ae2a253b4f4db4d93dfe804a89feb988b5af858eb3f3458be rspamd.initd +e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947 rspamd.confd +ae4b7e77a29bed5461088e5e9bd20941a578e899300b079b05900e355b5de1ba077fb33ae5533587f0748647bd2c7ee70aa53dd981899612eafac2203ae95883 cmakelists.patch +2169a8c4b4af6df9f3bbf4addeac564c9485a9d6a30fd15cf167093488362791c003a0d03360049c43d827e7fa767c1ad3522de6699b0247b75aa049c0b51214 worker.conf.in" diff --git a/community/rspamd/cmakelists.patch b/community/rspamd/cmakelists.patch new file mode 100644 index 0000000000..e451973f3d --- /dev/null +++ b/community/rspamd/cmakelists.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -578,7 +578,6 @@ + LIST(APPEND CMAKE_REQUIRED_LIBRARIES rt) + LIST(APPEND CMAKE_REQUIRED_LIBRARIES dl) + LIST(APPEND CMAKE_REQUIRED_LIBRARIES resolv) +- LIST(APPEND CMAKE_REQUIRED_LIBRARIES nsl) + MESSAGE(STATUS "Configuring for Linux") + IF(ENABLE_STATIC MATCHES "ON") + LIST(APPEND CMAKE_REQUIRED_LIBRARIES z) diff --git a/community/rspamd/rspamd.confd b/community/rspamd/rspamd.confd new file mode 100644 index 0000000000..e804b2b642 --- /dev/null +++ b/community/rspamd/rspamd.confd @@ -0,0 +1,16 @@ +# User and group to run rspamd workers +#RSPAMD_USER=rspamd +#RSPAMD_GROUP=rspamd + +# Main config dir or file +#RSPAMD_CONFDIR=/etc/rspamd +#RSPAMD_CONFIG=/etc/rspamd/rspamd.conf + +# PID file. Settings from config files are ignored +#RSPAMD_PIDFILE=/run/$RC_SVCNAME/rspamd.pid + +# Where to log startup configuration checking +# - /dev/null - silent (default) +# - /dev/stdout - show output on curent terminal +# - /path/filename - append to specified logfile +#RSPAMD_STARTUPLOG=/var/log/rspamd/startup.log diff --git a/community/rspamd/rspamd.initd b/community/rspamd/rspamd.initd new file mode 100644 index 0000000000..79e9d0d910 --- /dev/null +++ b/community/rspamd/rspamd.initd @@ -0,0 +1,46 @@ +#!/sbin/openrc-run + +description="Rapid spam filtering system" + +: ${user:=${RSPAMD_USER:-rspamd}} +: ${group:=${RSPAMD_GROUP:-rspamd}} +: ${cfgdir:=${RSPAMD_CONFDIR:-/etc/rspamd}} +: ${cfgfile:=${RSPAMD_CONFIG:-$cfgdir/rspamd.conf}} +: ${pidfile:=${RSPAMD_PIDFILE:-/run/$RC_SVCNAME/rspamd.pid}} + +command=/usr/sbin/rspamd +command_args="-u $user -g $group -c $cfgfile -p $pidfile" +required_files="$cfgfile" +extra_commands="checkconfig" +extra_started_commands="reload reopen" +description_checkconfig="Verify configuration" +description_reload="Reload configuration" +description_reopen="Reopen log files" + +depend() { + need localmount net + before mta +} + +checkconfig() { + ebegin "Checking $RC_SVCNAME config" + $command $command_args -t + eend $? +} + +start_pre() { + checkpath -d -m 750 -o $user:$group ${pidfile%/*} + checkconfig >/dev/null 2>>${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}} +} + +reload() { + ebegin "Reloading $RC_SVCNAME config" + checkconfig >/dev/null 2>&1 && start-stop-daemon --signal HUP --pidfile $pidfile + eend $? +} + +reopen() { + ebegin "Reopening $RC_SVCNAME log files" + start-stop-daemon --signal USR1 --pidfile $pidfile + eend $? +} diff --git a/community/rspamd/rspamd.logrotated b/community/rspamd/rspamd.logrotated new file mode 100644 index 0000000000..2a443f2de2 --- /dev/null +++ b/community/rspamd/rspamd.logrotated @@ -0,0 +1,11 @@ +/var/log/rspamd/*log { + daily + rotate 10 + missingok + notifempty + compress + sharedscripts + postrotate + /etc/init.d/rspamd --ifstarted --quiet reopen + endscript +} diff --git a/community/rspamd/rspamd.pre-install b/community/rspamd/rspamd.pre-install new file mode 100644 index 0000000000..ea13204031 --- /dev/null +++ b/community/rspamd/rspamd.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S rspamd 2>/dev/null +adduser -S -D -H -h /var/lib/rspamd -s /sbin/nologin -G rspamd -g rspamd rspamd 2>/dev/null + +exit 0 diff --git a/community/rspamd/worker.conf.in b/community/rspamd/worker.conf.in new file mode 100644 index 0000000000..d39c34976c --- /dev/null +++ b/community/rspamd/worker.conf.in @@ -0,0 +1,6 @@ +worker { + bind_socket = "localhost:1133@port@"; + .include "$CONFDIR/worker-@name@.inc" + .include(try=true; priority=1,duplicate=merge) "$LOCAL_CONFDIR/local.d/worker-@name@.inc" + .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/worker-@name@.inc" +} |