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
10 %bcond_without ldap # without LDAP support
11 %bcond_without tls # without TLS (SSL) support
12 %bcond_with pgsql # with PostgreSQL support (bluelabs)
14 Summary: A widely used Mail Transport Agent (MTA)
15 Summary(de): sendmail-Mail-Übertragungsagent
16 Summary(es): Sendmail - agente de transporte de mail
17 Summary(fr): Agent de transport de courrier sendmail
18 Summary(ko): SMTP_AUTH¿Í TLS¸¦ Áö¿øÇÏ´Â Mail Àü¼Û ÇÁ·Î±×·¥(MTA)
19 Summary(pl): Sendmail - serwer poczty elektronicznej
20 Summary(pt_BR): Sendmail - agente de transporte de mail
21 Summary(ru): ðÏÞÔÏ×ÙÊ ÔÒÁÎÓÐÏÒÔÎÙÊ ÁÇÅÎÔ sendmail
22 Summary(tr): Elektronik posta hizmetleri sunucusu
23 Summary(uk): ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail
28 Group: Networking/Daemons
29 Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
30 # Source0-md5: 5f29c94b42e0bb74d546b2ae84203a1e
32 Source2: %{name}.sysconfig
33 Source3: %{name}.aliases
34 # From http://doc.phpauction.org/sendmail/examples/
35 Source4: %{name}-examples.tar.bz2
36 # Source4-md5: d00d817cd456a947a7fc6c04072a7d68
37 Source5: %{name}-etc-mail-Makefile
39 Source7: %{name}-config.m4
41 Source9: %{name}.access
42 Source10: %{name}.mailertable
43 Source11: %{name}.virtusertable
44 Source12: %{name}.domaintable
45 Source13: %{name}-smtp.pamd
46 Source14: %{name}.monitrc
47 Patch0: %{name}-makemapman.patch
48 Patch1: %{name}-smrsh-paths.patch
49 Patch2: %{name}-rmail.patch
50 Patch3: %{name}-os-paths.patch
51 Patch4: %{name}-m4path.patch
52 Patch5: %{name}-redirect.patch
53 Patch6: %{name}-hprescan-dos.patch
54 Patch7: http://blue-labs.org/clue/bluelabs.patch-8.12.3
55 URL: http://www.sendmail.org/
56 BuildRequires: cyrus-sasl-devel
57 BuildRequires: db-devel >= 4.1.25
59 %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
60 %{?with_tls:BuildRequires: openssl-devel >= 0.9.7d}
61 %{?with_pgsql:BuildRequires: postgresql-devel}
62 BuildRequires: rpmbuild(macros) >= 1.310
63 BuildRequires: sed >= 4.0
65 Requires(post): textutils
66 Requires(post,preun): /sbin/chkconfig
67 Requires(post,preun): rc-scripts >= 0.4.0.20
68 Requires(postun): /usr/sbin/groupdel
69 Requires(postun): /usr/sbin/userdel
70 Requires(pre): /bin/id
71 Requires(pre): /usr/bin/getgid
72 Requires(pre): /usr/sbin/groupadd
73 Requires(pre): /usr/sbin/useradd
74 Requires: db >= 4.1.25
76 Requires: pam >= 0.79.0
78 Provides: group(smmsp)
88 Obsoletes: sendmail-cf
89 Obsoletes: sendmail-doc
94 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96 %define _sysconfdir /etc/mail
97 %define specflags -fPIC
100 The Sendmail program is a very widely used Mail Transport Agent (MTA).
101 MTAs send mail from one machine to another. Sendmail is not a client
102 program, which you use to read your e-mail. Sendmail is a
103 behind-the-scenes program which actually moves your e-mail over
104 networks or the Internet to where you want it to go.
107 Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
108 allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
109 Weiterleiten von Nachrichten, automatischem Routing an
110 Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
111 das Internet senden und empfangen möchten, brauchen Sie sendmail.
114 sendmail es un agente de transporte de correo electrónico, que mueve
115 mensajes entre máquinas. Implementa facilidades de internetwork y
116 rutado, caracterizando cambio de nombres (aliases) y envío a nuevas
117 direcciones ( forwarding ), rutado automático para gateways de la red
118 y configuración flexible. Necesitarás del sendmail si deseas enviar y
119 recibir mensajes a través de la Internet.
122 Sendmail est un agent de transport de courrier, qui est le programme
123 transférent le courrier d'une machine à l'autre. Sendmail implémente
124 une facilité générale de routage de courrier entre les réseaux, permet
125 l'"aliasing" et le "forwarding", un routage automatique sur les
126 passerelles du réseau, et une configuration flexible.
129 SendamilÀº ¸Å¿ì ³Î¸® »ç¿ëµÇ´Â Mail Àü¼Û ÇÁ·Î±×·¥ÀÌ´Ù(MTA). Mail Àü¼Û
130 ÇÁ·Î±×·¥µé(MTA)Àº ¾î¶°ÇÑ machine¿¡¼ ´Ù¸¥ machineÀ¸·Î ¸ÞÀÏÀ» º¸³»¸ç
131 SendmailÀº e-mailÀ» ÀбâÀ§ÇØ »ç¿ëÇÏ´Â client programÀº ¾Æ´Ï´Ù.
132 SendamilÀº ¿øÇÏ´Â °÷À¸·Î InternetÀ̳ª Network¸¦ ÅëÇØ e-mailÀ» º¸³»´Â
133 ¿ªÇÒÀ» ÇÏ´Â backgrond¿¡¼ ÀÛ¾÷À» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù.
136 Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
137 miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty
138 elektronicznej miêdzy bramkami pocztowymi i dostarczaniem przesy³ek na
139 konta docelowe. Bardzo dobrze obs³uguje aliasy pocztowe a jego
140 dodatkowym atutem jest prosta konfiguracja. Dziêki rozbudowanym
141 mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
142 po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
144 %description -l pt_BR
145 O sendmail é um agente de transporte de correio eletrônico, que move
146 mensagens entre máquinas. Ele implementa facilidades de internetwork e
147 roteamento, caracterizando troca de nomes (aliases) e remessa a novos
148 endereços ( forwarding ), roteamento automático para gateways da rede
149 e configuração flexível.
152 Sendmail - ÜÔÏ Mail Transport Agent, ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÓÙÌÁÀÝÁÑ ÐÏÞÔÕ Ó
153 ÍÁÛÉÎÙ ÎÁ ÍÁÛÉÎÕ. Sendmail ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÅ ÓÒÅÄÓÔ×Á
154 ÍÅÖÓÅÔÅ×ÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏÞÔÙ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÅÓËÕÀ
155 ÍÁÒÛÒÕÔÉÚÁÃÉÀ ÄÌÑ ÓÅÔÅ×ÙÈ ÛÌÀÚÏ× É ÇÉÂËÉÊ ÍÅÈÁÎÉÚÍ ËÏÎÆÉÇÕÒÁÃÉÉ.
158 Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý
159 ayarlanabilir. Internet üzerinden mektup almak veya göndermek
160 istiyorsanýz bu pakete gereksiniminiz olacaktýr.
163 Sendmail - ÃÅ Mail Transport Agent, ÐÒÏÇÒÁÍÁ ÝÏ ÐÅÒÅÓÉÌÁ¤ ÐÏÛÔÕ Ú
164 ÍÁÛÉÎÉ ÎÁ ÍÁÛÉÎÕ. Sendmail ÎÁÄÁ¤ ÓÔÁÎÄÁÒÔΦ ÚÁÓÏÂÉ Í¦ÖÍÅÒÅÖÅ×ϧ
165 ÍÁÒÛÒÕÔÉÚÁæ§ ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ
166 ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀÚ¦× ÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§.
168 %package -n libmilter-devel
169 Summary: Header files and static libmilter library
170 Summary(pl): Pliki nag³ówkowe i statyczna biblioteka libmilter
171 Group: Development/Libraries
173 %description -n libmilter-devel
174 Header files and static libmilter library.
176 %description -n libmilter-devel -l pl
177 Pliki nag³ówkowe i statyczna biblioteka libmilter.
188 %{?with_pgsql:%patch7 -p1}
190 sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
192 install %{SOURCE7} config.m4
195 # It's problem with _simultanous_ building when builders are on the same
196 # machine. These are anonymous SHM tests (AFAIR) which must fail when called
199 # send on builders requests only for some arch - it won't fail.
201 %ifarch i386 i586 athlon
202 %{__sed} -i -e 's/^\(smtest.*t-shm\)/dnl \1/' libsm/Makefile.m4
203 %{__sed} -i -e 's/^\(smtest.*t-sem\)/dnl \1/' libsm/Makefile.m4
207 echo "define(\`confCC', \`%{__cc}')" >> config.m4
208 echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
209 echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4
210 echo "define(\`confLIBSEARCHPATH', \`/%{_lib} %{_prefix}/%{_lib}')" >> config.m4
211 echo "define(\`confLIBSEARCH', \`db resolv')" >> config.m4
213 echo "define(\`confLDOPTS', \`-s')" >> config.m4
216 echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
217 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
220 echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
221 echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
222 echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
223 echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
226 echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
227 echo "APPENDDEF(\`confENVDEF', \`-D_FFR_DEAL_WITH_ERROR_SSL')" >> config.m4
228 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
229 echo "APPENDDEF(\`confENVDEF', \`-D_FFR_SMTP_SSL')" >> config.m4
232 echo "APPENDDEF(\`confENVDEF', \`-DMILTER')" >> config.m4
234 cd sendmail && sh Build -f ../config.m4
235 cd ../mailstats && sh Build -f ../config.m4
236 cd ../rmail && sh Build -f ../config.m4
237 cd ../makemap && sh Build -f ../config.m4
238 cd ../praliases && sh Build -f ../config.m4
239 cd ../smrsh && sh Build -f ../config.m4
240 cd ../libmilter && sh Build -f ../config.m4
245 rm -rf $RPM_BUILD_ROOT
246 install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
247 $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,monit,sysconfig,sasl,smrsh} \
248 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_prefix}/lib} \
249 $RPM_BUILD_ROOT{%{_datadir}/sendmail-cf,%{_libdir}} \
250 $RPM_BUILD_ROOT/var/{log,spool/mqueue} \
251 $RPM_BUILD_ROOT{%{_sysconfdir},%{_includedir}}
253 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
257 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
258 UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
259 CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
260 BINOWN=$IDNU BINGRP=$IDNG LIBOWN=$IDNU LIBGRP=$IDNG INCOWN=$IDNU INCGRP=$IDNG"
262 %{__make} -C $OBJDIR/sendmail install \
264 %{__make} -C $OBJDIR/mailstats install \
266 %{__make} -C $OBJDIR/praliases install \
268 %{__make} -C $OBJDIR/rmail force-install \
270 %{__make} -C $OBJDIR/makemap install \
272 %{__make} -C $OBJDIR/smrsh install \
274 %{__make} -C $OBJDIR/libmilter install \
278 ln -sf %{_sbindir}/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
280 # install the cf files
282 rm -f cf/{Build,Makefile} feature/*~
283 cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
287 install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
288 sed -e 's|@@PATH@@|%{_datadir}/sendmail-cf|' < %{SOURCE6} \
289 > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
292 install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
295 # submit.mc (submit.cf is installed automatically)
296 install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
298 echo "# local-host-names - include all aliases for your machine here." \
299 > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
302 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_prefix}/lib/sendmail
305 for f in hoststat mailq newaliases purgestat; do
306 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
309 for map in virtusertable access domaintable mailertable; do
310 touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
311 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
312 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
315 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
316 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
317 $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
319 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
320 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
321 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
322 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
323 install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
324 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
325 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
326 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
327 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
328 install %{SOURCE14} $RPM_BUILD_ROOT/etc/monit/
330 mv -f smrsh/README README.smrsh
331 mv -f cf/README README.cf
334 bzip2 -dc %{SOURCE4} | tar xf -
336 # for perl-Sendmail-Milter
337 install $OBJDIR/libsm/libsm.a $OBJDIR/libsmutil/libsmutil.a \
338 $RPM_BUILD_ROOT%{_libdir}
341 rm -rf $RPM_BUILD_ROOT
344 %groupadd -g 25 smmsp
345 %useradd -u 25 -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp
350 # Convert old format to new
352 if [ -f /etc/mail/deny ] ; then
353 cat /etc/mail/deny | \
354 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
355 {print $1" REJECT"}' >> /etc/mail/access
356 mv -f /etc/mail/deny /etc/mail/deny.rpmorig
358 for oldfile in relay_allow ip_allow name_allow ; do
359 if [ -f /etc/mail/$oldfile ] ; then
360 cat /etc/mail/$oldfile | \
361 awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
362 { print $1\" RELAY\" }" >> /etc/mail/access
363 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
368 # Oops, these files moved
370 if [ -f /etc/sendmail.cw ] ; then
371 cat /etc/sendmail.cw | \
372 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
373 { print $1 }' >> /etc/mail/local-host-names
374 mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
377 # Rebuild maps (next reboot will rebuild also)
379 { /usr/bin/newaliases
380 for map in virtusertable access domaintable mailertable; do
381 if [ -f /etc/mail/${map} ] ; then
382 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
388 /sbin/chkconfig --add sendmail
389 %service sendmail restart "sendmail daemon"
392 if [ "$1" = "0" ]; then
393 %service sendmail stop
394 /sbin/chkconfig --del sendmail
398 if [ "$1" = "0" ]; then
403 # removal of compatibility links
404 %triggerpostun -- sendmail < 8.10.1
405 /sbin/chkconfig --add sendmail
408 %defattr(644,root,root,755)
409 %doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
410 %attr(755,root,root) %{_sbindir}/mailstats
411 %attr(755,root,root) %{_sbindir}/praliases
412 %attr(755,root,root) %{_bindir}/hoststat
413 %attr(755,root,root) %{_bindir}/purgestat
414 %attr(755,root,root) %{_bindir}/rmail
415 %attr(755,root,root) %{_bindir}/makemap
416 %attr(755,root,root) %{_sbindir}/makemap
417 %attr(2755,root,smmsp) %{_sbindir}/sendmail
418 %attr(755,root,root) %{_bindir}/newaliases
419 %attr(755,root,root) %{_bindir}/mailq
420 %attr(755,root,root) %{_sbindir}/smrsh
421 %{_prefix}/lib/sendmail
423 %{_mandir}/man1/mailq.1*
424 %{_mandir}/man1/newaliases.1*
425 %{_mandir}/man5/aliases.5*
426 %{_mandir}/man8/mailstats.8*
427 %{_mandir}/man8/makemap.8*
428 %{_mandir}/man8/praliases.8*
429 %{_mandir}/man8/rmail.8*
430 %{_mandir}/man8/sendmail.8*
431 %{_mandir}/man8/smrsh.8*
436 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.cf
437 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.mc
438 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.cf
439 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.mc
440 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local-host-names
441 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/aliases
442 %{?with_pgsql:%{_sysconfdir}/bluelabs.mc}
443 %attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
444 %attr(770,root,smmsp) %dir /var/spool/clientmqueue
445 %attr(750,root,mail) %dir /var/spool/mqueue
447 %config %{_sysconfdir}/Makefile
448 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/access
449 %ghost %{_sysconfdir}/access.db
450 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/domaintable
451 %ghost %{_sysconfdir}/domaintable.db
452 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mailertable
453 %ghost %{_sysconfdir}/mailertable.db
454 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/virtusertable
455 %ghost %{_sysconfdir}/virtusertable.db
456 %config(noreplace) %{_sysconfdir}/helpfile
458 %attr(754,root,root) /etc/rc.d/init.d/sendmail
459 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sendmail
460 %config(noreplace) %verify(not md5 mtime size) /etc/sasl/Sendmail.conf
461 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
462 %config(noreplace) %verify(not md5 mtime size) /etc/monit/*.monitrc
464 %dir %{_datadir}/sendmail-cf
465 %dir %{_datadir}/sendmail-cf/cf
466 %{_datadir}/sendmail-cf/cf/pld.mc
467 %{_datadir}/sendmail-cf/feature
468 %{_datadir}/sendmail-cf/m4
469 %{_datadir}/sendmail-cf/mailer
470 %dir %{_datadir}/sendmail-cf/ostype
471 %{_datadir}/sendmail-cf/ostype/linux.m4
472 %dir %{_datadir}/sendmail-cf/sh
473 %{_datadir}/sendmail-cf/sh/makeinfo.sh
474 %{_datadir}/sendmail-cf/siteconfig
476 %files -n libmilter-devel
477 %defattr(644,root,root,755)
478 %{_libdir}/libmilter.a
480 %{_libdir}/libsmutil.a
481 %{_includedir}/libmilter