]> git.pld-linux.org Git - packages/sendmail.git/blob - sendmail.spec
- use macros in %{pre,post}{,un}
[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 DESC="sendmail daemon"; %chkconfig_add
260
261 %preun
262 %chkconfig_del
263
264 # removal of compatibility links
265 %triggerpostun -- sendmail < 8.10.1
266 /sbin/chkconfig --add sendmail
267
268 %files
269 %defattr(644,root,root,755)
270 %doc *.gz
271 %attr(755,root,root) %{_sbindir}/mailstats
272 %attr(755,root,root) %{_sbindir}/praliases
273 %attr(755,root,root) %{_bindir}/hoststat
274 %attr(755,root,root) %{_bindir}/purgestat
275 %attr(755,root,root) %{_bindir}/rmail
276 %attr(755,root,root) %{_bindir}/makemap
277 %attr(755,root,root) %{_sbindir}/makemap
278 %attr(6755,root,mail) %{_sbindir}/sendmail
279 %attr(755,root,root) %{_bindir}/newaliases
280 %attr(755,root,root) %{_bindir}/mailq
281 %attr(755,root,root) %{_sbindir}/smrsh
282 %{_libdir}/sendmail
283
284 %{_mandir}/man8/rmail.8*
285 %{_mandir}/man8/praliases.8*
286 %{_mandir}/man8/mailstats.8*
287 %{_mandir}/man8/makemap.8*
288 %{_mandir}/man8/sendmail.8*
289 %{_mandir}/man5/aliases.5*
290 %{_mandir}/man1/newaliases.1*
291 %{_mandir}/man1/mailq.1*
292
293 /var/log/statistics
294 # XXX can't do noreplace here or new sendmail will not deliver.
295 %config(noreplace) %{_sysconfdir}/sendmail.cf
296 %config(noreplace) %{_sysconfdir}/sendmail.mc
297 %config(noreplace) %{_sysconfdir}/local-host-names
298 %config(noreplace) %{_sysconfdir}/aliases
299 %attr(0644,root,mail) %ghost %{_sysconfdir}/aliases.db
300 %attr(0770,root,mail) %dir /var/spool/mqueue
301 %dir /etc/smrsh
302 %dir %{_sysconfdir}
303
304 %config %{_sysconfdir}/Makefile
305 %ghost %{_sysconfdir}/virtusertable.db
306 %config(noreplace) %{_sysconfdir}/virtusertable
307 %ghost %{_sysconfdir}/access.db
308 %config(noreplace) %{_sysconfdir}/access
309 %ghost %{_sysconfdir}/domaintable.db
310 %config(noreplace) %{_sysconfdir}/domaintable
311 %ghost %{_sysconfdir}/mailertable.db
312 %config(noreplace) %{_sysconfdir}/mailertable
313 %config(noreplace) %{_sysconfdir}/helpfile
314
315 %attr(754,root,root) /etc/rc.d/init.d/sendmail
316 %config(noreplace) /etc/sysconfig/sendmail
317 %config(noreplace) /etc/sasl/sendmail
318
319 %dir %{_libdir}/sendmail-cf
320 %dir %{_libdir}/sendmail-cf/cf
321 %{_libdir}/sendmail-cf/cf/pld.mc
322 %{_libdir}/sendmail-cf/feature
323 %{_libdir}/sendmail-cf/m4
324 %{_libdir}/sendmail-cf/mailer
325 %dir %{_libdir}/sendmail-cf/ostype
326 %{_libdir}/sendmail-cf/ostype/linux.m4
327 %dir %{_libdir}/sendmail-cf/sh
328 %{_libdir}/sendmail-cf/sh/makeinfo.sh
329 %{_libdir}/sendmail-cf/siteconfig
This page took 0.209643 seconds and 4 git commands to generate.