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