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