]> git.pld-linux.org Git - SPECS.git/blob - rspamd.spec
SPECS updated Wed 1 May 10:14:00 CEST 2024
[SPECS.git] / rspamd.spec
1 #
2 Summary:        Spam filter to replace spamassassin
3 Name:           rspamd
4 Version:        3.4
5 Release:        1
6 License:        Apache v2.0
7 Group:          Applications
8 Source0:        https://github.com/vstakhov/rspamd/archive/%{version}/%{name}-%{version}.tar.gz
9 # Source0-md5:  8125fd01e676c7624f077a2a58076e60
10 Source1:        %{name}.tmpfiles
11 Source2:        %{name}.init
12 Source3:        %{name}.sysconfig
13 URL:            https://rspamd.com
14 BuildRequires:  rpmbuild(macros) >= 1.228
15 Requires(post,preun):   /sbin/chkconfig
16 BuildRequires:  cmake
17 BuildRequires:  glib2-devel
18 BuildRequires:  libevent-devel
19 BuildRequires:  libffi-devel
20 BuildRequires:  libicu-devel
21 BuildRequires:  libmagic-devel
22 BuildRequires:  lua51-devel
23 BuildRequires:  luajit-devel
24 BuildRequires:  libsodium-devel
25 BuildRequires:  pcre-devel
26 BuildRequires:  pkgconfig
27 BuildRequires:  ragel
28 BuildRequires:  sqlite3-devel
29 Requires:       rc-scripts
30 Provides:       group(rspamd)
31 Provides:       user(rspamd)
32 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33
34 # debugsource package fails
35 %define         _enable_debug_packages 0
36
37 %description
38 Rspamd is a complex spam filter that allows to estimate messages by
39 many rules, statistical data and custom services like URL black lists.
40 Each message is estimated by rspamd and got so called 'spam score'.
41 According to spam score and user's settings rspamd send recommended
42 action for this message to MTA. Rspamd has own unique features among
43 spam filters:
44
45 - event driven architecture allowing to process many messages at a
46   time
47 - flexible syntax of rules allowing to write rules in lua language
48 - a lot of plugins and rules shipped with rspamd distribution
49 - highly optimized mail processing
50 - advanced statistic All these features allow rspamd to process
51   messages fast and make good results in spam filtering.
52
53 %prep
54 %setup -q
55
56 %build
57 install -d build
58 cd build
59 %{__cmake} \
60         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
61         -DCONFDIR=%{_sysconfdir}/%{name} \
62         -DLIBDIR=%{_libdir} \
63         ..
64
65 %{__make}
66 cd ..
67 %{__sed} -i -e '1s,/usr/bin/env perl,/usr/bin/perl,' utils/rspamd_stats.pl
68
69 %install
70 rm -rf $RPM_BUILD_ROOT
71 install -d $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_sysconfdir}/%{name}/{local.d,override.d}} \
72         $RPM_BUILD_ROOT/var/log/%{name} \
73         $RPM_BUILD_ROOT/var/run/%{name}
74
75 install -d $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
76 cp -p %SOURCE1 $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/%{name}.conf
77 cp -p %SOURCE2 $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
78 cp -p %SOURCE3 $RPM_BUILD_ROOT/etc/sysconfig/%{name}
79
80 %{__make} -C build install \
81         DESTDIR=$RPM_BUILD_ROOT
82
83 %clean
84 rm -rf $RPM_BUILD_ROOT
85
86 %pre
87 %groupadd -g 294 %{name}
88 %useradd -u 294 -d /var/lib/%{name} -g %{name} -c "rspamd User" %{name}
89
90 %postun
91 /sbin/ldconfig
92 if [ "$1" = "0" ]; then
93         %userremove %{name}
94         %groupremove %{name}
95 fi
96
97 %post
98 /sbin/ldconfig
99 /sbin/chkconfig --add %{name}
100 %service %{name} restart
101
102 %preun
103 if [ "$1" = "0" ]; then
104         %service -q %{name} stop
105         /sbin/chkconfig --del %{name}
106 fi
107
108 %files
109 %defattr(644,root,root,755)
110 %doc ChangeLog LICENSE.md README.md
111 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
112 %attr(754,root,root) /etc/rc.d/init.d/%{name}
113 %{_sysconfdir}/tmpfiles.d/rspamd.conf
114 %attr(755,root,root) %{_bindir}/rspam*
115 %dir %{_sysconfdir}/%{name}
116 %dir %{_sysconfdir}/%{name}/local.d
117 %dir %{_sysconfdir}/%{name}/override.d
118 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/actions.conf
119 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/cgp.inc
120 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/common.conf
121 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/composites.conf
122 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/groups.conf
123 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/logging.inc
124 %dir %{_sysconfdir}/%{name}/maps.d
125 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/dmarc_whitelist.inc
126 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/maillist.inc
127 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/mid.inc
128 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/mime_types.inc
129 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/redirectors.inc
130 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/spf_dkim_whitelist.inc
131 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/maps.d/surbl-whitelist.inc
132 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/metrics.conf
133 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/modules.conf
134 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/options.inc
135 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/rspamd.conf
136 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/settings.conf
137 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/statistic.conf
138 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/worker-controller.inc
139 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/worker-fuzzy.inc
140 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/worker-normal.inc
141 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/worker-proxy.inc
142 %dir %{_sysconfdir}/%{name}/modules.d/
143 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/modules.d/*.conf
144 %dir %{_sysconfdir}/%{name}/scores.d/
145 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/scores.d/*.conf
146 %dir %{_datadir}/%{name}
147 %{_datadir}/%{name}/effective_tld_names.dat
148 %dir %{_datadir}/%{name}/elastic/
149 %{_datadir}/%{name}/elastic/*.json
150 %dir %{_datadir}/%{name}/languages/
151 %{_datadir}/%{name}/languages/*.json
152 %{_datadir}/%{name}/languages/stop_words
153 %dir %{_datadir}/%{name}/lualib
154 %{_datadir}/%{name}/lualib/*.lua
155 %dir %{_datadir}/%{name}/lualib/lua_content
156 %{_datadir}/%{name}/lualib/lua_content/*.lua
157 %dir %{_datadir}/%{name}/lualib/lua_ffi
158 %{_datadir}/%{name}/lualib/lua_ffi/*.lua
159 %dir %{_datadir}/%{name}/lualib/lua_magic
160 %{_datadir}/%{name}/lualib/lua_magic/*.lua
161 %dir %{_datadir}/%{name}/lualib/lua_scanners
162 %{_datadir}/%{name}/lualib/lua_scanners/*.lua
163 %dir %{_datadir}/%{name}/lualib/lua_selectors
164 %{_datadir}/%{name}/lualib/lua_selectors/*.lua
165 %dir %{_datadir}/%{name}/lualib/plugins
166 %{_datadir}/%{name}/lualib/plugins/*.lua
167 %dir %{_datadir}/%{name}/lualib/rspamadm
168 %{_datadir}/%{name}/lualib/rspamadm/*.lua
169 %dir %{_datadir}/%{name}/plugins
170 %{_datadir}/%{name}/plugins/*.lua
171 %dir %{_datadir}/%{name}/rules
172 %{_datadir}/%{name}/rules/*.lua
173 %dir %{_datadir}/%{name}/rules/regexp
174 %{_datadir}/%{name}/rules/regexp/*.lua
175 %dir %{_datadir}/%{name}/rules/controller
176 %{_datadir}/%{name}/rules/controller/*.lua
177 %dir %{_datadir}/%{name}/www
178 %{_datadir}/%{name}/www/*
179 %attr(755,root,root) %{_libdir}/*.so
180 %{_mandir}/man1/rspamadm.1*
181 %{_mandir}/man1/rspamc.1*
182 %{_mandir}/man8/rspamd.8*
183 %dir %attr(750,root,logs) /var/log/%{name}
184 %dir /var/run/%{name}
185
186 %changelog
187 * Wed May 15 2013 PLD Linux Team <feedback@pld-linux.org>
188 - For complete changelog see:   http://git.pld-linux.org/?p=packages/rspamd.git;a=log
This page took 0.458353 seconds and 4 git commands to generate.