2 # - build lib{,ssl}spamc.so (if there is a point)
3 # - sa-check_spamd into nagios-plugin-check_spamd subpackage
6 %bcond_without tests # do not perform "make test"
8 %include /usr/lib/rpm/macros.perl
10 %define pnam SpamAssassin
11 %define sa_version %(printf %d.%03d%03d $(echo %{version} | tr '.' ' '))
12 Summary: A spam filter for email which can be invoked from mail delivery agents
13 Summary(pl.UTF-8): Filtr antyspamowy, przeznaczony dla programów dostarczających pocztę (MDA)
18 Group: Applications/Mail
19 Source0: http://ftp.tpnet.pl/vol/d1/apache/spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2
20 # Source0-md5: 253f8fcbeb6c8bfcab9d139865c1a404
21 Source1: %{name}.sysconfig
22 Source2: %{name}-spamd.init
23 Source3: %{name}-default.rc
24 Source4: %{name}-spamc.rc
26 Source6: sa-update.cron
27 URL: http://spamassassin.apache.org/
28 BuildRequires: openssl-devel >= 1.0.0
29 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.16
30 BuildRequires: perl-Archive-Tar
31 BuildRequires: perl-DBI
32 BuildRequires: perl-DB_File
33 BuildRequires: perl-Digest-SHA1 >= 2.10
34 BuildRequires: perl-HTML-Parser >= 3
35 BuildRequires: perl-IO-Socket-INET6 >= 2.51
36 BuildRequires: perl-IO-Socket-SSL
37 BuildRequires: perl-IO-Zlib
38 BuildRequires: perl-IP-Country
39 BuildRequires: perl-Mail-SPF-Query
40 BuildRequires: perl-Net-DNS >= 0.65-3
41 BuildRequires: perl-Net-Ident
42 BuildRequires: perl-NetAddr-IP >= 4.000
43 #BuildRequires: perl-Razor2
44 BuildRequires: perl-devel >= 1:5.8.0
45 BuildRequires: perl-libwww
47 BuildRequires: rpm-perlprov >= 4.1-13
48 BuildRequires: rpmbuild(macros) >= 1.453
50 # are these really needed?
51 BuildRequires: perl-Compress-Zlib
52 BuildRequires: perl-Encode-Detect
53 BuildRequires: perl-MIME-Base64
54 BuildRequires: perl-MIME-tools
55 BuildRequires: perl-Mail-DKIM
56 BuildRequires: perl-Mail-DomainKeys
57 BuildRequires: perl-Mail-SPF
58 BuildRequires: perl-MailTools
59 BuildRequires: perl-Razor > 2.61
61 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
62 Obsoletes: SpamAssassin
63 Obsoletes: spamassassin-tools
64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 %define _noautoreq 'perl(Razor2::Client::Agent)' 'perl(Razor::Agent)' 'perl(Razor::Client)' 'perl(DBI)' 'perl(Net::Ident)'
69 Apache SpamAssassin provides you with a way to reduce if not
70 completely eliminate Unsolicited Commercial Email (SPAM) from your
71 incoming email. It can be invoked by a MDA such as sendmail or
72 postfix, or can be called from a procmail script, .forward file, etc.
73 It uses a genetic-algorithm evolved scoring system to identify
74 messages which look spammy, then adds headers to the message so they
75 can be filtered by the user's mail reading software. This distribution
76 includes the spamd/spamc components which create a server that
77 considerably speeds processing of mail.
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
83 To filter spam for all users, add that line to /etc/procmailrc
84 (creating if necessary).
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.
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
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).
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}
111 Suggests: perl-Apache-Test
112 Suggests: perl-IO-Socket-SSL
113 Suggests: perl-Net-Ident
116 The purpose of this program is to provide a daemonized version of the
117 spamassassin executable. The goal is improving throughput performance
118 for automated mail checking.
120 This is intended to be used alongside "spamc", a fast, low-overhead C
123 %description spamd -l pl.UTF-8
124 Spamd jest "demoniczną" wersją spamassassina. Jego zadaniem jest
125 poprawa wydajności automatycznego sprawdzania poczty.
127 Spamd powinien być używany wespół ze "spamc", który jest szybkim i
128 wydajnym programem klienckim.
131 Summary: spamc - client for spamd
132 Summary(pl.UTF-8): spamc - klient dla spamd
133 Group: Applications/Mail
134 Suggests: perl-Compress-Zlib
137 Spamc is the client half of the spamc/spamd pair. It should be used in
138 place of "spamassassin" in scripts to process mail. It will read the
139 mail from STDIN, and spool it to its connection to spamd, then read
140 the result back and print it to STDOUT. Spamc has extremely low
141 overhead in loading, so it should be much faster to load than the
142 whole spamassassin program.
144 To enable spamassassin, if you are receiving mail locally, simply add
145 this line to your ~/.procmailrc:
146 INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
148 To filter spam for all users, add that line to /etc/procmailrc
149 (creating if necessary).
151 %description spamc -l pl.UTF-8
152 Spamc powinien być używany zamiast "spamassassina" w skryptach
153 przetwarzających pocztę. Zczytuje pocztę ze STDIN, kolejkuje ją a
154 następnie przekazuje spamdowi, odczytuje wynik i podaje go na STDOUT.
155 Spamc stara się nie obciążać zbytnio procesora podczas ładowania,
156 dzięki czemu powinien działać szybciej niż sam spamassassin.
158 Aby uruchomić spamassassina dla lokalnie przychodzącej poczty,
159 wystarczy dodać do własnego ~/.procmailrc linię:
160 INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
162 Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię
163 do pliku /etc/procmailrc (tworząc go w razie potrzeby).
166 Summary: sa-compile - compile SpamAssassin ruleset into native code
167 Summary(pl.UTF-8): sa-compile - kompilowanie reguł SpamAssasina do kodu natywnego
168 Group: Applications/Mail
170 Requires: glibc-devel
172 Requires: perl(ExtUtils::MakeMaker)
173 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
175 Requires: re2c >= 0.10
178 sa-compile uses "re2c" to compile the SpamAssassin ruleset. This is
179 then used by the "Mail::SpamAssassin::Plugin::Rule2XSBody" plugin to
180 speed up SpamAssassin's operation, where possible, and when that
183 %description compile -l pl.UTF-8
184 sa-compile wykorzystuje re2c do kompilacji reguł SpamAssassina. Służy
185 to do przyspieszenia operacji SpamAssassina w miarę możliwości, kiedy
186 ta wtyczka jest wczytana.
189 Summary: sa-update - automate SpamAssassin rule updates
190 Summary(pl.UTF-8): sa-update - automatyczne uaktualnianie regułek SpamAssassina
191 Group: Applications/Mail
193 Requires: perl-Archive-Tar
194 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
195 Requires: perl-libwww
198 sa-update automates the process of downloading and installing new
199 rules and configuration, based on channels. The default channel is
200 updates.spamassassin.org, which has updated rules since the previous
203 Update archives are verified by default using SHA1 hashes and GPG
206 %description update -l pl.UTF-8
207 sa-update automatyzuje proces ściągania i instalowania nowych regułek
208 i konfiguracji w oparciu o kanały. Domyślny kanał to
209 updates.spamassassin.org, który ma uaktualnione regułki od czasu
210 poprzedniego wydania.
212 Archiwa uaktualnień są sprawdzane domyślnie przy użyciu skrótów SHA1 i
215 %package -n perl-Mail-SpamAssassin
216 Summary: Mail::SpamAssassin - SpamAssassin e-mail filter libraries
217 Summary(pl.UTF-8): Mail::SpamAssassin - biblioteki filtra poczty SpamAssassin
218 Group: Development/Languages/Perl
219 Requires: perl-HTML-Parser >= 3
221 #Requires: perl-Sys-Hostname-Long
223 Suggests: perl-Cache-DB_File >= 0.2
224 Suggests: perl-DBD-mysql
225 Suggests: perl-Encode-Detect
226 Suggests: perl-IO-Socket-INET6 >= 2.51
227 Suggests: perl-IP-Country
228 Suggests: perl-Mail-DKIM
229 #Suggests: perl-Mail-DomainKeys
230 #Suggests: perl-Mail-SPF
231 Suggests: perl-Mail-SPF-Query
232 Suggests: perl-Net-DNS >= 0.34
233 Suggests: spamassassin-compile
234 Suggests: spamassassin-plugin-fuzzyocr
235 Suggests: spamassassin-update
237 %description -n perl-Mail-SpamAssassin
238 Mail::SpamAssassin is a Mail::Audit plugin to identify spam using text
239 analysis and several internet-based realtime blacklists. Using its
240 rule base, it uses a wide range of heuristic tests on mail headers and
241 body text to identify ``spam'', also known as unsolicited commercial
242 email. Once identified, the mail can then be optionally tagged as spam
243 for later filtering using the user's own mail user-agent application.
245 %description -n perl-Mail-SpamAssassin -l pl.UTF-8
246 Mail::SpamAssassin jest pluginem dla Mail::Audit, służącym do
247 identyfikacji spamu przy użyciu analizy zawartości i/lub internetowych
248 czarnych list. Do zidentyfikowania jako ,,spam'' stosuje szeroki
249 zakres testów heurystycznych na nagłówkach i treści, posiłkując się
250 stworzoną wcześniej bazą reguł. Po zidentyfikowaniu, poczta może być
251 oznaczona jako spam w celu późniejszego wyfiltrowania, np. przy użyciu
252 aplikacji do czytania poczty.
255 %setup -q -n %{pdir}-%{pnam}-%{version}
258 # for spamc/configure
259 export CFLAGS="%{rpmcflags}"
260 %{__perl} Makefile.PL \
263 SYSCONFDIR=%{_sysconfdir} \
264 DATADIR=%{_datadir}/spamassassin \
266 CONTACT_ADDRESS="postmaster@localhost" \
267 PERL_BIN=%{__perl} < /dev/null
270 OPTIMIZE="%{rpmcflags}"
272 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
273 %{__perl} -T sa-compile.pl --siteconfigpath=rules
275 %{?with_tests:%{__make} test}
278 rm -rf $RPM_BUILD_ROOT
279 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
282 DESTDIR=$RPM_BUILD_ROOT
284 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
285 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
286 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
287 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
288 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
289 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
291 # sa-update, sa-compile
292 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
293 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
294 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
296 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
298 cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
299 updates.spamassassin.org
300 # http://saupdates.openprotect.com/
301 # saupdates.openprotect.com
305 rm -rf $RPM_BUILD_ROOT
308 /sbin/chkconfig --add spamd
309 %service spamd restart
312 if [ "$1" = "0" ]; then
314 /sbin/chkconfig --del spamd
317 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
318 # temp hack, should we care of the dead link?
319 ln -s spamd /etc/rc.d/init.d/spamassassin
320 /sbin/chkconfig --del spamassassin
321 rm -f /etc/rc.d/init.d/spamassassin
322 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
323 mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
327 %defattr(644,root,root,755)
328 %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
329 %doc procmailrc.example sql/ ldap/
330 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
331 %attr(755,root,root) %{_bindir}/sa-learn
332 %attr(755,root,root) %{_bindir}/sa-awl
333 %attr(755,root,root) %{_bindir}/spamassassin
334 %attr(755,root,root) %{_bindir}/sa-check_spamd
336 # It's needed for help of spamassassin command.
337 %{perl_vendorlib}/spamassassin-run.pod
338 %{_mandir}/man1/sa-learn.1*
339 %{_mandir}/man1/spamassassin.1*
340 %{_mandir}/man1/spamassassin-run.1*
341 %{_mandir}/man1/sa-awl.1*
344 %defattr(644,root,root,755)
346 %attr(754,root,root) /etc/rc.d/init.d/spamd
347 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd
348 %attr(755,root,root) %{_bindir}/spamd
349 %{_mandir}/man1/spamd.1*
352 %defattr(644,root,root,755)
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
354 %attr(755,root,root) %{_bindir}/spamc
355 %{_mandir}/man1/spamc.1*
358 %defattr(644,root,root,755)
359 %attr(755,root,root) %{_bindir}/sa-compile
360 %{_mandir}/man1/sa-compile.1*
361 %dir /var/lib/spamassassin/compiled
362 %dir /var/lib/spamassassin/compiled/%{sa_version}
365 %defattr(644,root,root,755)
366 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/channels
367 %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
368 %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
369 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
370 %attr(755,root,root) %{_bindir}/sa-update
371 %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
372 %{_datadir}/spamassassin/sa-update-pubkey.txt
373 %dir /var/lib/spamassassin/%{sa_version}
374 %{_mandir}/man1/sa-update.1*
376 %files -n perl-Mail-SpamAssassin
377 %defattr(644,root,root,755)
378 %doc sample-nonspam.txt sample-spam.txt
379 %dir %{_sysconfdir}/mail/spamassassin
380 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
381 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
382 %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
384 %dir %{_datadir}/spamassassin
385 %config(noreplace) %{_datadir}/spamassassin/*
386 %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt
388 %dir /var/lib/spamassassin
390 %{perl_vendorlib}/Mail/*