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