]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
- added -I/usr/include/sasl (it's ready for sasl2 now)
[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:        2
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 "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4
161 echo "define(\`confLIBSEARCH', \`db')" >> config.m4
162 %if %{?debug:0}%{!?debug:1}
163 echo "define(\`confLDOPTS', \`-s')" >> config.m4
164 %endif
165 %if %{?_without_ldap:0}%{!?_without_ldap:1}
166 echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
167 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
168 %endif
169 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
170 echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
171 echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
172 echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
173 echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
174 %endif
175 %if %{?_without_tls:0}%{!?_without_tls:1}
176 echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
177 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
178 %endif
179
180 cd sendmail     && sh Build -f ../config.m4
181 cd ../mailstats && sh Build -f ../config.m4
182 cd ../rmail     && sh Build -f ../config.m4
183 cd ../makemap   && sh Build -f ../config.m4
184 cd ../praliases && sh Build -f ../config.m4
185 cd ../smrsh     && sh Build -f ../config.m4
186 cd ../cf/cf
187 m4 pld.mc > pld.cf
188
189 %install
190 rm -rf $RPM_BUILD_ROOT
191 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \
192         $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \
193         $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
194         $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \
195         $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \
196         $RPM_BUILD_ROOT/etc/pam.d \
197
198 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
199
200 IDNU=`id -nu`
201 IDNG=`id -ng`
202 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
203         UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
204         CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
205         BINOWN=$IDNU BINGRP=$IDNG"
206 %{__make} $SMINSTOPT install -C $OBJDIR/sendmail
207 %{__make} $SMINSTOPT install -C $OBJDIR/mailstats
208 %{__make} $SMINSTOPT install -C $OBJDIR/praliases
209 %{__make} $SMINSTOPT force-install -C $OBJDIR/rmail
210 %{__make} $SMINSTOPT install -C $OBJDIR/makemap
211 ln -sf /usr/sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
212 %{__make} $SMINSTOPT install -C $OBJDIR/smrsh
213
214 # install the cf files
215 cd cf
216 rm -f cf/{Build,Makefile} feature/*~
217 cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
218 cd -
219
220 # sendmail.{cf,mc}
221 install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
222 sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \
223         > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
224
225 %if %{?_with_pgsql:1}%{!?_with_pgsql:0}
226 install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
227 %endif
228
229 # submit.mc (submit.cf is installed automatically)
230 install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
231
232 echo "# local-host-names - include all aliases for your machine here." \
233         > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
234
235 ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
236
237 # dangling symlinks
238 for f in hoststat mailq newaliases purgestat ; do
239         ln -sf /usr/sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
240 done
241
242 for map in virtusertable access domaintable mailertable ; do
243         touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
244         $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
245                 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
246 done
247
248 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
249 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
250         $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
251
252 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
253 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
254 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
255 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
256 install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
257 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
258 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
259 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
260 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
261
262 mv -f smrsh/README README.smrsh
263 mv -f cf/README README.cf
264 mv -f doc/op/op.me .
265
266 bzip2 -dc %{SOURCE4} | tar xf -
267
268 %clean
269 rm -rf $RPM_BUILD_ROOT
270
271 %pre
272 if [ -n "`/usr/bin/getgid smmsp`" ]; then
273         if [ "`/usr/bin/getgid smmsp`" != "25" ]; then
274                 echo "Error: group smmsp doesn't have gid=25. Correct this before installing sendmail." 1>&2
275                 exit 1
276         fi
277 else
278         /usr/sbin/groupadd -g 25 -r -f smmsp
279 fi
280 if [ -n "`/bin/id -u smmsp 2>/dev/null`" ]; then
281         if [ "`/bin/id -u smmsp`" != "25" ]; then
282                 echo "Error: user smmsp doesn't have uid=25. Correct this before installing sendmail." 1>&2
283                 exit 1
284         fi
285 else
286         /usr/sbin/useradd -u 25 -r -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp 1>&2
287 fi
288
289 %post
290 #
291 # Convert old format to new
292 #
293 if [ -f /etc/mail/deny ] ; then
294         cat /etc/mail/deny | \
295                 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
296                 {print $1" REJECT"}' >> /etc/mail/access
297         mv -f /etc/mail/deny /etc/mail/deny.rpmorig
298 fi
299 for oldfile in relay_allow ip_allow name_allow ; do
300         if [ -f /etc/mail/$oldfile ] ; then
301                 cat /etc/mail/$oldfile | \
302                         awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
303                         { print $1\" RELAY\" }" >> /etc/mail/access
304                 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
305         fi
306 done
307
308 #
309 # Oops, these files moved
310 #
311 if [ -f /etc/sendmail.cw ] ; then
312         cat /etc/sendmail.cw | \
313                 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
314                 { print $1 }' >> /etc/mail/local-host-names
315         mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
316 fi
317 #
318 # Rebuild maps (next reboot will rebuild also)
319 #
320 { /usr/bin/newaliases
321  for map in virtusertable access domaintable mailertable; do
322         if [ -f /etc/mail/${map} ] ; then
323                 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
324                 sleep 1
325         fi
326  done
327 } > /dev/null 2>&1
328
329 /sbin/chkconfig --add sendmail
330 if [ -f /var/lock/subsys/sendmail ]; then
331         /etc/rc.d/init.d/sendmail restart >&2
332 else
333         echo "Run \"/etc/rc.d/init.d/sendmail start\" to start sendmail daemon." >&2
334 fi
335
336 %preun
337 if [ "$1" = "0" ]; then
338         if [ -f /var/lock/subsys/sendmail ]; then
339                 /etc/rc.d/init.d/sendmail stop >&2
340         fi
341         /sbin/chkconfig --del sendmail
342 fi
343
344 %postun
345 if [ "$1" = "0" ]; then
346         /usr/sbin/userdel smmsp 2>/dev/null
347         /usr/sbin/groupdel smmsp 2>/dev/null
348 fi
349
350 # removal of compatibility links
351 %triggerpostun -- sendmail < 8.10.1
352 /sbin/chkconfig --add sendmail
353
354 %files
355 %defattr(644,root,root,755)
356 %doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
357 %attr(755,root,root) %{_sbindir}/mailstats
358 %attr(755,root,root) %{_sbindir}/praliases
359 %attr(755,root,root) %{_bindir}/hoststat
360 %attr(755,root,root) %{_bindir}/purgestat
361 %attr(755,root,root) %{_bindir}/rmail
362 %attr(755,root,root) %{_bindir}/makemap
363 %attr(755,root,root) %{_sbindir}/makemap
364 %attr(2755,root,smmsp) %{_sbindir}/sendmail
365 %attr(755,root,root) %{_bindir}/newaliases
366 %attr(755,root,root) %{_bindir}/mailq
367 %attr(755,root,root) %{_sbindir}/smrsh
368 %{_libdir}/sendmail
369
370 %{_mandir}/man1/mailq.1*
371 %{_mandir}/man1/newaliases.1*
372 %{_mandir}/man5/aliases.5*
373 %{_mandir}/man8/mailstats.8*
374 %{_mandir}/man8/makemap.8*
375 %{_mandir}/man8/praliases.8*
376 %{_mandir}/man8/rmail.8*
377 %{_mandir}/man8/sendmail.8*
378 %{_mandir}/man8/smrsh.8*
379
380 %dir /etc/smrsh
381 %dir %{_sysconfdir}
382 /var/log/statistics
383 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.cf
384 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.mc
385 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.cf
386 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.mc
387 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/local-host-names
388 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/aliases
389 %{?_with_pgsql:%{_sysconfdir}/bluelabs.mc}
390 %attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
391 %attr(770,root,smmsp) %dir /var/spool/clientmqueue
392 %attr(750,root,mail) %dir /var/spool/mqueue
393
394 %config %{_sysconfdir}/Makefile
395 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access
396 %ghost %{_sysconfdir}/access.db
397 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable
398 %ghost %{_sysconfdir}/domaintable.db
399 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable
400 %ghost %{_sysconfdir}/mailertable.db
401 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/virtusertable
402 %ghost %{_sysconfdir}/virtusertable.db
403 %config(noreplace) %{_sysconfdir}/helpfile
404
405 %attr(754,root,root) /etc/rc.d/init.d/sendmail
406 %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/sendmail
407 %config(noreplace) %verify(not md5 size mtime) /etc/sasl/Sendmail.conf
408 %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp
409
410 %dir %{_libdir}/sendmail-cf
411 %dir %{_libdir}/sendmail-cf/cf
412 %{_libdir}/sendmail-cf/cf/pld.mc
413 %{_libdir}/sendmail-cf/feature
414 %{_libdir}/sendmail-cf/m4
415 %{_libdir}/sendmail-cf/mailer
416 %dir %{_libdir}/sendmail-cf/ostype
417 %{_libdir}/sendmail-cf/ostype/linux.m4
418 %dir %{_libdir}/sendmail-cf/sh
419 %{_libdir}/sendmail-cf/sh/makeinfo.sh
420 %{_libdir}/sendmail-cf/siteconfig
This page took 0.072052 seconds and 4 git commands to generate.