3 %bcond_without ldap # without LDAP map module
4 %bcond_without mysql # without MySQL map module
5 %bcond_without pgsql # without PostgreSQL map module
6 %bcond_without sasl # without SMTP AUTH support
7 %bcond_without ssl # without SSL/TLS support
8 %bcond_without cdb # without cdb map support
9 %bcond_without vda # without VDA patch
10 %bcond_with hir # with Beeth's header_if_reject patch
11 %bcond_with tcp # with unofficial tcp: lookup table
13 Summary: Postfix Mail Transport Agent
14 Summary(cs.UTF-8): Postfix - program pro přepravu pošty (MTA)
15 Summary(es.UTF-8): Postfix - Un MTA (Mail Transport Agent) de alto desempeño
16 Summary(fr.UTF-8): Agent de transport de courrier Postfix
17 Summary(pl.UTF-8): Serwer SMTP Postfix
18 Summary(pt_BR.UTF-8): Postfix - Um MTA (Mail Transport Agent) de alto desempenho
19 Summary(sk.UTF-8): Agent prenosu pošty Postfix
25 License: distributable
26 Group: Networking/Daemons
27 Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz
28 # Source0-md5: ceba0cde05d12baa0ba2ed69fbb96b42
29 Source1: %{name}.aliases
32 Source4: %{name}.sysconfig
35 Source7: http://vda.sourceforge.net/VDA/%{name}-%{vda_ver}-vda-ng.patch.gz
36 # Source7-md5: 35fa62c93091d42ab02f67d0614d7086
37 Source8: %{name}-bounce.cf.pl
38 Patch0: %{name}-config.patch
39 Patch1: %{name}-conf_msg.patch
40 Patch2: %{name}-dynamicmaps.patch
41 Patch3: %{name}-master.cf_cyrus.patch
42 # from http://akson.sgh.waw.pl/~chopin/unix/postfix-2.1.5-header_if_reject.diff
43 Patch4: %{name}-header_if_reject.patch
44 Patch5: %{name}-log-proxy-rejects.patch
45 Patch6: %{name}-ident.patch
46 Patch7: %{name}-lib64.patch
47 Patch8: %{name}-conf.patch
48 Patch9: %{name}-dictname.patch
49 URL: http://www.postfix.org/
50 %{?with_sasl:BuildRequires: cyrus-sasl-devel}
51 BuildRequires: db-devel
52 # getifaddrs() with IPv6 support
53 BuildRequires: glibc-devel >= 6:2.3.4
54 %{?with_mysql:BuildRequires: mysql-devel}
55 %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
56 %{?with_ssl:BuildRequires: openssl-devel >= 0.9.8b}
57 BuildRequires: pcre-devel
58 %{?with_pgsql:BuildRequires: postgresql-devel}
59 BuildRequires: rpmbuild(macros) >= 1.268
60 BuildRequires: sed >= 4.0
61 %{?with_cdb:BuildRequires: tinycdb-devel}
62 %{?with_mysql:BuildRequires: zlib-devel}
63 Requires(post): /bin/hostname
64 Requires(post,postun): /sbin/ldconfig
65 Requires(post,preun): /sbin/chkconfig
66 Requires(postun): /usr/sbin/groupdel
67 Requires(postun): /usr/sbin/userdel
68 Requires(pre): /bin/id
69 Requires(pre): /usr/bin/getgid
70 Requires(pre): /usr/sbin/groupadd
71 Requires(pre): /usr/sbin/useradd
72 Requires: /sbin/chkconfig
77 %{?with_cdb:Requires:tinycdb}
78 Suggests: cyrus-sasl-saslauthd
79 Provides: group(postfix)
81 Provides: user(postfix)
83 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
86 Postfix is attempt to provide an alternative to the widely-used
87 Sendmail program. Postfix attempts to be fast, easy to administer, and
88 hopefully secure, while at the same time being sendmail compatible
89 enough to not upset your users. This version has IPv6 support.
91 %description -l es.UTF-8
92 Postfix es una alternativa para el mundialmente utilizado sendmail. Si
93 desea tener un servidor SMTP *rápido*, debe instalar este paquete.
95 %description -l fr.UTF-8
96 Postfix (voir http://www.postfix.org/) se veut une alternative à
97 sendmail, responsable de l'acheminement de 70% des courriers
98 électroniques sur Internet. IBM en a suppotré le développement, mais
99 ne contrôle pas son évolution. Le but est d'installer Postfix sur le
100 plus grand nombre de systèmes possible. Dans cette optique, il a été
101 écrit pour être totalement sous le contrôle de l'utilisateur.
103 %description -l it.UTF-8
104 Postfix (http://www.postfix.org/) e' un'alternativa al programma
105 sendmail utilizzato per la gestione del 70 per cento della posta
108 Seppur IBM supporti lo sviluppo di Postfix, non controlla la sua
111 Consultate la pagine web http://www.moongroup.com/how-to.phtml nella
112 quale troverete le indicazioni per una corretta installazione e
113 configurazione di questo programma.
115 %description -l pl.UTF-8
116 Postfix jest próbą dostarczenia alternatywnego MTA w stosunku do
117 szeroko używanego sendmaila. Postfix w zamierzeniu ma być szybki,
118 łatwy w administrowaniu, bezpieczny oraz ma być na tyle kompatybilny z
119 sendmailem by nie denerwować użytkowników. Ta wersja obsługuje IPv6.
121 %description -l pt_BR.UTF-8
122 O Postfix é uma alternativa para o mundialmente utilizado sendmail. Se
123 você deseja um servidor SMTP *rápido*, instale este pacote.
125 %description -l sk.UTF-8
126 Postfix (pozri http://www.postfix.org/) má za cieľ byť alternatívou k
127 široko rozšírenému programu sendmail, zodpovednému za 70% všetkej
128 elektronickej pošty doručenej na Internete.
130 Aj keď IBM podporovala vývoj Postfixu, zdržiava sa vplyvu na jeho
131 vývoj. Cieľom je inštalácia Postfixu na čo najväčšom počte systémov.
132 Do tohoto momentu je softvér poskytovaný bez ovplyvňovania, takže sa
133 môže vyvíjať podľa jeho používateľov.
135 Určite si prečítajte http://www.moongroup.com/how-to.phtml, kde sú
136 popísané kroky potrebné pred a po inštalácii Postfixu.
139 Summary: Postfix loadable modules development package
140 Summary(pl.UTF-8): Pakiet dla programistów ładowanych modułów do postfiksa
141 Group: Development/Libraries
142 Requires: %{name} = %{epoch}:%{version}-%{release}
145 Header files to build additional map types for Postfix.
147 %description devel -l pl.UTF-8
148 Pliki nagłówkowe do tworzenia dodatkowych typów map dla Postfiksa.
151 Summary: LDAP map support for Postfix
152 Summary(pl.UTF-8): Obsługa map LDAP dla Postfiksa
153 Group: Networking/Daemons
154 Requires: %{name} = %{epoch}:%{version}-%{release}
155 Requires: openldap >= 2.3.0
157 %description dict-ldap
158 This package provides support for LDAP maps in Postfix.
160 %description dict-ldap -l pl.UTF-8
161 Ten pakiet dodaje obsługę map LDAP do Postfiksa.
164 Summary: MySQL map support for Postfix
165 Summary(pl.UTF-8): Obsługa map MySQL dla Postfiksa
166 Group: Networking/Daemons
167 Requires: %{name} = %{epoch}:%{version}-%{release}
169 %description dict-mysql
170 This package provides support for MySQL maps in Postfix.
172 %description dict-mysql -l pl.UTF-8
173 Ten pakiet dodaje obsługę map MySQL do Postfiksa.
176 Summary: PCRE map support for Postfix
177 Summary(pl.UTF-8): Obsługa map PCRE dla Postfiksa
178 Group: Networking/Daemons
179 Requires: %{name} = %{epoch}:%{version}-%{release}
181 %description dict-pcre
182 This package provides support for PCRE maps in Postfix.
184 %description dict-pcre -l pl.UTF-8
185 Ten pakiet dodaje obsługę map PCRE do Postfiksa.
188 Summary: PostgreSQL map support for Postfix
189 Summary(pl.UTF-8): Obsługa map PostgreSQL dla Postfiksa
190 Group: Networking/Daemons
191 Requires: %{name} = %{epoch}:%{version}-%{release}
193 %description dict-pgsql
194 This package provides support for PostgreSQL maps in Postfix.
196 %description dict-pgsql -l pl.UTF-8
197 Ten pakiet dodaje obsługę map PostgreSQL do Postfiksa.
200 Summary: qshape - Print Postfix queue domain and age distribution
201 Summary(pl.UTF-8): qshape - wypisywanie rozkładu domen i wieku z kolejki Postfiksa
202 Group: Networking/Daemons
203 Requires: %{name} = %{epoch}:%{version}-%{release}
206 The qshape program helps the administrator understand the Postfix
207 queue message distribution in time and by sender domain or recipient
208 domain. The program needs read access to the queue directories and
209 queue files, so it must run as the superuser or the mail_owner
210 specified in main.cf (typically postfix).
212 %description qshape -l pl.UTF-8
213 Program qshape pomaga administratorowi zrozumieć rozkład kolejki
214 wiadomości Postfiksa w czasie i w zależności od domeny nadawcy lub
215 adresata. Program wymaga prawa odczytu do katalogów kolejki i plików
216 kolejki, więc musi być uruchamiany przez superużytkownika lub
217 użytkownika mail_owner podanego w main.cf (zwykle nazywającego się
222 %{?with_vda:zcat %{SOURCE7} | patch -p1 -s}
224 find -type f | xargs sed -i -e 's|/etc/postfix|/etc/mail|g'
230 %{?with_hir:%patch4 -p0}
233 sed -i '/scache_clnt_create/s/server/var_scache_service/' src/global/scache_clnt.c
234 %if "%{_lib}" == "lib64"
241 sed -i 's/ifdef SNAPSHOT/if 1/' src/util/dict_open.c
245 %{__make} -f Makefile.init makefiles
251 OPT="%{rpmcflags} -D_FILE_OFFSET_BITS=64" \
252 %{!?with_ldap:LDAPSO=""} \
253 %{!?with_mysql:MYSQLSO=""} \
254 %{!?with_pgsql:PGSQLSO=""} \
255 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} %{?with_ssl:-DUSE_TLS} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} -DHAVE_GETIFADDRS" \
256 AUXLIBS="-ldb -lresolv %{?with_sasl:-lsasl} %{?with_ssl:-lssl -lcrypto} %{?with_cdb:-lcdb} -lpcre"
259 rm -rf $RPM_BUILD_ROOT
260 install -d $RPM_BUILD_ROOT/etc/{cron.daily,rc.d/init.d,sysconfig,pam.d,security} \
261 $RPM_BUILD_ROOT%{_sysconfdir}/{mail,sasl} \
262 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,/usr/lib}\
263 $RPM_BUILD_ROOT{%{_includedir}/postfix,%{_mandir}} \
264 $RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public}
266 rm -f html/Makefile.in conf/{LICENSE,main.cf.default}
268 install bin/* $RPM_BUILD_ROOT%{_sbindir}
269 install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
270 ln $RPM_BUILD_ROOT%{_libdir}/postfix/smtp $RPM_BUILD_ROOT%{_libdir}/postfix/lmtp
271 ln $RPM_BUILD_ROOT%{_libdir}/postfix/qmgr $RPM_BUILD_ROOT%{_libdir}/postfix/nqmgr
272 install conf/* $RPM_BUILD_ROOT%{_sysconfdir}/mail
273 sed -e's,^daemon_directory = .*,daemon_directory = %{_libdir}/postfix,' \
274 conf/main.cf > $RPM_BUILD_ROOT%{_sysconfdir}/mail/main.cf
276 for f in dns global master util ; do
277 install lib/lib${f}.a $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so.1
278 ln -sf lib${f}.so.1 $RPM_BUILD_ROOT%{_libdir}/libpostfix-${f}.so
280 install lib/dict*.so $RPM_BUILD_ROOT%{_libdir}/postfix
281 install include/*.h $RPM_BUILD_ROOT%{_includedir}/postfix
283 cp -a man/man* $RPM_BUILD_ROOT%{_mandir}
285 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
286 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix
287 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postfix
288 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/postfix
289 install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sasl/smtpd.conf
290 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/smtp
291 install %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/mail/bounce.cf.pl
292 install auxiliary/rmail/rmail $RPM_BUILD_ROOT%{_bindir}/rmail
293 install auxiliary/qshape/qshape.pl $RPM_BUILD_ROOT%{_bindir}/qshape
295 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq
296 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases
297 ln -sf %{_sbindir}/sendmail $RPM_BUILD_ROOT/usr/lib/sendmail
299 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/\
300 {aliases,access,canonical,relocated,transport,virtual}{,.db}
302 touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
304 > $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
306 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/mail/makedefs.out
309 rm -rf $RPM_BUILD_ROOT
312 %groupadd -g 62 postfix
313 %groupadd -g 63 maildrop
314 %useradd -u 62 -d /var/spool/postfix -s /bin/false -c "Postfix User" -g postfix postfix
318 if ! grep -q "^postmaster:" %{_sysconfdir}/mail/aliases; then
319 echo "Adding Entry for postmaster in %{_sysconfdir}/mail/aliases" >&2
320 echo "postmaster: root" >>%{_sysconfdir}/mail/aliases
322 if [ "$1" = "1" ]; then
323 # only on installation, not upgrade
324 if ! grep -q "^myhostname" %{_sysconfdir}/mail/main.cf; then
325 postconf -e myhostname=`/bin/hostname -f`
328 postfix upgrade-configuration
332 /sbin/chkconfig --add postfix
333 %service postfix restart "postfix daemon"
336 if [ "$1" = "0" ]; then
337 %service postfix stop
338 /sbin/chkconfig --del postfix
343 if [ "$1" = "0" ]; then
344 %groupremove maildrop
350 %defattr(644,root,root,755)
351 %doc html *README COMPATIBILITY HISTORY LICENSE RELEASE_NOTES TLS_*
352 %doc README_FILES/*README
353 %doc examples/smtpd-policy
354 %dir %{_sysconfdir}/mail
355 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/access
356 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
357 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.default
358 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/bounce.cf.pl
359 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/canonical
360 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/generic
361 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/regexp_table
362 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/relocated
363 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/transport
364 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/virtual
365 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/header_checks
366 #%ghost %{_sysconfdir}/mail/*.db
367 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/dynamicmaps.cf
368 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/main.cf
369 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/master.cf
370 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/postfix-script
371 %attr(755,root,root) %{_sysconfdir}/mail/post-install
372 %{_sysconfdir}/mail/postfix-files
373 %attr(740,root,root) /etc/cron.daily/postfix
374 %attr(754,root,root) /etc/rc.d/init.d/postfix
375 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/postfix
376 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
377 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
378 %{?with_sasl:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/smtpd.conf}
379 %attr(755,root,root) %{_libdir}/libpostfix-*.so.*
380 %attr(755,root,root) %{_bindir}/mailq
381 %attr(755,root,root) %{_bindir}/newaliases
382 %attr(755,root,root) %{_bindir}/rmail
383 %attr(755,root,root) %{_sbindir}/s*
384 %attr(755,root,root) %{_sbindir}/postfix
385 %attr(755,root,root) %{_sbindir}/postalias
386 %attr(755,root,root) %{_sbindir}/postkick
387 %attr(755,root,root) %{_sbindir}/postl*
388 %attr(755,root,root) %{_sbindir}/postc*
389 %attr(755,root,root) %{_sbindir}/postmap
390 %attr(2755,root,maildrop) %{_sbindir}/postqueue
391 %attr(755,root,root) %{_sbindir}/postsuper
392 %attr(2755,root,maildrop) %{_sbindir}/postdrop
393 %attr(755,root,root) %{_sbindir}/qmqp-sink
394 %attr(755,root,root) %{_sbindir}/qmqp-source
395 %attr(755,root,root) /usr/lib/sendmail
396 %dir %{_libdir}/postfix
397 %attr(755,root,root) %{_libdir}/postfix/[!d]*
398 %attr(755,root,root) %{_libdir}/postfix/discard
399 %attr(755,root,root) %dir %{_var}/spool/postfix
400 %attr(700,postfix,root) %dir %{_var}/spool/postfix/active
401 %attr(700,postfix,root) %dir %{_var}/spool/postfix/bounce
402 %attr(700,postfix,root) %dir %{_var}/spool/postfix/corrupt
403 %attr(700,postfix,root) %dir %{_var}/spool/postfix/defer
404 %attr(700,postfix,root) %dir %{_var}/spool/postfix/deferred
405 %attr(700,postfix,root) %dir %{_var}/spool/postfix/incoming
406 %attr(1730,postfix,maildrop) %dir %{_var}/spool/postfix/maildrop
407 %attr(755,postfix,root) %dir %{_var}/spool/postfix/pid
408 %attr(700,postfix,root) %dir %{_var}/spool/postfix/private
409 %attr(710,postfix,maildrop) %dir %{_var}/spool/postfix/public
410 %attr(700,postfix,root) %dir %{_var}/spool/postfix/saved
411 %attr(644,postfix,root) %{_var}/spool/postfix/.nofinger
412 %{_mandir}/man1/mailq.1*
413 %{_mandir}/man1/newaliases.1*
414 %{_mandir}/man1/post*.1*
415 %{_mandir}/man1/qmqp-*.1*
416 %{_mandir}/man1/sendmail.1*
417 %{_mandir}/man1/smtp-*.1*
418 %{_mandir}/man5/access.5*
419 %{_mandir}/man5/aliases.5*
420 %{_mandir}/man5/body_checks.5*
421 %{_mandir}/man5/bounce.5*
422 %{_mandir}/man5/canonical.5*
423 %{_mandir}/man5/cidr_table.5*
424 %{_mandir}/man5/generic.5*
425 %{_mandir}/man5/header_checks.5*
426 %{_mandir}/man5/master.5*
427 %{_mandir}/man5/nisplus_table.5*
428 %{_mandir}/man5/postconf.5*
429 %{_mandir}/man5/regexp_table.5*
430 %{_mandir}/man5/relocated.5*
431 %{_mandir}/man5/tcp_table.5*
432 %{_mandir}/man5/transport.5*
433 %{_mandir}/man5/virtual.5*
437 %defattr(644,root,root,755)
438 %attr(755,root,root) %{_libdir}/libpostfix-*.so
439 %{_includedir}/postfix
443 %defattr(644,root,root,755)
444 %attr(755,root,root) %{_libdir}/postfix/dict_ldap.so
445 %{_mandir}/man5/ldap_table.5*
450 %defattr(644,root,root,755)
451 %attr(755,root,root) %{_libdir}/postfix/dict_mysql.so
452 %{_mandir}/man5/mysql_table.5*
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/postfix/dict_pcre.so
458 #%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/pcre_table
459 %{_mandir}/man5/pcre_table.5*
463 %defattr(644,root,root,755)
464 %attr(755,root,root) %{_libdir}/postfix/dict_pgsql.so
465 %{_mandir}/man5/pgsql_table.5*
469 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_bindir}/qshape
471 %{_mandir}/man1/qshape.1*