]> git.pld-linux.org Git - packages/spamassassin.git/blob - spamassassin.spec
- rel 2
[packages/spamassassin.git] / spamassassin.spec
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.3
15 Release:        2
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:  e9a5fd94dead0fca3f26fb3feb0c8e57
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         DATADIR=%{_datadir}/spamassassin \
252         ENABLE_SSL=yes \
253         CONTACT_ADDRESS="postmaster@localhost" \
254         PERL_BIN=%{__perl} < /dev/null
255 %{__make} \
256         CC="%{__cc}" \
257         OPTIMIZE="%{rpmcflags}"
258
259 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
260 %{__perl} -T sa-compile.pl --siteconfigpath=rules
261 rm -f compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/.packlist
262
263 %{?with_tests:%{__make} test}
264
265 %install
266 rm -rf $RPM_BUILD_ROOT
267 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
268
269 %{__make} install \
270         DESTDIR=$RPM_BUILD_ROOT
271
272 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
273 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
274 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
275 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
276 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
277 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
278
279 # sa-update, sa-compile
280 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
281 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
282 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
283 cp -a compiled/%{sa_version} $RPM_BUILD_ROOT/var/lib/spamassassin/compiled
284
285 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
286
287 %clean
288 rm -rf $RPM_BUILD_ROOT
289
290 %post spamd
291 /sbin/chkconfig --add spamd
292 %service spamd restart
293
294 %preun spamd
295 if [ "$1" = "0" ]; then
296         %service spamd stop
297         /sbin/chkconfig --del spamd
298 fi
299
300 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
301 # temp hack, should we care of the dead link?
302 ln -s spamd /etc/rc.d/init.d/spamassassin
303 /sbin/chkconfig --del spamassassin
304 rm -f /etc/rc.d/init.d/spamassassin
305 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
306         mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
307 fi
308
309 %files
310 %defattr(644,root,root,755)
311 %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
312 %doc procmailrc.example sql/ ldap/
313 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
314 %attr(755,root,root) %{_bindir}/sa-learn
315 %attr(755,root,root) %{_bindir}/spamassassin
316
317 # It's needed for help of spamassassin command.
318 %{perl_vendorlib}/spamassassin-run.pod
319 %{_mandir}/man1/sa-learn*
320 %{_mandir}/man1/spamassassin*
321
322 %files spamd
323 %defattr(644,root,root,755)
324 %doc spamd/README*
325 %attr(754,root,root) /etc/rc.d/init.d/spamd
326 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd
327 %attr(755,root,root) %{_bindir}/spamd
328 %{_mandir}/man1/spamd*
329
330 %files spamc
331 %defattr(644,root,root,755)
332 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
333 %attr(755,root,root) %{_bindir}/spamc
334 %{_mandir}/man1/spamc*
335
336 %files compile
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_bindir}/sa-compile
339 %{_mandir}/man1/sa-compile*
340 %dir /var/lib/spamassassin/compiled
341 %dir /var/lib/spamassassin/compiled/%{sa_version}
342
343 # maybe include these in main package?
344 %dir /var/lib/spamassassin/compiled/%{sa_version}/auto
345 %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail
346 %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin
347 %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps
348 %dir /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0
349 %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
350 %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/body_0.bs
351 %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail
352 %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin
353 %dir /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin/CompiledRegexps
354 %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/Mail/SpamAssassin/CompiledRegexps/body_0.pm
355 %config(noreplace) %verify(not md5 mtime size) /var/lib/spamassassin/compiled/%{sa_version}/bases_body_0.pl
356
357 %files update
358 %defattr(644,root,root,755)
359 %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
360 %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
361 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
362 %attr(755,root,root) %{_bindir}/sa-update
363 %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
364 %{_datadir}/spamassassin/sa-update-pubkey.txt
365 %dir /var/lib/spamassassin/%{sa_version}
366 %{_mandir}/man1/sa-update*
367
368 %files -n perl-Mail-SpamAssassin
369 %defattr(644,root,root,755)
370 %doc sample-nonspam.txt sample-spam.txt
371 %dir %{_sysconfdir}/mail/spamassassin
372 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
373 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
374 %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
375
376 %dir %{_datadir}/spamassassin
377 %config(noreplace) %{_datadir}/spamassassin/*
378 %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt
379
380 %dir /var/lib/spamassassin
381
382 %{perl_vendorlib}/Mail/*
383 %{_mandir}/man3/*
This page took 0.080969 seconds and 3 git commands to generate.