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