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