]> git.pld-linux.org Git - packages/spamassassin.git/blob - spamassassin.spec
28127cda17b4f120428cf08c60534cfaf7f652f3
[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.4
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:  2081c24c8b9064f9dd220e4f41e1d299
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
223 %description -n perl-Mail-SpamAssassin
224 Mail::SpamAssassin is a Mail::Audit plugin to identify spam using text
225 analysis and several internet-based realtime blacklists. Using its
226 rule base, it uses a wide range of heuristic tests on mail headers and
227 body text to identify ``spam'', also known as unsolicited commercial
228 email. Once identified, the mail can then be optionally tagged as spam
229 for later filtering using the user's own mail user-agent application.
230
231 %description -n perl-Mail-SpamAssassin -l pl.UTF-8
232 Mail::SpamAssassin jest pluginem dla Mail::Audit, służącym do
233 identyfikacji spamu przy użyciu analizy zawartości i/lub internetowych
234 czarnych list. Do zidentyfikowania jako ,,spam'' stosuje szeroki
235 zakres testów heurystycznych na nagłówkach i treści, posiłkując się
236 stworzoną wcześniej bazą reguł. Po zidentyfikowaniu, poczta może być
237 oznaczona jako spam w celu późniejszego wyfiltrowania, np. przy użyciu
238 aplikacji do czytania poczty.
239
240 %prep
241 %setup -q -n %{pdir}-%{pnam}-%{version}
242
243 %build
244 # for spamc/configure
245 export CFLAGS="%{rpmcflags}"
246 %{__perl} Makefile.PL \
247         INSTALLDIRS=vendor \
248         PREFIX=%{_prefix} \
249         SYSCONFDIR=%{_sysconfdir} \
250         DATADIR=%{_datadir}/spamassassin \
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
260 rm -f compiled/%{sa_version}/auto/Mail/SpamAssassin/CompiledRegexps/body_0/.packlist
261
262 %{?with_tests:%{__make} test}
263
264 %install
265 rm -rf $RPM_BUILD_ROOT
266 install -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
271 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
272 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
273 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
274 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
275 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
276 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
277
278 # sa-update, sa-compile
279 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
280 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
281 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
282 cp -a compiled/%{sa_version} $RPM_BUILD_ROOT/var/lib/spamassassin/compiled
283
284 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
285
286 %clean
287 rm -rf $RPM_BUILD_ROOT
288
289 %post spamd
290 /sbin/chkconfig --add spamd
291 %service spamd restart
292
293 %preun spamd
294 if [ "$1" = "0" ]; then
295         %service spamd stop
296         /sbin/chkconfig --del spamd
297 fi
298
299 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
300 # temp hack, should we care of the dead link?
301 ln -s spamd /etc/rc.d/init.d/spamassassin
302 /sbin/chkconfig --del spamassassin
303 rm -f /etc/rc.d/init.d/spamassassin
304 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
305         mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
306 fi
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.071539 seconds and 2 git commands to generate.