testing/rspamd: cleaning and refining after initial commit

This commit is contained in:
Valery Kartel 2016-01-21 15:10:55 +02:00 committed by Natanael Copa
parent 7cd2e6e513
commit ba41dc3379
4 changed files with 74 additions and 33 deletions

View File

@ -2,8 +2,8 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=rspamd
pkgver=1.1.0
pkgrel=0
pkgdesc="Rapid spam filtering system."
pkgrel=1
pkgdesc="Rapid spam filtering system"
url="https://rspamd.com"
arch="all"
license="BSD-2-clause"
@ -14,10 +14,11 @@ depends_dev=""
makedepends="$depends_dev cmake openssl-dev libevent-dev glib-dev gmime-dev
luajit-dev sqlite-dev hiredis-dev file-dev pcre-dev"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-web"
subpackages="$pkgname-doc $pkgname-web $pkgname-client $pkgname-contrib"
source="https://rspamd.com/downloads/$pkgname-$pkgver.tar.xz
$pkgname.logrotated
$pkgname.initd
$pkgname.confd
$pkgname.conf
$pkgname.worker_normal
$pkgname.worker_controller
@ -29,63 +30,85 @@ build() {
cd "$_builddir"
cmake CMakeLists.txt \
-DCMAKE_INSTALL_PREFIX=/usr \
-DEXAMPLESDIR=/usr/share/doc/rspamd/examples \
-DCONFDIR=/etc/rspamd \
-DDBDIR=/var/lib/$pkgname \
-DCONFDIR=/etc/$pkgname \
-DRUNDIR=/run/$pkgname \
-DLOGDIR=/var/log/$pkgname \
-DENABLE_HIREDIS=ON \
-DRSPAMD_GROUP=$pkggroups \
-DRSPAMD_USER=$pkgusers \
-DRSPAMD_GROUP=$pkggroups \
-DENABLE_HIREDIS=ON \
-DINSTALL_EXAMPLES=ON \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" INSTALLDIRS=vendor install || return 1
for file in rspamd rspamc rspamadm; do
mv "$pkgdir"/usr/bin/$file-$pkgver "$pkgdir"/usr/bin/$file
done
find "$pkgdir"/usr/bin -type f -exec mv {} $(basename {} -$pkgver) \;
mkdir "$pkgdir"/usr/sbin "$pkgdir"/usr/share/doc/$pkgname/www
mv "$pkgdir"/usr/bin/rspamd "$pkgdir"/usr/sbin/
mv "$pkgdir"/usr/share/$pkgname/www/README.md \
"$pkgdir"/usr/share/$pkgname/www/plugins.txt \
"$pkgdir"/usr/share/doc/$pkgname/www
rm -fr "$pkgdir"/etc/$pkgname/rspamd.* "$pkgdir"/etc/$pkgname/worker-*
install -m644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname/$pkgname.conf
make DESTDIR="$pkgdir" install || return 1
find "$pkgdir"/usr/bin -type l -delete
rm -fr "$pkgdir"/etc/$pkgname/rspamd* "$pkgdir"/etc/$pkgname/worker*
sed -i -E 's~DBDIR(/rspamd.sock)~RUNDIR\1~' "$pkgdir"/etc/$pkgname/options.inc
install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname/$pkgname.conf
install -Dm644 "$srcdir"/$pkgname.worker_normal "$pkgdir"/etc/$pkgname/worker.d/normal.conf
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 $pkgusers -g $pkggroups "$pkgdir"/var/lib/$pkgname
install -dm750 -g $pkggroups "$pkgdir"/var/log/$pkgname
mkdir "$pkgdir"/usr/sbin
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
}
web() {
arch="noarch"
license="MIT"
depends="$pkgname"
pkgdesc="$pkgdesc (web control interface)"
mkdir -p "$subpkgdir"/usr/share/$pkgname
mkdir -p "$subpkgdir"/usr/share/$pkgname "$subpkgdir"/etc/$pkgname/worker.d
mv "$pkgdir"/usr/share/$pkgname/www "$subpkgdir"/usr/share/$pkgname/
install -Dm644 "$srcdir"/$pkgname.worker_controller "$subpkgdir"/etc/$pkgname/worker.d/controller.conf
}
client() {
pkgdesc="$pkgdesc (console client)"
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/rspamc-$pkgver "$subpkgdir"/usr/bin/rspamc
}
contrib() {
arch="noarch"
pkgdesc="Some useful stuff to deploying rspamd to another apps"
mkdir -p "$subpkgdir"/usr/share/$pkgname/contrib
# Exim specific stuff
cp -r "$_builddir"/contrib/exim "$subpkgdir"/usr/share/$pkgname/contrib/
}
md5sums="c14cc28bc346a3f12623e472ba508f43 rspamd-1.1.0.tar.xz
3fd4d0e28cb01224a786c0498266e9a6 rspamd.logrotated
cbf6a8191c7ce4b7c4fe481cad58f1a4 rspamd.initd
dba3145a52bee22d8ed1192dc44506ad rspamd.initd
ecfea2a25b95727ae91c04001fbd3e46 rspamd.confd
a5f0967b3d9aa319909af7e1bfe998e1 rspamd.conf
74e334227e9244c419abd605787c090e rspamd.worker_normal
03bd84228945261e2242564f9bf5f1ca rspamd.worker_controller"
sha256sums="69db05150b4ba8304d24dd0f96c79b5d3792478373f0d6be6c92b51b1cf60ead rspamd-1.1.0.tar.xz
cb02c8c041a0ace2e3c9e4fbf514038871b4444575c9022a75e661130db875fd rspamd.logrotated
0e4d1ce24ce9ec0451f4498dcadc391721affc63be3c693564df29f9b23b0c7a rspamd.initd
83acf26538826ce58039236660807cc87b9d4abc628fa6e2ddbb4201eac5424e rspamd.initd
82be6a663af2e2333b0dfbbbfd05a9ff3d02e05c7e506235b1b0dbd9d0b72972 rspamd.confd
5a223efb12e962e0f3bfe9f6d08336c6074b0b2930b8da6a22fe6582142ee40c rspamd.conf
7805103a2e11cf816e99dba7d67fdc584ece33d9ea3ef95f95f4fce91a34eb90 rspamd.worker_normal
f50663096866b35095f7a6754e3cfb0bab518645d61646703715cf43da5adf77 rspamd.worker_controller"
sha512sums="41a8fb49a10082b1dc97397ebb8ac81dd3f4912e9140dcb7c57c9e15f1e49cf472aa94570a2f802b82e3db8ab8a87dd6a63f7db7249da4d99473700535045256 rspamd-1.1.0.tar.xz
3b95882b1804d8dc6524a4c2cdf3f656b2f9bf5db6228b92d1acd539629070aead654c1f58937e1473e4f07340dc3de7b212f87b36143c5cb3fcb3b472a85f5a rspamd.logrotated
f41f72ace36af2d55e4b900580953b72933cc9cd53213e0ff40439eeab45713ebe07cafa14e5ac7951b96e0984d875d507fd4adb8e1501f0954324118c0abf68 rspamd.initd
12b2a92126f911e29d5ace836404ca8170bc19181f3b61896726b0dea79b03bc3b9295d876b96a633a3b4a963646cf7bebfbe10489ad24f373d81fd5a84f21b1 rspamd.initd
0b73b159cec9a4a1d337fbb429814f78da23b55f72c9fb8a777ab5f06634206a4f9b25e587f8dbfa7c3242ac5501ebcc90b9a0e926adfd37e14a12ac4607fa62 rspamd.confd
90885bd8f9fcd47590eedf8f1f058df7c492005fc09058e99ee490e1730f4961909850ecf9e98723bfbd3cbe8df705f86a0de931dedb25bc66b246674f537a72 rspamd.conf
ddf1af03878ed2f4b1e735ecd9f931f1941adf7b2085aa7a40f3ef303fa5c59791d0d7462064c2ac652af2722b83acd4379f549d341cb62767e74edefb69ba9a rspamd.worker_normal
932486ee517ca55534e93eb634badd9082a3952e25a66f98468c7b9c29ce4a26a5a96f465ee347dfd5443d330b1dd11b72680bc6ac04c2ebe45412f4432e8f62 rspamd.worker_controller"

