]> git.pld-linux.org Git - packages/exim.git/blame - exim.spec
- limit timeout to some sane value, so smtp client won't have to wait very long
[packages/exim.git] / exim.spec
CommitLineData
9db332a8 1#
22442fbb 2# Conditional build:
b2db97da 3%bcond_without pgsql # without PostgreSQL support
4%bcond_without mysql # without MySQL support
abe10949 5%bcond_without sqlite # without sqlite
b2db97da 6%bcond_without whoson # without whoson support
ce4633e0 7%bcond_without sasl # without SASL
bcbbe38e 8%bcond_without ldap # without LDAP support
4acd3d45 9%bcond_without spf # without spf support
cf3f73d5 10%bcond_without srs # without srs support
b56ef289 11%bcond_without dynamic # dynamic modules
79697b11 12%bcond_without hiredis # without redis
f1095e43 13%bcond_with dsn # DSN
e42ab626 14#
d6eed07a 15Summary: University of Cambridge Mail Transfer Agent
9906dddb
ER
16Summary(pl.UTF-8): Agent Transferu Poczty Uniwersytetu w Cambridge
17Summary(pt_BR.UTF-8): Servidor de correio eletrônico exim
859700c9 18Name: exim
f1095e43
AM
19Version: 4.82
20Release: 1
5e2ead7f 21Epoch: 2
b870edc7 22License: GPL
e50559d6 23Group: Networking/Daemons/SMTP
d3697a6b 24Source0: ftp://ftp.exim.org/pub/exim/exim4/%{name}-%{version}.tar.bz2
f1095e43 25# Source0-md5: feb933baa4db773c2ef76b794c60b647
b4106aa6 26Source1: ftp://ftp.exim.org/pub/exim/exim4/%{name}-html-%{version}.tar.bz2
f1095e43 27# Source1-md5: 072326f172ddbda684ba5cc8bc85e0aa
066110a4 28Source2: %{name}.init
29Source3: %{name}.cron.db
88f45d21 30Source4: %{name}4.conf
859700c9 31Source5: analyse-log-errors
066110a4 32Source6: %{name}on.desktop
88f45d21 33# 20021016: http://www.logic.univie.ac.at/~ametzler/debian/exim4manpages/
0e6a6f9b 34Source7: %{name}4-man-021016.tar.bz2
00108711 35# Source7-md5: b552704ebf853a401946038a2b7e8e98
066110a4 36Source9: %{name}.aliases
3a772b92 37Source10: newaliases
0e6a6f9b 38Source11: %{name}.logrotate
0e6a6f9b 39Source12: %{name}.sysconfig
f1095e43
AM
40
41Source14: ftp://ftp.exim.org/pub/exim/exim4/old/config.samples.tar.bz2
9843e1e0 42# Source14-md5: 4b93321938a800caa6127c48ad60a42b
077cda1b 43Source15: %{name}4-smtp.pamd
ff7ae076 44Source16: %{name}on.png
88f45d21 45Patch0: %{name}4-EDITME.patch
46Patch1: %{name}4-monitor-EDITME.patch
ac65266c 47Patch2: %{name}4-cflags.patch
88f45d21 48Patch4: %{name}4-Makefile-Default.patch
6d9e2777
AM
49# http://marc.merlins.org/linux/exim/files/sa-exim-cvs/localscan_dlopen_exim_4.20_or_better.patch
50Patch5: localscan_dlopen_%{name}_4.20_or_better.patch
724809c7 51
a4a0cfb9 52# http://sourceforge.net/projects/eximdsn/
8b9018e8 53Patch7: %{name}_463_dsn_1_3.patch
76e38fe1 54Patch8: %{name}-spam-timeout.patch
e42ab626 55Patch9: exim-bug-659.patch
60791d8d 56Patch10: %{name}-force-sigalrm.patch
066110a4 57URL: http://www.exim.org/
82ad425e
ER
58%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0}
59BuildRequires: db-devel
79697b11 60%{?with_hiredis:BuildRequires: hiredis-devel}
eaeb5576
AM
61%{?with_spf:BuildRequires: libspf2-devel >= 1.2.5-2}
62%{?with_srs:BuildRequires: libsrs_alt-devel >= 1.0}
bcbbe38e 63%{?with_mysql:BuildRequires: mysql-devel}
1f87c676 64%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
a6ad4b14 65BuildRequires: openssl-devel >= 0.9.7d
d6eed07a
TP
66BuildRequires: pam-devel
67BuildRequires: pcre-devel
5b3e22ec 68BuildRequires: perl-devel >= 1:5.6.0
82ad425e 69%{?with_pgsql:BuildRequires: postgresql-devel}
85ea61b0 70BuildRequires: readline-devel
1f87c676 71BuildRequires: rpm >= 4.4.9-56
ed878c0a 72BuildRequires: rpmbuild(macros) >= 1.268
82ad425e 73%{?with_sqlite:BuildRequires: sqlite3-devel}
82ad425e 74%{?with_whoson:BuildRequires: whoson-devel}
1f87c676 75%if "%{pld_release}" != "ac"
36ff593d 76BuildRequires: xorg-lib-libX11-devel
204feb3d 77BuildRequires: xorg-lib-libXaw-devel
1f87c676
ER
78%else
79BuildRequires: XFree86-devel
80%endif
82ad425e
ER
81Requires(post): /bin/hostname
82Requires(post): fileutils
83Requires(post,preun): /sbin/chkconfig
84Requires(postun): /usr/sbin/groupdel
85Requires(postun): /usr/sbin/userdel
33a67372 86Requires(pre): /bin/id
87Requires(pre): /usr/bin/getgid
88Requires(pre): /usr/sbin/groupadd
89Requires(pre): /usr/sbin/useradd
618734e2 90Requires: findutils
f27a18bf 91Requires: pam >= 0.79.0
82ad425e 92Requires: rc-scripts
4ec4eeb4 93Requires: which
74d9646b 94Provides: group(exim)
55d7b250 95Provides: smtpdaemon
74d9646b 96Provides: user(exim)
88f45d21 97Obsoletes: smtpdaemon
bf677698 98Conflicts: logrotate < 3.8.3
b2db97da 99BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
f38f6b11 100
101%description
b870edc7 102Smail like Mail Transfer Agent with single configuration file.
103Features: flexible retry algorithms, header & envelope rewriting,
104multiple deliveries down single connection or multiple deliveries in
105parallel, regular expressions in configuration parameters, file
106lookups, supports sender and/or reciever verification, selective
107relaying, supports virtual domains, built-in mail filtering and can be
108configured to drop root privilleges when possible.
f38f6b11 109
f46cabaa 110%description -l pl.UTF-8
c130e36a 111Agent transferu poczty (MTA) z pojedynczym plikiem konfiguracyjnym.
f46cabaa
JR
112Jego zalety: świetne algorytmy, możliwość przepisywania nagłówków &
113koperty, wielokrotne dostarczanie poczty podczas jednego połączenia
114lub równoległe dostarczanie poczty, wyrażenia regularne w parametrach
b870edc7 115konfiguracyjnych, weryfikacja nadawcy i/lub odbiorcy, selektywne
f46cabaa
JR
116relayowanie, wsparcie dla wirtualnych domen, wbudowany system filtrów,
117możliwość odrzucania praw roota kiedy jest to możliwe.
c130e36a 118
f46cabaa
JR
119%description -l pt_BR.UTF-8
120O exim é um agente de transporte de correio eletrônico (MTA),
d0f0285c 121desenvolvido na Universidade de Cambridge para uso em sistemas Unix
122conectados a Internet. Similar em estilo ao smail 3, suas facilidades
f46cabaa
JR
123são mais extensivas e em particular ele tem opções para verificação do
124remetente e destinatário, para recusar mensagens de máquinas, redes ou
125remetentes específicos.
d0f0285c 126
f38f6b11 127%package X11
d0f0285c 128Summary: X11 based Exim administration tool
9906dddb
ER
129Summary(pl.UTF-8): Narzędzia administracyjne exima dla X11
130Summary(pt_BR.UTF-8): Monitor X11 para o exim
066110a4 131Group: X11/Applications
859700c9 132
f38f6b11 133%description X11
d0f0285c 134X11 based monitor & administration utility for the Exim Mail Transfer
135Agent.
f38f6b11 136
f46cabaa
JR
137%description X11 -l pl.UTF-8
138Bazujące na X11 narzędzia dla Exima - monitor i program
b870edc7 139administracyjny.
c130e36a 140
f46cabaa
JR
141%description X11 -l pt_BR.UTF-8
142O monitor exim é um suplemento opcional ao pacote exim. Ele mostra
143informações sobre o processamento do exim em uma janela X11. O
144administrador pode executar uma série de ações de controle a partir
d0f0285c 145desta interface.
146
6d9e2777 147%package devel
0ca73329 148Summary: Header files for Exim
9906dddb 149Summary(pl.UTF-8): Pliki nagłówkowe dla Exima
6d9e2777
AM
150Group: Development/Libraries
151Requires: %{name} = %{epoch}:%{version}-%{release}
152
153%description devel
0ca73329
JB
154Header files for Exim.
155
f46cabaa
JR
156%description devel -l pl.UTF-8
157Pliki nagłówkowe dla Exima.
6d9e2777 158
a4ef5176
AM
159%global dynamic_type yes
160%{?with_dynamic:%global dynamic_type 2}
161
f38f6b11 162%prep
01a20a09 163%setup -q -a1 -a7
489eca58 164%patch0 -p1
165%patch1 -p1
ac65266c 166%patch2 -p1
22442fbb 167%patch4 -p1
6d9e2777 168%patch5 -p1
724809c7 169
f1095e43 170%{?with_dsn:%patch7 -p1}
76e38fe1 171%patch8 -p1
2634bfff 172%patch9 -p2
60791d8d 173%patch10 -p1
489eca58 174
88f45d21 175install %{SOURCE14} doc/config.samples.tar.bz2
489eca58 176
b870edc7 177install -d Local
531d4f95
AM
178cat << 'EOF' >> Local/Makefile-Linux
179CC=%{__cc}
180CUSTOM_CFLAGS=%{rpmcppflags} %{rpmcflags}
181CFLAGS_DYNAMIC=-shared -rdynamic -fPIC %{rpmldflags}
182LOOKUP_CDB=yes
183XLFLAGS=-L%{_prefix}/X11R6/%{_lib}
184X11_LD_LIB=%{_prefix}/X11R6/%{_lib}
6ec5ee33 185%{?with_dynamic:LOOKUP_MODULE_DIR=%{_libdir}/%{name}/modules}
531d4f95 186SUPPORT_DSN=yes
79697b11
AM
187EXPERIMENTAL_DCC=yes
188EXPERIMENTAL_PRDR=yes
189EXPERIMENTAL_TPDA=yes
190EXPERIMENTAL_OCSP=yes
191%if %{with spf}
192EXPERIMENTAL_SPF=yes
193LOOKUP_LIBS+=-lspf2
194%endif
195%if %{with srs}
196EXPERIMENTAL_SRS=yes
197LOOKUP_LIBS+=-lsrs_alt
198%endif
199%if %{with hiredis}
200EXPERIMENTAL_REDIS=yes
201LOOKUP_LIBS+=-lhiredis
202%endif
531d4f95 203%if %{with mysql}
a4ef5176
AM
204LOOKUP_MYSQL=%{dynamic_type}
205# for dynamic
531d4f95
AM
206LOOKUP_MYSQL_INCLUDE=-I%{_includedir}/mysql
207LOOKUP_MYSQL_LIBS=-lmysqlclient
a4ef5176
AM
208# for static
209LOOKUP_INCLUDE+=-I%{_includedir}/mysql
210LOOKUP_LIBS+=-lmysqlclient
531d4f95
AM
211%endif
212%if %{with pgsql}
a4ef5176
AM
213LOOKUP_PGSQL=%{dynamic_type}
214# for dynamic
531d4f95
AM
215LOOKUP_PGSQL_INCLUDE=-I%{_includedir}/pgsql
216LOOKUP_PGSQL_LIBS=-lpq
a4ef5176
AM
217# for static
218LOOKUP_INCLUDE+=-I%{_includedir}/pgsql
219LOOKUP_LIBS+=-lpq
531d4f95
AM
220%endif
221%if %{with sqlite}
a4ef5176
AM
222LOOKUP_SQLITE=%{dynamic_type}
223# for dynamic
531d4f95 224LOOKUP_SQLITE_LIBS=-lsqlite3
a4ef5176
AM
225# for static
226LOOKUP_LIBS+=-lsqlite3
531d4f95
AM
227%endif
228%if %{with whoson}
a4ef5176
AM
229LOOKUP_WHOSON=%{dynamic_type}
230# for dynamic
531d4f95 231LOOKUP_WHOSON_LIBS=-lwhoson
a4ef5176
AM
232# for static
233LOOKUP_LIBS+=-lwhoson
531d4f95 234%endif
79697b11
AM
235%if %{with sasl}
236AUTH_CYRUS_SASL=yes
237LOOKUP_LIBS+=-lsasl2
238%endif
531d4f95 239%if %{with ldap}
a4ef5176 240LOOKUP_LDAP=%{dynamic_type}
531d4f95 241LDAP_LIB_TYPE=OPENLDAP2
a4ef5176
AM
242# for dynamic
243LOOKUP_LDAP_LIBS=-lldap -llber
244# for static
245LOOKUP_LIBS+=-lldap -llber
531d4f95 246%endif
531d4f95
AM
247EOF
248
249# have to be after Local/Makefile-Linux creation
4bf6fc61
JB
250cp -f src/EDITME Local/Makefile
251cp -f exim_monitor/EDITME Local/eximon.conf
f38f6b11 252
253%build
531d4f95
AM
254%{__make} -e -j1 \
255 FULLECHO=''
f38f6b11 256
257%install
b870edc7 258rm -rf $RPM_BUILD_ROOT
11db3d17 259install -d $RPM_BUILD_ROOT%{_sysconfdir}/mail
2dba4ae3 260install -d $RPM_BUILD_ROOT/etc/{cron.daily,logrotate.d,rc.d/init.d,sysconfig,pam.d,security}
28489cb1 261install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man8,/usr/lib}
4797292f 262install -d $RPM_BUILD_ROOT%{_var}/{spool/exim/{db,input,msglog},log/{archive,}/exim,mail}
b4106aa6 263install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
531d4f95 264install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/modules
066110a4 265
1e7de296 266install build-Linux-*/exim{,_fixdb,_tidydb,_dbmbuild,on.bin,_dumpdb,_lock} \
1e7de296 267 build-Linux-*/exi{cyclog,next,what} %{SOURCE10} \
88f45d21 268 build-Linux-*/{exigrep,eximstats,exiqsumm,convert4r4} \
269 util/unknownuser.sh \
066110a4 270 $RPM_BUILD_ROOT%{_bindir}
9db332a8
JB
271install build-Linux-*/eximon.bin $RPM_BUILD_ROOT%{_bindir}
272install build-Linux-*/eximon $RPM_BUILD_ROOT%{_bindir}
a4ef5176 273%{?with_dynamic:install build-Linux-*/*/*.so $RPM_BUILD_ROOT%{_libdir}/%{name}/modules}
066110a4 274
275install %{SOURCE5} .
e42ab626 276install %{SOURCE3} $RPM_BUILD_ROOT/etc/cron.daily
3a772b92 277install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
066110a4 278install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
3a772b92 279install %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
88f45d21 280install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mail/exim.conf
9db332a8 281install {doc,man}/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
066110a4 282install %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/mail/aliases
fa39e47a 283install %{SOURCE15} $RPM_BUILD_ROOT/etc/pam.d/smtp
187c8c8b 284
4bf6fc61 285ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/sendmail
28489cb1 286ln -sf %{_bindir}/exim $RPM_BUILD_ROOT/usr/lib/sendmail
4bf6fc61
JB
287ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/mailq
288ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/rsmtp
289ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/rmail
290ln -sf %{_bindir}/exim $RPM_BUILD_ROOT%{_sbindir}/runq
b870edc7 291
ff7ae076 292install %{SOURCE6} $RPM_BUILD_ROOT%{_desktopdir}
293install %{SOURCE16} $RPM_BUILD_ROOT%{_pixmapsdir}
187c8c8b 294
6d9e2777 295install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
b71250b4
SZ
296install src/{local_scan,store,mytypes}.h $RPM_BUILD_ROOT%{_includedir}/%{name}
297install build-Linux-*/config.h $RPM_BUILD_ROOT%{_includedir}/%{name}
6d9e2777 298
489eca58 299touch $RPM_BUILD_ROOT%{_var}/log/exim/{main,reject,panic,process}.log
187c8c8b 300
36310b55
JR
301touch $RPM_BUILD_ROOT/etc/security/blacklist.smtp
302
d387c64b
JB
303%clean
304rm -rf $RPM_BUILD_ROOT
305
0bbd4a49 306%pre
74a274d2
ER
307%groupadd -g 79 exim
308%useradd -u 79 -d /var/spool/exim -s /bin/false -c "Exim pseudo user" -g exim exim
0bbd4a49 309
859700c9 310%post
187c8c8b 311umask 022
5f92f1d0 312/sbin/chkconfig --add %{name}
ed878c0a 313%service %{name} restart "exim daemon"
187c8c8b
AM
314
315if [ ! -f /etc/mail/mailname ]; then
316 rm -f /etc/mail/mailname && hostname -f > /etc/mail/mailname
859700c9 317fi
187c8c8b 318newaliases
859700c9 319
320%preun
5f92f1d0 321if [ "$1" = "0" ]; then
ed878c0a 322 %service exim stop
5f92f1d0 323 /sbin/chkconfig --del %{name}
324fi
187c8c8b 325
3fdba252 326%postun
0bbd4a49 327if [ "$1" = "0" ]; then
74d9646b 328 %userremove exim
329 %groupremove exim
0bbd4a49 330fi
3fdba252 331
f38f6b11 332%files
859700c9 333%defattr(644,root,root,755)
00bddbb1 334%doc README* NOTICE LICENCE analyse-log-errors doc/{ChangeLog,NewStuff,dbm.discuss.txt,filter.txt,spec.txt,Exim*.upgrade,OptionLists.txt,experimental-spec.txt} build-Linux-*/transport-filter.pl
b4106aa6 335%doc exim-html-*/doc/html
5310bdd0 336%dir %{_sysconfdir}/mail
9db332a8 337%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/exim.conf
36ff593d
ER
338%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mail/aliases
339%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/exim
bfa1d1a0 340%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/exim
882e1157 341%attr(754,root,root) /etc/rc.d/init.d/exim
187c8c8b 342%attr(4755,root,root) %{_bindir}/exim
882e1157
JB
343%attr(770,root,exim) %dir %{_var}/spool/exim
344%attr(750,exim,exim) %dir %{_var}/spool/exim/db
345%attr(700,exim,root) %dir %{_var}/spool/exim/input
346%attr(750,exim,root) %dir %{_var}/spool/exim/msglog
347%attr(755,root,root) %{_bindir}/exim_*
348%attr(755,root,root) %{_bindir}/exinext
349%attr(755,root,root) %{_bindir}/exiwhat
350%attr(755,root,root) %{_bindir}/exicyclog
351%attr(755,root,root) %{_bindir}/exigrep
352%attr(755,root,root) %{_bindir}/eximstats
353%attr(755,root,root) %{_bindir}/exiqsumm
354%attr(755,root,root) %{_bindir}/unknownuser.sh
355%attr(755,root,root) %{_bindir}/newaliases
356%attr(755,root,root) %{_bindir}/convert4r4
c9e9e044 357%attr(755,root,root) %{_sbindir}/mailq
358%attr(755,root,root) %{_sbindir}/rmail
359%attr(755,root,root) %{_sbindir}/rsmtp
360%attr(755,root,root) %{_sbindir}/runq
361%attr(755,root,root) %{_sbindir}/sendmail
28489cb1 362%attr(755,root,root) /usr/lib/sendmail
e42ab626 363%attr(754,root,root) /etc/cron.daily/exim.cron.db
882e1157 364%attr(750,exim,root) %dir %{_var}/log/exim
40f3bcfe 365%attr(750,exim,root) %dir %{_var}/log/archive/exim
882e1157 366%attr(640,exim,root) %ghost %{_var}/log/exim/*
9db332a8 367%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/smtp
36310b55 368%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.smtp
a4ef5176 369%if %{with dynamic}
531d4f95
AM
370%dir %{_libdir}/%{name}
371%dir %{_libdir}/%{name}/modules
372%{?with_mysql:%attr(755,root,root) %{_libdir}/%{name}/modules/mysql.so}
373%{?with_pgsql:%attr(755,root,root) %{_libdir}/%{name}/modules/pgsql.so}
374%{?with_sqlite:%attr(755,root,root) %{_libdir}/%{name}/modules/sqlite.so}
375%{?with_whoson:%attr(755,root,root) %{_libdir}/%{name}/modules/whoson.so}
a4ef5176 376%endif
8d58ce27 377%{_mandir}/man8/*
859700c9 378
f38f6b11 379%files X11
b870edc7 380%defattr(644,root,root,755)
9db332a8
JB
381%attr(755,root,root) %{_bindir}/eximon
382%attr(755,root,root) %{_bindir}/eximon.bin
383%{_desktopdir}/eximon.desktop
384%{_pixmapsdir}/eximon.png
6d9e2777
AM
385
386%files devel
387%defattr(644,root,root,755)
388%{_includedir}/%{name}
This page took 0.228917 seconds and 4 git commands to generate.