# Maintainer: Valery Kartel # Contributor: Valery Kartel # Contributor: Nathan Angelacos pkgname=rspamd pkgver=1.5.0 pkgrel=1 pkgdesc="Fast, free and open-source spam filtering system" url="https://rspamd.com" arch="x86_64 x86 armhf" license="BSD" pkgusers="rspamd" pkggroups="rspamd" depends="" 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 " source="https://rspamd.com/downloads/$pkgname-$pkgver.tar.xz $pkgname.logrotated $pkgname.initd $pkgname.confd cmakelists.patch worker.conf.in " builddir="$srcdir/$pkgname-$pkgver" prepare() { local worker default_prepare || return 1 cd "$builddir" for worker in 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 "$(grep -n -m1 'worker {' conf/rspamd.sysvinit.conf|cut -d: -f1),\$d" \ -i conf/rspamd.sysvinit.conf && \ echo '.include(glob=true) "$CONFDIR/worker-*.conf"' >> \ conf/rspamd.sysvinit.conf } 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 \ || return 1 make || return 1 } package() { cd "$builddir" make DESTDIR="$pkgdir" install || return 1 rm "$pkgdir"/etc/$pkgname/$pkgname.systemd.conf || return 1 mv "$pkgdir"/etc/$pkgname/$pkgname.sysvinit.conf \ "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1 sed -ri -e 's~DBDIR(/rspamd.sock)~RUNDIR\1~' \ -e 's~rspamd_dynamic~dynamic~' \ "$pkgdir"/etc/$pkgname/options.inc || return 1 mkdir -p "$pkgdir"/etc/$pkgname/local.d \ "$pkgdir"/etc/$pkgname/override.d || return 1 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/dynamic install -dm750 -g $pkggroups "$pkgdir"/var/log/$pkgname chown $pkgusers "$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 || return 1 mv "$pkgdir"/usr/bin/rspamc-$pkgver \ "$subpkgdir"/usr/bin/rspamc } utils() { depends="perl" pkgdesc="$pkgdesc (utilities)" mkdir -p "$subpkgdir"/usr/bin || return 1 mv "$pkgdir"/usr/bin/${pkgname}_stats \ "$subpkgdir"/usr/bin/${pkgname}-stats || return 1 mv "$pkgdir"/usr/bin/${pkgname}-redirector "$subpkgdir"/usr/bin } fuzzy() { depends="$pkgname" pkgdesc="$pkgdesc (local fuzzy storage)" mkdir -p "$subpkgdir"/etc/$pkgname/modules.d || return 1 mv "$pkgdir"/etc/$pkgname/worker-fuzzy.* \ "$subpkgdir"/etc/$pkgname || return 1 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 || return 1 mv "$pkgdir"/usr/share/$pkgname/www \ "$subpkgdir"/usr/share/$pkgname || return 1 mv "$pkgdir"/etc/$pkgname/worker-controller.* \ "$subpkgdir"/etc/$pkgname } sha512sums="b1a7342feb43757d9e3ac4f27c09b0145aa6a33c7517881fd618d7dfb8cac7f091405b90466fa46b4dcd9744a7f767c2fa6010a31a669f52c01a4dbb7b1249b9 rspamd-1.5.0.tar.xz 2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb rspamd.logrotated df37726d03e676b16d707854d95bafc9162da65c27bb150edbfc0cb00f1842188a1f2a8f1b82be5ae2a253b4f4db4d93dfe804a89feb988b5af858eb3f3458be rspamd.initd e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947 rspamd.confd 99593c10ffb04c71a4c83c7522b41f12465a9862283685bbc2fff464fd84fcf8b4bc4a892419d31332c01f805c69dd7730f537c60248b92fee35acdc6633a644 cmakelists.patch 2169a8c4b4af6df9f3bbf4addeac564c9485a9d6a30fd15cf167093488362791c003a0d03360049c43d827e7fa767c1ad3522de6699b0247b75aa049c0b51214 worker.conf.in"