2 %bcond_without perl # build with perl
3 %bcond_without shared # build with shared patch (not updated)
5 %{?with_perl:%include /usr/lib/rpm/macros.perl}
6 Summary: High-performance mail store with IMAP and POP3
7 Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
8 Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
13 Group: Networking/Daemons/POP3
14 Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
15 # Source0-md5: 9d6970cec96aa867e9ced3978caddb8f
17 Source2: cyrus-procmailrc
18 Source3: cyrus-deliver-wrapper.c
19 Source4: cyrus-user-procmailrc.template
20 Source5: %{name}-procmail+cyrus.mc
21 Source6: %{name}.logrotate
24 Source10: %{name}-pop.pamd
25 Source11: %{name}.init
27 Source13: cyrus-sync.init
28 Patch0: %{name}-et.patch
29 # http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3095
30 Patch1: %{name}-shared.patch
31 # http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3094
32 Patch2: %{name}-verifydbver.patch
36 URL: http://www.cyrusimap.org/
37 BuildRequires: autoconf >= 2.54
38 BuildRequires: automake
39 BuildRequires: cyrus-sasl-devel >= 1.5.27
40 BuildRequires: db-devel >= 4.1.25
42 BuildRequires: libcom_err-devel >= 1.21
43 BuildRequires: libtool
44 BuildRequires: net-snmp-devel
45 BuildRequires: openssl-devel >= 0.9.7d
46 %{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
47 %{?with_perl:BuildRequires: rpm-perlprov}
48 BuildRequires: rpmbuild(macros) >= 1.268
49 Requires(post,preun): /sbin/chkconfig
50 Requires(postun): /usr/sbin/userdel
51 Requires(pre): /bin/id
52 Requires(pre): /usr/sbin/useradd
53 %{?with_shared:Requires: %{name}-libs = %{version}-%{release}}
54 Requires: rc-scripts >= 0.4.0.18
55 %{!?with_shared:Obsoletes: %{name}-libs}
56 # needed by scripts from %{_bindir}
57 Requires: pam >= 0.79.0
58 %{?with_perl:Requires: perl-%{name} = %{version}-%{release}}
66 Conflicts: courier-imap
67 Conflicts: courier-imap-common
68 Conflicts: courier-imap-pop3
70 Conflicts: imap-common
75 Conflicts: solid-pop3d
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 %define _libexecdir %{_libdir}/cyrus
82 The Cyrus IMAP server is a scalable enterprise mail system designed
83 for use from small to large enterprise environments using
84 standards-based technologies.
86 A full Cyrus IMAP implementation allows a seamless mail and bulletin
87 board environment to be set up across multiple servers. It differs
88 from other IMAP server implementations in that it is run on "sealed"
89 servers, where users are not normally permitted to log in. The mailbox
90 database is stored in parts of the filesystem that are private to the
91 Cyrus IMAP system. All user access to mail is through software using
92 the IMAP, POP3, or KPOP protocols.
94 %description -l pl.UTF-8
95 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
96 przedsiębiorstwa, zaprojektowanym dla małych i dużych firm i
97 wykorzystującym oparte na standardach technologie.
99 Pełna implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
100 środowiska poczty i elektronicznej tablicy ogłoszeniowej na kilku
101 serwerach. Tym się różni od innych implementacji serwerów IMAP, że
102 jest uruchamiany na "opieczętowanych" serwerach, na które w normalnych
103 warunkach użytkownicy nie mogą się zalogować. Baza danych skrzynek
104 pocztowych jest przechowywana w tych częściach systemu plików, które
105 są dostępne jedynie dla systemu IMAP Cyrus. Wszelki dostęp do poczty
106 ma miejsce poprzez oprogramowanie wykorzystujące protokoły IMAP, POP3
109 %description -l pt_BR.UTF-8
110 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
111 projetado para uso por pequenos a grandes ambientes corporativos
112 usando tecnologias baseadas em padrões abertos.
114 Uma implementação completa do Cyrus permite se configurar um ambiente
115 transparente de mail e bulletin board entre múltiplos servidores. Ele
116 difere de outros servidores IMAP por rodar em servidores "selados",
117 onde usuários não possuem normalmente a permissão de log in. O banco
118 de dados de caixas de mail é armazenado em partes do sistema de
119 arquivos que são privativos do sistema Cyrus. Todo o acesso de
120 usuários aos mails se dá através de software usando os protocolos
124 Summary: Shared cyrus-imapd libraries
125 Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
129 Shared cyrus-imapd libraries.
131 %description libs -l pl.UTF-8
132 Współdzielone biblioteki cyrus-imapd.
135 Summary: Header files for developing with cyrus-imapd libraries
136 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
137 Group: Development/Libraries
138 Requires: %{name}-libs = %{version}-%{release}
141 This package provides the necessary header files files to allow you to
142 develop with cyrus-imapd libraries.
144 %description devel -l pl.UTF-8
145 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia
146 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
149 Summary: Static cyrus-imapd libraries
150 Summary(pl.UTF-8): Biblioteki statyczne cyrus-imapd
151 Group: Development/Libraries
152 Requires: %{name}-devel = %{version}-%{release}
155 Static cyrus-imapd libraries
157 %description static -l pl.UTF-8
158 Biblioteki statyczne cyrus-imapd
160 %package -n perl-%{name}
161 Summary: Perl interface to cyrus-imapd library
162 Summary(pl.UTF-8): Perlowy interfejs do biblioteki cyrus-imapd
163 Group: Development/Languages/Perl
164 Requires: %{name}-libs = %{version}-%{release}
166 %description -n perl-%{name}
167 Perl interface to cyrus-imapd library.
169 %description -n perl-%{name} -l pl.UTF-8
170 Perlowy interfejs do biblioteki cyrus-imapd.
177 lsdiff --strip 1 %{PATCH1} | xargs %{__sed} -i -e '
187 rm -rf autom4te.cache
194 cp -f %{_datadir}/automake/config.* .
197 PATH=$PATH:$(pwd); export PATH
200 %{__aclocal} -I cmulocal
203 cp -f %{_datadir}/automake/config.* .
204 cp -f %{_datadir}/automake/install-sh .
206 --with-cyrus-prefix=%{_libexecdir} \
207 --with-service-path=%{_libexecdir} \
208 --with-com_err=/usr \
209 --%{!?with_perl:without-perl}%{?with_perl:with-perl=%{__perl}} \
217 %{__cc} %{rpmcflags} \
218 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
221 rm -rf $RPM_BUILD_ROOT
223 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
224 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
225 $RPM_BUILD_ROOT/var/spool/imap/stage. \
226 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
227 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
229 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
230 $RPM_BUILD_ROOT/var/lib/imap/faillog \
231 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
232 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
235 DESTDIR=$RPM_BUILD_ROOT \
236 CYRUS_USER=%(id -u) \
237 CYRUS_GROUP=%(id -g) \
240 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
242 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
243 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
244 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
245 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
246 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
247 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
248 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
249 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
251 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
252 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
253 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
255 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
258 for i in $(%{__perl} -le 'print for "a".."z"'); do
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
266 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
267 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
271 rm -rf $RPM_BUILD_ROOT
274 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
277 touch /var/lib/imap/faillog
278 chown cyrus:mail /var/lib/imap/faillog
279 chmod 640 /var/lib/imap/faillog
281 chattr +S . user quota user/* quota/* 2>/dev/null ||:
282 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
284 /sbin/chkconfig --add cyrus-imapd
285 %service cyrus-imapd restart "cyrus imap daemon"
286 %service cyrus-sync restart "cyrus replication service"
289 if [ "$1" = "0" ]; then
290 %service cyrus-imapd stop
291 %service cyrus-sync stop
292 /sbin/chkconfig --del cyrus-imapd
293 /sbin/chkconfig --del cyrus-sync
297 if [ "$1" = "0" ]; then
301 %post libs -p /sbin/ldconfig
302 %postun libs -p /sbin/ldconfig
305 %defattr(644,root,root,755)
306 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
307 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
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.*
312 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
313 %attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
314 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
315 %attr(755,root,root) %{_bindir}/*
317 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
318 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
319 %attr(755,root,root) %{_libexecdir}/arbitron
320 %attr(755,root,root) %{_libexecdir}/chk_cyrus
321 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
322 %attr(755,root,root) %{_libexecdir}/ctl_deliver
323 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
324 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
325 %attr(755,root,root) %{_libexecdir}/cyr_dbtool
326 %attr(755,root,root) %{_libexecdir}/cyr_df
327 %attr(755,root,root) %{_libexecdir}/cyr_expire
328 %attr(755,root,root) %{_libexecdir}/cyr_sequence
329 %attr(755,root,root) %{_libexecdir}/cyr_synclog
330 %attr(755,root,root) %{_libexecdir}/cyr_userseen
331 %attr(755,root,root) %{_libexecdir}/cyrdump
332 %attr(755,root,root) %{_libexecdir}/cyrus-master
333 %attr(755,root,root) %{_libexecdir}/fetchnews
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
338 %attr(755,root,root) %{_libexecdir}/lmtpproxyd
339 %attr(755,root,root) %{_libexecdir}/mbexamine
340 %attr(755,root,root) %{_libexecdir}/mbpath
341 %attr(755,root,root) %{_libexecdir}/nntpd
342 %attr(755,root,root) %{_libexecdir}/notifyd
343 %attr(755,root,root) %{_libexecdir}/pop3d
344 %attr(755,root,root) %{_libexecdir}/pop3proxyd
345 %attr(755,root,root) %{_libexecdir}/proxyd
346 %attr(755,root,root) %{_libexecdir}/quota
347 %attr(755,root,root) %{_libexecdir}/reconstruct
348 %attr(755,root,root) %{_libexecdir}/sievec
349 %attr(755,root,root) %{_libexecdir}/sieved
350 %attr(755,root,root) %{_libexecdir}/smmapd
351 %attr(755,root,root) %{_libexecdir}/squatter
352 %attr(755,root,root) %{_libexecdir}/sync_client
353 %attr(755,root,root) %{_libexecdir}/sync_reset
354 %attr(755,root,root) %{_libexecdir}/sync_server
355 %attr(755,root,root) %{_libexecdir}/timsieved
356 %attr(755,root,root) %{_libexecdir}/tls_prune
357 %attr(755,root,root) %{_libexecdir}/unexpunge
359 %attr(750,cyrus,mail) /var/spool/imap
360 %attr(750,cyrus,mail) %dir /var/lib/imap
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
371 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/libcyrus-%{version}.so
379 %attr(755,root,root) %{_libdir}/libcyrus_min-%{version}.so
383 %defattr(644,root,root,755)
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
392 %defattr(644,root,root,755)
394 %{_libdir}/libcyrus.a
395 %{_libdir}/libcyrus_min.a
398 %files -n perl-%{name}
399 %defattr(644,root,root,755)
400 %{perl_vendorarch}/Cyrus
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