]> git.pld-linux.org Git - packages/spamassassin.git/blob - spamassassin.spec
- perl 5.18 patch added
[packages/spamassassin.git] / spamassassin.spec
1 # TODO
2 # - build lib{,ssl}spamc.so (if there is a point)
3 # - sa-check_spamd into nagios-plugin-check_spamd subpackage
4 #
5 # Conditional build:
6 %bcond_without  tests           # do not perform "make test"
7 #
8 %include        /usr/lib/rpm/macros.perl
9 %define         pdir    Mail
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)
14 Name:           spamassassin
15 Version:        3.3.2
16 Release:        4
17 License:        Apache v2.0
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
25 Source5:        sa-update.sh
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
47 BuildRequires:  re2c
48 BuildRequires:  rpm-perlprov >= 4.1-13
49 BuildRequires:  rpmbuild(macros) >= 1.453
50 %if %{with tests}
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
61 %endif
62 Requires:       perl-Mail-SpamAssassin = %{version}-%{release}
63 Obsoletes:      SpamAssassin
64 Obsoletes:      spamassassin-tools
65 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66
67 %define         _noautoreq      'perl(Razor2::Client::Agent)' 'perl(Razor::Agent)' 'perl(Razor::Client)' 'perl(DBI)' 'perl(Net::Ident)'
68
69 %description
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.
79
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
83
84 To filter spam for all users, add that line to /etc/procmailrc
85 (creating if necessary).
86
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.
97
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
101
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).
104
105 %package spamd
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}
111 Requires:       rc-scripts
112 Suggests:       perl-Apache-Test
113 Suggests:       perl-IO-Socket-SSL
114 Suggests:       perl-Net-Ident
115
116 %description spamd
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.
120
121 This is intended to be used alongside "spamc", a fast, low-overhead C
122 client program.
123
124 %description spamd -l pl.UTF-8
125 Spamd jest "demoniczną" wersją spamassassina. Jego zadaniem jest
126 poprawa wydajności automatycznego sprawdzania poczty.
127
128 Spamd powinien być używany wespół ze "spamc", który jest szybkim i
129 wydajnym programem klienckim.
130
131 %package spamc
132 Summary:        spamc - client for spamd
133 Summary(pl.UTF-8):      spamc - klient dla spamd
134 Group:          Applications/Mail
135 Suggests:       perl-Compress-Zlib
136
137 %description spamc
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.
144
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
148
149 To filter spam for all users, add that line to /etc/procmailrc
150 (creating if necessary).
151
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.
158
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
162
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).
165
166 %package compile
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
170 Requires:       gcc
171 Requires:       glibc-devel
172 Requires:       make
173 Requires:       perl(ExtUtils::MakeMaker)
174 Requires:       perl-Mail-SpamAssassin = %{version}-%{release}
175 Requires:       perl-devel
176 Requires:       re2c >= 0.10
177
178 %description compile
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
182 plugin is loaded.
183
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.
188
189 %package update
190 Summary:        sa-update - automate SpamAssassin rule updates
191 Summary(pl.UTF-8):      sa-update - automatyczne uaktualnianie regułek SpamAssassina
192 Group:          Applications/Mail
193 Requires:       gnupg
194 Requires:       perl-Archive-Tar
195 Requires:       perl-Mail-SpamAssassin = %{version}-%{release}
196 Requires:       perl-libwww
197
198 %description update
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
202 release.
203
204 Update archives are verified by default using SHA1 hashes and GPG
205 signatures.
206
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.
212
213 Archiwa uaktualnień są sprawdzane domyślnie przy użyciu skrótów SHA1 i
214 podpisów GPG.
215
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
221 # what for this one?
222 #Requires:      perl-Sys-Hostname-Long
223 Suggests:       Razor
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
237
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.
245
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.
254
255 %prep
256 %setup -q -n %{pdir}-%{pnam}-%{version}
257 %patch0 -p1
258
259 %build
260 # for spamc/configure
261 export CFLAGS="%{rpmcflags}"
262 %{__perl} Makefile.PL \
263         INSTALLDIRS=vendor \
264         PREFIX=%{_prefix} \
265         SYSCONFDIR=%{_sysconfdir} \
266         DATADIR=%{_datadir}/spamassassin \
267         ENABLE_SSL=yes \
268         CONTACT_ADDRESS="postmaster@localhost" \
269         PERL_BIN=%{__perl} < /dev/null
270 %{__make} \
271         CC="%{__cc}" \
272         OPTIMIZE="%{rpmcflags}"
273
274 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
275 %{__perl} -T sa-compile.pl --siteconfigpath=rules
276
277 %{?with_tests:%{__make} test}
278
279 %install
280 rm -rf $RPM_BUILD_ROOT
281 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
282
283 %{__make} install \
284         DESTDIR=$RPM_BUILD_ROOT
285
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
292
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
297
298 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
299
300 cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
301 updates.spamassassin.org
302 # http://saupdates.openprotect.com/
303 # saupdates.openprotect.com
304 EOF
305
306 %clean
307 rm -rf $RPM_BUILD_ROOT
308
309 %post spamd
310 /sbin/chkconfig --add spamd
311 %service spamd restart
312
313 %preun spamd
314 if [ "$1" = "0" ]; then
315         %service spamd stop
316         /sbin/chkconfig --del spamd
317 fi
318
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
326 fi
327
328 %files
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
337
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*
344
345 %files spamd
346 %defattr(644,root,root,755)
347 %doc spamd/README*
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*
352
353 %files spamc
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*
358
359 %files compile
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}
365
366 %files update
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*
377
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
389
390 %dir /var/lib/spamassassin
391
392 %{perl_vendorlib}/Mail/*
393 %{_mandir}/man3/*.3*
This page took 0.059575 seconds and 4 git commands to generate.