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