3 # - fix path in .init for lib64
5 %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
14 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
15 # Source0-md5: 113433c1fdc777e3b0466b5ce643b8bc
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 Patch1: %{name}-shared.patch
30 URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
31 BuildRequires: autoconf >= 2.54
32 BuildRequires: automake
33 BuildRequires: cyrus-sasl-devel >= 1.5.27
34 BuildRequires: db-devel >= 4.1.25
36 BuildRequires: libcom_err-devel >= 1.21
37 BuildRequires: libtool
38 BuildRequires: net-snmp-devel
39 BuildRequires: openssl-devel >= 0.9.7d
40 BuildRequires: perl-devel >= 1:5.8.0
41 BuildRequires: rpm-perlprov
42 BuildRequires: rpmbuild(macros) >= 1.268
43 Requires(post,preun): /sbin/chkconfig
44 Requires(postun): /usr/sbin/userdel
45 Requires(pre): /bin/id
46 Requires(pre): /usr/sbin/useradd
47 Requires: %{name}-libs = %{version}-%{release}
49 # needed by scripts from %{_bindir}
50 Requires: pam >= 0.79.0
51 Requires: perl-%{name} = %{version}-%{release}
59 Conflicts: courier-imap
60 Conflicts: courier-imap-common
61 Conflicts: courier-imap-pop3
63 Conflicts: imap-common
68 Conflicts: solid-pop3d
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72 %define _libexecdir %{_libdir}/cyrus
75 The Cyrus IMAP server is a scalable enterprise mail system designed
76 for use from small to large enterprise environments using
77 standards-based technologies.
79 A full Cyrus IMAP implementation allows a seamless mail and bulletin
80 board environment to be set up across multiple servers. It differs
81 from other IMAP server implementations in that it is run on "sealed"
82 servers, where users are not normally permitted to log in. The mailbox
83 database is stored in parts of the filesystem that are private to the
84 Cyrus IMAP system. All user access to mail is through software using
85 the IMAP, POP3, or KPOP protocols.
87 %description -l pl.UTF-8
88 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
89 przedsiębiorstwa, zaprojektowanym dla małych i dużych firm i
90 wykorzystującym oparte na standardach technologie.
92 Pełna implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
93 środowiska poczty i elektronicznej tablicy ogłoszeniowej na kilku
94 serwerach. Tym się różni od innych implementacji serwerów IMAP, że
95 jest uruchamiany na "opieczętowanych" serwerach, na które w normalnych
96 warunkach użytkownicy nie mogą się zalogować. Baza danych skrzynek
97 pocztowych jest przechowywana w tych częściach systemu plików, które
98 są dostępne jedynie dla systemu IMAP Cyrus. Wszelki dostęp do poczty
99 ma miejsce poprzez oprogramowanie wykorzystujące protokoły IMAP, POP3
102 %description -l pt_BR.UTF-8
103 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
104 projetado para uso por pequenos a grandes ambientes corporativos
105 usando tecnologias baseadas em padrões abertos.
107 Uma implementação completa do Cyrus permite se configurar um ambiente
108 transparente de mail e bulletin board entre múltiplos servidores. Ele
109 difere de outros servidores IMAP por rodar em servidores "selados",
110 onde usuários não possuem normalmente a permissão de log in. O banco
111 de dados de caixas de mail é armazenado em partes do sistema de
112 arquivos que são privativos do sistema Cyrus. Todo o acesso de
113 usuários aos mails se dá através de software usando os protocolos
117 Summary: Shared cyrus-imapd libraries
118 Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
122 Shared cyrus-imapd libraries.
124 %description libs -l pl.UTF-8
125 Współdzielone biblioteki cyrus-imapd.
128 Summary: Header files for developing with cyrus-imapd libraries
129 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
130 Group: Development/Libraries
131 Requires: %{name}-libs = %{version}-%{release}
134 This package provides the necessary header files files to allow you to
135 develop with cyrus-imapd libraries.
137 %description devel -l pl.UTF-8
138 Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia
139 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
142 Summary: Static cyrus-imapd libraries
143 Summary(pl.UTF-8): Biblioteki statyczne cyrus-imapd
144 Group: Development/Libraries
145 Requires: %{name}-devel = %{version}-%{release}
148 Static cyrus-imapd libraries
150 %description static -l pl.UTF-8
151 Biblioteki statyczne cyrus-imapd
153 %package -n perl-%{name}
154 Summary: Perl interface to cyrus-imapd library
155 Summary(pl.UTF-8): Perlowy interfejs do biblioteki cyrus-imapd
156 Group: Development/Languages/Perl
157 Requires: %{name}-libs = %{version}-%{release}
159 %description -n perl-%{name}
160 Perl interface to cyrus-imapd library.
162 %description -n perl-%{name} -l pl.UTF-8
163 Perlowy interfejs do biblioteki cyrus-imapd.
170 rm -rf autom4te.cache
178 PATH=$PATH:`pwd`; export PATH
181 %{__aclocal} -I cmulocal
184 cp -f %{_datadir}/automake/config.* .
185 cp -f %{_datadir}/automake/install-sh .
189 --with-cyrus-prefix=%{_libexecdir} \
190 --with-service-path=%{_libexecdir} \
191 --with-com_err=/usr \
192 --with-perl=%{__perl} \
198 %{__cc} %{rpmcflags} \
199 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
202 rm -rf $RPM_BUILD_ROOT
204 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
205 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
206 $RPM_BUILD_ROOT/var/spool/imap/stage. \
207 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
208 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
210 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
211 $RPM_BUILD_ROOT/var/lib/imap/faillog \
212 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
213 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
216 DESTDIR=$RPM_BUILD_ROOT \
217 CYRUS_USER="`id -u`" \
218 CYRUS_GROUP="`id -g`" \
221 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
223 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
224 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
225 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
226 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
227 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
228 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
229 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
230 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
232 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
233 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
234 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
235 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
237 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
239 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
242 for i in `%{__perl} -le 'print for "a".."z"'`; do
243 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
244 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
245 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
246 install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
250 rm -rf $RPM_BUILD_ROOT
253 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
256 touch /var/lib/imap/faillog
257 chown cyrus:mail /var/lib/imap/faillog
258 chmod 640 /var/lib/imap/faillog
260 chattr +S . user quota user/* quota/* 2>/dev/null ||:
261 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
263 /sbin/chkconfig --add cyrus-imapd
264 %service cyrus-imapd restart "cyrus imap daemon"
265 %service cyrus-sync restart "cyrus replication service"
268 if [ "$1" = "0" ]; then
269 %service cyrus-imapd stop
270 %service cyrus-sync stop
271 /sbin/chkconfig --del cyrus-imapd
272 /sbin/chkconfig --del cyrus-sync
276 if [ "$1" = "0" ]; then
280 %post libs -p /sbin/ldconfig
281 %postun libs -p /sbin/ldconfig
284 %defattr(644,root,root,755)
285 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
286 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
287 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
288 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
289 %attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
290 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
291 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
292 %attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
293 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
294 %attr(755,root,root) %{_bindir}/*
296 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
297 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
298 %attr(755,root,root) %{_libexecdir}/arbitron
299 %attr(755,root,root) %{_libexecdir}/chk_cyrus
300 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
301 %attr(755,root,root) %{_libexecdir}/ctl_deliver
302 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
303 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
304 %attr(755,root,root) %{_libexecdir}/cyr_dbtool
305 %attr(755,root,root) %{_libexecdir}/cyrdump
306 %attr(755,root,root) %{_libexecdir}/cyr_expire
307 %attr(755,root,root) %{_libexecdir}/cyrus-master
308 %attr(755,root,root) %{_libexecdir}/fetchnews
309 %attr(755,root,root) %{_libexecdir}/fud
310 %attr(755,root,root) %{_libexecdir}/imapd
311 %attr(755,root,root) %{_libexecdir}/ipurge
312 %attr(755,root,root) %{_libexecdir}/lmtpd
313 %attr(755,root,root) %{_libexecdir}/lmtpproxyd
314 %attr(755,root,root) %{_libexecdir}/make_md5
315 %attr(755,root,root) %{_libexecdir}/sync_client
316 %attr(755,root,root) %{_libexecdir}/sync_reset
317 %attr(755,root,root) %{_libexecdir}/sync_server
318 %attr(755,root,root) %{_libexecdir}/mbexamine
319 %attr(755,root,root) %{_libexecdir}/mbpath
320 %attr(755,root,root) %{_libexecdir}/nntpd
321 %attr(755,root,root) %{_libexecdir}/notifyd
322 %attr(755,root,root) %{_libexecdir}/pop3d
323 %attr(755,root,root) %{_libexecdir}/pop3proxyd
324 %attr(755,root,root) %{_libexecdir}/proxyd
325 %attr(755,root,root) %{_libexecdir}/quota
326 %attr(755,root,root) %{_libexecdir}/reconstruct
327 %attr(755,root,root) %{_libexecdir}/sievec
328 %attr(755,root,root) %{_libexecdir}/smmapd
329 %attr(755,root,root) %{_libexecdir}/squatter
330 %attr(755,root,root) %{_libexecdir}/timsieved
331 %attr(755,root,root) %{_libexecdir}/tls_prune
332 %attr(755,root,root) %{_libexecdir}/unexpunge
335 %attr(750,cyrus,mail) /var/spool/imap
336 %attr(750,cyrus,mail) %dir /var/lib/imap
337 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
338 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
339 %attr(750,cyrus,mail) /var/lib/imap/quota
340 %attr(750,cyrus,mail) /var/lib/imap/user
341 %attr(750,cyrus,mail) /var/lib/imap/sieve
342 %attr(750,cyrus,mail) /var/lib/imap/log
343 %attr(750,cyrus,mail) /var/lib/imap/msg
344 %attr(750,cyrus,mail) /var/lib/imap/proc
345 %attr(750,cyrus,mail) /var/lib/imap/db
346 %attr(750,cyrus,mail) /var/lib/imap/socket
347 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
356 %defattr(644,root,root,755)
357 %attr(755,root,root) %{_libdir}/lib*.so
362 %defattr(644,root,root,755)
365 %files -n perl-%{name}
366 %defattr(644,root,root,755)
367 %{perl_vendorarch}/Cyrus
368 %dir %{perl_vendorarch}/auto/Cyrus
369 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
370 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
371 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
372 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
373 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
374 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
375 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs