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