3 # /usr/lib/cyrus/cyr_synclog
4 # /usr/lib/cyrus/make_sha1
5 # /usr/lib/cyrus/sieved
8 %bcond_without perl # build with perl
9 %bcond_without shared # build with shared patch (not updated)
11 %{?with_perl:%include /usr/lib/rpm/macros.perl}
12 Summary: High-performance mail store with IMAP and POP3
13 Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
14 Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
19 Group: Networking/Daemons/POP3
20 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
21 # Source0-md5: 1030d4d9d04036b2fb9830165723908e
23 Source2: cyrus-procmailrc
24 Source3: cyrus-deliver-wrapper.c
25 Source4: cyrus-user-procmailrc.template
26 Source5: %{name}-procmail+cyrus.mc
27 Source6: %{name}.logrotate
30 Source10: %{name}-pop.pamd
31 Source11: %{name}.init
33 Source13: cyrus-sync.init
34 Patch0: %{name}-et.patch
35 # https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3095
36 #Patch1: %{name}-shared.patch
37 # https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3094
38 Patch2: %{name}-verifydbver.patch
41 URL: http://cyrusimap.web.cmu.edu/imapd/
42 BuildRequires: autoconf >= 2.54
43 BuildRequires: automake
44 BuildRequires: cyrus-sasl-devel >= 1.5.27
45 BuildRequires: db-devel >= 4.1.25
47 BuildRequires: libcom_err-devel >= 1.21
48 BuildRequires: libtool
49 BuildRequires: net-snmp-devel
50 BuildRequires: openssl-devel >= 0.9.7d
51 %{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
52 %{?with_perl:BuildRequires: rpm-perlprov}
53 BuildRequires: rpmbuild(macros) >= 1.268
54 Requires(post,preun): /sbin/chkconfig
55 Requires(postun): /usr/sbin/userdel
56 Requires(pre): /bin/id
57 Requires(pre): /usr/sbin/useradd
58 %{?with_shared:Requires: %{name}-libs = %{version}-%{release}}
59 Requires: rc-scripts >= 0.4.0.18
60 %{!?with_shared:Obsoletes: %{name}-libs}
61 # needed by scripts from %{_bindir}
62 Requires: pam >= 0.79.0
63 %{?with_perl:Requires: perl-%{name} = %{version}-%{release}}
71 Conflicts: courier-imap
72 Conflicts: courier-imap-common
73 Conflicts: courier-imap-pop3
75 Conflicts: imap-common
80 Conflicts: solid-pop3d
82 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
84 %define _libexecdir %{_libdir}/cyrus
87 The Cyrus IMAP server is a scalable enterprise mail system designed
88 for use from small to large enterprise environments using
89 standards-based technologies.
91 A full Cyrus IMAP implementation allows a seamless mail and bulletin
92 board environment to be set up across multiple servers. It differs
93 from other IMAP server implementations in that it is run on "sealed"
94 servers, where users are not normally permitted to log in. The mailbox
95 database is stored in parts of the filesystem that are private to the
96 Cyrus IMAP system. All user access to mail is through software using
97 the IMAP, POP3, or KPOP protocols.
99 %description -l pl.UTF-8
100 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
101 przedsiębiorstwa, zaprojektowanym dla małych i dużych firm i
102 wykorzystującym oparte na standardach technologie.
104 Pełna implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
105 środowiska poczty i elektronicznej tablicy ogłoszeniowej na kilku
106 serwerach. Tym się różni od innych implementacji serwerów IMAP, że
107 jest uruchamiany na "opieczętowanych" serwerach, na które w normalnych
108 warunkach użytkownicy nie mogą się zalogować. Baza danych skrzynek
109 pocztowych jest przechowywana w tych częściach systemu plików, które
110 są dostępne jedynie dla systemu IMAP Cyrus. Wszelki dostęp do poczty
111 ma miejsce poprzez oprogramowanie wykorzystujące protokoły IMAP, POP3
114 %description -l pt_BR.UTF-8
115 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
116 projetado para uso por pequenos a grandes ambientes corporativos
117 usando tecnologias baseadas em padrões abertos.
119 Uma implementação completa do Cyrus permite se configurar um ambiente
120 transparente de mail e bulletin board entre múltiplos servidores. Ele
121 difere de outros servidores IMAP por rodar em servidores "selados",
122 onde usuários não possuem normalmente a permissão de log in. O banco
123 de dados de caixas de mail é armazenado em partes do sistema de
124 arquivos que são privativos do sistema Cyrus. Todo o acesso de
125 usuários aos mails se dá através de software usando os protocolos
129 Summary: Shared cyrus-imapd libraries
130 Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
134 Shared cyrus-imapd libraries.
136 %description libs -l pl.UTF-8
137 Współdzielone biblioteki cyrus-imapd.
140 Summary: Header files for developing with cyrus-imapd libraries
141 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
142 Group: Development/Libraries
143 Requires: %{name}-libs = %{version}-%{release}
146 This package provides the necessary header files files to allow you to
147 develop with cyrus-imapd libraries.
149 %description devel -l pl.UTF-8
150 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia
151 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
154 Summary: Static cyrus-imapd libraries
155 Summary(pl.UTF-8): Biblioteki statyczne cyrus-imapd
156 Group: Development/Libraries
157 Requires: %{name}-devel = %{version}-%{release}
160 Static cyrus-imapd libraries
162 %description static -l pl.UTF-8
163 Biblioteki statyczne cyrus-imapd
165 %package -n perl-%{name}
166 Summary: Perl interface to cyrus-imapd library
167 Summary(pl.UTF-8): Perlowy interfejs do biblioteki cyrus-imapd
168 Group: Development/Languages/Perl
169 Requires: %{name}-libs = %{version}-%{release}
171 %description -n perl-%{name}
172 Perl interface to cyrus-imapd library.
174 %description -n perl-%{name} -l pl.UTF-8
175 Perlowy interfejs do biblioteki cyrus-imapd.
185 rm -rf autom4te.cache
192 cp -f %{_datadir}/automake/config.* .
195 PATH=$PATH:$(pwd); export PATH
198 %{__aclocal} -I cmulocal
201 cp -f %{_datadir}/automake/config.* .
202 cp -f %{_datadir}/automake/install-sh .
204 --with-cyrus-prefix=%{_libexecdir} \
205 --with-service-path=%{_libexecdir} \
206 --with-com_err=/usr \
207 --%{!?with_perl:without-perl}%{?with_perl:with-perl=%{__perl}} \
214 %{__cc} %{rpmcflags} \
215 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
218 rm -rf $RPM_BUILD_ROOT
220 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
221 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
222 $RPM_BUILD_ROOT/var/spool/imap/stage. \
223 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
224 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
226 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
227 $RPM_BUILD_ROOT/var/lib/imap/faillog \
228 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
229 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
232 DESTDIR=$RPM_BUILD_ROOT \
233 CYRUS_USER=%(id -u) \
234 CYRUS_GROUP=%(id -g) \
237 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
239 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
240 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
241 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
242 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
243 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
244 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
245 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
246 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
248 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
249 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
250 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
252 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
255 for i in $(%{__perl} -le 'print for "a".."z"'); do
256 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
257 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
258 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
259 install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
263 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
264 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
268 rm -rf $RPM_BUILD_ROOT
271 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
274 touch /var/lib/imap/faillog
275 chown cyrus:mail /var/lib/imap/faillog
276 chmod 640 /var/lib/imap/faillog
278 chattr +S . user quota user/* quota/* 2>/dev/null ||:
279 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
281 /sbin/chkconfig --add cyrus-imapd
282 %service cyrus-imapd restart "cyrus imap daemon"
283 %service cyrus-sync restart "cyrus replication service"
286 if [ "$1" = "0" ]; then
287 %service cyrus-imapd stop
288 %service cyrus-sync stop
289 /sbin/chkconfig --del cyrus-imapd
290 /sbin/chkconfig --del cyrus-sync
294 if [ "$1" = "0" ]; then
298 %post libs -p /sbin/ldconfig
299 %postun libs -p /sbin/ldconfig
302 %defattr(644,root,root,755)
303 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
304 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
305 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
306 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
307 %attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
308 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
309 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
310 %attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
311 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
312 %attr(755,root,root) %{_bindir}/*
314 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
315 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
316 %attr(755,root,root) %{_libexecdir}/arbitron
317 %attr(755,root,root) %{_libexecdir}/chk_cyrus
318 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
319 %attr(755,root,root) %{_libexecdir}/ctl_deliver
320 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
321 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
322 %attr(755,root,root) %{_libexecdir}/cyr_dbtool
323 %attr(755,root,root) %{_libexecdir}/cyrdump
324 %attr(755,root,root) %{_libexecdir}/cyr_expire
325 %attr(755,root,root) %{_libexecdir}/cyrus-master
326 %attr(755,root,root) %{_libexecdir}/fetchnews
327 %attr(755,root,root) %{_libexecdir}/fud
328 %attr(755,root,root) %{_libexecdir}/imapd
329 %attr(755,root,root) %{_libexecdir}/ipurge
330 %attr(755,root,root) %{_libexecdir}/lmtpd
331 %attr(755,root,root) %{_libexecdir}/lmtpproxyd
332 %attr(755,root,root) %{_libexecdir}/make_md5
333 %attr(755,root,root) %{_libexecdir}/sync_client
334 %attr(755,root,root) %{_libexecdir}/sync_reset
335 %attr(755,root,root) %{_libexecdir}/sync_server
336 %attr(755,root,root) %{_libexecdir}/mbexamine
337 %attr(755,root,root) %{_libexecdir}/mbpath
338 %attr(755,root,root) %{_libexecdir}/nntpd
339 %attr(755,root,root) %{_libexecdir}/notifyd
340 %attr(755,root,root) %{_libexecdir}/pop3d
341 %attr(755,root,root) %{_libexecdir}/pop3proxyd
342 %attr(755,root,root) %{_libexecdir}/proxyd
343 %attr(755,root,root) %{_libexecdir}/quota
344 %attr(755,root,root) %{_libexecdir}/reconstruct
345 %attr(755,root,root) %{_libexecdir}/sievec
346 %attr(755,root,root) %{_libexecdir}/smmapd
347 %attr(755,root,root) %{_libexecdir}/squatter
348 %attr(755,root,root) %{_libexecdir}/timsieved
349 %attr(755,root,root) %{_libexecdir}/tls_prune
350 %attr(755,root,root) %{_libexecdir}/unexpunge
353 %attr(750,cyrus,mail) /var/spool/imap
354 %attr(750,cyrus,mail) %dir /var/lib/imap
355 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
356 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
357 %attr(750,cyrus,mail) /var/lib/imap/quota
358 %attr(750,cyrus,mail) /var/lib/imap/user
359 %attr(750,cyrus,mail) /var/lib/imap/sieve
360 %attr(750,cyrus,mail) /var/lib/imap/log
361 %attr(750,cyrus,mail) /var/lib/imap/msg
362 %attr(750,cyrus,mail) /var/lib/imap/proc
363 %attr(750,cyrus,mail) /var/lib/imap/db
364 %attr(750,cyrus,mail) /var/lib/imap/socket
365 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{_libdir}/libcyrus.so.*.*.*
373 %attr(755,root,root) %{_libdir}/libcyrus_min.so.*.*.*
374 %attr(755,root,root) %ghost %{_libdir}/libcyrus.so.0
375 %attr(755,root,root) %ghost %{_libdir}/libcyrus_min.so.0
379 %defattr(644,root,root,755)
382 %attr(755,root,root) %{_libdir}/libcyrus.so
383 %attr(755,root,root) %{_libdir}/libcyrus_min.so
384 %{_libdir}/libcyrus.la
385 %{_libdir}/libcyrus_min.la
388 %defattr(644,root,root,755)
390 %{_libdir}/libcyrus.a
391 %{_libdir}/libcyrus_min.a
394 %files -n perl-%{name}
395 %defattr(644,root,root,755)
396 %{perl_vendorarch}/Cyrus
397 %dir %{perl_vendorarch}/auto/Cyrus
398 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
399 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
400 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
401 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
402 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
403 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
404 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs