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 Patch4: %{name}-cvs20010425.patch
27 #Patch5: http://www.imasy.or.jp/~ume/ipv6/cyrus-imapd-2.0.12-ipv6-20010321.diff.gz
28 Patch5: %{name}-ipv6.patch
29 URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
31 BuildRequires: cyrus-sasl-devel
32 #BuildRequires: tcl-devel >= 8.0
33 BuildRequires: openssl-devel
34 BuildRequires: perl >= 5.6.1
35 BuildRequires: db3-devel >= 3.1.17
40 Conflicts: solid-pop3d
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 %define _libexecdir %{_prefix}/lib/cyrus
49 The Cyrus IMAP server is a scaleable enterprise mail system designed
50 for use from small to large enterprise environments using
51 standards-based technologies.
53 A full Cyrus IMAP implementation allows a seamless mail and bulletin
54 board environment to be set up across multiple servers. It differs
55 from other IMAP server implementations in that it is run on "sealed"
56 servers, where users are not normally permitted to log in. The mailbox
57 database is stored in parts of the filesystem that are private to the
58 Cyrus IMAP system. All user access to mail is through software using
59 the IMAP, POP3, or KPOP protocols.
61 Note that this package can be used by ISPs and other to provide mail
62 services, but it may not be distributed as part of a commercial
66 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
67 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
68 wykorzystuj±cym oparte na standardach technologie.
70 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
71 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
72 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
73 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
74 waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
75 pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które
76 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
77 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
80 Nale¿y zwróciæ uwagê na fakt, ¿e pakiet ten mo¿e byæ wykorzystywany
81 przez ISP, nie mo¿e byæ jednak rozpowszechniany jako czê¶æ
82 komercyjnego produktu.
98 export PATH=$PATH:`pwd`
105 --with-cyrus-prefix=%{_libexecdir}
108 %{__cc} %{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS} \
109 -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
112 rm -rf $RPM_BUILD_ROOT
115 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
116 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
117 $RPM_BUILD_ROOT/var/spool/imap/stage. \
118 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
119 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
121 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
122 $RPM_BUILD_ROOT/var/lib/imap/faillog \
123 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
124 $RPM_BUILD_ROOT/etc/security/blacklist.pop
126 %{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
128 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
130 install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
131 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
132 install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
133 install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
134 install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
135 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
136 install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
138 mv -f $RPM_BUILD_ROOT%{_libexecdir}/bin/* $RPM_BUILD_ROOT%{_libexecdir}
139 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
140 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
141 rm -rf $RPM_BUILD_ROOT%{_libexecdir}/bin
143 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
145 gzip -9nf cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template \
146 cyrus-imapd-procmail+cyrus.mc
150 cd $RPM_BUILD_ROOT/var
152 foreach \$i ("a".."z")
154 mkdir "lib/imap/user/\$i", 0755;
155 mkdir "lib/imap/quota/\$i", 0755;
156 mkdir "lib/imap/sieve/\$i", 0755;
157 mkdir "spool/imap/\$i", 0755;
163 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
164 /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
168 /sbin/chkconfig --add cyrus-imapd
169 touch /var/lib/imap/faillog
170 chown cyrus.mail /var/lib/imap/faillog
171 chmod 640 /var/lib/imap/faillog
173 chattr +S . user quota user/* quota/* 2>/dev/null
174 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
175 if [ -f /var/lock/subsys/cyrus-imapd ]; then
176 /etc/rc.d/init.d/cyrus-imapd restart 1>&2
178 echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
182 if [ "$1" = "0" ]; then
183 if [ -f /var/lock/subsys/cyrus-imapd ]; then
184 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
186 /sbin/chkconfig --del cyrus-imapd
190 if [ "$1" = "0" ]; then
191 /usr/sbin/userdel cyrus
195 rm -rf $RPM_BUILD_ROOT
198 %defattr(644,root,root,755)
200 %config %{_sysconfdir}/*.conf
201 %attr(640,root,root) /etc/logrotate.d/cyrus-imapd
202 %attr(440,cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
203 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/security/blacklist.*
204 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
205 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
206 %attr(755,root,root) %{_bindir}/*
207 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
208 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
209 %attr(755,root,root) %{_libexecdir}/ctl_deliver
210 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
211 %attr(755,root,root) %{_libexecdir}/feedcyrus
212 %attr(755,root,root) %{_libexecdir}/fud
213 %attr(755,root,root) %{_libexecdir}/imapd
214 %attr(755,root,root) %{_libexecdir}/ipurge
215 %attr(755,root,root) %{_libexecdir}/lmtpd
216 %attr(755,root,root) %{_libexecdir}/cyrus-master
217 %attr(755,root,root) %{_libexecdir}/mbpath
218 %attr(755,root,root) %{_libexecdir}/pop3d
219 %attr(755,root,root) %{_libexecdir}/quota
220 %attr(755,root,root) %{_libexecdir}/reconstruct
221 %attr(755,root,root) %{_libexecdir}/timsieved
223 %dir %{perl_sitearch}/Cyrus
224 %{perl_sitearch}/Cyrus/*.pm
225 %dir %{perl_sitearch}/Cyrus/IMAP
226 %{perl_sitearch}/Cyrus/IMAP/*.pm
227 %dir %{perl_sitearch}/Cyrus/SIEVE
228 %{perl_sitearch}/Cyrus/SIEVE/*.pm
229 %dir %{perl_sitearch}/auto/Cyrus
230 %dir %{perl_sitearch}/auto/Cyrus/IMAP
231 %{perl_sitearch}/auto/Cyrus/IMAP/*.so
232 %{perl_sitearch}/auto/Cyrus/IMAP/*.bs
233 %dir %{perl_sitearch}/auto/Cyrus/SIEVE
234 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/acap
235 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.so
236 %{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.bs
237 %dir %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve
238 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.so
239 %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.bs
241 %attr(750,cyrus,mail) /var/spool/imap
242 %attr(750,cyrus,mail) %dir /var/lib/imap
243 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
244 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
245 %attr(750,cyrus,mail) /var/lib/imap/quota
246 %attr(750,cyrus,mail) /var/lib/imap/user
247 %attr(750,cyrus,mail) /var/lib/imap/sieve
248 %attr(750,cyrus,mail) /var/lib/imap/log
249 %attr(750,cyrus,mail) /var/lib/imap/msg
250 %attr(750,cyrus,mail) /var/lib/imap/proc
251 %attr(750,cyrus,mail) /var/lib/imap/db
252 %attr(750,cyrus,mail) /var/lib/imap/socket
253 %attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes