1 Summary: high-performance mail store with imap and pop3
5 Copyright: academic/research
6 Group: Networking/Daemons
7 Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
9 Source2: cyrus-procmailrc
10 Source3: cyrus-deliver-wrapper.c
11 Source4: cyrus-user-procmailrc.template
12 Source5: cyrus-imapd-procmail+cyrus.mc
13 Source6: cyrus-imapd.logrotate
14 Source7: cyrus-imapd.conf
15 Source8: cyrus-imapd.cron
16 Source9: cyrus-imapd.inetd
17 Source10: cyrus-imapd-pop3.inetd
18 Source11: cyrus-imapd.pamd
19 Source12: cyrus-imapd-pop.pamd
20 URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/
22 BuildRequires: cyrus-sasl-devel
23 BuildRequires: tcl-devel >= 8.0
24 BuildRequires: openssl-devel
29 Conflicts: solid-pop3d
33 Buildroot: /tmp/%{name}-%{version}-root
35 %define _libexecdir %{_prefix}/lib/cyrus
38 The Cyrus IMAP server is a scaleable enterprise mail system
39 designed for use from small to large enterprise environments using
40 standards-based technologies.
42 A full Cyrus IMAP implementation allows a seamless mail and bulletin
43 board environment to be set up across multiple servers. It differs from
44 other IMAP server implementations in that it is run on "sealed"
45 servers, where users are not normally permitted to log in. The mailbox
46 database is stored in parts of the filesystem that are private to the
47 Cyrus IMAP system. All user access to mail is through software using
48 the IMAP, POP3, or KPOP protocols.
50 Note that this package can be used by ISPs and other to provide mail
51 services, but it may not be distributed as part of a commercial product.
53 %define version %{PACKAGE_VERSION}
56 rm -rf $RPM_BUILD_ROOT
62 # prepare a makedepend
67 export PATH=$PATH:`pwd`
74 gcc $RPM_OPT_FLAGS -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
77 rm -rf $RPM_BUILD_ROOT
78 #install -d $RPM_BUILD_ROOT/usr/cyrus/etc
80 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
81 $RPM_BUILD_ROOT/etc/{logrotate.d,cron.daily,sysconfig/rc-inetd} \
82 $RPM_BUILD_ROOT/var/spool/imap/stage. \
83 $RPM_BUILD_ROOT/var/state/imap/{user,quota,proc,log,msg,deliverdb,sieve} \
84 $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf
85 touch $RPM_BUILD_ROOT/var/state/imap/mailboxes
88 make install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`"
90 #mkdir -p $RPM_BUILD_ROOT/usr/cyrus/bin
91 #install -g mail -m 2755 -s deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
92 install deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
95 install %{SOURCE2} $RPM_BUILD_ROOT/etc/procmailrc.cyrus
96 #install %{SOURCE4} $RPM_BUILD_ROOT/usr/cyrus/etc/user-procmailrc.template
97 install %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf/procmail+cyrus.mc
98 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
99 install %{SOURCE7} $RPM_BUILD_ROOT/etc/imapd.conf
100 install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
101 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/imapd
102 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/pop3d
103 install %{SOURCE11} $RPM_BUILD_ROOT/etc/pam.d/imap
104 install %{SOURCE12} $RPM_BUILD_ROOT/etc/pam.d/pop
106 mv $RPM_BUILD_ROOT/usr/cyrus/bin/* $RPM_BUILD_ROOT%{_libexecdir}
107 mv $RPM_BUILD_ROOT/usr/man/* $RPM_BUILD_ROOT%{_mandir}
109 gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man*/* \
113 cd $RPM_BUILD_ROOT/var
115 foreach \$i ("a".."z")
117 mkdir "state/imap/user/\$i", 0755;
118 mkdir "state/imap/quota/\$i", 0755;
119 mkdir "state/imap/sieve/\$i", 0755;
120 mkdir "spool/imap/\$i", 0755;
125 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
126 /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
127 if [ -f /var/db/passwd.db ]; then
128 /usr/bin/update-db 1>&2
133 if [ -f /var/lock/subsys/rc-inetd ]; then
134 /etc/rc.d/init.d/rc-inetd reload 1>&2
136 echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet sever" 1>&2
140 # force synchronous updates
142 chattr +S . user quota 2>/dev/null
143 chattr +S /var/spool/imap 2>/dev/null
146 if [ -f /var/lock/subsys/rc-inetd ]; then
147 /etc/rc.d/init.d/rc-inetd reload 1>&2
149 if [ "$1" = "0" ]; then
150 if [ -n "`id -u cyrus 2>/dev/null`" ]; then
151 /usr/sbin/userdel cyrus 1>&2
158 rm -rf $RPM_BUILD_ROOT
161 %defattr(644,root,root,755)
162 #doc README README.RPM doc
165 %config /etc/imapd.conf
166 %config /etc/procmailrc.cyrus
167 %config(noreplace) %verify(not size md5 mtime) /etc/logrotate.d/cyrus-imapd
168 %attr( 640, root,root) %config(noreplace) %verify(not size md5 mtime) /etc/sysconfig/rc-inetd/*
169 %attr( 440, cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
170 %attr( 755, root,root) /etc/cron.daily/cyrus-imapd
171 %attr( 755, root,root) %{_bindir}/*
172 %attr(4750,cyrus,mail) %{_libexecdir}/deliver
173 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
174 %attr( 755, root,root) %{_libexecdir}/arbitron
175 %attr( 755, root,root) %{_libexecdir}/collectnews
176 %attr( 755, root,root) %{_libexecdir}/dump_deliverdb
177 %attr( 755, root,root) %{_libexecdir}/feedcyrus
178 %attr( 755, root,root) %{_libexecdir}/fud
179 %attr( 755, root,root) %{_libexecdir}/mbpath
180 %attr( 755, root,root) %{_libexecdir}/quota
181 %attr( 755, root,root) %{_libexecdir}/reconstruct
182 %attr( 755, root,root) %{_libexecdir}/syncnews
183 %attr( 755, root,root) %{_libexecdir}/timsieved
184 %attr( 755, root,root) %{_libexecdir}/pop3d
185 %attr( 755, root,root) %{_libexecdir}/imapd
187 #%attr(0755,root,root) %{_sbindir}/imapd
188 #%attr(0755,root,root) %{_sbindir}/ipop3d
190 %defattr(640,cyrus,mail,750)
193 /var/state/imap/deliverdb
194 /var/state/imap/quota
196 /var/state/imap/sieve
200 %config(noreplace) %verify(not size md5 mtime) /var/state/imap/mailboxes
201 %defattr(644,root,root,755)