]> git.pld-linux.org Git - packages/sendmail.git/blame_incremental - sendmail.spec
- unify blacklists for pam configs
[packages/sendmail.git] / sendmail.spec
... / ...
CommitLineData
1# TODO:
2# - make sid-milter support:
3# http://sourceforge.net/projects/sid-milter/
4# http://www.sendmail.net/
5# - http://blue-labs.org/clue/bluelabs.patch-8.12.3 has been updated upstream
6# - move compilation from install to build section, fix re-entrancy of install
7# - add tests bcond and/or disable tests tha fail on (AC-)builders
8#
9# Conditional build:
10%bcond_without ldap # without LDAP support
11%bcond_without tls # without TLS (SSL) support
12%bcond_with pgsql # with PostgreSQL support (bluelabs)
13#
14Summary: A widely used Mail Transport Agent (MTA)
15Summary(de.UTF-8): sendmail-Mail-Übertragungsagent
16Summary(es.UTF-8): Sendmail - agente de transporte de mail
17Summary(fr.UTF-8): Agent de transport de courrier sendmail
18Summary(ko.UTF-8): SMTP_AUTH와 TLS를 지원하는 Mail 전송 프로그램(MTA)
19Summary(pl.UTF-8): Sendmail - serwer poczty elektronicznej
20Summary(pt_BR.UTF-8): Sendmail - agente de transporte de mail
21Summary(ru.UTF-8): Почтовый транспортный агент sendmail
22Summary(tr.UTF-8): Elektronik posta hizmetleri sunucusu
23Summary(uk.UTF-8): Поштовий транспортний агент sendmail
24Name: sendmail
25Version: 8.13.8
26Release: 6
27License: BSD
28Group: Networking/Daemons
29Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
30# Source0-md5: 5f29c94b42e0bb74d546b2ae84203a1e
31Source1: %{name}.init
32Source2: %{name}.sysconfig
33Source3: %{name}.aliases
34# From http://doc.phpauction.org/sendmail/examples/
35Source4: %{name}-examples.tar.bz2
36# Source4-md5: d00d817cd456a947a7fc6c04072a7d68
37Source5: %{name}-etc-mail-Makefile
38Source6: %{name}.mc
39Source7: %{name}-config.m4
40Source8: %{name}.sasl
41Source9: %{name}.access
42Source10: %{name}.mailertable
43Source11: %{name}.virtusertable
44Source12: %{name}.domaintable
45Source13: %{name}-smtp.pamd
46Source14: %{name}.monitrc
47Patch0: %{name}-makemapman.patch
48Patch1: %{name}-smrsh-paths.patch
49Patch2: %{name}-rmail.patch
50Patch3: %{name}-os-paths.patch
51Patch4: %{name}-m4path.patch
52Patch5: %{name}-redirect.patch
53Patch6: %{name}-hprescan-dos.patch
54Patch7: http://blue-labs.org/clue/bluelabs.patch-8.12.3
55URL: http://www.sendmail.org/
56BuildRequires: cyrus-sasl-devel
57BuildRequires: db-devel >= 4.1.25
58BuildRequires: man
59%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
60%{?with_tls:BuildRequires: openssl-devel >= 0.9.7d}
61%{?with_pgsql:BuildRequires: postgresql-devel}
62BuildRequires: rpmbuild(macros) >= 1.310
63BuildRequires: sed >= 4.0
64Requires(post): awk
65Requires(post): textutils
66Requires(post,preun): /sbin/chkconfig
67Requires(post,preun): rc-scripts >= 0.4.0.20
68Requires(postun): /usr/sbin/groupdel
69Requires(postun): /usr/sbin/userdel
70Requires(pre): /bin/id
71Requires(pre): /usr/bin/getgid
72Requires(pre): /usr/sbin/groupadd
73Requires(pre): /usr/sbin/useradd
74Requires: db >= 4.1.25
75Requires: m4
76Requires: pam >= 0.79.0
77Requires: procmail
78Provides: group(smmsp)
79Provides: smtpdaemon
80Provides: user(smmsp)
81Obsoletes: courier
82Obsoletes: exim
83Obsoletes: masqmail
84Obsoletes: nullmailer
85Obsoletes: omta
86Obsoletes: postfix
87Obsoletes: qmail
88Obsoletes: sendmail-cf
89Obsoletes: sendmail-doc
90Obsoletes: smail
91Obsoletes: smtpdaemon
92Obsoletes: ssmtp
93Obsoletes: zmailer
94BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
95
96%define _sysconfdir /etc/mail
97%define specflags -fPIC
98
99%description
100The Sendmail program is a very widely used Mail Transport Agent (MTA).
101MTAs send mail from one machine to another. Sendmail is not a client
102program, which you use to read your e-mail. Sendmail is a
103behind-the-scenes program which actually moves your e-mail over
104networks or the Internet to where you want it to go.
105
106%description -l de.UTF-8
107Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
108allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
109Weiterleiten von Nachrichten, automatischem Routing an
110Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
111das Internet senden und empfangen möchten, brauchen Sie sendmail.
112
113%description -l es.UTF-8
114sendmail es un agente de transporte de correo electrónico, que mueve
115mensajes entre máquinas. Implementa facilidades de internetwork y
116rutado, caracterizando cambio de nombres (aliases) y envío a nuevas
117direcciones ( forwarding ), rutado automático para gateways de la red
118y configuración flexible. Necesitarás del sendmail si deseas enviar y
119recibir mensajes a través de la Internet.
120
121%description -l fr.UTF-8
122Sendmail est un agent de transport de courrier, qui est le programme
123transférent le courrier d'une machine à l'autre. Sendmail implémente
124une facilité générale de routage de courrier entre les réseaux, permet
125l'"aliasing" et le "forwarding", un routage automatique sur les
126passerelles du réseau, et une configuration flexible.
127
128%description -l ko.UTF-8
129Sendamil은 매우 널리 사용되는 Mail 전송 프로그램이다(MTA). Mail 전송
130프로그램들(MTA)은 어떠한 machine에서 다른 machine으로 메일을 보내며
131Sendmail은 e-mail을 읽기위해 사용하는 client program은 아니다.
132Sendamil은 원하는 곳으로 Internet이나 Network를 통해 e-mail을 보내는
133역할을 하는 backgrond에서 작업을 하는 프로그램이다.
134
135%description -l pl.UTF-8
136Sendmail jest programem umożliwiającym wymianę poczty elektronicznej
137między komputerami w sieci (MTA). Zajmuje się przekazywaniem poczty
138elektronicznej między bramkami pocztowymi i dostarczaniem przesyłek na
139konta docelowe. Bardzo dobrze obsługuje aliasy pocztowe a jego
140dodatkowym atutem jest prosta konfiguracja. Dzięki rozbudowanym
141możliwościom konfiguracyjnym jest w stanie dostarczać przesyłki za
142pośrednictwem protokołów: SMTP, ESMTP, UUCP, X.400 i innych.
143
144%description -l pt_BR.UTF-8
145O sendmail é um agente de transporte de correio eletrônico, que move
146mensagens entre máquinas. Ele implementa facilidades de internetwork e
147roteamento, caracterizando troca de nomes (aliases) e remessa a novos
148endereços ( forwarding ), roteamento automático para gateways da rede
149e configuração flexível.
150
151%description -l ru.UTF-8
152Sendmail - это Mail Transport Agent, программа пересылающая почту с
153машины на машину. Sendmail предоставляет стандартные средства
154межсетевой маршрутизации почты, aliasing, forwarding, автоматическую
155маршрутизацию для сетевых шлюзов и гибкий механизм конфигурации.
156
157%description -l tr.UTF-8
158Sendmail, bir mektubu bir makineden diğerine taşır. Pek çok davranışı
159ayarlanabilir. Internet üzerinden mektup almak veya göndermek
160istiyorsanız bu pakete gereksiniminiz olacaktır.
161
162%description -l uk.UTF-8
163Sendmail - це Mail Transport Agent, програма що пересилає пошту з
164машини на машину. Sendmail надає стандартні засоби міжмережевої
165маршрутизації пошти, aliasing, forwarding, автоматичну маршрутизацію
166для мережевих шлюзів та гнучкий механізм маршрутизації.
167
168%package -n libmilter-devel
169Summary: Header files and static libmilter library
170Summary(pl.UTF-8): Pliki nagłówkowe i statyczna biblioteka libmilter
171Group: Development/Libraries
172Provides: sendmail-devel
173Obsoletes: sendmail-devel
174
175%description -n libmilter-devel
176Header files and static libmilter library.
177
178%description -n libmilter-devel -l pl.UTF-8
179Pliki nagłówkowe i statyczna biblioteka libmilter.
180
181%prep
182%setup -q
183%patch0 -p1
184%patch1 -p1
185%patch2 -p1
186%patch3 -p1
187%patch4 -p1
188%patch5 -p1
189%patch6 -p1
190%{?with_pgsql:%patch7 -p1}
191
192sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
193
194install %{SOURCE7} config.m4
195
196# Ac-specific hack:
197# It's problem with _simultanous_ building when builders are on the same
198# machine. These are anonymous SHM tests (AFAIR) which must fail when called
199# simultanously...
200#
201# send on builders requests only for some arch - it won't fail.
202#- blues
203%ifarch i386 i586 athlon
204%{__sed} -i -e 's/^\(smtest.*t-shm\)/dnl \1/' libsm/Makefile.m4
205%{__sed} -i -e 's/^\(smtest.*t-sem\)/dnl \1/' libsm/Makefile.m4
206%endif
207
208%build
209echo "define(\`confCC', \`%{__cc}')" >> config.m4
210echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
211echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4
212echo "define(\`confLIBSEARCHPATH', \`/%{_lib} %{_prefix}/%{_lib}')" >> config.m4
213echo "define(\`confLIBSEARCH', \`db resolv')" >> config.m4
214%if 0%{!?debug:1}
215echo "define(\`confLDOPTS', \`-s')" >> config.m4
216%endif
217%if %{with ldap}
218echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
219echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
220%endif
221%if %{with pgsql}
222echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
223echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
224echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
225echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
226%endif
227%if %{with tls}
228echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
229echo "APPENDDEF(\`confENVDEF', \`-D_FFR_DEAL_WITH_ERROR_SSL')" >> config.m4
230echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
231echo "APPENDDEF(\`confENVDEF', \`-D_FFR_SMTP_SSL')" >> config.m4
232%endif
233
234echo "APPENDDEF(\`confENVDEF', \`-DMILTER')" >> config.m4
235
236cd sendmail && sh Build -f ../config.m4
237cd ../mailstats && sh Build -f ../config.m4
238cd ../rmail && sh Build -f ../config.m4
239cd ../makemap && sh Build -f ../config.m4
240cd ../praliases && sh Build -f ../config.m4
241cd ../smrsh && sh Build -f ../config.m4
242cd ../libmilter && sh Build -f ../config.m4
243cd ../cf/cf
244m4 pld.mc > pld.cf
245
246%install
247rm -rf $RPM_BUILD_ROOT
248install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
249 $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,monit,sysconfig,sasl,smrsh} \
250 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_prefix}/lib} \
251 $RPM_BUILD_ROOT{%{_datadir}/sendmail-cf,%{_libdir}} \
252 $RPM_BUILD_ROOT/var/{log,spool/mqueue} \
253 $RPM_BUILD_ROOT{%{_sysconfdir},%{_includedir}}
254
255OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
256
257IDNU=`id -nu`
258IDNG=`id -ng`
259SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
260 UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
261 CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
262 BINOWN=$IDNU BINGRP=$IDNG LIBOWN=$IDNU LIBGRP=$IDNG INCOWN=$IDNU INCGRP=$IDNG"
263
264%{__make} -C $OBJDIR/sendmail install \
265 $SMINSTOPT
266%{__make} -C $OBJDIR/mailstats install \
267 $SMINSTOPT
268%{__make} -C $OBJDIR/praliases install \
269 $SMINSTOPT
270%{__make} -C $OBJDIR/rmail force-install \
271 $SMINSTOPT
272%{__make} -C $OBJDIR/makemap install \
273 $SMINSTOPT
274%{__make} -C $OBJDIR/smrsh install \
275 $SMINSTOPT
276%{__make} -C $OBJDIR/libmilter install \
277 $SMINSTOPT \
278 LIBDIR=%{_libdir}
279
280ln -sf %{_sbindir}/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
281
282# install the cf files
283cd cf
284rm -f cf/{Build,Makefile} feature/*~
285cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
286cd -
287
288# sendmail.{cf,mc}
289install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
290sed -e 's|@@PATH@@|%{_datadir}/sendmail-cf|' < %{SOURCE6} \
291 > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
292
293%if %{with pgsql}
294install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
295%endif
296
297# submit.mc (submit.cf is installed automatically)
298install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
299
300echo "# local-host-names - include all aliases for your machine here." \
301 > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
302#"vim ruuls
303
304ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_prefix}/lib/sendmail
305
306# dangling symlinks
307for f in hoststat mailq newaliases purgestat; do
308 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
309done
310
311for map in virtusertable access domaintable mailertable; do
312 touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
313 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
314 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
315done
316
317install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
318$RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
319 $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
320
321install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
322install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
323install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
324install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
325install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
326install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
327install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
328install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
329install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
330install %{SOURCE14} $RPM_BUILD_ROOT/etc/monit/
331
332touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
333
334mv -f smrsh/README README.smrsh
335mv -f cf/README README.cf
336mv -f doc/op/op.me .
337
338bzip2 -dc %{SOURCE4} | tar xf -
339
340# for perl-Sendmail-Milter
341install $OBJDIR/libsm/libsm.a $OBJDIR/libsmutil/libsmutil.a \
342 $RPM_BUILD_ROOT%{_libdir}
343
344%clean
345rm -rf $RPM_BUILD_ROOT
346
347%pre
348%groupadd -g 25 smmsp
349%useradd -u 25 -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp
350
351%post
352umask 022
353#
354# Convert old format to new
355#
356if [ -f /etc/mail/deny ] ; then
357 cat /etc/mail/deny | \
358 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
359 {print $1" REJECT"}' >> /etc/mail/access
360 mv -f /etc/mail/deny /etc/mail/deny.rpmorig
361fi
362for oldfile in relay_allow ip_allow name_allow ; do
363 if [ -f /etc/mail/$oldfile ] ; then
364 cat /etc/mail/$oldfile | \
365 awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
366 { print $1\" RELAY\" }" >> /etc/mail/access
367 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
368 fi
369done
370
371#
372# Oops, these files moved
373#
374if [ -f /etc/sendmail.cw ] ; then
375 cat /etc/sendmail.cw | \
376 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
377 { print $1 }' >> /etc/mail/local-host-names
378 mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
379fi
380#
381# Rebuild maps (next reboot will rebuild also)
382#
383{ /usr/bin/newaliases
384 for map in virtusertable access domaintable mailertable; do
385 if [ -f /etc/mail/${map} ] ; then
386 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
387 sleep 1
388 fi
389 done
390} > /dev/null 2>&1
391
392/sbin/chkconfig --add sendmail
393%service sendmail restart "sendmail daemon"
394
395%preun
396if [ "$1" = "0" ]; then
397 %service sendmail stop
398 /sbin/chkconfig --del sendmail
399fi
400
401%postun
402if [ "$1" = "0" ]; then
403 %userremove smmsp
404 %groupremove smmsp
405fi
406
407# removal of compatibility links
408%triggerpostun -- sendmail < 8.10.1
409/sbin/chkconfig --add sendmail
410
411%files
412%defattr(644,root,root,755)
413%doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
414%attr(755,root,root) %{_sbindir}/mailstats
415%attr(755,root,root) %{_sbindir}/praliases
416%attr(755,root,root) %{_bindir}/hoststat
417%attr(755,root,root) %{_bindir}/purgestat
418%attr(755,root,root) %{_bindir}/rmail
419%attr(755,root,root) %{_bindir}/makemap
420%attr(755,root,root) %{_sbindir}/makemap
421%attr(2755,root,smmsp) %{_sbindir}/sendmail
422%attr(755,root,root) %{_bindir}/newaliases
423%attr(755,root,root) %{_bindir}/mailq
424%attr(755,root,root) %{_sbindir}/smrsh
425%{_prefix}/lib/sendmail
426
427%{_mandir}/man1/mailq.1*
428%{_mandir}/man1/newaliases.1*
429%{_mandir}/man5/aliases.5*
430%{_mandir}/man8/mailstats.8*
431%{_mandir}/man8/makemap.8*
432%{_mandir}/man8/praliases.8*
433%{_mandir}/man8/rmail.8*
434%{_mandir}/man8/sendmail.8*
435%{_mandir}/man8/smrsh.8*
436
437%dir /etc/smrsh
438%dir %{_sysconfdir}
439/var/log/statistics
440%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.cf
441%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.mc
442%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.cf
443%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.mc
444%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local-host-names
445%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/aliases
446%{?with_pgsql:%{_sysconfdir}/bluelabs.mc}
447%attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
448%attr(770,root,smmsp) %dir /var/spool/clientmqueue
449%attr(750,root,mail) %dir /var/spool/mqueue
450
451%config %{_sysconfdir}/Makefile
452%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/access
453%ghost %{_sysconfdir}/access.db
454%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/domaintable
455%ghost %{_sysconfdir}/domaintable.db
456%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mailertable
457%ghost %{_sysconfdir}/mailertable.db
458%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/virtusertable
459%ghost %{_sysconfdir}/virtusertable.db
460%config(noreplace) %{_sysconfdir}/helpfile
461
462%attr(754,root,root) /etc/rc.d/init.d/sendmail
463%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sendmail
464%config(noreplace) %verify(not md5 mtime size) /etc/sasl/Sendmail.conf
465%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
466%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
467%config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc
468
469%dir %{_datadir}/sendmail-cf
470%dir %{_datadir}/sendmail-cf/cf
471%{_datadir}/sendmail-cf/cf/pld.mc
472%{_datadir}/sendmail-cf/feature
473%{_datadir}/sendmail-cf/m4
474%{_datadir}/sendmail-cf/mailer
475%dir %{_datadir}/sendmail-cf/ostype
476%{_datadir}/sendmail-cf/ostype/linux.m4
477%dir %{_datadir}/sendmail-cf/sh
478%{_datadir}/sendmail-cf/sh/makeinfo.sh
479%{_datadir}/sendmail-cf/siteconfig
480
481%files -n libmilter-devel
482%defattr(644,root,root,755)
483%{_libdir}/libmilter.a
484%{_libdir}/libsm.a
485%{_libdir}/libsmutil.a
486%{_includedir}/libmilter
This page took 0.879192 seconds and 4 git commands to generate.