]> git.pld-linux.org Git - packages/spamassassin.git/blob - spamassassin.spec
7b096b83de2e80bfb775bb7e4e887e357593c0a3
[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.4.0
16 Release:        1
17 License:        Apache v2.0
18 Group:          Applications/Mail
19 Source0:        http://ftp.ps.pl/pub/apache//spamassassin/source/%{pdir}-%{pnam}-%{version}.tar.bz2
20 # Source0-md5:  46e99adc0affebbe5f3524b4834e0345
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 URL:            http://spamassassin.apache.org/
28 BuildRequires:  openssl-devel >= 0.9.7d
29 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.16
30 BuildRequires:  perl-Archive-Tar
31 BuildRequires:  perl-DBI
32 BuildRequires:  perl-DB_File
33 BuildRequires:  perl-Digest-SHA1 >= 2.10
34 BuildRequires:  perl-HTML-Parser >= 3
35 BuildRequires:  perl-IO-Socket-INET6 >= 2.51
36 BuildRequires:  perl-IO-Socket-SSL
37 BuildRequires:  perl-IO-Zlib
38 BuildRequires:  perl-IP-Country
39 BuildRequires:  perl-Mail-SPF-Query
40 BuildRequires:  perl-Net-DNS >= 0.65-3
41 BuildRequires:  perl-Net-Ident
42 BuildRequires:  perl-NetAddr-IP >= 4.000
43 #BuildRequires: perl-Razor2
44 BuildRequires:  perl-devel >= 1:5.8.0
45 BuildRequires:  perl-libwww
46 BuildRequires:  re2c
47 BuildRequires:  rpm-perlprov >= 4.1-13
48 BuildRequires:  rpmbuild(macros) >= 1.453
49 %if %{with tests}
50 # are these really needed?
51 #BuildRequires: perl-Compress-Zlib
52 BuildRequires:  perl-Encode-Detect
53 BuildRequires:  perl-MIME-Base64
54 BuildRequires:  perl-MIME-tools
55 BuildRequires:  perl-Mail-DKIM
56 BuildRequires:  perl-Mail-DomainKeys
57 BuildRequires:  perl-Mail-SPF
58 BuildRequires:  perl-MailTools
59 BuildRequires:  perl-Razor > 2.61
60 %endif
61 Requires:       perl-Mail-SpamAssassin = %{version}-%{release}
62 Obsoletes:      SpamAssassin
63 Obsoletes:      spamassassin-tools
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
70 completely eliminate Unsolicited Commercial Email (SPAM) from your
71 incoming email. It can be invoked by a MDA such as sendmail or
72 postfix, or can be called from a procmail script, .forward file, etc.
73 It uses a genetic-algorithm evolved scoring system to identify
74 messages which look spammy, then adds headers to the message so they
75 can be filtered by the user's mail reading software. This distribution
76 includes the spamd/spamc components which create a server that
77 considerably speeds 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:       perl-Apache-Test
112 Suggests:       perl-IO-Socket-SSL
113 Suggests:       perl-IO-Socket-IP
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
258 %build
259 # for spamc/configure
260 export CFLAGS="%{rpmcflags}"
261 %{__perl} Makefile.PL \
262         INSTALLDIRS=vendor \
263         PREFIX=%{_prefix} \
264         SYSCONFDIR=%{_sysconfdir} \
265         DATADIR=%{_datadir}/spamassassin \
266         ENABLE_SSL=yes \
267         CONTACT_ADDRESS="postmaster@localhost" \
268         PERL_BIN=%{__perl} < /dev/null
269 %{__make} \
270         CC="%{__cc}" \
271         OPTIMIZE="%{rpmcflags}"
272
273 %{__sed} -e "s,@@LOCAL_STATE_DIR@@,$(pwd)," sa-compile.raw > sa-compile.pl
274 %{__perl} -T sa-compile.pl --siteconfigpath=rules
275
276 %{?with_tests:%{__make} test}
277
278 %install
279 rm -rf $RPM_BUILD_ROOT
280 install -d $RPM_BUILD_ROOT{/etc/{cron.d,sysconfig,rc.d/init.d},%{_sysconfdir}/mail/spamassassin}
281
282 %{__make} install \
283         DESTDIR=$RPM_BUILD_ROOT
284
285 install %{SOURCE1} $RPM_BUILD_ROOT/etc/sysconfig/spamd
286 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/spamd
287 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
288 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin
289 install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/spamassassin/sa-update.cron
290 install %{SOURCE6} $RPM_BUILD_ROOT/etc/cron.d/sa-update
291
292 # sa-update, sa-compile
293 install -d $RPM_BUILD_ROOT/var/lib/spamassassin/{%{sa_version},compiled/%{sa_version}}
294 install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys
295 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/sa-update-keys/{pubring,secring,trustdb}.gpg
296
297 rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Mail/SpamAssassin/.packlist,%{_mandir}/man3/spamassassin-run.*}
298
299 cat > $RPM_BUILD_ROOT%{_sysconfdir}/mail/spamassassin/channels << 'EOF'
300 updates.spamassassin.org
301 # http://saupdates.openprotect.com/
302 # saupdates.openprotect.com
303 EOF
304
305 %clean
306 rm -rf $RPM_BUILD_ROOT
307
308 %post spamd
309 /sbin/chkconfig --add spamd
310 %service spamd restart
311
312 %preun spamd
313 if [ "$1" = "0" ]; then
314         %service spamd stop
315         /sbin/chkconfig --del spamd
316 fi
317
318 %triggerpostun spamd -- spamassassin-spamd < 3.1.0-5.3
319 # temp hack, should we care of the dead link?
320 ln -s spamd /etc/rc.d/init.d/spamassassin
321 /sbin/chkconfig --del spamassassin
322 rm -f /etc/rc.d/init.d/spamassassin
323 if [ -f /etc/sysconfig/spamassassin.rpmsave ]; then
324         mv -f /etc/sysconfig/spamassassin.rpmsave /etc/sysconfig/spamd
325 fi
326
327 %files
328 %defattr(644,root,root,755)
329 %doc CREDITS Changes INSTALL README TRADEMARK UPGRADE USAGE
330 %doc procmailrc.example sql/ ldap/
331 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-default.rc
332 %attr(755,root,root) %{_bindir}/sa-learn
333 %attr(755,root,root) %{_bindir}/sa-awl
334 %attr(755,root,root) %{_bindir}/spamassassin
335 %attr(755,root,root) %{_bindir}/sa-check_spamd
336
337 # It's needed for help of spamassassin command.
338 %{perl_vendorlib}/spamassassin-run.pod
339 %{_mandir}/man1/sa-learn.1*
340 %{_mandir}/man1/spamassassin.1*
341 %{_mandir}/man1/spamassassin-run.1*
342 %{_mandir}/man1/sa-awl.1*
343
344 %files spamd
345 %defattr(644,root,root,755)
346 %doc spamd/README*
347 %attr(754,root,root) /etc/rc.d/init.d/spamd
348 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/spamd
349 %attr(755,root,root) %{_bindir}/spamd
350 %{_mandir}/man1/spamd.1*
351
352 %files spamc
353 %defattr(644,root,root,755)
354 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/spamassassin-spamc.rc
355 %attr(755,root,root) %{_bindir}/spamc
356 %{_mandir}/man1/spamc.1*
357
358 %files compile
359 %defattr(644,root,root,755)
360 %attr(755,root,root) %{_bindir}/sa-compile
361 %{_mandir}/man1/sa-compile.1*
362 %dir /var/lib/spamassassin/compiled
363 %dir /var/lib/spamassassin/compiled/%{sa_version}
364
365 %files update
366 %defattr(644,root,root,755)
367 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/channels
368 %attr(700,root,root) %dir %{_sysconfdir}/mail/spamassassin/sa-update-keys
369 %attr(700,root,root) %ghost %{_sysconfdir}/mail/spamassassin/sa-update-keys/*
370 %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/sa-update
371 %attr(755,root,root) %{_bindir}/sa-update
372 %attr(755,root,root) %{_datadir}/spamassassin/sa-update.cron
373 %{_datadir}/spamassassin/sa-update-pubkey.txt
374 %dir /var/lib/spamassassin/%{sa_version}
375 %{_mandir}/man1/sa-update.1*
376
377 %files -n perl-Mail-SpamAssassin
378 %defattr(644,root,root,755)
379 %doc sample-nonspam.txt sample-spam.txt
380 %dir %{_sysconfdir}/mail/spamassassin
381 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.pre
382 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/spamassassin/*.cf
383 %exclude %{_sysconfdir}/mail/spamassassin/sa-update-keys
384 %dir %{_datadir}/spamassassin
385 %config(noreplace) %{_datadir}/spamassassin/languages
386 %config(noreplace) %{_datadir}/spamassassin/user_prefs.template
387 %exclude %{_datadir}/spamassassin/sa-update-pubkey.txt
388
389 %dir /var/lib/spamassassin
390
391 %{perl_vendorlib}/Mail/*
392 %{_mandir}/man3/*.3*
This page took 0.074774 seconds and 2 git commands to generate.