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
20 Source10: %{name}-pop.pamd
21 Source11: %{name}.init
23 Patch0: %{name}-snmp.patch
24 Patch1: %{name}-mandir.patch
25 Patch2: %{name}-paths.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.
92 export PATH=$PATH:`pwd`
99 --with-cyrus-prefix=%{_libexecdir}
102 %{__cc} "%{?debug:-O -g}%{!?debug:$RPM_OPT_FLAGS}" \
103 -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
106 rm -rf $RPM_BUILD_ROOT
109 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
110 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,cron.daily,sysconfig/rc-inetd} \
111 $RPM_BUILD_ROOT/var/spool/imap/stage. \
112 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
113 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
115 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
116 $RPM_BUILD_ROOT/var/lib/imap/faillog \
117 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
118 $RPM_BUILD_ROOT/etc/security/blacklist.pop
120 %{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
122 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
124 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
125 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
126 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
127 install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
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 rm -rf $RPM_BUILD_ROOT%{_libexecdir}/bin
137 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
139 gzip -9nf cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template \
140 cyrus-imapd-procmail+cyrus.mc
144 cd $RPM_BUILD_ROOT/var
146 foreach \$i ("a".."z")
148 mkdir "lib/imap/user/\$i", 0755;
149 mkdir "lib/imap/quota/\$i", 0755;
150 mkdir "lib/imap/sieve/\$i", 0755;
151 mkdir "spool/imap/\$i", 0755;
157 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
158 /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
162 /sbin/chkconfig --add cyrus-imapd
163 touch /var/lib/imap/faillog
164 chown cyrus.mail /var/lib/imap/faillog
165 chmod 640 /var/lib/imap/faillog
167 chattr +S . user quota user/* quota/* 2>/dev/null
168 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
169 if [ -f /var/lock/subsys/cyrus-imapd ]; then
170 /etc/rc.d/init.d/cyrus-imapd restart 1>&2
172 echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
176 if [ "$1" = "0" ]; then
177 if [ -f /var/lock/subsys/cyrus-imapd ]; then
178 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
180 /sbin/chkconfig --del cyrus-imapd
184 if [ "$1" = "0" ]; then
185 /usr/sbin/userdel cyrus
189 rm -rf $RPM_BUILD_ROOT
192 %defattr(644,root,root,755)
194 %config %{_sysconfdir}/*.conf
195 %attr(640,root,root) /etc/logrotate.d/cyrus-imapd
196 %attr(440,cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
197 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.*
198 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
199 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
200 %attr(755,root,root) /etc/cron.daily/cyrus-imapd
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