]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
- release 4 - security update
[packages/sendmail.git] / sendmail.spec
1 #
2 # Conditional build:
3 # _without_ldap         without LDAP support
4 # _without_tls          without TLS (SSL) support
5 # _with_pgsql           without pgsql support (bluelabs)
6
7 Summary:        A widely used Mail Transport Agent (MTA)
8 Summary(de):    sendmail-Mail-Übertragungsagent
9 Summary(es):    Sendmail - agente de transporte de mail
10 Summary(fr):    Agent de transport de courrier sendmail
11 Summary(pl):    Sendmail - serwer poczty elektronicznej
12 Summary(pt_BR): Sendmail - agente de transporte de mail
13 Summary(ru):    ðÏÞÔÏ×ÙÊ ÔÒÁÎÓÐÏÒÔÎÙÊ ÁÇÅÎÔ sendmail
14 Summary(tr):    Elektronik posta hizmetleri sunucusu
15 Summary(uk):    ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail
16 Name:           sendmail
17 Version:        8.12.6
18 Release:        4
19 License:        BSD
20 Group:          Networking/Daemons
21 Source0:        ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
22 Source1:        %{name}.init
23 Source2:        %{name}.sysconfig
24 Source3:        %{name}.aliases
25 # From http://doc.phpauction.org/sendmail/examples/
26 Source4:        %{name}-examples.tar.bz2
27 Source5:        %{name}-etc-mail-Makefile
28 Source6:        %{name}.mc
29 Source7:        %{name}-config.m4
30 Source8:        %{name}.sasl
31 Source9:        %{name}.access
32 Source10:       %{name}.mailertable
33 Source11:       %{name}.virtusertable
34 Source12:       %{name}.domaintable
35 Source13:       %{name}-smtp.pamd
36 Patch0:         %{name}-makemapman.patch
37 Patch1:         %{name}-smrsh-paths.patch
38 Patch2:         %{name}-rmail.patch
39 Patch3:         %{name}-os-paths.patch
40 Patch4:         %{name}-m4path.patch
41 Patch5:         %{name}-redirect.patch
42 Patch6:         %{name}-hprescan-dos.patch
43 Patch7:         http://blue-labs.org/clue/bluelabs.patch-8.12.3
44 Patch8:         smrsh-20020924.patch
45 # Official security patch (will be in 8.12.7):
46 # http://www.sendmail.org/patches/proto.m4.8.649.2.13
47 Patch9:         %{name}-proto.m4.8.649.2.13.patch
48 BuildRequires:  cyrus-sasl-devel
49 BuildRequires:  db3-devel
50 %{!?_without_ldap:BuildRequires:        openldap-devel}
51 %{!?_without_tls:BuildRequires: openssl-devel}
52 %{?_with_pgsql:BuildRequires: postgresql-devel}
53 Requires:       m4
54 Requires:       procmail
55 Requires(pre):  /bin/id
56 Requires(pre):  /usr/bin/getgid
57 Requires(pre):  /usr/sbin/groupadd
58 Requires(pre):  /usr/sbin/useradd
59 Requires(post): awk
60 Requires(post): textutils
61 Requires(post,preun):/sbin/chkconfig
62 Requires(postun):       /usr/sbin/groupdel
63 Requires(postun):       /usr/sbin/userdel
64 Provides:       smtpdaemon
65 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66 Obsoletes:      smtpdaemon
67 Obsoletes:      exim
68 Obsoletes:      masqmail
69 Obsoletes:      omta
70 Obsoletes:      postfix
71 Obsoletes:      qmail
72 Obsoletes:      sendmail-cf
73 Obsoletes:      sendmail-doc
74 Obsoletes:      smail
75 Obsoletes:      zmailer
76
77 %define         _sysconfdir     /etc/mail
78
79 %description
80 The Sendmail program is a very widely used Mail Transport Agent (MTA).
81 MTAs send mail from one machine to another. Sendmail is not a client
82 program, which you use to read your e-mail. Sendmail is a
83 behind-the-scenes program which actually moves your e-mail over
84 networks or the Internet to where you want it to go.
85
86 %description -l de
87 Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
88 allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
89 Weiterleiten von Nachrichten, automatischem Routing an
90 Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
91 das Internet senden und empfangen möchten, brauchen Sie sendmail.
92
93 %description -l es
94 sendmail es un agente de transporte de correo electrónico, que mueve
95 mensajes entre máquinas. Implementa facilidades de internetwork y
96 rutado, caracterizando cambio de nombres (aliases) y envío a nuevas
97 direcciones ( forwarding ), rutado automático para gateways de la red
98 y configuración flexible. Necesitarás del sendmail si deseas enviar y
99 recibir mensajes a través de la Internet.
100
101 %description -l fr
102 Sendmail est un agent de transport de courrier, qui est le programme
103 transférent le courrier d'une machine à l'autre. Sendmail implémente
104 une facilité générale de routage de courrier entre les réseaux, permet
105 l'\"aliasing\" et le \"forwarding\", un routage automatique sur les
106 passerelles du réseau, et une configuration flexible.
107
108 %description -l pl
109 Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
110 miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty
111 elektronicznej miêdzy bramkami pocztowymi i dostarczaniem przesy³ek na
112 konta docelowe. Bardzo dobrze obs³uguje aliasy pocztowe a jego
113 dodatkowym atutem jest prosta konfiguracja. Dziêki rozbudowanym
114 mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
115 po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
116
117 %description -l pt_BR
118 O sendmail é um agente de transporte de correio eletrônico, que move
119 mensagens entre máquinas. Ele implementa facilidades de internetwork e
120 roteamento, caracterizando troca de nomes (aliases) e remessa a novos
121 endereços ( forwarding ), roteamento automático para gateways da rede
122 e configuração flexível.
123
124 %description -l ru
125 Sendmail - ÜÔÏ Mail Transport Agent, ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÓÙÌÁÀÝÁÑ ÐÏÞÔÕ Ó
126 ÍÁÛÉÎÙ ÎÁ ÍÁÛÉÎÕ. Sendmail ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÅ ÓÒÅÄÓÔ×Á
127 ÍÅÖÓÅÔÅ×ÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏÞÔÙ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÅÓËÕÀ
128 ÍÁÒÛÒÕÔÉÚÁÃÉÀ ÄÌÑ ÓÅÔÅ×ÙÈ ÛÌÀÚÏ× É ÇÉÂËÉÊ ÍÅÈÁÎÉÚÍ ËÏÎÆÉÇÕÒÁÃÉÉ.
129
130 %description -l tr
131 Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý
132 ayarlanabilir. Internet üzerinden mektup almak veya göndermek
133 istiyorsanýz bu pakete gereksiniminiz olacaktýr.
134
135 %description -l uk
136 Sendmail - ÃÅ Mail Transport Agent, ÐÒÏÇÒÁÍÁ ÝÏ ÐÅÒÅÓÉÌÁ¤ ÐÏÛÔÕ Ú
137 ÍÁÛÉÎÉ ÎÁ ÍÁÛÉÎÕ. Sendmail ÎÁÄÁ¤ ÓÔÁÎÄÁÒÔΦ ÚÁÓÏÂɠͦÖÍÅÒÅÖÅ×ϧ
138 ÍÁÒÛÒÕÔÉÚÁ槠ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ
139 ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀڦנÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§.
140
141 %prep
142 %setup -q
143 %patch0 -p1
144 %patch1 -p1
145 %patch2 -p1
146 %patch3 -p1
147 %patch4 -p1
148 %patch5 -p1
149 %patch6 -p1
150 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
151 %patch7 -p1
152 %endif
153 %patch8 -p1
154 %patch9 -p0
155
156 sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
157
158 install %{SOURCE7} config.m4
159
160 %build
161 echo "define(\`confCC', \`%{__cc}')" >> config.m4
162 echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
163 echo "define(\`confLIBSEARCH', \`db')" >> config.m4
164 %if %{?debug:0}%{!?debug:1}
165 echo "define(\`confLDOPTS', \`-s')" >> config.m4
166 %endif
167 %if %{?_without_ldap:0}%{!?_without_ldap:1}
168 echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
169 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
170 %endif
171 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
172 echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
173 echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
174 echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
175 echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
176 %endif
177 %if %{?_without_tls:0}%{!?_without_tls:1}
178 echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
179 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
180 %endif
181
182 cd sendmail     && sh Build -f ../config.m4
183 cd ../mailstats && sh Build -f ../config.m4
184 cd ../rmail     && sh Build -f ../config.m4
185 cd ../makemap   && sh Build -f ../config.m4
186 cd ../praliases && sh Build -f ../config.m4
187 cd ../smrsh     && sh Build -f ../config.m4
188 cd ../cf/cf
189 m4 pld.mc > pld.cf
190
191 %install
192 rm -rf $RPM_BUILD_ROOT
193 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \
194         $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \
195         $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
196         $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \
197         $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \
198         $RPM_BUILD_ROOT/etc/pam.d \
199
200 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
201
202 IDNU=`id -nu`
203 IDNG=`id -ng`
204 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
205         UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
206         CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
207         BINOWN=$IDNU BINGRP=$IDNG"
208 %{__make} $SMINSTOPT install -C $OBJDIR/sendmail
209 %{__make} $SMINSTOPT install -C $OBJDIR/mailstats
210 %{__make} $SMINSTOPT install -C $OBJDIR/praliases
211 %{__make} $SMINSTOPT force-install -C $OBJDIR/rmail
212 %{__make} $SMINSTOPT install -C $OBJDIR/makemap
213 ln -sf /usr/sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
214 %{__make} $SMINSTOPT install -C $OBJDIR/smrsh
215
216 # install the cf files
217 cd cf
218 rm -f cf/{Build,Makefile} feature/*~
219 cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
220 cd -
221
222 # sendmail.{cf,mc}
223 install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
224 sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \
225         > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
226
227 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
228 install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
229 %endif
230
231 # submit.mc (submit.cf is installed automatically)
232 install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
233
234 echo "# local-host-names - include all aliases for your machine here." \
235         > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
236
237 ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
238
239 # dangling symlinks
240 for f in hoststat mailq newaliases purgestat ; do
241         ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
242 done
243
244 for map in virtusertable access domaintable mailertable ; do
245         touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
246         $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
247                 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
248 done
249
250 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
251 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
252         $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
253
254 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
255 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
256 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
257 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
258 install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
259 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
260 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
261 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
262 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
263
264 mv -f smrsh/README README.smrsh
265 mv -f cf/README README.cf
266 mv -f doc/op/op.me .
267
268 bzip2 -dc %{SOURCE4} | tar xf -
269
270 %clean
271 rm -rf $RPM_BUILD_ROOT
272
273 %pre
274 if [ -n "`/usr/bin/getgid smmsp`" ]; then
275         if [ "`/usr/bin/getgid smmsp`" != "25" ]; then
276                 echo "Error: group smmsp doesn't have gid=25. Correct this before installing sendmail." 1>&2
277                 exit 1
278         fi
279 else
280         /usr/sbin/groupadd -g 25 -r -f smmsp
281 fi
282 if [ -n "`/bin/id -u smmsp 2>/dev/null`" ]; then
283         if [ "`/bin/id -u smmsp`" != "25" ]; then
284                 echo "Error: user smmsp doesn't have uid=25. Correct this before installing sendmail." 1>&2
285                 exit 1
286         fi
287 else
288         /usr/sbin/useradd -u 25 -r -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp 1>&2
289 fi
290
291 %post
292 #
293 # Convert old format to new
294 #
295 if [ -f /etc/mail/deny ] ; then
296         cat /etc/mail/deny | \
297                 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
298                 {print $1" REJECT"}' >> /etc/mail/access
299         mv -f /etc/mail/deny /etc/mail/deny.rpmorig
300 fi
301 for oldfile in relay_allow ip_allow name_allow ; do
302         if [ -f /etc/mail/$oldfile ] ; then
303                 cat /etc/mail/$oldfile | \
304                         awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
305                         { print $1\" RELAY\" }" >> /etc/mail/access
306                 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
307         fi
308 done
309
310 #
311 # Oops, these files moved
312 #
313 if [ -f /etc/sendmail.cw ] ; then
314         cat /etc/sendmail.cw | \
315                 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
316                 { print $1 }' >> /etc/mail/local-host-names
317         mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
318 fi
319 #
320 # Rebuild maps (next reboot will rebuild also)
321 #
322 { /usr/bin/newaliases
323  for map in virtusertable access domaintable mailertable; do
324         if [ -f /etc/mail/${map} ] ; then
325                 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
326                 sleep 1
327         fi
328  done
329 } > /dev/null 2>&1
330
331 /sbin/chkconfig --add sendmail
332 if [ -f /var/lock/subsys/sendmail ]; then
333         /etc/rc.d/init.d/sendmail restart >&2
334 else
335         echo "Run \"/etc/rc.d/init.d/sendmail start\" to start sendmail daemon." >&2
336 fi
337
338 %preun
339 if [ "$1" = "0" ]; then
340         if [ -f /var/lock/subsys/sendmail ]; then
341                 /etc/rc.d/init.d/sendmail stop >&2
342         fi
343         /sbin/chkconfig --del sendmail
344 fi
345
346 %postun
347 if [ "$1" = "0" ]; then
348         /usr/sbin/userdel smmsp 2>/dev/null
349         /usr/sbin/groupdel smmsp 2>/dev/null
350 fi
351
352 # removal of compatibility links
353 %triggerpostun -- sendmail < 8.10.1
354 /sbin/chkconfig --add sendmail
355
356 %files
357 %defattr(644,root,root,755)
358 %doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
359 %attr(755,root,root) %{_sbindir}/mailstats
360 %attr(755,root,root) %{_sbindir}/praliases
361 %attr(755,root,root) %{_bindir}/hoststat
362 %attr(755,root,root) %{_bindir}/purgestat
363 %attr(755,root,root) %{_bindir}/rmail
364 %attr(755,root,root) %{_bindir}/makemap
365 %attr(755,root,root) %{_sbindir}/makemap
366 %attr(2755,root,smmsp) %{_sbindir}/sendmail
367 %attr(755,root,root) %{_bindir}/newaliases
368 %attr(755,root,root) %{_bindir}/mailq
369 %attr(755,root,root) %{_sbindir}/smrsh
370 %{_libdir}/sendmail
371
372 %{_mandir}/man1/mailq.1*
373 %{_mandir}/man1/newaliases.1*
374 %{_mandir}/man5/aliases.5*
375 %{_mandir}/man8/mailstats.8*
376 %{_mandir}/man8/makemap.8*
377 %{_mandir}/man8/praliases.8*
378 %{_mandir}/man8/rmail.8*
379 %{_mandir}/man8/sendmail.8*
380 %{_mandir}/man8/smrsh.8*
381
382 %dir /etc/smrsh
383 %dir %{_sysconfdir}
384 /var/log/statistics
385 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.cf
386 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.mc
387 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.cf
388 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.mc
389 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/local-host-names
390 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/aliases
391 %{?_with_pgsql:%{_sysconfdir}/bluelabs.mc}
392 %attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
393 %attr(770,root,smmsp) %dir /var/spool/clientmqueue
394 %attr(750,root,mail) %dir /var/spool/mqueue
395
396 %config %{_sysconfdir}/Makefile
397 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access
398 %ghost %{_sysconfdir}/access.db
399 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable
400 %ghost %{_sysconfdir}/domaintable.db
401 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable
402 %ghost %{_sysconfdir}/mailertable.db
403 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/virtusertable
404 %ghost %{_sysconfdir}/virtusertable.db
405 %config(noreplace) %{_sysconfdir}/helpfile
406
407 %attr(754,root,root) /etc/rc.d/init.d/sendmail
408 %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/sendmail
409 %config(noreplace) %verify(not md5 size mtime) /etc/sasl/Sendmail.conf
410 %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp
411
412 %dir %{_libdir}/sendmail-cf
413 %dir %{_libdir}/sendmail-cf/cf
414 %{_libdir}/sendmail-cf/cf/pld.mc
415 %{_libdir}/sendmail-cf/feature
416 %{_libdir}/sendmail-cf/m4
417 %{_libdir}/sendmail-cf/mailer
418 %dir %{_libdir}/sendmail-cf/ostype
419 %{_libdir}/sendmail-cf/ostype/linux.m4
420 %dir %{_libdir}/sendmail-cf/sh
421 %{_libdir}/sendmail-cf/sh/makeinfo.sh
422 %{_libdir}/sendmail-cf/siteconfig
This page took 0.104874 seconds and 4 git commands to generate.