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