3 # --without sasl - build wihtout SMTP AUTH support
4 # --without ldap - build without LDAP support
5 # --without pcre - build without Perl Compatible Regular Expresion support
6 # --without ssl - build without SSL/TLS support
7 # --with mysql - build with MySQL support
8 # --without ipv6 - build without IPv6 support
10 %define tls_ver 0.7.3-snap20010525-0.9.6a
11 Summary: Postfix Mail Transport Agent
12 Summary(pl): Serwer SMTP Postfix
16 Group: Networking/Daemons
17 Group(de): Netzwerkwesen/Server
18 Group(pl): Sieciowe/Serwery
19 Copyright: Distributable
20 Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/experimental/snapshot-%{version}.tar.gz
21 Source1: %{name}.aliases
24 Source5: %{name}.sysconfig
25 Source6: ftp://ftp.aet.tu-cottbus.de/pub/pfixtls/pfixtls-%{tls_ver}.tar.gz
26 Patch0: %{name}-config.patch
27 Patch1: %{name}-pl.patch
28 # ftp://ftp.aet.tu-cottbus.de/pub/pfixtls
29 #Patch2: %{name}-ssl.patch
30 Patch3: %{name}-ipv6.patch.gz
31 Patch4: %{name}-script.patch
32 Patch5: %{name}-conf_msg.patch
33 URL: http://www.postfix.org/
36 %{!?_without_ldap:BuildRequires: openldap-devel >= 2.0.0}
37 %{!?_without_ssl:BuildRequires: openssl-devel >= 0.9.6a}
38 %{!?_without_pcre:BuildRequires: pcre-devel}
39 %{!?_without_sasl:BuildRequires: cyrus-sasl-devel}
40 %{!?_without_ipv6:BuildRequires: libinet6}
41 BuildRequires: db3-devel
43 Prereq: /sbin/chkconfig
44 Prereq: /usr/sbin/useradd
45 Prereq: /usr/sbin/groupadd
46 Prereq: /usr/sbin/userdel
47 Prereq: /usr/sbin/groupdel
48 Prereq: /usr/bin/getgid
51 %{!?_without_ldap:Prereq: openldap >= 2.0.0}
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 Obsoletes: sendmail-cf
57 Obsoletes: sendmail-doc
59 %define _sysconfdir /etc
62 Postfix is attempt to provide an alternative to the widely-used
63 Sendmail program. Postfix attempts to be fast, easy to administer, and
64 hopefully secure, while at the same time being sendmail compatible
65 enough to not upset your users. This version have IPv6 support and
66 %{!?_without_ldap:no }LDAP support.
69 Postfix jest prób± dostarczenia alternatywnego MTA w stosunku do
70 szeroko u¿ywanego sendmaila. Postfix w zamierzeniu ma byæ szybki,
71 ³atwy w administrowaniu, bezpieczny oraz ma byæ na tyle kompatybilny z
72 sendmailem by nie denerwowaæ Twoich u¿ytkowników. Ta wersja wspiera
73 IPv6%{!?_without_ldap: oraz LDAP}.
76 %setup -q -n snapshot-%{version} -a 6
79 patch -p1 -s <pfixtls-%{tls_ver}/pfixtls.diff
80 %{!?_without_ipv6:%patch3 -p1 }
85 %{__make} -f Makefile.init makefiles
87 %{__make} DEBUG="" OPT="%{rpmcflags}" \
88 CCARGS="%{!?_without_ldap:-DHAS_LDAP} %{!?_without_pcre:-DHAS_PCRE} %{!?_without_sasl:-DUSE_SASL_AUTH} %{?_with_mysql:-DHAS_MYSQL -I%{_includedir}/mysql} %{!?_without_ssl:-DHAS_SSL -I%{_includedir}/openssl}" \
89 AUXLIBS="%{!?_without_ldap:-llber -lldap} -lnsl -ldb -lresolv %{!?_without_pcre:-lpcre} %{!?_without_sasl:-lsasl} %{?_with_mysql:-lmysqlclient} %{!?_without_ssl:-lssl -lcrypto}"
92 rm -rf $RPM_BUILD_ROOT
93 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{mail,cron.daily,rc.d/init.d,sysconfig} \
94 $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_libdir}/postfix,%{_mandir}/man{1,5,8}} \
95 $RPM_BUILD_ROOT%{_var}/spool/postfix/{active,corrupt,deferred,maildrop,private,saved,bounce,defer,incoming,pid,public} \
98 rm -f {html,man}/Makefile.in conf/{LICENSE,main.cf.default}
100 install -d sample-conf; mv -f conf/sample* sample-conf/ || :
102 install bin/* $RPM_BUILD_ROOT%{_sbindir}
103 install libexec/* $RPM_BUILD_ROOT%{_libdir}/postfix
104 install conf/* $RPM_BUILD_ROOT%{_sysconfdir}/mail
106 (cd man; tar cf - .) | (cd $RPM_BUILD_ROOT%{_mandir}; tar xf -)
108 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
109 install %{SOURCE2} $RPM_BUILD_ROOT/etc/cron.daily/postfix
110 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postfix
111 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/postfix
113 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/mailq
114 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_bindir}/newaliases
115 ln -sf ../sbin/sendmail $RPM_BUILD_ROOT%{_libdir}/sendmail
117 mv -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/postfix-script-sgid \
118 $RPM_BUILD_ROOT%{_sysconfdir}/mail/postfix-script
120 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/postfix-script-{diff,nosgid}
122 touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/\
123 {aliases,access,canonical,relocated,transport,virtual}{,.db}
125 gzip -9nf *README HISTORY COMPATIBILITY LICENSE RELEASE_NOTES \
126 RESTRICTION_CLASS TODO
128 touch $RPM_BUILD_ROOT/var/spool/postfix/.nofinger
131 if [ -n "`/usr/bin/getgid postfix`" ]; then
132 if [ "`getgid postfix`" != "62" ]; then
133 echo "Warning: group postfix haven't gid=62. Correct this before installing postfix" 1>&2
137 /usr/sbin/groupadd -g 62 -r -f postfix
139 if [ -n "`/usr/bin/getgid maildrop`" ]; then
140 if [ "`/usr/bin/getgid maildrop`" != "63" ]; then
141 echo "Warning: group maildrop haven't gid=63. Correct this before installing postfix" 1>&2
145 /usr/sbin/groupadd -g 63 -r -f maildrop
147 if [ -n "`/bin/id -u postfix 2>/dev/null`" ]; then
148 if [ "`/bin/id -u postfix`" != "62" ]; then
149 echo "Warning: user postfix haven't uid=62. Correct this before installing postfix" 1>&2
153 /usr/sbin/useradd -u 62 -r -d /var/spool/postfix -s /bin/false -c "Postfix User" -g postfix postfix 1>&2
157 if ! grep -q "^postmaster:" /etc/mail/aliases; then
158 echo "Adding Entry for postmaster in /etc/mail/aliases" >&2
159 echo "postmaster: root" >>/etc/mail/aliases
161 if ! grep -q "^myhostname" /etc/mail/main.cf; then
162 postconf -e myhostname=`/bin/hostname -f`
166 /sbin/chkconfig --add postfix
167 if [ -f /var/lock/subsys/postfix ]; then
168 /etc/rc.d/init.d/postfix restart >&2
170 echo "Run \"/etc/rc.d/init.d/postfix start\" to start postfix daemon." >&2
174 if [ "$1" = "0" ]; then
175 if [ -f /var/lock/subsys/postfix ]; then
176 /etc/rc.d/init.d/postfix stop >&2
178 /sbin/chkconfig --del postfix
183 /usr/sbin/groupdel maildrop 2> /dev/null
184 /usr/sbin/userdel postfix 2> /dev/null
185 /usr/sbin/groupdel postfix 2> /dev/null
189 rm -rf $RPM_BUILD_ROOT
192 %defattr(644,root,root,755)
194 %doc {HISTORY,COMPATIBILITY,LICENSE,RELEASE_NOTES,RESTRICTION_CLASS,TODO}.gz
196 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/access
197 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/aliases
198 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/canonical
199 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/relocated
200 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/transport
201 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/virtual
202 #%ghost %{_sysconfdir}/mail/*.db
203 %dir %{_sysconfdir}/mail
204 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/main.cf
205 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/master.cf
206 %attr(755,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mail/postfix-script
207 %attr(740,root,root) /etc//cron.daily/postfix
208 %attr(754,root,root) /etc/rc.d/init.d/postfix
209 %attr(640,root,root) %config(noreplace) /etc/sysconfig/postfix
210 %attr(755,root,root) %{_bindir}/*
211 %attr(755,root,root) %{_sbindir}/s*
212 %attr(755,root,root) %{_sbindir}/post*i*
213 %attr(755,root,root) %{_sbindir}/postl*
214 %attr(755,root,root) %{_sbindir}/postc*
215 %attr(755,root,root) %{_sbindir}/postmap
216 %attr(755,root,root) %{_sbindir}/postsuper
217 %attr(2755,root,maildrop) %{_sbindir}/postdrop
218 %attr(755,root,root) %{_libdir}/sendmail
219 %attr(755,root,root) %{_libdir}/postfix
220 %attr(755,root,root) %dir %{_var}/spool/postfix
221 %attr(700, postfix,root) %dir %{_var}/spool/postfix/active
222 %attr(700, postfix,root) %dir %{_var}/spool/postfix/bounce
223 %attr(700, postfix,root) %dir %{_var}/spool/postfix/corrupt
224 %attr(700, postfix,root) %dir %{_var}/spool/postfix/defer
225 %attr(700, postfix,root) %dir %{_var}/spool/postfix/deferred
226 %attr(700, postfix,root) %dir %{_var}/spool/postfix/incoming
227 %attr(1730,postfix,maildrop) %dir %{_var}/spool/postfix/maildrop
228 %attr(755, postfix,root) %dir %{_var}/spool/postfix/pid
229 %attr(700, postfix,root) %dir %{_var}/spool/postfix/private
230 %attr(755, postfix,root) %dir %{_var}/spool/postfix/public
231 %attr(700, postfix,root) %dir %{_var}/spool/postfix/saved
232 %attr(644, postfix,root) %{_var}/spool/postfix/.nofinger