]>
Commit | Line | Data |
---|---|---|
1 | # TODO | |
2 | # - build lib{,ssl}spamc.so (if there is a point) | |
3 | # | |
4 | # Conditional build: | |
5 | %bcond_without tests # do not perform "make test" | |
6 | # | |
7 | %include /usr/lib/rpm/macros.perl | |
8 | %define pdir Mail | |
9 | %define pnam SpamAssassin | |
10 | %define sa_version %(printf %d.%03d%03d $(echo %{version} | tr '.' ' ')) | |
11 | Summary: A spam filter for email which can be invoked from mail delivery agents | |
12 | Summary(pl.UTF-8): Filtr antyspamowy, przeznaczony dla programów dostarczających pocztę (MDA) | |
13 | Name: spamassassin | |
14 | Version: 3.2.1 | |
15 | Release: 4 | |
16 | License: Apache Software License v2 | |
17 | Group: Applications/Mail | |
18 | Source0: http://www.apache.net.pl/spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2 | |
19 | # Source0-md5: 7b2fdbcdca5e9a181d4bb1b17663c138 | |
20 | Source1: %{name}.sysconfig | |
21 | Source2: %{name}-spamd.init | |
22 | Source3: %{name}-default.rc | |
23 | Source4: %{name}-spamc.rc | |
24 | Source5: sa-update.sh | |
25 | Source6: sa-update.cron | |
26 | URL: http://spamassassin.apache.org/ | |
27 | BuildRequires: openssl-devel >= 0.9.7d | |
28 | BuildRequires: perl(ExtUtils::MakeMaker) >= 6.16 | |
29 | BuildRequires: perl-Archive-Tar | |
30 | BuildRequires: perl-DBI | |
31 | BuildRequires: perl-DB_File | |
32 | BuildRequires: perl-Digest-SHA1 >= 2.10 | |
33 | BuildRequires: perl-HTML-Parser >= 3 | |
34 | BuildRequires: perl-IO-Socket-INET6 >= 2.51 | |
35 | BuildRequires: perl-IO-Socket-SSL | |
36 | BuildRequires: perl-IO-Zlib | |
37 | BuildRequires: perl-IP-Country | |
38 | BuildRequires: perl-Mail-SPF-Query | |
39 | BuildRequires: perl-Net-DNS | |
40 | BuildRequires: perl-Net-Ident | |
41 | #BuildRequires: perl-Razor2 | |
42 | BuildRequires: perl-devel >= 1:5.8.0 | |
43 | BuildRequires: perl-libwww | |
44 | BuildRequires: re2c | |
45 | BuildRequires: rpmbuild(macros) >= 1.310 | |
46 | %if %{with tests} | |
47 | # are these really needed? | |
48 | BuildRequires: perl-Encode-Detect | |
49 | BuildRequires: perl-MIME-Base64 | |
50 | BuildRequires: perl-MIME-tools | |
51 | BuildRequires: perl-Mail-DKIM | |
52 | BuildRequires: perl-Mail-DomainKeys | |
53 | BuildRequires: perl-Mail-SPF | |
54 | BuildRequires: perl-MailTools | |
55 | BuildRequires: perl-Razor > 2.61 | |
56 | BUildRequires: perl-Compress-Zlib | |
57 | %endif | |
58 | BuildRequires: rpm-perlprov >= 4.1-13 | |
59 | Requires: perl-Mail-SpamAssassin = %{version}-%{release} | |
60 | Obsoletes: SpamAssassin | |
61 | Obsoletes: spamassassin-tools | |
62 | Suggests: spamassassin-update | |
63 | Suggests: spamassassin-compile | |
64 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
65 | ||
66 | %define _noautoreq 'perl(Razor2::Client::Agent)' 'perl(Razor::Agent)' 'perl(Razor::Client)' 'perl(DBI)' 'perl(Net::Ident)' | |
67 | ||
68 | %description | |
69 | Apache SpamAssassin provides you with a way to reduce if not completely | |
70 | eliminate Unsolicited Commercial Email (SPAM) from your incoming | |
71 | email. It can be invoked by a MDA such as sendmail or postfix, or can | |
72 | be called from a procmail script, .forward file, etc. It uses a | |
73 | genetic-algorithm evolved scoring system to identify messages which | |
74 | look spammy, then adds headers to the message so they can be filtered | |
75 | by the user's mail reading software. This distribution includes the | |
76 | spamd/spamc components which create a server that considerably speeds | |
77 | processing of mail. | |
78 | ||
79 | To enable spamassassin, if you are receiving mail locally, simply add | |
80 | this line to your ~/.procmailrc: | |
81 | INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc | |
82 | ||
83 | To filter spam for all users, add that line to /etc/procmailrc | |
84 | (creating if necessary). | |
85 | ||
86 | %description -l pl.UTF-8 | |
87 | Apache SpamAssassin daje możliwość zredukowania, jeśli nie kompletnego | |
88 | wyeliminowania niezamawianej komercyjnej poczty (Unsolicited | |
89 | Commercial Email, spamu) z poczty. Może być wywoływany z MDA, np. | |
90 | Sendmaila czy Postfiksa, lub z pliku ~/.forward itp. Używa ogólnego | |
91 | algorytmu oceniania w celu identyfikacji wiadomości, które wyglądają | |
92 | na SPAM, po czym dodaje nagłówki do wiadomości, umożliwiając | |
93 | filtrowanie przez oprogramowanie użytkownika. Ta dystrybucja zawiera | |
94 | programy spamd/spamc, umożliwiające uruchomienie serwera, co znacznie | |
95 | przyspieszy proces przetwarzania poczty. | |
96 | ||
97 | Aby uruchomić spamassassina dla lokalnie przychodzącej poczty, | |
98 | wystarczy dodać do własnego ~/.procmailrc linię: | |
99 | INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc | |
100 | ||
101 | Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię | |
102 | do pliku /etc/procmailrc (tworząc go w razie potrzeby). | |
103 | ||
104 | %package spamd | |
105 | Summary: spamd - daemonized version of spamassassin | |
106 | Summary(pl.UTF-8): spamd - spamassassin w postaci demona | |
107 | Group: Applications/Mail | |
108 | Requires(post,preun): /sbin/chkconfig | |
109 | Requires: perl-Mail-SpamAssassin = %{version}-%{release} | |
110 | Requires: rc-scripts | |
111 | Suggests: spamassassin-update | |
112 | Suggests: perl-IO-Socket-SSL | |
113 | ||
114 | %description spamd | |
115 | The purpose of this program is to provide a daemonized version of the | |
116 | spamassassin executable. The goal is improving throughput performance | |
117 | for automated mail checking. | |
118 | ||
119 | This is intended to be used alongside "spamc", a fast, low-overhead C | |
120 | client program. | |
121 | ||
122 | %description spamd -l pl.UTF-8 | |
123 | Spamd jest "demoniczną" wersją spamassassina. Jego zadaniem jest | |
124 | poprawa wydajności automatycznego sprawdzania poczty. | |
125 | ||
126 | Spamd powinien być używany wespół ze "spamc", który jest szybkim i | |
127 | wydajnym programem klienckim. | |
128 | ||
129 | %package spamc | |
130 | Summary: spamc - client for spamd | |
131 | Summary(pl.UTF-8): spamc - klient dla spamd | |
132 | Group: Applications/Mail | |
133 | ||
134 | %description spamc | |
135 | Spamc is the client half of the spamc/spamd pair. It should be used in | |
136 | place of "spamassassin" in scripts to process mail. It will read the | |
137 | mail from STDIN, and spool it to its connection to spamd, then read | |
138 | the result back and print it to STDOUT. Spamc has extremely low | |
139 | overhead in loading, so it should be much faster to load than the | |
140 | whole spamassassin program. | |
141 | ||
142 | To enable spamassassin, if you are receiving mail locally, simply add | |
143 | this line to your ~/.procmailrc: | |
144 | INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc | |
145 | ||
146 | To filter spam for all users, add that line to /etc/procmailrc | |
147 | (creating if necessary). | |
148 | ||
149 | %description spamc -l pl.UTF-8 | |
150 | Spamc powinien być używany zamiast "spamassassina" w skryptach | |
151 | przetwarzających pocztę. Zczytuje pocztę ze STDIN, kolejkuje ją a | |
152 | następnie przekazuje spamdowi, odczytuje wynik i podaje go na STDOUT. | |
153 | Spamc stara się nie obciążać zbytnio procesora podczas ładowania, | |
154 | dzięki czemu powinien działać szybciej niż sam spamassassin. | |
155 | ||
156 | Aby uruchomić spamassassina dla lokalnie przychodzącej poczty, | |
157 | wystarczy dodać do własnego ~/.procmailrc linię: | |
158 | INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc | |
159 | ||
160 | Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię | |
161 | do pliku /etc/procmailrc (tworząc go w razie potrzeby). | |
162 | ||
163 | %package compile | |
164 | Summary: sa-compile - compile SpamAssassin ruleset into native code | |
165 | Summary(pl.UTF-8): sa-compile - kompilowanie reguł SpamAssasina do kodu natywnego | |
166 | Group: Applications/Mail | |
167 | Requires: gcc | |
168 | Requires: glibc-devel | |
169 | Requires: make | |
170 | Requires: perl(ExtUtils::MakeMaker) | |
171 | Requires: perl-Mail-SpamAssassin = %{version}-%{release} | |
172 | Requires: perl-devel | |
173 | Requires: re2c >= 0.10 | |
174 | ||
175 | %description compile | |
176 | sa-compile uses "re2c" to compile the SpamAssassin ruleset. This is | |
177 | then used by the "Mail::SpamAssassin::Plugin::Rule2XSBody" plugin to | |
178 | speed up SpamAssassin's operation, where possible, and when that | |
179 | plugin is loaded. | |
180 | ||
181 | %description compile -l pl.UTF-8 | |
182 | sa-compile wykorzystuje re2c do kompilacji reguł SpamAssassina. Służy | |
183 | to do przyspieszenia operacji SpamAssassina w miarę możliwości, kiedy | |
184 | ta wtyczka jest wczytana. | |
185 | ||
186 | %package update | |
187 | Summary: sa-update - automate SpamAssassin rule updates | |
188 | Summary(pl.UTF-8): sa-update - automatyczne uaktualnianie regułek SpamAssassina | |
189 | Group: Applications/Mail | |
190 | Requires: gnupg | |
191 | Requires: perl-Archive-Tar | |
192 | Requires: perl-Mail-SpamAssassin = %{version}-%{release} | |
193 | Requires: perl-libwww | |
194 | ||
195 | %description update | |
196 | sa-update automates the process of downloading and installing new | |
197 | rules and configuration, based on channels. The default channel is | |
198 | updates.spamassassin.org, which has updated rules since the previous | |
199 | release. | |
200 | ||
201 | Update archives are verified by default using SHA1 hashes and GPG | |
202 | signatures. | |
203 | ||
204 | %description update -l pl.UTF-8 | |
205 | sa-update automatyzuje proces ściągania i instalowania nowych regułek | |
206 | i konfiguracji w oparciu o kanały. Domyślny kanał to | |
207 | updates.spamassassin.org, który ma uaktualnione regułki od czasu | |
208 | poprzedniego wydania. | |
209 | ||
210 | Archiwa uaktualnień są sprawdzane domyślnie przy użyciu skrótów SHA1 i | |
211 | podpisów GPG. | |
212 | ||
213 | %package -n perl-Mail-SpamAssassin | |
214 | Summary: Mail::SpamAssassin - SpamAssassin e-mail filter libraries | |
215 | Summary(pl.UTF-8): Mail::SpamAssassin - biblioteki filtra poczty SpamAssassin | |
216 | Group: Development/Languages/Perl | |
217 | Requires: perl-Cache-DB_File >= 0.2 | |
218 | Requires: perl-HTML-Parser >= 3 | |
219 | Requires: perl-IO-Socket-INET6 >= 2.51 | |
220 | Requires: perl-Mail-SPF-Query | |
221 | Requires: perl-Sys-Hostname-Long | |
222 | Conflicts: perl-Net-DNS < 0.50 | |
223 | ||
224 | %description -n perl-Mail-SpamAssassin | |
225 | Mail::SpamAssassin is a Mail::Audit plugin to identify spam using text | |
226 | analysis and several internet-based realtime blacklists. Using its | |
227 | rule base, it uses a wide range of heuristic tests on mail headers and | |
228 | body text to identify ``spam'', also known as unsolicited commercial | |
229 | email. Once identified, the mail can then be optionally tagged as spam | |
230 | for later filtering using the user's own mail user-agent application. | |
231 | ||
232 | %description -n perl-Mail-SpamAssassin -l pl.UTF-8 | |
233 | Mail::SpamAssassin jest pluginem dla Mail::Audit, służącym do | |
234 | identyfikacji spamu przy użyciu analizy zawartości i/lub internetowych | |
235 | czarnych list. Do zidentyfikowania jako ,,spam'' stosuje szeroki | |
236 | zakres testów heurystycznych na nagłówkach i treści, posiłkując się | |
237 | stworzoną wcześniej bazą reguł. Po zidentyfikowaniu, poczta może być | |
238 | oznaczona jako spam w celu późniejszego wyfiltrowania, np. przy użyciu | |
239 | aplikacji do czytania poczty. | |
240 | ||
241 | %prep | |
242 | %setup -q -n %{pdir}-%{pnam}-%{version} | |
243 | ||
244 | %build | |
245 | # for spamc/configure | |
246 | export CFLAGS="%{rpmcflags}" | |
247 | %{__perl} Makefile.PL \ | |
248 | INSTALLDIRS=vendor \ | |
249 | PREFIX=%{_prefix} \ | |
250 | SYSCONFDIR=%{_sysconfdir} \ | |
251 | ENABLE_SSL=yes \ | |
252 | CONTACT_ADDRESS="postmaster@localhost" \ | |
253 | PERL_BIN=%{__perl} < /dev/null | |
254 | %{__make} \ | |
255 | CC="%{__cc}" \ | |
256 | OPTIMIZE="%{rpmcflags}" | |
257 | ||
258 | %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl | |
259 | %{__perl} -T sa-compile.pl --siteconfigpath=rules | |
260 | rm -f compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/.packlist | |
261 | ||
262 | %{?with_tests:%{__make} test} | |
263 | ||
264 | %install | |
265 | rm -rf $RPM_BUILD_ROOT | |
266 | install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin} | |
267 | ||
268 | %{__make} install \ | |
269 | DESTDIR=$RPM_BUILD_ROOT | |
270 | ||
271 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd | |
272 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd | |
273 | install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin | |
274 | install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin | |
275 | install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron | |
276 | install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update | |
277 | ||
278 | # sa-update, sa-compile | |
279 | install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}} | |
280 | install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys | |
281 | touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg | |
282 | cp -a compiled/%{sa_version} $RPM_BUILD_ROOT/var/lib/spamassassin/compiled | |
283 | ||
284 | rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*} | |
285 | ||
286 | %clean | |
287 | rm -rf $RPM_BUILD_ROOT | |
288 | ||
289 | %post spamd | |
290 | /sbin/chkconfig --add spamd | |
291 | %service spamd restart | |
292 | ||
293 | %preun spamd | |
294 | if [ "$1" = "0" ]; then | |
295 | %service spamd stop | |
296 | /sbin/chkconfig --del spamd | |
297 | fi | |
298 | ||
299 | %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3 | |
300 | # temp hack, should we care of the dead link? | |
301 | ln -s spamd /etc/rc.d/init.d/spamassassin | |
302 | /sbin/chkconfig --del spamassassin | |
303 | rm -f /etc/rc.d/init.d/spamassassin | |
304 | if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then | |
305 | mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd | |
306 | fi | |
307 | ||
308 | %files | |
309 | %defattr(644,root,root,755) | |
310 | %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE | |
311 | %doc procmailrc.example sql/ ldap/ | |
312 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc | |
313 | %attr(755,root,root) %{_bindir}/sa-learn | |
314 | %attr(755,root,root) %{_bindir}/spamassassin | |
315 | ||
316 | # It's needed for help of spamassassin command. | |
317 | %{perl_vendorlib}/spamassassin-run.pod | |
318 | %{_mandir}/man1/sa-learn* | |
319 | %{_mandir}/man1/spamassassin* | |
320 | ||
321 | %files spamd | |
322 | %defattr(644,root,root,755) | |
323 | %doc spamd/README* | |
324 | %attr(754,root,root) /etc/rc.d/init.d/spamd | |
325 | %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd | |
326 | %attr(755,root,root) %{_bindir}/spamd | |
327 | %{_mandir}/man1/spamd* | |
328 | ||
329 | %files spamc | |
330 | %defattr(644,root,root,755) | |
331 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc | |
332 | %attr(755,root,root) %{_bindir}/spamc | |
333 | %{_mandir}/man1/spamc* | |
334 | ||
335 | %files compile | |
336 | %defattr(644,root,root,755) | |
337 | %attr(755,root,root) %{_bindir}/sa-compile | |
338 | %{_mandir}/man1/sa-compile* | |
339 | %dir /var/lib/spamassassin/compiled | |
340 | %dir /var/lib/spamassassin/compiled/%{sa_version} | |
341 | ||
342 | # maybe include these in main package? | |
343 | %dir /var/lib/spamassassin/compiled/%{sa_version}/auto | |
344 | %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail | |
345 | %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin | |
346 | %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps | |
347 | %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0 | |
348 | %config(noreplace) %verify(not md5 mtime size) %attr(755,root,root) /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.so | |
349 | %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.bs | |
350 | %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail | |
351 | %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin | |
352 | %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin/CompiledRegexps | |
353 | %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin/CompiledRegexps/body_0.pm | |
354 | %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/bases_body_0.pl | |
355 | ||
356 | %files update | |
357 | %defattr(644,root,root,755) | |
358 | %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys | |
359 | %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/* | |
360 | %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update | |
361 | %attr(755,root,root) %{_bindir}/sa-update | |
362 | %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron | |
363 | %{_datadir}/spamassassin/sa-update-pubkey.txt | |
364 | %dir /var/lib/spamassassin/%{sa_version} | |
365 | %{_mandir}/man1/sa-update* | |
366 | ||
367 | %files -n perl-Mail-SpamAssassin | |
368 | %defattr(644,root,root,755) | |
369 | %doc sample-nonspam.txt sample-spam.txt | |
370 | %dir %{_sysconfdir}/mail/spamassassin | |
371 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre | |
372 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf | |
373 | %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys | |
374 | ||
375 | %dir %{_datadir}/spamassassin | |
376 | %config(noreplace) %{_datadir}/spamassassin/* | |
377 | %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt | |
378 | ||
379 | %dir /var/lib/spamassassin | |
380 | ||
381 | %{perl_vendorlib}/Mail/* | |
382 | %{_mandir}/man3/* |