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.ps.pl/pub/apache//spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2
20 # Source0-md5: 46e99adc0affebbe5f3524b4834e0345
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 >= 0.9.7d
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-IO-Socket-IP
114 Suggests: perl-Net-Ident
117 The purpose of this program is to provide a daemonized version of the
118 spamassassin executable. The goal is improving throughput performance
119 for automated mail checking.
121 This is intended to be used alongside "spamc", a fast, low-overhead C
124 %description spamd -l pl.UTF-8
125 Spamd jest "demoniczną" wersją spamassassina. Jego zadaniem jest
126 poprawa wydajności automatycznego sprawdzania poczty.
128 Spamd powinien być używany wespół ze "spamc", który jest szybkim i
129 wydajnym programem klienckim.
132 Summary: spamc - client for spamd
133 Summary(pl.UTF-8): spamc - klient dla spamd
134 Group: Applications/Mail
135 Suggests: perl-Compress-Zlib
138 Spamc is the client half of the spamc/spamd pair. It should be used in
139 place of "spamassassin" in scripts to process mail. It will read the
140 mail from STDIN, and spool it to its connection to spamd, then read
141 the result back and print it to STDOUT. Spamc has extremely low
142 overhead in loading, so it should be much faster to load than the
143 whole spamassassin program.
145 To enable spamassassin, if you are receiving mail locally, simply add
146 this line to your ~/.procmailrc:
147 INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
149 To filter spam for all users, add that line to /etc/procmailrc
150 (creating if necessary).
152 %description spamc -l pl.UTF-8
153 Spamc powinien być używany zamiast "spamassassina" w skryptach
154 przetwarzających pocztę. Zczytuje pocztę ze STDIN, kolejkuje ją a
155 następnie przekazuje spamdowi, odczytuje wynik i podaje go na STDOUT.
156 Spamc stara się nie obciążać zbytnio procesora podczas ładowania,
157 dzięki czemu powinien działać szybciej niż sam spamassassin.
159 Aby uruchomić spamassassina dla lokalnie przychodzącej poczty,
160 wystarczy dodać do własnego ~/.procmailrc linię:
161 INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc
163 Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię
164 do pliku /etc/procmailrc (tworząc go w razie potrzeby).
167 Summary: sa-compile - compile SpamAssassin ruleset into native code
168 Summary(pl.UTF-8): sa-compile - kompilowanie reguł SpamAssasina do kodu natywnego
169 Group: Applications/Mail
171 Requires: glibc-devel
173 Requires: perl(ExtUtils::MakeMaker)
174 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
176 Requires: re2c >= 0.10
179 sa-compile uses "re2c" to compile the SpamAssassin ruleset. This is
180 then used by the "Mail::SpamAssassin::Plugin::Rule2XSBody" plugin to
181 speed up SpamAssassin's operation, where possible, and when that
184 %description compile -l pl.UTF-8
185 sa-compile wykorzystuje re2c do kompilacji reguł SpamAssassina. Służy
186 to do przyspieszenia operacji SpamAssassina w miarę możliwości, kiedy
187 ta wtyczka jest wczytana.
190 Summary: sa-update - automate SpamAssassin rule updates
191 Summary(pl.UTF-8): sa-update - automatyczne uaktualnianie regułek SpamAssassina
192 Group: Applications/Mail
194 Requires: perl-Archive-Tar
195 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
196 Requires: perl-libwww
199 sa-update automates the process of downloading and installing new
200 rules and configuration, based on channels. The default channel is
201 updates.spamassassin.org, which has updated rules since the previous
204 Update archives are verified by default using SHA1 hashes and GPG
207 %description update -l pl.UTF-8
208 sa-update automatyzuje proces ściągania i instalowania nowych regułek
209 i konfiguracji w oparciu o kanały. Domyślny kanał to
210 updates.spamassassin.org, który ma uaktualnione regułki od czasu
211 poprzedniego wydania.
213 Archiwa uaktualnień są sprawdzane domyślnie przy użyciu skrótów SHA1 i
216 %package -n perl-Mail-SpamAssassin
217 Summary: Mail::SpamAssassin - SpamAssassin e-mail filter libraries
218 Summary(pl.UTF-8): Mail::SpamAssassin - biblioteki filtra poczty SpamAssassin
219 Group: Development/Languages/Perl
220 Requires: perl-HTML-Parser >= 3
222 #Requires: perl-Sys-Hostname-Long
224 Suggests: perl-Cache-DB_File >= 0.2
225 Suggests: perl-DBD-mysql
226 Suggests: perl-Encode-Detect
227 Suggests: perl-IO-Socket-INET6 >= 2.51
228 Suggests: perl-IP-Country
229 Suggests: perl-Mail-DKIM
230 #Suggests: perl-Mail-DomainKeys
231 #Suggests: perl-Mail-SPF
232 Suggests: perl-Mail-SPF-Query
233 Suggests: perl-Net-DNS >= 0.34
234 Suggests: spamassassin-compile
235 Suggests: spamassassin-plugin-fuzzyocr
236 Suggests: spamassassin-update
238 %description -n perl-Mail-SpamAssassin
239 Mail::SpamAssassin is a Mail::Audit plugin to identify spam using text
240 analysis and several internet-based realtime blacklists. Using its
241 rule base, it uses a wide range of heuristic tests on mail headers and
242 body text to identify ``spam'', also known as unsolicited commercial
243 email. Once identified, the mail can then be optionally tagged as spam
244 for later filtering using the user's own mail user-agent application.
246 %description -n perl-Mail-SpamAssassin -l pl.UTF-8
247 Mail::SpamAssassin jest pluginem dla Mail::Audit, służącym do
248 identyfikacji spamu przy użyciu analizy zawartości i/lub internetowych
249 czarnych list. Do zidentyfikowania jako ,,spam'' stosuje szeroki
250 zakres testów heurystycznych na nagłówkach i treści, posiłkując się
251 stworzoną wcześniej bazą reguł. Po zidentyfikowaniu, poczta może być
252 oznaczona jako spam w celu późniejszego wyfiltrowania, np. przy użyciu
253 aplikacji do czytania poczty.
256 %setup -q -n %{pdir}-%{pnam}-%{version}
259 # for spamc/configure
260 export CFLAGS="%{rpmcflags}"
261 %{__perl} Makefile.PL \
264 SYSCONFDIR=%{_sysconfdir} \
265 DATADIR=%{_datadir}/spamassassin \
267 CONTACT_ADDRESS="postmaster@localhost" \
268 PERL_BIN=%{__perl} < /dev/null
271 OPTIMIZE="%{rpmcflags}"
273 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
274 %{__perl} -T sa-compile.pl --siteconfigpath=rules
276 %{?with_tests:%{__make} test}
279 rm -rf $RPM_BUILD_ROOT
280 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
283 DESTDIR=$RPM_BUILD_ROOT
285 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
286 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
287 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
288 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
289 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
290 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
292 # sa-update, sa-compile
293 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
294 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
295 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
297 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
299 cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
300 updates.spamassassin.org
301 # http://saupdates.openprotect.com/
302 # saupdates.openprotect.com
306 rm -rf $RPM_BUILD_ROOT
309 /sbin/chkconfig --add spamd
310 %service spamd restart
313 if [ "$1" = "0" ]; then
315 /sbin/chkconfig --del spamd
318 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
319 # temp hack, should we care of the dead link?
320 ln -s spamd /etc/rc.d/init.d/spamassassin
321 /sbin/chkconfig --del spamassassin
322 rm -f /etc/rc.d/init.d/spamassassin
323 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
324 mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
328 %defattr(644,root,root,755)
329 %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
330 %doc procmailrc.example sql/ ldap/
331 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
332 %attr(755,root,root) %{_bindir}/sa-learn
333 %attr(755,root,root) %{_bindir}/sa-awl
334 %attr(755,root,root) %{_bindir}/spamassassin
335 %attr(755,root,root) %{_bindir}/sa-check_spamd
337 # It's needed for help of spamassassin command.
338 %{perl_vendorlib}/spamassassin-run.pod
339 %{_mandir}/man1/sa-learn.1*
340 %{_mandir}/man1/spamassassin.1*
341 %{_mandir}/man1/spamassassin-run.1*
342 %{_mandir}/man1/sa-awl.1*
345 %defattr(644,root,root,755)
347 %attr(754,root,root) /etc/rc.d/init.d/spamd
348 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd
349 %attr(755,root,root) %{_bindir}/spamd
350 %{_mandir}/man1/spamd.1*
353 %defattr(644,root,root,755)
354 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
355 %attr(755,root,root) %{_bindir}/spamc
356 %{_mandir}/man1/spamc.1*
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/sa-compile
361 %{_mandir}/man1/sa-compile.1*
362 %dir /var/lib/spamassassin/compiled
363 %dir /var/lib/spamassassin/compiled/%{sa_version}
366 %defattr(644,root,root,755)
367 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/channels
368 %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
369 %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
370 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
371 %attr(755,root,root) %{_bindir}/sa-update
372 %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
373 %{_datadir}/spamassassin/sa-update-pubkey.txt
374 %dir /var/lib/spamassassin/%{sa_version}
375 %{_mandir}/man1/sa-update.1*
377 %files -n perl-Mail-SpamAssassin
378 %defattr(644,root,root,755)
379 %doc sample-nonspam.txt sample-spam.txt
380 %dir %{_sysconfdir}/mail/spamassassin
381 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
382 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
383 %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
384 %dir %{_datadir}/spamassassin
385 %config(noreplace) %{_datadir}/spamassassin/languages
386 %config(noreplace) %{_datadir}/spamassassin/user_prefs.template
387 %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt
389 %dir /var/lib/spamassassin
391 %{perl_vendorlib}/Mail/*