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 # http://www.imasy.or.jp/~ume/ipv6/cyrus-imapd-2.0.12-ipv6-20010321.diff.gz
27 Patch4: %{name}-ipv6.patch
28 URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
30 # make et_compile from e2progs-devel work and change this buildconflicts
32 BuildConflicts: e2fsprogs-devel
33 BuildRequires: cyrus-sasl-devel >= 1.5.27
34 BuildRequires: openssl-devel >= 0.9.6a
35 BuildRequires: perl >= 5.6.1
36 BuildRequires: db3-devel >= 3.1.17
40 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42 Conflicts: solid-pop3d
48 %define _libexecdir %{_prefix}/lib/cyrus
51 The Cyrus IMAP server is a scaleable enterprise mail system designed
52 for use from small to large enterprise environments using
53 standards-based technologies.
55 A full Cyrus IMAP implementation allows a seamless mail and bulletin
56 board environment to be set up across multiple servers. It differs
57 from other IMAP server implementations in that it is run on "sealed"
58 servers, where users are not normally permitted to log in. The mailbox
59 database is stored in parts of the filesystem that are private to the
60 Cyrus IMAP system. All user access to mail is through software using
61 the IMAP, POP3, or KPOP protocols.
63 Note that this package can be used by ISPs and other to provide mail
64 services, but it may not be distributed as part of a commercial
68 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
69 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
70 wykorzystuj±cym oparte na standardach technologie.
72 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
73 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
74 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
75 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
76 waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
77 pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które
78 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
79 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
82 Nale¿y zwróciæ uwagê na fakt, ¿e pakiet ten mo¿e byæ wykorzystywany
83 przez ISP, nie mo¿e byæ jednak rozpowszechniany jako czê¶æ
84 komercyjnego produktu.
99 export PATH=$PATH:`pwd`
106 --with-cyrus-prefix=%{_libexecdir}
109 %{__cc} %{rpmcflags} \
110 -DLIBEXECDIR=\"%{_libexecdir}\" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
113 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