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 Patch0: %{name}-perl_5.18.patch
28 URL: http://spamassassin.apache.org/
29 BuildRequires: openssl-devel >= 0.9.7d
30 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.16
31 BuildRequires: perl-Archive-Tar
32 BuildRequires: perl-DBI
33 BuildRequires: perl-DB_File
34 BuildRequires: perl-Digest-SHA1 >= 2.10
35 BuildRequires: perl-HTML-Parser >= 3
36 BuildRequires: perl-IO-Socket-INET6 >= 2.51
37 BuildRequires: perl-IO-Socket-SSL
38 BuildRequires: perl-IO-Zlib
39 BuildRequires: perl-IP-Country
40 BuildRequires: perl-Mail-SPF-Query
41 BuildRequires: perl-Net-DNS >= 0.65-3
42 BuildRequires: perl-Net-Ident
43 BuildRequires: perl-NetAddr-IP >= 4.000
44 #BuildRequires: perl-Razor2
45 BuildRequires: perl-devel >= 1:5.8.0
46 BuildRequires: perl-libwww
48 BuildRequires: rpm-perlprov >= 4.1-13
49 BuildRequires: rpmbuild(macros) >= 1.453
51 # are these really needed?
52 #BuildRequires: perl-Compress-Zlib
53 BuildRequires: perl-Encode-Detect
54 BuildRequires: perl-MIME-Base64
55 BuildRequires: perl-MIME-tools
56 BuildRequires: perl-Mail-DKIM
57 BuildRequires: perl-Mail-DomainKeys
58 BuildRequires: perl-Mail-SPF
59 BuildRequires: perl-MailTools
60 BuildRequires: perl-Razor > 2.61
62 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
63 Obsoletes: SpamAssassin
64 Obsoletes: spamassassin-tools
65 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67 %define _noautoreq 'perl(Razor2::Client::Agent)' 'perl(Razor::Agent)' 'perl(Razor::Client)' 'perl(DBI)' 'perl(Net::Ident)'
70 Apache SpamAssassin provides you with a way to reduce if not
71 completely eliminate Unsolicited Commercial Email (SPAM) from your
72 incoming email. It can be invoked by a MDA such as sendmail or
73 postfix, or can be called from a procmail script, .forward file, etc.
74 It uses a genetic-algorithm evolved scoring system to identify
75 messages which look spammy, then adds headers to the message so they
76 can be filtered by the user's mail reading software. This distribution
77 includes the spamd/spamc components which create a server that
78 considerably speeds processing of mail.
80 To enable spamassassin, if you are receiving mail locally, simply add
81 this line to your ~/.procmailrc:
82 INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
84 To filter spam for all users, add that line to /etc/procmailrc
85 (creating if necessary).
87 %description -l pl.UTF-8
88 Apache SpamAssassin daje możliwość zredukowania, jeśli nie kompletnego
89 wyeliminowania niezamawianej komercyjnej poczty (Unsolicited
90 Commercial Email, spamu) z poczty. Może być wywoływany z MDA, np.
91 Sendmaila czy Postfiksa, lub z pliku ~/.forward itp. Używa ogólnego
92 algorytmu oceniania w celu identyfikacji wiadomości, które wyglądają
93 na SPAM, po czym dodaje nagłówki do wiadomości, umożliwiając
94 filtrowanie przez oprogramowanie użytkownika. Ta dystrybucja zawiera
95 programy spamd/spamc, umożliwiające uruchomienie serwera, co znacznie
96 przyspieszy proces przetwarzania poczty.
98 Aby uruchomić spamassassina dla lokalnie przychodzącej poczty,
99 wystarczy dodać do własnego ~/.procmailrc linię:
100 INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
102 Aby filtrować spam dla wszystkich użytkowników, należy dodać tę linię
103 do pliku /etc/procmailrc (tworząc go w razie potrzeby).
106 Summary: spamd - daemonized version of spamassassin
107 Summary(pl.UTF-8): spamd - spamassassin w postaci demona
108 Group: Applications/Mail
109 Requires(post,preun): /sbin/chkconfig
110 Requires: perl-Mail-SpamAssassin = %{version}-%{release}
112 Suggests: perl-Apache-Test
113 Suggests: perl-IO-Socket-SSL
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}
260 # for spamc/configure
261 export CFLAGS="%{rpmcflags}"
262 %{__perl} Makefile.PL \
265 SYSCONFDIR=%{_sysconfdir} \
266 DATADIR=%{_datadir}/spamassassin \
268 CONTACT_ADDRESS="postmaster@localhost" \
269 PERL_BIN=%{__perl} < /dev/null
272 OPTIMIZE="%{rpmcflags}"
274 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
275 %{__perl} -T sa-compile.pl --siteconfigpath=rules
277 %{?with_tests:%{__make} test}
280 rm -rf $RPM_BUILD_ROOT
281 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
284 DESTDIR=$RPM_BUILD_ROOT
286 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
287 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
288 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
289 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
290 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
291 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
293 # sa-update, sa-compile
294 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
295 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
296 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
298 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
300 cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
301 updates.spamassassin.org
302 # http://saupdates.openprotect.com/
303 # saupdates.openprotect.com
307 rm -rf $RPM_BUILD_ROOT
310 /sbin/chkconfig --add spamd
311 %service spamd restart
314 if [ "$1" = "0" ]; then
316 /sbin/chkconfig --del spamd
319 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
320 # temp hack, should we care of the dead link?
321 ln -s spamd /etc/rc.d/init.d/spamassassin
322 /sbin/chkconfig --del spamassassin
323 rm -f /etc/rc.d/init.d/spamassassin
324 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
325 mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
329 %defattr(644,root,root,755)
330 %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
331 %doc procmailrc.example sql/ ldap/
332 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
333 %attr(755,root,root) %{_bindir}/sa-learn
334 %attr(755,root,root) %{_bindir}/sa-awl
335 %attr(755,root,root) %{_bindir}/spamassassin
336 %attr(755,root,root) %{_bindir}/sa-check_spamd
338 # It's needed for help of spamassassin command.
339 %{perl_vendorlib}/spamassassin-run.pod
340 %{_mandir}/man1/sa-learn.1*
341 %{_mandir}/man1/spamassassin.1*
342 %{_mandir}/man1/spamassassin-run.1*
343 %{_mandir}/man1/sa-awl.1*
346 %defattr(644,root,root,755)
348 %attr(754,root,root) /etc/rc.d/init.d/spamd
349 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd
350 %attr(755,root,root) %{_bindir}/spamd
351 %{_mandir}/man1/spamd.1*
354 %defattr(644,root,root,755)
355 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
356 %attr(755,root,root) %{_bindir}/spamc
357 %{_mandir}/man1/spamc.1*
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_bindir}/sa-compile
362 %{_mandir}/man1/sa-compile.1*
363 %dir /var/lib/spamassassin/compiled
364 %dir /var/lib/spamassassin/compiled/%{sa_version}
367 %defattr(644,root,root,755)
368 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/channels
369 %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
370 %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
371 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
372 %attr(755,root,root) %{_bindir}/sa-update
373 %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
374 %{_datadir}/spamassassin/sa-update-pubkey.txt
375 %dir /var/lib/spamassassin/%{sa_version}
376 %{_mandir}/man1/sa-update.1*
378 %files -n perl-Mail-SpamAssassin
379 %defattr(644,root,root,755)
380 %doc sample-nonspam.txt sample-spam.txt
381 %dir %{_sysconfdir}/mail/spamassassin
382 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
383 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
384 %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
385 %dir %{_datadir}/spamassassin
386 %config(noreplace) %{_datadir}/spamassassin/languages
387 %config(noreplace) %{_datadir}/spamassassin/user_prefs.template
388 %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt
390 %dir /var/lib/spamassassin
392 %{perl_vendorlib}/Mail/*