]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
- force to use openssl >= 0.9.7, idea by kloczek
[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           with PostgreSQL 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 >= 0.9.7}
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 umask 022
291 #
292 # Convert old format to new
293 #
294 if [ -f /etc/mail/deny ] ; then
295         cat /etc/mail/deny | \
296                 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
297                 {print $1" REJECT"}' >> /etc/mail/access
298         mv -f /etc/mail/deny /etc/mail/deny.rpmorig
299 fi
300 for oldfile in relay_allow ip_allow name_allow ; do
301         if [ -f /etc/mail/$oldfile ] ; then
302                 cat /etc/mail/$oldfile | \
303                         awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
304                         { print $1\" RELAY\" }" >> /etc/mail/access
305                 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
306         fi
307 done
308
309 #
310 # Oops, these files moved
311 #
312 if [ -f /etc/sendmail.cw ] ; then
313         cat /etc/sendmail.cw | \
314                 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
315                 { print $1 }' >> /etc/mail/local-host-names
316         mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
317 fi
318 #
319 # Rebuild maps (next reboot will rebuild also)
320 #
321 { /usr/bin/newaliases
322  for map in virtusertable access domaintable mailertable; do
323         if [ -f /etc/mail/${map} ] ; then
324                 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
325                 sleep 1
326         fi
327  done
328 } > /dev/null 2>&1
329
330 /sbin/chkconfig --add sendmail
331 if [ -f /var/lock/subsys/sendmail ]; then
332         /etc/rc.d/init.d/sendmail restart >&2
333 else
334         echo "Run \"/etc/rc.d/init.d/sendmail start\" to start sendmail daemon." >&2
335 fi
336
337 %preun
338 if [ "$1" = "0" ]; then
339         if [ -f /var/lock/subsys/sendmail ]; then
340                 /etc/rc.d/init.d/sendmail stop >&2
341         fi
342         /sbin/chkconfig --del sendmail
343 fi
344
345 %postun
346 if [ "$1" = "0" ]; then
347         /usr/sbin/userdel smmsp 2>/dev/null
348         /usr/sbin/groupdel smmsp 2>/dev/null
349 fi
350
351 # removal of compatibility links
352 %triggerpostun -- sendmail < 8.10.1
353 /sbin/chkconfig --add sendmail
354
355 %files
356 %defattr(644,root,root,755)
357 %doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
358 %attr(755,root,root) %{_sbindir}/mailstats
359 %attr(755,root,root) %{_sbindir}/praliases
360 %attr(755,root,root) %{_bindir}/hoststat
361 %attr(755,root,root) %{_bindir}/purgestat
362 %attr(755,root,root) %{_bindir}/rmail
363 %attr(755,root,root) %{_bindir}/makemap
364 %attr(755,root,root) %{_sbindir}/makemap
365 %attr(2755,root,smmsp) %{_sbindir}/sendmail
366 %attr(755,root,root) %{_bindir}/newaliases
367 %attr(755,root,root) %{_bindir}/mailq
368 %attr(755,root,root) %{_sbindir}/smrsh
369 %{_libdir}/sendmail
370
371 %{_mandir}/man1/mailq.1*
372 %{_mandir}/man1/newaliases.1*
373 %{_mandir}/man5/aliases.5*
374 %{_mandir}/man8/mailstats.8*
375 %{_mandir}/man8/makemap.8*
376 %{_mandir}/man8/praliases.8*
377 %{_mandir}/man8/rmail.8*
378 %{_mandir}/man8/sendmail.8*
379 %{_mandir}/man8/smrsh.8*
380
381 %dir /etc/smrsh
382 %dir %{_sysconfdir}
383 /var/log/statistics
384 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.cf
385 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.mc
386 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.cf
387 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.mc
388 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/local-host-names
389 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/aliases
390 %{?_with_pgsql:%{_sysconfdir}/bluelabs.mc}
391 %attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
392 %attr(770,root,smmsp) %dir /var/spool/clientmqueue
393 %attr(750,root,mail) %dir /var/spool/mqueue
394
395 %config %{_sysconfdir}/Makefile
396 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access
397 %ghost %{_sysconfdir}/access.db
398 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable
399 %ghost %{_sysconfdir}/domaintable.db
400 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable
401 %ghost %{_sysconfdir}/mailertable.db
402 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/virtusertable
403 %ghost %{_sysconfdir}/virtusertable.db
404 %config(noreplace) %{_sysconfdir}/helpfile
405
406 %attr(754,root,root) /etc/rc.d/init.d/sendmail
407 %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/sendmail
408 %config(noreplace) %verify(not md5 size mtime) /etc/sasl/Sendmail.conf
409 %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp
410
411 %dir %{_libdir}/sendmail-cf
412 %dir %{_libdir}/sendmail-cf/cf
413 %{_libdir}/sendmail-cf/cf/pld.mc
414 %{_libdir}/sendmail-cf/feature
415 %{_libdir}/sendmail-cf/m4
416 %{_libdir}/sendmail-cf/mailer
417 %dir %{_libdir}/sendmail-cf/ostype
418 %{_libdir}/sendmail-cf/ostype/linux.m4
419 %dir %{_libdir}/sendmail-cf/sh
420 %{_libdir}/sendmail-cf/sh/makeinfo.sh
421 %{_libdir}/sendmail-cf/siteconfig
This page took 0.064439 seconds and 4 git commands to generate.