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