]> git.pld-linux.org Git - packages/postfix.git/blob - postfix.spec
- added Provides: /usr/lib/sendmail
[packages/postfix.git] / postfix.spec
1 # TODO:
2 # - check/fix 'polish' bcond
3 # - add http://www.aurore.net/projects/postfix_memcached/
4 #
5 # Conditional build:
6 %bcond_without  ldap    # without LDAP map module
7 %bcond_without  mysql   # without MySQL map module
8 %bcond_without  pgsql   # without PostgreSQL map module
9 %bcond_without  sasl    # without SMTP AUTH support
10 %bcond_without  ssl     # without SSL/TLS support
11 %bcond_without  cdb     # without cdb map support
12 %bcond_without  vda     # with VDA patch
13 %bcond_with     hir     # with Beeth's header_if_reject patch
14 %bcond_with     tcp     # with unofficial tcp: lookup table
15 #%bcond_with    polish  # with double English+Polish messages
16 #
17 Summary:        Postfix Mail Transport Agent
18 Summary(cs.UTF-8):      Postfix - program pro přepravu pošty (MTA)
19 Summary(es.UTF-8):      Postfix - Un MTA (Mail Transport Agent) de alto desempeño
20 Summary(fr.UTF-8):      Agent de transport de courrier Postfix
21 Summary(pl.UTF-8):      Serwer SMTP Postfix
22 Summary(pt_BR.UTF-8):   Postfix - Um MTA (Mail Transport Agent) de alto desempenho
23 Summary(sk.UTF-8):      Agent prenosu pošty Postfix
24 Name:           postfix
25 Version:        2.3.6
26 %define         vda_ver 2.3.1
27 Release:        6
28 Epoch:          2
29 License:        distributable
30 Group:          Networking/Daemons
31 Source0:        ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
32 # Source0-md5:  24f3a076a2a1af0ca8dcb9bac3f145fa
33 Source1:        %{name}.aliases
34 Source2:        %{name}.cron
35 Source3:        %{name}.init
36 Source4:        %{name}.sysconfig
37 Source5:        %{name}.sasl
38 Source6:        %{name}.pamd
39 Source7:        http://web.onda.com.br/nadal/postfix/VDA/%{name}-%{vda_ver}-vda.patch.gz
40 # Source7-md5:  fc7c1676ceecbfb414353af1dafe11de
41 Patch0:         %{name}-config.patch
42 Patch1:         %{name}-conf_msg.patch
43 Patch2:         %{name}-dynamicmaps.patch
44 Patch3:         %{name}-master.cf_cyrus.patch
45 # from http://akson.sgh.waw.pl/~chopin/unix/postfix-2.1.5-header_if_reject.diff
46 Patch4:         %{name}-header_if_reject.patch
47 #Patch5:        %{name}-pl.patch
48 #Patch6:        %{name}-size-check-before-proxy.patch
49 #Patch7:        %{name}-log-proxy-rejects.patch
50 Patch8:         %{name}-ident.patch
51 Patch9:         %{name}-lib64.patch
52 Patch10:        %{name}-conf.patch
53 Patch11:        %{name}-dictname.patch
54 URL:            http://www.postfix.org/
55 %{?with_sasl:BuildRequires:     cyrus-sasl-devel}
56 BuildRequires:  db-devel
57 # getifaddrs() with IPv6 support
58 BuildRequires:  glibc-devel >= 6:2.3.4
59 %{?with_mysql:BuildRequires:    mysql-devel}
60 %{?with_ldap:BuildRequires:     openldap-devel >= 2.3.0}
61 %{?with_ssl:BuildRequires:      openssl-devel >= 0.9.8b}
62 BuildRequires:  pcre-devel
63 %{?with_pgsql:BuildRequires:    postgresql-devel}
64 BuildRequires:  rpmbuild(macros) >= 1.268
65 BuildRequires:  sed >= 4.0
66 %{?with_cdb:BuildRequires:      tinycdb-devel}
67 %{?with_mysql:BuildRequires:    zlib-devel}
68 Requires(post): /bin/hostname
69 Requires(post,postun):  /sbin/ldconfig
70 Requires(post,preun):   /sbin/chkconfig
71 Requires(postun):       /usr/sbin/groupdel
72 Requires(postun):       /usr/sbin/userdel
73 Requires(pre):  /bin/id
74 Requires(pre):  /usr/bin/getgid
75 Requires(pre):  /usr/sbin/groupadd
76 Requires(pre):  /usr/sbin/useradd
77 Requires:       /sbin/chkconfig
78 Requires:       diffutils
79 Requires:       findutils
80 Requires:       rc-scripts
81 Requires:       sed
82 %{?with_cdb:Requires:tinycdb}
83 Suggests:       cyrus-sasl-saslauthd
84 Provides:       group(postfix)
85 Provides:       smtpdaemon
86 Provides:       user(postfix)
87 Provides:       /usr/lib/sendmail
88 Obsoletes:      courier
89 Obsoletes:      exim
90 Obsoletes:      masqmail
91 Obsoletes:      nullmailer
92 Obsoletes:      omta
93 Obsoletes:      qmail
94 Obsoletes:      sendmail
95 Obsoletes:      sendmail-cf
96 Obsoletes:      sendmail-doc
97 Obsoletes:      smail
98 Obsoletes:      smtpdaemon
99 Obsoletes:      ssmtp
100 Obsoletes:      zmailer
101 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102
103 %description
104 Postfix is attempt to provide an alternative to the widely-used
105 Sendmail program. Postfix attempts to be fast, easy to administer, and
106 hopefully secure, while at the same time being sendmail compatible
107 enough to not upset your users. This version has IPv6 support.
108
109 %description -l es.UTF-8
110 Postfix es una alternativa para el mundialmente utilizado sendmail. Si
111 desea tener un servidor SMTP *rápido*, debe instalar este paquete.
112
113 %description -l fr.UTF-8
114 Postfix (voir http://www.postfix.org/) se veut une alternative à
115 sendmail, responsable de l'acheminement de 70% des courriers
116 électroniques sur Internet. IBM en a suppotré le développement, mais
117 ne contrôle pas son évolution. Le but est d'installer Postfix sur le
118 plus grand nombre de systèmes possible. Dans cette optique, il a été
119 écrit pour être totalement sous le contrôle de l'utilisateur.
120
121 %description -l it.UTF-8
122 Postfix (http://www.postfix.org/) e' un'alternativa al programma
123 sendmail utilizzato per la gestione del 70 per cento della posta
124 Internet.
125
126 Seppur IBM supporti lo sviluppo di Postfix, non controlla la sua
127 evoluzione.
128
129 Consultate la pagine web http://www.moongroup.com/how-to.phtml nella
130 quale troverete le indicazioni per una corretta installazione e
131 configurazione di questo programma.
132
133 %description -l pl.UTF-8
134 Postfix jest próbą dostarczenia alternatywnego MTA w stosunku do
135 szeroko używanego sendmaila. Postfix w zamierzeniu ma być szybki,
136 łatwy w administrowaniu, bezpieczny oraz ma być na tyle kompatybilny z
137 sendmailem by nie denerwować użytkowników. Ta wersja obsługuje IPv6.
138
139 %description -l pt_BR.UTF-8
140 O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se
141 você deseja um servidor SMTP *rápido*, instale este pacote.
142
143 %description -l sk.UTF-8
144 Postfix (pozri http://www.postfix.org/) má za cieľ byť alternatívou k
145 široko rozšírenému programu sendmail, zodpovednému za 70% všetkej
146 elektronickej pošty doručenej na Internete.
147
148 Aj keď IBM podporovala vývoj Postfixu, zdržiava sa vplyvu na jeho
149 vývoj. Cieľom je inštalácia Postfixu na čo najväčšom počte systémov.
150 Do tohoto momentu je softvér poskytovaný bez ovplyvňovania, takže sa
151 môže vyvíjať podľa jeho používateľov.
152
153 Určite si prečítajte http://www.moongroup.com/how-to.phtml, kde sú
154 popísané kroky potrebné pred a po inštalácii Postfixu.
155
156 %package devel
157 Summary:        Postfix loadable modules development package
158 Summary(pl.UTF-8):      Pakiet dla programistów ładowanych modułów do postfiksa
159 Group:          Development/Libraries
160 Requires:       %{name} = %{epoch}:%{version}-%{release}
161
162 %description devel
163 Header files to build additional map types for Postfix.
164
165 %description devel -l pl.UTF-8
166 Pliki nagłówkowe do tworzenia dodatkowych typów map dla Postfiksa.
167
168 %package dict-ldap
169 Summary:        LDAP map support for Postfix
170 Summary(pl.UTF-8):      Obsługa map LDAP dla Postfiksa
171 Group:          Networking/Daemons
172 Requires:       %{name} = %{epoch}:%{version}-%{release}
173 Requires:       openldap >= 2.3.0
174
175 %description dict-ldap
176 This package provides support for LDAP maps in Postfix.
177
178 %description dict-ldap -l pl.UTF-8
179 Ten pakiet dodaje obsługę map LDAP do Postfiksa.
180
181 %package dict-mysql
182 Summary:        MySQL map support for Postfix
183 Summary(pl.UTF-8):      Obsługa map MySQL dla Postfiksa
184 Group:          Networking/Daemons
185 Requires:       %{name} = %{epoch}:%{version}-%{release}
186
187 %description dict-mysql
188 This package provides support for MySQL maps in Postfix.
189
190 %description dict-mysql -l pl.UTF-8
191 Ten pakiet dodaje obsługę map MySQL do Postfiksa.
192
193 %package dict-pcre
194 Summary:        PCRE map support for Postfix
195 Summary(pl.UTF-8):      Obsługa map PCRE dla Postfiksa
196 Group:          Networking/Daemons
197 Requires:       %{name} = %{epoch}:%{version}-%{release}
198
199 %description dict-pcre
200 This package provides support for PCRE maps in Postfix.
201
202 %description dict-pcre -l pl.UTF-8
203 Ten pakiet dodaje obsługę map PCRE do Postfiksa.
204
205 %package dict-pgsql
206 Summary:        PostgreSQL map support for Postfix
207 Summary(pl.UTF-8):      Obsługa map PostgreSQL dla Postfiksa
208 Group:          Networking/Daemons
209 Requires:       %{name} = %{epoch}:%{version}-%{release}
210
211 %description dict-pgsql
212 This package provides support for PostgreSQL maps in Postfix.
213
214 %description dict-pgsql -l pl.UTF-8
215 Ten pakiet dodaje obsługę map PostgreSQL do Postfiksa.
216
217 %prep
218 %setup -q
219 %{?with_vda:zcat %{SOURCE7} | patch -p1 -s}
220 %patch0 -p1
221 %patch1 -p0
222 %patch2 -p1
223 %patch3 -p1
224 %{?with_hir:%patch4 -p0}
225 #%{?with_polish:%patch5 -p1}
226 #%patch6 -p1
227 #%patch7 -p1 --obsolete ?
228 %patch8 -p1
229 sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
230 %if "%{_lib}" == "lib64"
231 %patch9 -p1
232 %endif
233 %patch10 -p1
234 %patch11 -p1
235
236 %if %{with tcp}
237 sed -i 's/ifdef SNAPSHOT/if 1/' src/util/dict_open.c
238 %endif
239
240 %build
241 %{__make} -f Makefile.init makefiles
242 %{__make} tidy
243 %{__make} \
244         DEBUG="" \
245         OPT="%{rpmcflags} -D_FILE_OFFSET_BITS=64" \
246         %{!?with_ldap:LDAPSO=""} \
247         %{!?with_mysql:MYSQLSO=""} \
248         %{!?with_pgsql:PGSQLSO=""} \
249         CCARGS="%{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL -I/usr/include/postgresql} %{?with_ssl:-DUSE_TLS -I/usr/include/openssl} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} -DHAVE_GETIFADDRS" \
250         AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre %{?with_ldap:-lldap -llber} %{?with_pgsql:-lpq} %{?with_mysql:-lmysqlclient -lz}"
251
252 %install
253 rm -rf $RPM_BUILD_ROOT
254 install -d $RPM_BUILD_ROOT/etc/{cron.daily,rc.d/init.d,sysconfig,pam.d,security} \
255         $RPM_BUILD_ROOT%{_sysconfdir}/{mail,sasl} \
256         $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,%{_prefix}/lib}\
257         $RPM_BUILD_ROOT{%{_includedir}/postfix,%{_mandir}/man{1,5,8}} \
258         $RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public}
259
260 rm -f {html,man}/Makefile.in conf/{LICENSE,main.cf.default}
261
262 install bin/* $RPM_BUILD_ROOT%{_sbindir}
263 install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
264 install conf/* $RPM_BUILD_ROOT%{_sysconfdir}/mail
265 sed -e's,^daemon_directory = .*,daemon_directory = %{_libdir}/postfix,' \
266         conf/main.cf > $RPM_BUILD_ROOT%{_sysconfdir}/mail/main.cf
267
268 for f in dns global master util ; do
269         install lib/lib${f}.a $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1
270         ln -sf lib${f}.so.1 $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so
271 done
272 install lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix
273 install include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix
274
275 (cd man; tar cf - .) | (cd $RPM_BUILD_ROOT%{_mandir}; tar xf -)
276
277 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
278 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix
279 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postfix
280 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/postfix
281 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
282 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/smtp
283 install auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
284 install auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{_bindir}/qshape
285
286 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq
287 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases
288 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT/usr/lib/sendmail
289
290 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/\
291         {aliases,access,canonical,relocated,transport,virtual}{,.db}
292
293 touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
294
295 > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
296
297 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out $RPM_BUILD_ROOT%{_mandir}/cat*
298
299 %clean
300 rm -rf $RPM_BUILD_ROOT
301
302 %pre
303 %groupadd -g 62 postfix
304 %groupadd -g 63 maildrop
305 %useradd -u 62 -d /var/spool/postfix -s /bin/false -c "Postfix User" -g postfix postfix
306
307 %post
308 /sbin/ldconfig
309 if ! grep -q "^postmaster:" %{_sysconfdir}/mail/aliases; then
310 echo "Adding Entry for postmaster in %{_sysconfdir}/mail/aliases" >&2
311 echo "postmaster: root" >>%{_sysconfdir}/mail/aliases
312 fi
313 if [ "$1" = "1" ]; then
314         # only on installation, not upgrade
315         if ! grep -q "^myhostname" %{_sysconfdir}/mail/main.cf; then
316                 postconf -e myhostname=`/bin/hostname -f`
317         fi
318 else
319         postfix upgrade-configuration
320 fi
321
322 newaliases
323 /sbin/chkconfig --add postfix
324 %service postfix restart "postfix daemon"
325
326 %preun
327 if [ "$1" = "0" ]; then
328         %service postfix stop
329         /sbin/chkconfig --del postfix
330 fi
331
332 %postun
333 /sbin/ldconfig
334 if [ "$1" = "0" ]; then
335         %groupremove maildrop
336         %userremove postfix
337         %groupremove postfix
338 fi
339
340 %files
341 %defattr(644,root,root,755)
342 %doc html *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES TLS_*
343 %doc README_FILES/*README
344 %doc examples/smtpd-policy
345 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/access
346 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
347 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/canonical
348 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/generic
349 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/pcre_table
350 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/regexp_table
351 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/relocated
352 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/transport
353 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/virtual
354 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/header_checks
355 #%ghost %{_sysconfdir}/mail/*.db
356 %dir %{_sysconfdir}/mail
357 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/dynamicmaps.cf
358 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/master.cf
360 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/postfix-script
361 %attr(755,root,root) %{_sysconfdir}/mail/post-install
362 %{_sysconfdir}/mail/postfix-files
363 %attr(740,root,root) /etc/cron.daily/postfix
364 %attr(754,root,root) /etc/rc.d/init.d/postfix
365 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postfix
366 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
367 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
368 %{?with_sasl:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/smtpd.conf}
369 %attr(755,root,root) %{_libdir}/libpostfix-*.so.*
370 %attr(755,root,root) %{_bindir}/*
371 %attr(755,root,root) %{_sbindir}/s*
372 %attr(755,root,root) %{_sbindir}/postfix
373 %attr(755,root,root) %{_sbindir}/postalias
374 %attr(755,root,root) %{_sbindir}/postkick
375 %attr(755,root,root) %{_sbindir}/postl*
376 %attr(755,root,root) %{_sbindir}/postc*
377 %attr(755,root,root) %{_sbindir}/postmap
378 %attr(2755,root,maildrop) %{_sbindir}/postqueue
379 %attr(755,root,root) %{_sbindir}/postsuper
380 %attr(2755,root,maildrop) %{_sbindir}/postdrop
381 %attr(755,root,root) %{_sbindir}/qmqp-sink
382 %attr(755,root,root) %{_sbindir}/qmqp-source
383 %attr(755,root,root) /usr/lib/sendmail
384 %dir %{_libdir}/postfix
385 %attr(755,root,root) %{_libdir}/postfix/[!d]*
386 %attr(755,root,root) %{_libdir}/postfix/discard
387 %attr(755,root,root) %dir %{_var}/spool/postfix
388 %attr(700,postfix,root) %dir %{_var}/spool/postfix/active
389 %attr(700,postfix,root) %dir %{_var}/spool/postfix/bounce
390 %attr(700,postfix,root) %dir %{_var}/spool/postfix/corrupt
391 %attr(700,postfix,root) %dir %{_var}/spool/postfix/defer
392 %attr(700,postfix,root) %dir %{_var}/spool/postfix/deferred
393 %attr(700,postfix,root) %dir %{_var}/spool/postfix/incoming
394 %attr(1730,postfix,maildrop) %dir %{_var}/spool/postfix/maildrop
395 %attr(755,postfix,root) %dir %{_var}/spool/postfix/pid
396 %attr(700,postfix,root) %dir %{_var}/spool/postfix/private
397 %attr(710,postfix,maildrop) %dir %{_var}/spool/postfix/public
398 %attr(700,postfix,root) %dir %{_var}/spool/postfix/saved
399 %attr(644,postfix,root) %{_var}/spool/postfix/.nofinger
400 %{_mandir}/man*/*
401
402 %files devel
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_libdir}/libpostfix-*.so
405 %{_includedir}/postfix
406
407 %if %{with ldap}
408 %files dict-ldap
409 %defattr(644,root,root,755)
410 %attr(755,root,root) %{_libdir}/postfix/dict_ldap.so
411 %endif
412
413 %if %{with mysql}
414 %files dict-mysql
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/postfix/dict_mysql.so
417 %endif
418
419 %files dict-pcre
420 %defattr(644,root,root,755)
421 %attr(755,root,root) %{_libdir}/postfix/dict_pcre.so
422
423 %if %{with pgsql}
424 %files dict-pgsql
425 %defattr(644,root,root,755)
426 %attr(755,root,root) %{_libdir}/postfix/dict_pgsql.so
427 %endif
This page took 0.087308 seconds and 4 git commands to generate.