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