]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
- added workaround to avoid unnecessary linking with -lbind and -lresolv
[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:        2
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 BuildRequires:  cyrus-sasl-devel
46 BuildRequires:  db3-devel
47 %{!?_without_ldap:BuildRequires:        openldap-devel}
48 %{!?_without_tls:BuildRequires: openssl-devel}
49 %{?_with_pgsql:BuildRequires: postgresql-devel}
50 Requires:       m4
51 Requires:       procmail
52 Requires(pre):  /bin/id
53 Requires(pre):  /usr/bin/getgid
54 Requires(pre):  /usr/sbin/groupadd
55 Requires(pre):  /usr/sbin/useradd
56 Requires(post): awk
57 Requires(post): textutils
58 Requires(post,preun):/sbin/chkconfig
59 Requires(postun):       /usr/sbin/groupdel
60 Requires(postun):       /usr/sbin/userdel
61 Provides:       smtpdaemon
62 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 Obsoletes:      smtpdaemon
64 Obsoletes:      exim
65 Obsoletes:      masqmail
66 Obsoletes:      omta
67 Obsoletes:      postfix
68 Obsoletes:      qmail
69 Obsoletes:      sendmail-cf
70 Obsoletes:      sendmail-doc
71 Obsoletes:      smail
72 Obsoletes:      zmailer
73
74 %define         _sysconfdir     /etc/mail
75
76 %description
77 The Sendmail program is a very widely used Mail Transport Agent (MTA).
78 MTAs send mail from one machine to another. Sendmail is not a client
79 program, which you use to read your e-mail. Sendmail is a
80 behind-the-scenes program which actually moves your e-mail over
81 networks or the Internet to where you want it to go.
82
83 %description -l de
84 Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
85 allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
86 Weiterleiten von Nachrichten, automatischem Routing an
87 Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
88 das Internet senden und empfangen möchten, brauchen Sie sendmail.
89
90 %description -l es
91 sendmail es un agente de transporte de correo electrónico, que mueve
92 mensajes entre máquinas. Implementa facilidades de internetwork y
93 rutado, caracterizando cambio de nombres (aliases) y envío a nuevas
94 direcciones ( forwarding ), rutado automático para gateways de la red
95 y configuración flexible. Necesitarás del sendmail si deseas enviar y
96 recibir mensajes a través de la Internet.
97
98 %description -l fr
99 Sendmail est un agent de transport de courrier, qui est le programme
100 transférent le courrier d'une machine à l'autre. Sendmail implémente
101 une facilité générale de routage de courrier entre les réseaux, permet
102 l'\"aliasing\" et le \"forwarding\", un routage automatique sur les
103 passerelles du réseau, et une configuration flexible.
104
105 %description -l pl
106 Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
107 miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty
108 elektronicznej miêdzy bramkami pocztowymi i dostarczaniem przesy³ek na
109 konta docelowe. Bardzo dobrze obs³uguje aliasy pocztowe a jego
110 dodatkowym atutem jest prosta konfiguracja. Dziêki rozbudowanym
111 mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
112 po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
113
114 %description -l pt_BR
115 O sendmail é um agente de transporte de correio eletrônico, que move
116 mensagens entre máquinas. Ele implementa facilidades de internetwork e
117 roteamento, caracterizando troca de nomes (aliases) e remessa a novos
118 endereços ( forwarding ), roteamento automático para gateways da rede
119 e configuração flexível.
120
121 %description -l ru
122 Sendmail - ÜÔÏ Mail Transport Agent, ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÓÙÌÁÀÝÁÑ ÐÏÞÔÕ Ó
123 ÍÁÛÉÎÙ ÎÁ ÍÁÛÉÎÕ. Sendmail ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÅ ÓÒÅÄÓÔ×Á
124 ÍÅÖÓÅÔÅ×ÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏÞÔÙ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÅÓËÕÀ
125 ÍÁÒÛÒÕÔÉÚÁÃÉÀ ÄÌÑ ÓÅÔÅ×ÙÈ ÛÌÀÚÏ× É ÇÉÂËÉÊ ÍÅÈÁÎÉÚÍ ËÏÎÆÉÇÕÒÁÃÉÉ.
126
127 %description -l tr
128 Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý
129 ayarlanabilir. Internet üzerinden mektup almak veya göndermek
130 istiyorsanýz bu pakete gereksiniminiz olacaktýr.
131
132 %description -l uk
133 Sendmail - ÃÅ Mail Transport Agent, ÐÒÏÇÒÁÍÁ ÝÏ ÐÅÒÅÓÉÌÁ¤ ÐÏÛÔÕ Ú
134 ÍÁÛÉÎÉ ÎÁ ÍÁÛÉÎÕ. Sendmail ÎÁÄÁ¤ ÓÔÁÎÄÁÒÔΦ ÚÁÓÏÂɠͦÖÍÅÒÅÖÅ×ϧ
135 ÍÁÒÛÒÕÔÉÚÁ槠ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ
136 ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀڦנÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§.
137
138 %prep
139 %setup -q
140 %patch0 -p1
141 %patch1 -p1
142 %patch2 -p1
143 %patch3 -p1
144 %patch4 -p1
145 %patch5 -p1
146 %patch6 -p1
147 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
148 %patch7 -p1
149 %endif
150 %patch8 -p1
151
152 sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
153
154 install %{SOURCE7} config.m4
155
156 %build
157 echo "define(\`confCC', \`%{__cc}')" >> config.m4
158 echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
159 echo "define(\`confLIBSEARCH', \`db')" >> config.m4
160 %if %{?debug:0}%{!?debug:1}
161 echo "define(\`confLDOPTS', \`-s')" >> config.m4
162 %endif
163 %if %{?_without_ldap:0}%{!?_without_ldap:1}
164 echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
165 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
166 %endif
167 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
168 echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
169 echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
170 echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
171 echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
172 %endif
173 %if %{?_without_tls:0}%{!?_without_tls:1}
174 echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
175 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
176 %endif
177
178 cd sendmail     && sh Build -f ../config.m4
179 cd ../mailstats && sh Build -f ../config.m4
180 cd ../rmail     && sh Build -f ../config.m4
181 cd ../makemap   && sh Build -f ../config.m4
182 cd ../praliases && sh Build -f ../config.m4
183 cd ../smrsh     && sh Build -f ../config.m4
184 cd ../cf/cf
185 m4 pld.mc > pld.cf
186
187 %install
188 rm -rf $RPM_BUILD_ROOT
189 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \
190         $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \
191         $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
192         $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \
193         $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \
194         $RPM_BUILD_ROOT/etc/pam.d \
195
196 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
197
198 IDNU=`id -nu`
199 IDNG=`id -ng`
200 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
201         UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
202         CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
203         BINOWN=$IDNU BINGRP=$IDNG"
204 %{__make} $SMINSTOPT install -C $OBJDIR/sendmail
205 %{__make} $SMINSTOPT install -C $OBJDIR/mailstats
206 %{__make} $SMINSTOPT install -C $OBJDIR/praliases
207 %{__make} $SMINSTOPT force-install -C $OBJDIR/rmail
208 %{__make} $SMINSTOPT install -C $OBJDIR/makemap
209 ln -sf ../sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
210 %{__make} $SMINSTOPT install -C $OBJDIR/smrsh
211
212 # install the cf files
213 cd cf
214 rm -f cf/{Build,Makefile} feature/*~
215 cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
216 cd -
217
218 # sendmail.{cf,mc}
219 install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
220 sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \
221         > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
222
223 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
224 install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
225 %endif
226
227 # submit.mc (submit.cf is installed automatically)
228 install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
229
230 echo "# local-host-names - include all aliases for your machine here." \
231         > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
232
233 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
234
235 # dangling symlinks
236 for f in hoststat mailq newaliases purgestat ; do
237         ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
238 done
239
240
241 for map in virtusertable access domaintable mailertable ; do
242         touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
243         $RPM_BUILD_ROOT%{_bindir}/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%{_bindir}/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.112144 seconds and 4 git commands to generate.