]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
669008d14d1b2badcb09c161ce2738f5 Sendmail.conf
[packages/sendmail.git] / sendmail.spec
1 #
2 # Conditional build:
3 # _without_ldap         without LDAP support
4 # _without_tls          without TLS (SSL) support
5
6 Summary:        A widely used Mail Transport Agent (MTA)
7 Summary(de):    sendmail-Mail-Übertragungsagent
8 Summary(fr):    Agent de transport de courrier sendmail
9 Summary(pl):    Sendmail - serwer poczty elektronicznej
10 Summary(ru):    ðÏÞÔÏ×ÙÊ ÔÒÁÎÓÐÏÒÔÎÙÊ ÁÇÅÎÔ sendmail
11 Summary(tr):    Elektronik posta hizmetleri sunucusu
12 Summary(uk):    ðÏÛÔÏ×ÉÊ ÔÒÁÎÓÐÏÒÔÎÉÊ ÁÇÅÎÔ sendmail
13 Name:           sendmail
14 Version:        8.12.3
15 Release:        3
16 License:        BSD
17 Group:          Networking/Daemons
18 Source0:        ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
19 Source1:        %{name}.init
20 Source2:        http://www.informatik.uni-kiel.de/~ca/email/rules/check.tar
21 Source3:        %{name}.aliases
22 Source4:        %{name}.sysconfig
23 Source5:        %{name}-etc-mail-Makefile
24 Source6:        %{name}.mc
25 Source7:        %{name}-config.m4
26 Source8:        %{name}.sasl
27 Source9:        %{name}.access
28 Source10:       %{name}.mailertable
29 Source11:       %{name}.virtusertable
30 Source12:       %{name}.domaintable
31 Source13:       %{name}-smtp.pamd
32 Source14:       http://doc.phpauction.org/sendmail/examples/address.resolve
33 Source15:       http://doc.phpauction.org/sendmail/examples/examples-db/access
34 Source16:       http://doc.phpauction.org/sendmail/examples/examples-db/aliases
35 Source17:       http://doc.phpauction.org/sendmail/examples/examples-db/domaintable
36 Source18:       http://doc.phpauction.org/sendmail/examples/examples-db/genericstable
37 Source19:       http://doc.phpauction.org/sendmail/examples/examples-db/mailertable
38 Source20:       http://doc.phpauction.org/sendmail/examples/examples-db/relay-domains
39 Source21:       http://doc.phpauction.org/sendmail/examples/examples-db/%{name}.cM
40 Source22:       http://doc.phpauction.org/sendmail/examples/examples-db/virtusertable
41 Source23:       http://doc.phpauction.org/sendmail/examples/examples-pam/smtp
42 Source24:       http://doc.phpauction.org/sendmail/examples/examples-sasl/Sendmail.conf
43 Source25:       http://doc.phpauction.org/sendmail/examples/examples-sasl/saslpasswd.conf
44 Source26:       http://doc.phpauction.org/sendmail/examples/passwd-to-alias
45 Patch0:         %{name}-makemapman.patch
46 Patch1:         %{name}-smrsh-paths.patch
47 Patch2:         %{name}-rmail.patch
48 Patch3:         %{name}-os-paths.patch
49 Patch4:         %{name}-m4path.patch
50 Patch5:         %{name}-redirect.patch
51 Patch6:         %{name}-hprescan-dos.patch
52 BuildRequires:  cyrus-sasl-devel
53 BuildRequires:  db3-devel
54 %{!?_without_ldap:BuildRequires:        openldap-devel}
55 %{!?_without_tls:BuildRequires: openssl-devel}
56 Requires:       m4
57 Requires:       procmail
58 PreReq:         /sbin/chkconfig
59 Requires(pre):  /bin/id
60 Requires(pre):  /usr/bin/getgid
61 Requires(pre):  /usr/sbin/groupadd
62 Requires(pre):  /usr/sbin/useradd
63 Requires(post): awk
64 Requires(post): textutils
65 Requires(postun):       /usr/sbin/groupdel
66 Requires(postun):       /usr/sbin/userdel
67 Provides:       smtpdaemon
68 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 Obsoletes:      smtpdaemon
70 Obsoletes:      exim
71 Obsoletes:      masqmail
72 Obsoletes:      omta
73 Obsoletes:      postfix
74 Obsoletes:      qmail
75 Obsoletes:      sendmail-cf
76 Obsoletes:      sendmail-doc
77 Obsoletes:      smail
78 Obsoletes:      zmailer
79
80 %define         _sysconfdir     /etc/mail
81
82 %description
83 The Sendmail program is a very widely used Mail Transport Agent (MTA).
84 MTAs send mail from one machine to another. Sendmail is not a client
85 program, which you use to read your e-mail. Sendmail is a
86 behind-the-scenes program which actually moves your e-mail over
87 networks or the Internet to where you want it to go.
88
89 %description -l de
90 Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
91 allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
92 Weiterleiten von Nachrichten, automatischem Routing an
93 Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
94 das Internet senden und empfangen möchten, brauchen Sie sendmail.
95
96 %description -l fr
97 Sendmail est un agent de transport de courrier, qui est le programme
98 transférent le courrier d'une machine à l'autre. Sendmail implémente
99 une facilité générale de routage de courrier entre les réseaux, permet
100 l'\"aliasing\" et le \"forwarding\", un routage automatique sur les
101 passerelles du réseau, et une configuration flexible.
102
103 %description -l pl
104 Sendmail jest programem umo¿liwiaj±cym wymianê poczty elektronicznej
105 miêdzy komputerami w sieci (MTA). Zajmuje siê przekazywaniem poczty
106 elektronicznej miêdzy bramkami pocztowymi i dostarczaniem przesy³ek na
107 konta docelowe. Bardzo dobrze obs³uguje aliasy pocztowe a jego
108 dodatkowym atutem jest prosta konfiguracja. Dziêki rozbudowanym
109 mo¿liwo¶ciom konfiguracyjnym jest w stanie dostarczaæ przesy³ki za
110 po¶rednictwem protoko³ów: SMTP, ESMTP, UUCP, X.400 i innych.
111
112 %description -l ru
113 Sendmail - ÜÔÏ Mail Transport Agent, ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÓÙÌÁÀÝÁÑ ÐÏÞÔÕ Ó
114 ÍÁÛÉÎÙ ÎÁ ÍÁÛÉÎÕ. Sendmail ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÓÔÁÎÄÁÒÔÎÙÅ ÓÒÅÄÓÔ×Á
115 ÍÅÖÓÅÔÅ×ÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏÞÔÙ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÅÓËÕÀ
116 ÍÁÒÛÒÕÔÉÚÁÃÉÀ ÄÌÑ ÓÅÔÅ×ÙÈ ÛÌÀÚÏ× É ÇÉÂËÉÊ ÍÅÈÁÎÉÚÍ ËÏÎÆÉÇÕÒÁÃÉÉ.
117
118 %description -l tr
119 Sendmail, bir mektubu bir makineden diðerine taþýr. Pek çok davranýþý
120 ayarlanabilir. Internet üzerinden mektup almak veya göndermek
121 istiyorsanýz bu pakete gereksiniminiz olacaktýr.
122
123 %description -l uk
124 Sendmail - ÃÅ Mail Transport Agent, ÐÒÏÇÒÁÍÁ ÝÏ ÐÅÒÅÓÉÌÁ¤ ÐÏÛÔÕ Ú
125 ÍÁÛÉÎÉ ÎÁ ÍÁÛÉÎÕ. Sendmail ÎÁÄÁ¤ ÓÔÁÎÄÁÒÔΦ ÚÁÓÏÂɠͦÖÍÅÒÅÖÅ×ϧ
126 ÍÁÒÛÒÕÔÉÚÁ槠ÐÏÛÔÉ, aliasing, forwarding, Á×ÔÏÍÁÔÉÞÎÕ ÍÁÒÛÒÕÔÉÚÁæÀ
127 ÄÌÑ ÍÅÒÅÖÅ×ÉÈ ÛÌÀڦנÔÁ ÇÎÕÞËÉÊ ÍÅÈÁΦÚÍ ÍÁÒÛÒÕÔÉÚÁæ§.
128
129 %prep
130 %setup -q
131 %patch0 -p1
132 %patch1 -p1
133 %patch2 -p1
134 %patch3 -p1
135 %patch4 -p1
136 %patch5 -p1
137 %patch6 -p1
138
139 # seems to be obsoleted...
140 #tar xf %{SOURCE2} -C cf
141
142 sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
143
144 install %{SOURCE7} config.m4
145
146 %build
147 echo "define(\`confCC', \`%{__cc}')" >> config.m4
148 echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
149 %if %{?debug:0}%{!?debug:1}
150 echo "define(\`confLDOPTS', \`-s')" >> config.m4
151 %endif
152 %if %{?_without_ldap:0}%{!?_without_ldap:1}
153 echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
154 echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
155 %endif
156 %if %{?_without_tls:0}%{!?_without_tls:1}
157 echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
158 echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
159 %endif
160
161 cd sendmail     && sh Build -f ../config.m4
162 cd ../mailstats && sh Build -f ../config.m4
163 cd ../rmail     && sh Build -f ../config.m4
164 cd ../makemap   && sh Build -f ../config.m4
165 cd ../praliases && sh Build -f ../config.m4
166 cd ../smrsh     && sh Build -f ../config.m4
167 cd ../cf/cf
168 m4 pld.mc > pld.cf
169
170 %install
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,sasl,smrsh}} \
173         $RPM_BUILD_ROOT%{_bindir} $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_libdir} \
174         $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
175         $RPM_BUILD_ROOT/var/log $RPM_BUILD_ROOT/var/spool/mqueue \
176         $RPM_BUILD_ROOT%{_libdir}/sendmail-cf \
177         $RPM_BUILD_ROOT/etc/pam.d \
178
179 OBJDIR=obj.$(uname -s).$(uname -r).$(arch)
180
181 IDNU=`id -nu`
182 IDNG=`id -ng`
183 SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
184         UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
185         CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
186         BINOWN=$IDNU BINGRP=$IDNG"
187 %{__make} $SMINSTOPT install -C $OBJDIR/sendmail
188 %{__make} $SMINSTOPT install -C $OBJDIR/mailstats
189 %{__make} $SMINSTOPT install -C $OBJDIR/praliases
190 %{__make} $SMINSTOPT force-install -C $OBJDIR/rmail
191 %{__make} $SMINSTOPT install -C $OBJDIR/makemap
192 ln -sf ../sbin/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
193 %{__make} $SMINSTOPT install -C $OBJDIR/smrsh
194
195 # install the cf files
196 cd cf
197 rm -f cf/{Build,Makefile} feature/*~
198 cp -ar * $RPM_BUILD_ROOT%{_libdir}/sendmail-cf
199 cd -
200
201 # sendmail.{cf,mc}
202 install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
203 sed -e 's|@@PATH@@|%{_libdir}/sendmail-cf|' < %{SOURCE6} \
204         > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
205
206 # submit.mc (submit.cf is installed automatically)
207 install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
208
209 echo "# local-host-names - include all aliases for your machine here." \
210         > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
211
212 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
213
214 # dangling symlinks
215 for f in hoststat mailq newaliases purgestat ; do
216         ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
217 done
218
219
220 for map in virtusertable access domaintable mailertable ; do
221         touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
222         $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
223                 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
224 done
225
226 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
227 $RPM_BUILD_ROOT%{_bindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
228         $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
229
230 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
231 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
232 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
233 install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
234 install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
235 install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
236 install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
237 install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
238 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
239
240 #cp -f %{SOURCE9} ./access.sample
241 #cp -f %{SOURCE10} ./mailertable.sample
242 #cp -f %{SOURCE11} ./virtusertable.sample
243 #cp -f %{SOURCE12} ./domaintable.sample
244
245 mv -f smrsh/README README.smrsh
246 mv -f cf/README README.cf
247 mv -f doc/op/op.me .
248 install -d examples/examples-db
249 install -d examples/examples-pam
250 install -d examples/examples-sasl
251 cp -f %{SOURCE14} examples/
252 cp -f %{SOURCE15} examples/examples-db/
253 cp -f %{SOURCE16} examples/examples-db/
254 cp -f %{SOURCE17} examples/examples-db/
255 cp -f %{SOURCE18} examples/examples-db/
256 cp -f %{SOURCE19} examples/examples-db/
257 cp -f %{SOURCE20} examples/examples-db/
258 cp -f %{SOURCE21} examples/examples-db/
259 cp -f %{SOURCE22} examples/examples-db/
260 cp -f %{SOURCE23} examples/examples-pam/
261 cp -f %{SOURCE24} examples/examples-sasl/
262 cp -f %{SOURCE25} examples/examples-sasl/
263 cp -f %{SOURCE26} examples/
264
265 gzip -9nf FAQ KNOWNBUGS README* op.me RELEASE_NOTES
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 "Warning: group smmsp haven't 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 "Warning: user smmsp haven't 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 *.gz 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}/man8/rmail.8*
370 %{_mandir}/man8/praliases.8*
371 %{_mandir}/man8/mailstats.8*
372 %{_mandir}/man8/makemap.8*
373 %{_mandir}/man8/sendmail.8*
374 %{_mandir}/man5/aliases.5*
375 %{_mandir}/man1/newaliases.1*
376 %{_mandir}/man1/mailq.1*
377
378 %dir /etc/smrsh
379 %dir %{_sysconfdir}
380 /var/log/statistics
381 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.cf
382 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sendmail.mc
383 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.cf
384 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/submit.mc
385 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/local-host-names
386 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/aliases
387 %attr(0644,root,mail) %ghost %{_sysconfdir}/aliases.db
388 %attr(0770,root,smmsp) %dir /var/spool/clientmqueue
389 %attr(0750,root,mail) %dir /var/spool/mqueue
390 %attr(0755,root,root) %dir /etc/pam.d
391
392 %config %{_sysconfdir}/Makefile
393 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/access
394 %ghost %{_sysconfdir}/access.db
395 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/domaintable
396 %ghost %{_sysconfdir}/domaintable.db
397 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/mailertable
398 %ghost %{_sysconfdir}/mailertable.db
399 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/virtusertable
400 %ghost %{_sysconfdir}/virtusertable.db
401 %config(noreplace) %{_sysconfdir}/helpfile
402
403 %attr(754,root,root) /etc/rc.d/init.d/sendmail
404 %config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/sendmail
405 %config(noreplace) %verify(not md5 size mtime) /etc/sasl/Sendmail.conf
406 %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/smtp
407
408 %dir %{_libdir}/sendmail-cf
409 %dir %{_libdir}/sendmail-cf/cf
410 %{_libdir}/sendmail-cf/cf/pld.mc
411 %{_libdir}/sendmail-cf/feature
412 %{_libdir}/sendmail-cf/m4
413 %{_libdir}/sendmail-cf/mailer
414 %dir %{_libdir}/sendmail-cf/ostype
415 %{_libdir}/sendmail-cf/ostype/linux.m4
416 %dir %{_libdir}/sendmail-cf/sh
417 %{_libdir}/sendmail-cf/sh/makeinfo.sh
418 %{_libdir}/sendmail-cf/siteconfig
This page took 0.102764 seconds and 3 git commands to generate.