1 %include /usr/lib/rpm/macros.perl
2 Summary: high-performance mail store with imap and pop3
6 License: academic/research
7 Group: Networking/Daemons
8 Group(de): Netzwerkwesen/Server
9 Group(pl): Sieciowe/Serwery
10 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
12 Source2: cyrus-procmailrc
13 Source3: cyrus-deliver-wrapper.c
14 Source4: cyrus-user-procmailrc.template
15 Source5: %{name}-procmail+cyrus.mc
16 Source6: %{name}.logrotate
19 Source10: %{name}-pop.pamd
20 Source11: %{name}.init
22 Patch0: %{name}-snmp.patch
23 Patch1: %{name}-mandir.patch
24 Patch2: %{name}-paths.patch
25 Patch3: %{name}-overquota.patch
26 URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
28 BuildRequires: cyrus-sasl-devel
29 #BuildRequires: tcl-devel >= 8.0
30 BuildRequires: openssl-devel
31 BuildRequires: perl >= 5.6.0
32 BuildRequires: db3-devel >= 3.1.17
37 Conflicts: solid-pop3d
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %define _libexecdir %{_prefix}/lib/cyrus
46 The Cyrus IMAP server is a scaleable enterprise mail system designed
47 for use from small to large enterprise environments using
48 standards-based technologies.
50 A full Cyrus IMAP implementation allows a seamless mail and bulletin
51 board environment to be set up across multiple servers. It differs
52 from other IMAP server implementations in that it is run on "sealed"
53 servers, where users are not normally permitted to log in. The mailbox
54 database is stored in parts of the filesystem that are private to the
55 Cyrus IMAP system. All user access to mail is through software using
56 the IMAP, POP3, or KPOP protocols.
58 Note that this package can be used by ISPs and other to provide mail
59 services, but it may not be distributed as part of a commercial
63 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
64 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
65 wykorzystuj±cym oparte na standardach technologie.
67 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
68 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
69 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
70 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
71 waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
72 pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które
73 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
74 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
77 Nale¿y zwróciæ uwagê na fakt, ¿e pakiet ten mo¿e byæ wykorzystywany
78 przez ISP, nie mo¿e byæ jednak rozpowszechniany jako czê¶æ
79 komercyjnego produktu.
93 export PATH=$PATH:`pwd`
100 --with-cyrus-prefix=%{_libexecdir}
103 %{__cc} %{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS} \
104 -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
107 rm -rf $RPM_BUILD_ROOT
110 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
111 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
112 $RPM_BUILD_ROOT/var/spool/imap/stage. \
113 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
114 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
116 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
117 $RPM_BUILD_ROOT/var/lib/imap/faillog \
118 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
119 $RPM_BUILD_ROOT/etc/security/blacklist.pop
121 %{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
123 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
125 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
126 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
127 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
128 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
129 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
130 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
131 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
133 mv -f $RPM_BUILD_ROOT%{_libexecdir}/bin/* $RPM_BUILD_ROOT%{_libexecdir}
134 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
135 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
136 rm -rf $RPM_BUILD_ROOT%{_libexecdir}/bin
138 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
140 gzip -9nf cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template \
141 cyrus-imapd-procmail+cyrus.mc
145 cd $RPM_BUILD_ROOT/var
147 foreach \$i ("a".."z")
149 mkdir "lib/imap/user/\$i", 0755;
150 mkdir "lib/imap/quota/\$i", 0755;
151 mkdir "lib/imap/sieve/\$i", 0755;
152 mkdir "spool/imap/\$i", 0755;
158 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
159 /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
163 /sbin/chkconfig --add cyrus-imapd
164 touch /var/lib/imap/faillog
165 chown cyrus.mail /var/lib/imap/faillog
166 chmod 640 /var/lib/imap/faillog
168 chattr +S . user quota user/* quota/* 2>/dev/null
169 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
170 if [ -f /var/lock/subsys/cyrus-imapd ]; then
171 /etc/rc.d/init.d/cyrus-imapd restart 1>&2
173 echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
177 if [ "$1" = "0" ]; then
178 if [ -f /var/lock/subsys/cyrus-imapd ]; then
179 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
181 /sbin/chkconfig --del cyrus-imapd
185 if [ "$1" = "0" ]; then
186 /usr/sbin/userdel cyrus
190 rm -rf $RPM_BUILD_ROOT
193 %defattr(644,root,root,755)
195 %config %{_sysconfdir}/*.conf
196 %attr(640,root,root) /etc/logrotate.d/cyrus-imapd
197 %attr(440,cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
198 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.*
199 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
200 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
201 %attr(755,root,root) %{_bindir}/*
202 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
203 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
204 %attr(755,root,root) %{_libexecdir}/ctl_deliver
205 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
206 %attr(755,root,root) %{_libexecdir}/feedcyrus
207 %attr(755,root,root) %{_libexecdir}/fud
208 %attr(755,root,root) %{_libexecdir}/imapd
209 %attr(755,root,root) %{_libexecdir}/ipurge
210 %attr(755,root,root) %{_libexecdir}/lmtpd
211 %attr(755,root,root) %{_libexecdir}/cyrus-master
212 %attr(755,root,root) %{_libexecdir}/mbpath
213 %attr(755,root,root) %{_libexecdir}/pop3d
214 %attr(755,root,root) %{_libexecdir}/quota
215 %attr(755,root,root) %{_libexecdir}/reconstruct
216 %attr(755,root,root) %{_libexecdir}/timsieved
218 %dir %{perl_sitearch}/Cyrus
219 %{perl_sitearch}/Cyrus/*.pm
220 %dir %{perl_sitearch}/Cyrus/IMAP
221 %{perl_sitearch}/Cyrus/IMAP/*.pm
222 %dir %{perl_sitearch}/Cyrus/SIEVE
223 %{perl_sitearch}/Cyrus/SIEVE/*.pm
224 %dir %{perl_sitearch}/auto/Cyrus
225 %dir %{perl_sitearch}/auto/Cyrus/IMAP
226 %{perl_sitearch}/auto/Cyrus/IMAP/*.so
227 %{perl_sitearch}/auto/Cyrus/IMAP/*.bs
228 %dir %{perl_sitearch}/auto/Cyrus/SIEVE
229 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/acap
230 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.so
231 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.bs
232 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve
233 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.so
234 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.bs
236 %attr(750,cyrus,mail) /var/spool/imap
237 %attr(750,cyrus,mail) %dir /var/lib/imap
238 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
239 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
240 %attr(750,cyrus,mail) /var/lib/imap/quota
241 %attr(750,cyrus,mail) /var/lib/imap/user
242 %attr(750,cyrus,mail) /var/lib/imap/sieve
243 %attr(750,cyrus,mail) /var/lib/imap/log
244 %attr(750,cyrus,mail) /var/lib/imap/msg
245 %attr(750,cyrus,mail) /var/lib/imap/proc
246 %attr(750,cyrus,mail) /var/lib/imap/db
247 %attr(750,cyrus,mail) /var/lib/imap/socket
248 %attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes