blob: 8627acbef6663382fb3639be60baef5f14677fd4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Contributor: Nathan Angelacos <nangel@alpinelinux.org>
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"
|