]> git.pld-linux.org Git - packages/cyrus-imapd.git/blame - cyrus-imapd.spec
- add prepatch for shared patch to use make vars, which upstream hopefully will accept
[packages/cyrus-imapd.git] / cyrus-imapd.spec
CommitLineData
581ee888
ER
1# Conditional build:
2%bcond_without perl # build with perl
3%bcond_without shared # build with shared patch (not updated)
4
5%{?with_perl:%include /usr/lib/rpm/macros.perl}
65b36ab1 6Summary: High-performance mail store with IMAP and POP3
bdb0c67b
ER
7Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
8Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
1be9fbde 9Name: cyrus-imapd
42a44080
ER
10Version: 2.4.4
11Release: 0.1
06468c41 12License: BSD-like
65b36ab1 13Group: Networking/Daemons/POP3
42a44080
ER
14Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
15# Source0-md5: 9d6970cec96aa867e9ced3978caddb8f
1be9fbde
AF
16Source1: cyrus-README
17Source2: cyrus-procmailrc
18Source3: cyrus-deliver-wrapper.c
19Source4: cyrus-user-procmailrc.template
c2419b53 20Source5: %{name}-procmail+cyrus.mc
21Source6: %{name}.logrotate
22Source7: %{name}.conf
c2419b53 23Source9: %{name}.pamd
24Source10: %{name}-pop.pamd
25Source11: %{name}.init
26Source12: cyrus.conf
72073223 27Source13: cyrus-sync.init
abe5625f 28Patch0: %{name}-et.patch
42a44080 29# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3095
3beb582f 30Patch1: %{name}-shared.patch
42a44080 31# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3094
41a4d655 32Patch2: %{name}-verifydbver.patch
581ee888
ER
33Patch3: gcc44.patch
34Patch4: glibc.patch
e0d09ed7 35Patch6: makeopt.patch
42a44080 36URL: http://www.cyrusimap.org/
69c226d2 37BuildRequires: autoconf >= 2.54
1097b491 38BuildRequires: automake
812a9b8c 39BuildRequires: cyrus-sasl-devel >= 1.5.27
8a851b4f 40BuildRequires: db-devel >= 4.1.25
332c28a6 41BuildRequires: flex
c0ac4d51 42BuildRequires: libcom_err-devel >= 1.21
9db9f97b 43BuildRequires: libtool
f7a838f6 44BuildRequires: net-snmp-devel
ed3b9bc8 45BuildRequires: openssl-devel >= 0.9.7d
581ee888
ER
46%{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
47%{?with_perl:BuildRequires: rpm-perlprov}
df8a13f2
ER
48BuildRequires: rpmbuild(macros) >= 1.268
49Requires(post,preun): /sbin/chkconfig
50Requires(postun): /usr/sbin/userdel
ff3301e7 51Requires(pre): /bin/id
850e0d61 52Requires(pre): /usr/sbin/useradd
581ee888 53%{?with_shared:Requires: %{name}-libs = %{version}-%{release}}
cad0b248 54Requires: rc-scripts >= 0.4.0.18
581ee888 55%{!?with_shared:Obsoletes: %{name}-libs}
9b5ae120 56# needed by scripts from %{_bindir}
237fec00 57Requires: pam >= 0.79.0
581ee888 58%{?with_perl:Requires: perl-%{name} = %{version}-%{release}}
f5c1cf30
AF
59Provides: imapdaemon
60Provides: pop3daemon
ff3301e7 61Provides: user(cyrus)
9db9f97b
JB
62Obsoletes: imap
63Obsoletes: imapd
64Obsoletes: imapdaemon
65Obsoletes: pop3daemon
d0ca46fe
JB
66Conflicts: courier-imap
67Conflicts: courier-imap-common
68Conflicts: courier-imap-pop3
06468c41
JB
69Conflicts: imap
70Conflicts: imap-common
71Conflicts: imap-pop2
72Conflicts: imap-pop3
4dd0ee92 73Conflicts: qpopper
4dd0ee92 74Conflicts: qpopper6
06468c41 75Conflicts: solid-pop3d
d0ca46fe 76Conflicts: tpop3d
9db9f97b 77BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
1be9fbde 78
144454c2 79%define _libexecdir %{_libdir}/cyrus
f3b9d127 80
1be9fbde 81%description
cb1cf368 82The Cyrus IMAP server is a scalable enterprise mail system designed
948af35e 83for use from small to large enterprise environments using
1be9fbde
AF
84standards-based technologies.
85
86A full Cyrus IMAP implementation allows a seamless mail and bulletin
948af35e 87board environment to be set up across multiple servers. It differs
88from other IMAP server implementations in that it is run on "sealed"
1be9fbde
AF
89servers, where users are not normally permitted to log in. The mailbox
90database is stored in parts of the filesystem that are private to the
91Cyrus IMAP system. All user access to mail is through software using
92the IMAP, POP3, or KPOP protocols.
93
04d4eab0 94%description -l pl.UTF-8
948af35e 95Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
04d4eab0
JR
96przedsiębiorstwa, zaprojektowanym dla małych i dużych firm i
97wykorzystującym oparte na standardach technologie.
98
99Pełna implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
100środowiska poczty i elektronicznej tablicy ogłoszeniowej na kilku
101serwerach. Tym się różni od innych implementacji serwerów IMAP, że
102jest uruchamiany na "opieczętowanych" serwerach, na które w normalnych
103warunkach użytkownicy nie mogą się zalogować. Baza danych skrzynek
104pocztowych jest przechowywana w tych częściach systemu plików, które
105są dostępne jedynie dla systemu IMAP Cyrus. Wszelki dostęp do poczty
106ma miejsce poprzez oprogramowanie wykorzystujące protokoły IMAP, POP3
948af35e 107oraz KPOP.
108
04d4eab0
JR
109%description -l pt_BR.UTF-8
110O servidor IMAP Cyrus é um sistema de mail corporativo escalável
797aec93 111projetado para uso por pequenos a grandes ambientes corporativos
04d4eab0 112usando tecnologias baseadas em padrões abertos.
797aec93 113
04d4eab0
JR
114Uma implementação completa do Cyrus permite se configurar um ambiente
115transparente de mail e bulletin board entre múltiplos servidores. Ele
797aec93 116difere de outros servidores IMAP por rodar em servidores "selados",
04d4eab0
JR
117onde usuários não possuem normalmente a permissão de log in. O banco
118de dados de caixas de mail é armazenado em partes do sistema de
119arquivos que são privativos do sistema Cyrus. Todo o acesso de
120usuários aos mails se dá através de software usando os protocolos
797aec93 121IMAP, POP3 ou KPOP.
122
9db9f97b
JB
123%package libs
124Summary: Shared cyrus-imapd libraries
bdb0c67b 125Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
9db9f97b
JB
126Group: Libraries
127
128%description libs
129Shared cyrus-imapd libraries.
130
04d4eab0
JR
131%description libs -l pl.UTF-8
132Współdzielone biblioteki cyrus-imapd.
9db9f97b 133
26aa5f83 134%package devel
9db9f97b 135Summary: Header files for developing with cyrus-imapd libraries
bdb0c67b 136Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
26aa5f83 137Group: Development/Libraries
9db9f97b 138Requires: %{name}-libs = %{version}-%{release}
26aa5f83 139
140%description devel
9db9f97b
JB
141This package provides the necessary header files files to allow you to
142develop with cyrus-imapd libraries.
26aa5f83 143
04d4eab0
JR
144%description devel -l pl.UTF-8
145Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia
9db9f97b 146oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
26aa5f83 147
148%package static
149Summary: Static cyrus-imapd libraries
bdb0c67b 150Summary(pl.UTF-8): Biblioteki statyczne cyrus-imapd
26aa5f83 151Group: Development/Libraries
144454c2 152Requires: %{name}-devel = %{version}-%{release}
26aa5f83 153
154%description static
155Static cyrus-imapd libraries
156
04d4eab0 157%description static -l pl.UTF-8
26aa5f83 158Biblioteki statyczne cyrus-imapd
159
f7cc6fbe 160%package -n perl-%{name}
161Summary: Perl interface to cyrus-imapd library
bdb0c67b 162Summary(pl.UTF-8): Perlowy interfejs do biblioteki cyrus-imapd
f7cc6fbe 163Group: Development/Languages/Perl
9db9f97b 164Requires: %{name}-libs = %{version}-%{release}
f7cc6fbe 165
166%description -n perl-%{name}
167Perl interface to cyrus-imapd library.
168
04d4eab0 169%description -n perl-%{name} -l pl.UTF-8
f7cc6fbe 170Perlowy interfejs do biblioteki cyrus-imapd.
171
1be9fbde 172%prep
e846e561 173%setup -q
e0d09ed7 174%patch6 -p1
6920db12 175%patch0 -p1
e0d09ed7
ER
176%if %{with shared}
177lsdiff --strip 1 %{PATCH1} | xargs %{__sed} -i -e '
178 s/\.o/.lo/g
179 s/\.a/.la/g
180'
3beb582f 181%patch1 -p1
e0d09ed7 182%endif
41a4d655 183%patch2 -p1
581ee888
ER
184%patch3 -p1
185%patch4 -p1
144454c2
JB
186
187rm -rf autom4te.cache
3750750a 188
1be9fbde 189%build
1be9fbde 190cd makedepend
f53bf28b 191%{__libtoolize}
e25dce16 192%{__aclocal}
2fbf581c 193%{__autoconf}
f53bf28b 194cp -f %{_datadir}/automake/config.* .
e846e561 195%configure
07550cdb 196%{__make}
f53bf28b 197PATH=$PATH:$(pwd); export PATH
1be9fbde 198cd ..
9db9f97b 199%{__libtoolize}
e25dce16 200%{__aclocal} -I cmulocal
201%{__autoheader}
2fbf581c 202%{__autoconf}
e3159f00 203cp -f %{_datadir}/automake/config.* .
808aa207 204cp -f %{_datadir}/automake/install-sh .
f3b9d127 205%configure \
9d1481eb 206 --with-cyrus-prefix=%{_libexecdir} \
144454c2 207 --with-service-path=%{_libexecdir} \
573b6024 208 --with-com_err=/usr \
581ee888 209 --%{!?with_perl:without-perl}%{?with_perl:with-perl=%{__perl}} \
41a4d655 210 --without-libwrap \
ad180cab
ER
211 --enable-nntp \
212 --enable-replication
008c7a6d 213%{__make} -j1 \
3beb582f
AF
214 INSTALLDIRS=vendor \
215 VERSION=%{version}
1be9fbde 216
4dd0ee92 217%{__cc} %{rpmcflags} \
1097b491 218 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
1be9fbde
AF
219
220%install
f3b9d127 221rm -rf $RPM_BUILD_ROOT
f3b9d127
AF
222install -d \
223 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
6cd9161b 224 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
f3b9d127 225 $RPM_BUILD_ROOT/var/spool/imap/stage. \
758683a1 226 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
c2419b53 227 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
6920db12 228
e5822417
JR
229touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
230 $RPM_BUILD_ROOT/var/lib/imap/faillog \
84577b34 231 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
e5f127bb 232 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
f3b9d127 233
573b6024 234%{__make} install \
235 DESTDIR=$RPM_BUILD_ROOT \
ea5bd6ff
ER
236 CYRUS_USER=%(id -u) \
237 CYRUS_GROUP=%(id -g) \
573b6024 238 INSTALLDIRS=vendor
f3b9d127 239
3c6d33dc 240install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
f3b9d127 241
3750750a 242install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
c2419b53 243install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
244install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
c2419b53 245install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
246install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
c38a6f02 247sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
72073223 248sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
c2419b53 249install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
1be9fbde 250
3750750a 251mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
baa6c6f4 252mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
c38a6f02 253rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
3c6d33dc 254
e5f127bb 255touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
1be9fbde 256
f3b9d127 257# make hashed dirs
581ee888 258for i in $(%{__perl} -le 'print for "a".."z"'); do
c38a6f02
ER
259 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
260 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
261 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
262 install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
610cc4ce 263done
1be9fbde 264
581ee888
ER
265%if %{with perl}
266find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
267rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
268%endif
269
c0ac4d51
JB
270%clean
271rm -rf $RPM_BUILD_ROOT
272
a2e343ee 273%pre
8cb0dfcd 274%useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
a2e343ee 275
1be9fbde 276%post
e5822417 277touch /var/lib/imap/faillog
67fb57cd 278chown cyrus:mail /var/lib/imap/faillog
e5822417 279chmod 640 /var/lib/imap/faillog
e5822417 280cd /var/lib/imap
ff3301e7 281chattr +S . user quota user/* quota/* 2>/dev/null ||:
282chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
8ad6112d
ER
283
284/sbin/chkconfig --add cyrus-imapd
c38a6f02 285%service cyrus-imapd restart "cyrus imap daemon"
72073223 286%service cyrus-sync restart "cyrus replication service"
c2419b53 287
288%preun
e2f602fa 289if [ "$1" = "0" ]; then
df8a13f2 290 %service cyrus-imapd stop
72073223 291 %service cyrus-sync stop
e2f602fa 292 /sbin/chkconfig --del cyrus-imapd
72073223 293 /sbin/chkconfig --del cyrus-sync
e2f602fa 294fi
c2419b53 295
a2e343ee 296%postun
297if [ "$1" = "0" ]; then
ff3301e7 298 %userremove cyrus
a2e343ee 299fi
300
9db9f97b
JB
301%post libs -p /sbin/ldconfig
302%postun libs -p /sbin/ldconfig
303
f3b9d127
AF
304%files
305%defattr(644,root,root,755)
1097b491 306%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
8a851b4f 307%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
41919aea
ER
308%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
309%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
310%attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
311%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
b5845dff 312%attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
72073223 313%attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
c2419b53 314%attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
c2419b53 315%attr(755,root,root) %{_bindir}/*
c38a6f02 316%dir %{_libexecdir}
3750750a 317%attr(4754,cyrus,mail) %{_libexecdir}/deliver
f3b9d127 318%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
c648b02a 319%attr(755,root,root) %{_libexecdir}/arbitron
144454c2 320%attr(755,root,root) %{_libexecdir}/chk_cyrus
070fb878 321%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
c2419b53 322%attr(755,root,root) %{_libexecdir}/ctl_deliver
323%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
8a851b4f 324%attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
070fb878 325%attr(755,root,root) %{_libexecdir}/cyr_dbtool
3beb582f 326%attr(755,root,root) %{_libexecdir}/cyr_df
070fb878 327%attr(755,root,root) %{_libexecdir}/cyr_expire
42a44080 328%attr(755,root,root) %{_libexecdir}/cyr_sequence
3beb582f 329%attr(755,root,root) %{_libexecdir}/cyr_synclog
42a44080 330%attr(755,root,root) %{_libexecdir}/cyr_userseen
3beb582f 331%attr(755,root,root) %{_libexecdir}/cyrdump
144454c2 332%attr(755,root,root) %{_libexecdir}/cyrus-master
070fb878 333%attr(755,root,root) %{_libexecdir}/fetchnews
c2419b53 334%attr(755,root,root) %{_libexecdir}/fud
335%attr(755,root,root) %{_libexecdir}/imapd
336%attr(755,root,root) %{_libexecdir}/ipurge
337%attr(755,root,root) %{_libexecdir}/lmtpd
070fb878 338%attr(755,root,root) %{_libexecdir}/lmtpproxyd
808aa207 339%attr(755,root,root) %{_libexecdir}/mbexamine
c2419b53 340%attr(755,root,root) %{_libexecdir}/mbpath
070fb878 341%attr(755,root,root) %{_libexecdir}/nntpd
144454c2 342%attr(755,root,root) %{_libexecdir}/notifyd
c2419b53 343%attr(755,root,root) %{_libexecdir}/pop3d
144454c2 344%attr(755,root,root) %{_libexecdir}/pop3proxyd
070fb878 345%attr(755,root,root) %{_libexecdir}/proxyd
c2419b53 346%attr(755,root,root) %{_libexecdir}/quota
347%attr(755,root,root) %{_libexecdir}/reconstruct
144454c2 348%attr(755,root,root) %{_libexecdir}/sievec
3beb582f 349%attr(755,root,root) %{_libexecdir}/sieved
144454c2
JB
350%attr(755,root,root) %{_libexecdir}/smmapd
351%attr(755,root,root) %{_libexecdir}/squatter
3beb582f
AF
352%attr(755,root,root) %{_libexecdir}/sync_client
353%attr(755,root,root) %{_libexecdir}/sync_reset
354%attr(755,root,root) %{_libexecdir}/sync_server
c2419b53 355%attr(755,root,root) %{_libexecdir}/timsieved
144454c2 356%attr(755,root,root) %{_libexecdir}/tls_prune
070fb878
AF
357%attr(755,root,root) %{_libexecdir}/unexpunge
358
c2419b53 359%attr(750,cyrus,mail) /var/spool/imap
360%attr(750,cyrus,mail) %dir /var/lib/imap
758683a1 361%attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
362%attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
363%attr(750,cyrus,mail) /var/lib/imap/quota
364%attr(750,cyrus,mail) /var/lib/imap/user
365%attr(750,cyrus,mail) /var/lib/imap/sieve
366%attr(750,cyrus,mail) /var/lib/imap/log
367%attr(750,cyrus,mail) /var/lib/imap/msg
368%attr(750,cyrus,mail) /var/lib/imap/proc
369%attr(750,cyrus,mail) /var/lib/imap/db
370%attr(750,cyrus,mail) /var/lib/imap/socket
41919aea 371%attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
f3b9d127 372
1be9fbde 373%{_mandir}/man*/*
26aa5f83 374
581ee888 375%if %{with shared}
9db9f97b
JB
376%files libs
377%defattr(644,root,root,755)
3beb582f
AF
378%attr(755,root,root) %{_libdir}/libcyrus-%{version}.so
379%attr(755,root,root) %{_libdir}/libcyrus_min-%{version}.so
581ee888 380%endif
9db9f97b 381
26aa5f83 382%files devel
383%defattr(644,root,root,755)
581ee888
ER
384%{_includedir}/cyrus
385%if %{with shared}
ddff1f48
ER
386%attr(755,root,root) %{_libdir}/libcyrus.so
387%attr(755,root,root) %{_libdir}/libcyrus_min.so
388%{_libdir}/libcyrus.la
389%{_libdir}/libcyrus_min.la
26aa5f83 390
391%files static
392%defattr(644,root,root,755)
581ee888 393%endif
ddff1f48
ER
394%{_libdir}/libcyrus.a
395%{_libdir}/libcyrus_min.a
f7cc6fbe 396
581ee888 397%if %{with perl}
f7cc6fbe 398%files -n perl-%{name}
399%defattr(644,root,root,755)
573b6024 400%{perl_vendorarch}/Cyrus
808aa207
JB
401%dir %{perl_vendorarch}/auto/Cyrus
402%dir %{perl_vendorarch}/auto/Cyrus/IMAP
403%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
404%{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
405%dir %{perl_vendorarch}/auto/Cyrus/SIEVE
406%dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
407%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
408%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
581ee888 409%endif
This page took 0.129543 seconds and 4 git commands to generate.