]> git.pld-linux.org Git - packages/sendmail.git/blame_incremental - sendmail.spec
- release 3
[packages/sendmail.git] / sendmail.spec
... / ...
CommitLineData
1# TODO:
2# - make sid-milter support:
3# http://sourceforge.net/projects/sid-milter/
4# http://www.sendmail.net/
5# - http://blue-labs.org/clue/bluelabs.patch-8.12.3 has been updated upstream
6# - move compilation from install to build section, fix re-entrancy of install
7# - add tests bcond and/or disable tests tha fail on (AC-)builders
8#
9# Conditional build:
10%bcond_without ldap # without LDAP support
11%bcond_without tls # without TLS (SSL) support
12%bcond_with pgsql # with PostgreSQL support (bluelabs)
13#
14Summary: A widely used Mail Transport Agent (MTA)
15Summary(de.UTF-8): sendmail-Mail-Übertragungsagent
16Summary(es.UTF-8): Sendmail - agente de transporte de mail
17Summary(fr.UTF-8): Agent de transport de courrier sendmail
18Summary(ko.UTF-8): SMTP_AUTH와 TLS를 지원하는 Mail 전송 프로그램(MTA)
19Summary(pl.UTF-8): Sendmail - serwer poczty elektronicznej
20Summary(pt_BR.UTF-8): Sendmail - agente de transporte de mail
21Summary(ru.UTF-8): Почтовый транспортный агент sendmail
22Summary(tr.UTF-8): Elektronik posta hizmetleri sunucusu
23Summary(uk.UTF-8): Поштовий транспортний агент sendmail
24Name: sendmail
25Version: 8.14.3
26Release: 3
27License: BSD
28Group: Networking/Daemons/SMTP
29Source0: ftp://ftp.sendmail.org/pub/sendmail/%{name}.%{version}.tar.gz
30# Source0-md5: a5ee5d26e1f546a2da5fb9a513bd6bce
31Source1: %{name}.init
32Source2: %{name}.sysconfig
33Source3: %{name}.aliases
34# From http://doc.phpauction.org/sendmail/examples/
35Source4: %{name}-examples.tar.bz2
36# Source4-md5: d00d817cd456a947a7fc6c04072a7d68
37Source5: %{name}-etc-mail-Makefile
38Source6: %{name}.mc
39Source7: %{name}-config.m4
40Source8: %{name}.sasl
41Source9: %{name}.access
42Source10: %{name}.mailertable
43Source11: %{name}.virtusertable
44Source12: %{name}.domaintable
45Source13: %{name}-smtp.pamd
46Patch0: %{name}-makemapman.patch
47Patch1: %{name}-smrsh-paths.patch
48Patch2: %{name}-rmail.patch
49Patch3: %{name}-os-paths.patch
50Patch4: %{name}-m4path.patch
51Patch5: %{name}-redirect.patch
52Patch6: %{name}-hprescan-dos.patch
53Patch7: http://blue-labs.org/clue/bluelabs.patch-8.12.3
54URL: http://www.sendmail.org/
55BuildRequires: cyrus-sasl-devel
56BuildRequires: db-devel >= 4.1.25
57BuildRequires: man
58%{?with_ldap:BuildRequires: openldap-devel >= 2.4.6}
59%{?with_tls:BuildRequires: openssl-devel >= 0.9.7d}
60%{?with_pgsql:BuildRequires: postgresql-devel}
61BuildRequires: rpmbuild(macros) >= 1.310
62BuildRequires: sed >= 4.0
63%ifarch sparc
64BuildRequires: sparc32
65%endif
66Requires(post): awk
67Requires(post): textutils
68Requires(post,preun): /sbin/chkconfig
69Requires(post,preun): rc-scripts >= 0.4.0.20
70Requires(postun): /usr/sbin/groupdel
71Requires(postun): /usr/sbin/userdel
72Requires(pre): /bin/id
73Requires(pre): /usr/bin/getgid
74Requires(pre): /usr/sbin/groupadd
75Requires(pre): /usr/sbin/useradd
76Requires: db >= 4.1.25
77Requires: m4
78Requires: pam >= 0.79.0
79Requires: procmail
80Provides: group(smmsp)
81Provides: smtpdaemon
82Provides: user(smmsp)
83Obsoletes: sendmail-cf
84Obsoletes: sendmail-doc
85Obsoletes: smtpdaemon
86BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
87
88%define _sysconfdir /etc/mail
89%define specflags -fPIC
90
91%description
92The Sendmail program is a very widely used Mail Transport Agent (MTA).
93MTAs send mail from one machine to another. Sendmail is not a client
94program, which you use to read your e-mail. Sendmail is a
95behind-the-scenes program which actually moves your e-mail over
96networks or the Internet to where you want it to go.
97
98%description -l de.UTF-8
99Sendmail überträgt Mails zwischen Rechnern. Es implementiert eine
100allgemeine Mail-Routing-Funktion über das Netzwerk mit Aliasing und
101Weiterleiten von Nachrichten, automatischem Routing an
102Netzwerk-Gateways und flexible Konfiguration. Wenn Sie E-Mails über
103das Internet senden und empfangen möchten, brauchen Sie sendmail.
104
105%description -l es.UTF-8
106sendmail es un agente de transporte de correo electrónico, que mueve
107mensajes entre máquinas. Implementa facilidades de internetwork y
108rutado, caracterizando cambio de nombres (aliases) y envío a nuevas
109direcciones ( forwarding ), rutado automático para gateways de la red
110y configuración flexible. Necesitarás del sendmail si deseas enviar y
111recibir mensajes a través de la Internet.
112
113%description -l fr.UTF-8
114Sendmail est un agent de transport de courrier, qui est le programme
115transférent le courrier d'une machine à l'autre. Sendmail implémente
116une facilité générale de routage de courrier entre les réseaux, permet
117l'"aliasing" et le "forwarding", un routage automatique sur les
118passerelles du réseau, et une configuration flexible.
119
120%description -l ko.UTF-8
121Sendamil은 매우 널리 사용되는 Mail 전송 프로그램이다(MTA). Mail 전송
122프로그램들(MTA)은 어떠한 machine에서 다른 machine으로 메일을 보내며
123Sendmail은 e-mail을 읽기위해 사용하는 client program은 아니다.
124Sendamil은 원하는 곳으로 Internet이나 Network를 통해 e-mail을 보내는
125역할을 하는 backgrond에서 작업을 하는 프로그램이다.
126
127%description -l pl.UTF-8
128Sendmail jest programem umożliwiającym wymianę poczty elektronicznej
129między komputerami w sieci (MTA). Zajmuje się przekazywaniem poczty
130elektronicznej między bramkami pocztowymi i dostarczaniem przesyłek na
131konta docelowe. Bardzo dobrze obsługuje aliasy pocztowe a jego
132dodatkowym atutem jest prosta konfiguracja. Dzięki rozbudowanym
133możliwościom konfiguracyjnym jest w stanie dostarczać przesyłki za
134pośrednictwem protokołów: SMTP, ESMTP, UUCP, X.400 i innych.
135
136%description -l pt_BR.UTF-8
137O sendmail é um agente de transporte de correio eletrônico, que move
138mensagens entre máquinas. Ele implementa facilidades de internetwork e
139roteamento, caracterizando troca de nomes (aliases) e remessa a novos
140endereços ( forwarding ), roteamento automático para gateways da rede
141e configuração flexível.
142
143%description -l ru.UTF-8
144Sendmail - это Mail Transport Agent, программа пересылающая почту с
145машины на машину. Sendmail предоставляет стандартные средства
146межсетевой маршрутизации почты, aliasing, forwarding, автоматическую
147маршрутизацию для сетевых шлюзов и гибкий механизм конфигурации.
148
149%description -l tr.UTF-8
150Sendmail, bir mektubu bir makineden diğerine taşır. Pek çok davranışı
151ayarlanabilir. Internet üzerinden mektup almak veya göndermek
152istiyorsanız bu pakete gereksiniminiz olacaktır.
153
154%description -l uk.UTF-8
155Sendmail - це Mail Transport Agent, програма що пересилає пошту з
156машини на машину. Sendmail надає стандартні засоби міжмережевої
157маршрутизації пошти, aliasing, forwarding, автоматичну маршрутизацію
158для мережевих шлюзів та гнучкий механізм маршрутизації.
159
160%package -n libmilter-devel
161Summary: Header files and static libmilter library
162Summary(pl.UTF-8): Pliki nagłówkowe i statyczna biblioteka libmilter
163Group: Development/Libraries
164Provides: sendmail-devel
165Obsoletes: sendmail-devel
166
167%description -n libmilter-devel
168Header files and static libmilter library.
169
170%description -n libmilter-devel -l pl.UTF-8
171Pliki nagłówkowe i statyczna biblioteka libmilter.
172
173%prep
174%setup -q
175%patch0 -p1
176%patch1 -p1
177%patch2 -p1
178%patch3 -p1
179%patch4 -p1
180%patch5 -p1
181%patch6 -p1
182%{?with_pgsql:%patch7 -p1}
183
184sed -e 's|@@PATH@@|\.\.|' < %{SOURCE6} > cf/cf/pld.mc
185
186install %{SOURCE7} config.m4
187
188# Ac-specific hack:
189# It's problem with _simultanous_ building when builders are on the same
190# machine. These are anonymous SHM tests (AFAIR) which must fail when called
191# simultanously...
192#
193# send on builders requests only for some arch - it won't fail.
194#- blues
195%ifarch i386 i586 athlon
196%{__sed} -i -e 's/^\(smtest.*t-shm\)/dnl \1/' libsm/Makefile.m4
197%{__sed} -i -e 's/^\(smtest.*t-sem\)/dnl \1/' libsm/Makefile.m4
198%endif
199
200%build
201echo "define(\`confCC', \`%{__cc}')" >> config.m4
202%ifarch sparc sparc64
203echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DSM_CONF_SEM=0 -DNETINET6')" >> config.m4
204%else
205echo "define(\`confOPTIMIZE', \`%{rpmcflags} -DUSE_VENDOR_CF_PATH=1 -DNETINET6')" >> config.m4
206%endif
207echo "APPENDDEF(\`confINCDIRS', \`-I/usr/include/sasl')" >> config.m4
208echo "define(\`confLIBSEARCHPATH', \`/%{_lib} %{_prefix}/%{_lib}')" >> config.m4
209echo "define(\`confLIBSEARCH', \`db resolv')" >> config.m4
210%if 0%{!?debug:1}
211echo "define(\`confLDOPTS', \`-s')" >> config.m4
212%endif
213%if %{with ldap}
214echo "APPENDDEF(\`confMAPDEF', \`-DLDAPMAP')" >> config.m4
215echo "APPENDDEF(\`confLIBS', \`-lldap -llber')" >> config.m4
216%endif
217%if %{with pgsql}
218echo "APPENDDEF(\`confENVDEF', \`-DSASL')" >> config.m4
219echo "APPENDDEF(\`confMAPDEF', \`-DPGSQLMAP')" >> config.m4
220echo "APPENDDEF(\`confLIBS', \`-lpq -lresolv')" >> config.m4
221echo "APPENDDEF(\`confLIBS', \`-lsasl -lcrypto')" >> config.m4
222%endif
223%if %{with tls}
224echo "APPENDDEF(\`confENVDEF', \`-DSTARTTLS')" >> config.m4
225echo "APPENDDEF(\`confENVDEF', \`-D_FFR_DEAL_WITH_ERROR_SSL')" >> config.m4
226echo "APPENDDEF(\`confLIBS', \`-lssl -lcrypto')" >> config.m4
227echo "APPENDDEF(\`confENVDEF', \`-D_FFR_SMTP_SSL')" >> config.m4
228%endif
229
230echo "APPENDDEF(\`confENVDEF', \`-DMILTER')" >> config.m4
231
232%ifarch sparc
233%define Build sparc32 sh Build
234%else
235%define Build sh Build
236%endif
237
238cd sendmail && %{Build} -f ../config.m4
239cd ../mailstats && %{Build} -f ../config.m4
240cd ../rmail && %{Build} -f ../config.m4
241cd ../makemap && %{Build} -f ../config.m4
242cd ../praliases && %{Build} -f ../config.m4
243cd ../smrsh && %{Build} -f ../config.m4
244cd ../libmilter && %{Build} -f ../config.m4
245cd ../cf/cf
246m4 pld.mc > pld.cf
247
248%install
249rm -rf $RPM_BUILD_ROOT
250install -d $RPM_BUILD_ROOT%{_mandir}/man{1,5,8} \
251 $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,monit,sysconfig,sasl,smrsh,security} \
252 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_prefix}/lib} \
253 $RPM_BUILD_ROOT{%{_datadir}/sendmail-cf,%{_libdir}} \
254 $RPM_BUILD_ROOT/var/{log,spool/mqueue} \
255 $RPM_BUILD_ROOT{%{_sysconfdir},%{_includedir}}
256
257OBJDIR=obj.$(uname -s).$(uname -r).$(\
258%ifarch sparc
259sparc32 \
260%endif
261uname -m)
262
263IDNU=`id -nu`
264IDNG=`id -ng`
265SMINSTOPT="DESTDIR=$RPM_BUILD_ROOT SBINOWN=$IDNU SBINGRP=$IDNG \
266 UBINOWN=$IDNU UBINGRP=$IDNG MANOWN=$IDNU MANGRP=$IDNG \
267 CFOWN=$IDNU CFGRP=$IDNG MSPQOWN=$IDNU GBINGRP=$IDNG GBINOWN=$IDNU \
268 BINOWN=$IDNU BINGRP=$IDNG LIBOWN=$IDNU LIBGRP=$IDNG INCOWN=$IDNU INCGRP=$IDNG"
269
270%{__make} -C $OBJDIR/sendmail install \
271 $SMINSTOPT
272%{__make} -C $OBJDIR/mailstats install \
273 $SMINSTOPT
274%{__make} -C $OBJDIR/praliases install \
275 $SMINSTOPT
276%{__make} -C $OBJDIR/rmail force-install \
277 $SMINSTOPT
278%{__make} -C $OBJDIR/makemap install \
279 $SMINSTOPT
280%{__make} -C $OBJDIR/smrsh install \
281 $SMINSTOPT
282%{__make} -C $OBJDIR/libmilter install \
283 $SMINSTOPT \
284 LIBDIR=%{_libdir}
285
286ln -sf %{_sbindir}/makemap $RPM_BUILD_ROOT%{_bindir}/makemap
287
288# install the cf files
289cd cf
290rm -f cf/{Build,Makefile} feature/*~
291cp -a * $RPM_BUILD_ROOT%{_datadir}/sendmail-cf
292cd -
293
294# sendmail.{cf,mc}
295install cf/cf/pld.cf $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf
296sed -e 's|@@PATH@@|%{_datadir}/sendmail-cf|' < %{SOURCE6} \
297 > $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.mc
298
299%if %{with pgsql}
300install bluelabs.mc $RPM_BUILD_ROOT%{_sysconfdir}/bluelabs.mc
301%endif
302
303# submit.mc (submit.cf is installed automatically)
304install cf/cf/submit.mc $RPM_BUILD_ROOT%{_sysconfdir}
305
306echo "# local-host-names - include all aliases for your machine here." \
307 > $RPM_BUILD_ROOT%{_sysconfdir}/local-host-names
308#"vim ruuls
309
310ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_prefix}/lib/sendmail
311
312# dangling symlinks
313for f in hoststat mailq newaliases purgestat; do
314 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/${f}
315done
316
317for map in virtusertable access domaintable mailertable; do
318 touch $RPM_BUILD_ROOT%{_sysconfdir}/${map}
319 $RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
320 $RPM_BUILD_ROOT%{_sysconfdir}/${map}.db < $RPM_BUILD_ROOT%{_sysconfdir}/${map}
321done
322
323install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/aliases
324$RPM_BUILD_ROOT%{_sbindir}/makemap -C $RPM_BUILD_ROOT%{_sysconfdir}/sendmail.cf hash \
325 $RPM_BUILD_ROOT%{_sysconfdir}/aliases.db < %{SOURCE3}
326
327install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/sendmail
328install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/sendmail
329install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/Makefile
330install %{SOURCE8} $RPM_BUILD_ROOT/etc/sasl/Sendmail.conf
331install %{SOURCE13} $RPM_BUILD_ROOT/etc/pam.d/smtp
332install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/access
333install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/mailertable
334install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/virtusertable
335install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/domaintable
336
337touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
338
339mv -f smrsh/README README.smrsh
340mv -f cf/README README.cf
341mv -f doc/op/op.me .
342
343bzip2 -dc %{SOURCE4} | tar xf -
344
345# for perl-Sendmail-Milter
346install $OBJDIR/libsm/libsm.a $OBJDIR/libsmutil/libsmutil.a \
347 $RPM_BUILD_ROOT%{_libdir}
348
349%clean
350rm -rf $RPM_BUILD_ROOT
351
352%pre
353%groupadd -g 25 smmsp
354%useradd -u 25 -d /var/spool/clientqueue -s /bin/false -c "Sendmail Message Submission Program" -g smmsp smmsp
355
356%post
357umask 022
358#
359# Convert old format to new
360#
361if [ -f /etc/mail/deny ] ; then
362 cat /etc/mail/deny | \
363 awk 'BEGIN{ print "# Entries from obsoleted /etc/mail/deny"} \
364 {print $1" REJECT"}' >> /etc/mail/access
365 mv -f /etc/mail/deny /etc/mail/deny.rpmorig
366fi
367for oldfile in relay_allow ip_allow name_allow ; do
368 if [ -f /etc/mail/$oldfile ] ; then
369 cat /etc/mail/$oldfile | \
370 awk "BEGIN { print \"# Entries from obsoleted /etc/mail/$oldfile\" ;} \
371 { print $1\" RELAY\" }" >> /etc/mail/access
372 mv -f /etc/mail/$oldfile /etc/mail/$oldfile.rpmorig
373 fi
374done
375
376#
377# Oops, these files moved
378#
379if [ -f /etc/sendmail.cw ] ; then
380 cat /etc/sendmail.cw | \
381 awk 'BEGIN { print "# Entries from obsoleted /etc/sendmail.cw" ;} \
382 { print $1 }' >> /etc/mail/local-host-names
383 mv -f /etc/sendmail.cw /etc/sendmail.cw.rpmorig
384fi
385#
386# Rebuild maps (next reboot will rebuild also)
387#
388{ /usr/bin/newaliases
389 for map in virtusertable access domaintable mailertable; do
390 if [ -f /etc/mail/${map} ] ; then
391 /usr/bin/makemap hash /etc/mail/${map} < /etc/mail/${map}
392 sleep 1
393 fi
394 done
395} > /dev/null 2>&1
396
397/sbin/chkconfig --add sendmail
398%service sendmail restart "sendmail daemon"
399
400%preun
401if [ "$1" = "0" ]; then
402 %service sendmail stop
403 /sbin/chkconfig --del sendmail
404fi
405
406%postun
407if [ "$1" = "0" ]; then
408 %userremove smmsp
409 %groupremove smmsp
410fi
411
412# removal of compatibility links
413%triggerpostun -- sendmail < 8.10.1
414/sbin/chkconfig --add sendmail
415
416%files
417%defattr(644,root,root,755)
418%doc FAQ KNOWNBUGS README* op.me RELEASE_NOTES examples/
419%attr(755,root,root) %{_sbindir}/mailstats
420%attr(755,root,root) %{_sbindir}/praliases
421%attr(755,root,root) %{_bindir}/hoststat
422%attr(755,root,root) %{_bindir}/purgestat
423%attr(755,root,root) %{_bindir}/rmail
424%attr(755,root,root) %{_bindir}/makemap
425%attr(755,root,root) %{_sbindir}/makemap
426%attr(2755,root,smmsp) %{_sbindir}/sendmail
427%attr(755,root,root) %{_bindir}/newaliases
428%attr(755,root,root) %{_bindir}/mailq
429%attr(755,root,root) %{_sbindir}/smrsh
430%{_prefix}/lib/sendmail
431
432%{_mandir}/man1/mailq.1*
433%{_mandir}/man1/newaliases.1*
434%{_mandir}/man5/aliases.5*
435%{_mandir}/man8/mailstats.8*
436%{_mandir}/man8/makemap.8*
437%{_mandir}/man8/praliases.8*
438%{_mandir}/man8/rmail.8*
439%{_mandir}/man8/sendmail.8*
440%{_mandir}/man8/smrsh.8*
441
442%dir /etc/smrsh
443%dir %{_sysconfdir}
444/var/log/statistics
445%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.cf
446%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sendmail.mc
447%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.cf
448%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/submit.mc
449%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local-host-names
450%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/aliases
451%{?with_pgsql:%{_sysconfdir}/bluelabs.mc}
452%attr(644,root,mail) %ghost %{_sysconfdir}/aliases.db
453%attr(770,root,smmsp) %dir /var/spool/clientmqueue
454%attr(750,root,mail) %dir /var/spool/mqueue
455
456%config %{_sysconfdir}/Makefile
457%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/access
458%ghost %{_sysconfdir}/access.db
459%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/domaintable
460%ghost %{_sysconfdir}/domaintable.db
461%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mailertable
462%ghost %{_sysconfdir}/mailertable.db
463%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/virtusertable
464%ghost %{_sysconfdir}/virtusertable.db
465%config(noreplace) %{_sysconfdir}/helpfile
466
467%attr(754,root,root) /etc/rc.d/init.d/sendmail
468%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/sendmail
469%config(noreplace) %verify(not md5 mtime size) /etc/sasl/Sendmail.conf
470%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
471%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
472
473%dir %{_datadir}/sendmail-cf
474%dir %{_datadir}/sendmail-cf/cf
475%{_datadir}/sendmail-cf/cf/pld.mc
476%{_datadir}/sendmail-cf/feature
477%{_datadir}/sendmail-cf/m4
478%{_datadir}/sendmail-cf/mailer
479%dir %{_datadir}/sendmail-cf/ostype
480%{_datadir}/sendmail-cf/ostype/linux.m4
481%dir %{_datadir}/sendmail-cf/sh
482%{_datadir}/sendmail-cf/sh/makeinfo.sh
483%{_datadir}/sendmail-cf/siteconfig
484
485%files -n libmilter-devel
486%defattr(644,root,root,755)
487%{_libdir}/libmilter.a
488%{_libdir}/libsm.a
489%{_libdir}/libsmutil.a
490%{_includedir}/libmilter
This page took 0.037208 seconds and 4 git commands to generate.