View File

@ -0,0 +1,17 @@
# User to run rspamd workers
#user=rspamd
# Group to run rspamd workers
#group=rspamd
# Main config file
#cfgfile=/etc/rspamd/rspamd.conf
# PID file. Settings from config files are ignored
#pidfile=/run/rspamd/rspamd.pid
# Where to log startup configuration checking
# - /dev/null - silent (default)
# - /dev/tty - show output on curent terminal
# - /path/filename - append to specified logfile
#startuplog=/var/log/rspamd/startup.log

View File

@ -1,10 +1,12 @@
#!/sbin/openrc-run
description="Rapid spam filtering system"
command="/usr/sbin/rspamd"
command_args="-u rspamd -g rspamd"
user=${user:-rspamd}
group=${group:-rspamd}
cfgfile=${cfgfile:-/etc/rspamd/rspamd.conf}
pidfile="/run/rspamd/rspamd.pid"
pidfile=${pidfile:-/run/rspamd/rspamd.pid}
command=/usr/sbin/rspamd
command_args="-u $user -g $group -c $cfgfile -p $pidfile"
required_files="$cfgfile"
extra_started_commands="reload"
description_reload="Reload configuration"
@ -16,14 +18,13 @@ depend() {
start_pre() {
ebegin
[ "$cfgfile" = "/etc/rspamd/rspamd.conf" ] || command_args="$command_args -c $cfgfile"
checkpath --directory --mode 750 --owner rspamd:rspamd "${pidfile%/*}"
$command $command_args -t &>/dev/null
checkpath --directory --mode 750 --owner $user:$group ${pidfile%/*}
$command $command_args -t >/dev/null 2>>${startuplog:-/dev/null}
eend $?
}
reload() {
ebegin "Reloading ${SVCNAME}"
start-stop-daemon --signal HUP --pidfile ${pidfile}
start-stop-daemon --signal HUP --pidfile $pidfile
eend $?
}

View File

@ -1,6 +1,6 @@
#!/bin/sh
addgroup -S rspamd 2>/dev/null
adduser -h /var/lib/rspamd -g "rspamd spam filtering system" -s /bin/false -SDHG rspamd rspamd 2>/dev/null
adduser -h /var/lib/rspamd -g "rspamd" -s /bin/false -SDHG rspamd rspamd 2>/dev/null
exit 0