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