]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
06acd5c5a676d2a4d683addf6ebb61a3bd098c45
[packages/cyrus-imapd.git] / cyrus-imapd.spec
1 Summary:        high-performance mail store with imap and pop3
2 Name:           cyrus-imapd
3 Version:        1.6.22
4 Release:        0.1
5 Copyright:      academic/research
6 Group:          Networking/Daemons
7 Source0:        ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
8 Source1:        cyrus-README
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/
21 #Icon:          cyrus.gif
22 BuildRequires:  cyrus-sasl-devel
23 BuildRequires:  tcl-devel >= 8.0
24 BuildRequires:  openssl-devel
25 Obsoletes:      imapd
26 Obsoletes:      pop3daemon
27 Obsoletes:      imapdaemon
28 Conflicts:      qpopper
29 Conflicts:      solid-pop3d
30 Conflicts:      qpopper6
31 Provides:       imapdaemon
32 Provides:       pop3daemon
33 Buildroot:      /tmp/%{name}-%{version}-root
34
35 %define         _libexecdir     %{_prefix}/lib/cyrus
36
37 %description
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.
41
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.
49
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.
52
53 %define version %{PACKAGE_VERSION}
54
55 %prep
56 rm -rf $RPM_BUILD_ROOT
57
58 %setup -q 
59
60 %build
61
62 # prepare a makedepend
63 cd makedepend
64 autoconf
65 %configure 
66 make
67 export PATH=$PATH:`pwd`
68 cd ..
69 autoconf
70 %configure \
71         --with-auth=unix
72 make
73
74 gcc $RPM_OPT_FLAGS -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
75
76 %install
77 rm -rf $RPM_BUILD_ROOT
78 #install -d $RPM_BUILD_ROOT/usr/cyrus/etc 
79 install -d \
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 \
86         $RPM_BUILD_ROOT/var/state/imap/faillog \
87         $RPM_BUILD_ROOT/etc/security/blacklist.imap \
88         $RPM_BUILD_ROOT/etc/security/blacklist.pop
89
90
91 make install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`"
92
93 #mkdir -p $RPM_BUILD_ROOT/usr/cyrus/bin
94 #install -g mail -m 2755 -s deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
95 install deliver-wrapper $RPM_BUILD_ROOT/usr/cyrus/bin/deliver-wrapper
96
97 install %{SOURCE1} .
98 install %{SOURCE2} $RPM_BUILD_ROOT/etc/procmailrc.cyrus
99 #install %{SOURCE4} $RPM_BUILD_ROOT/usr/cyrus/etc/user-procmailrc.template
100 install %{SOURCE5} $RPM_BUILD_ROOT%{_libdir}/sendmail-cf/cf/procmail+cyrus.mc
101 install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
102 install %{SOURCE7} $RPM_BUILD_ROOT/etc/imapd.conf
103 install %{SOURCE8} $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
104 install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/imapd
105 install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/pop3d
106 install %{SOURCE11} $RPM_BUILD_ROOT/etc/pam.d/imap
107 install %{SOURCE12} $RPM_BUILD_ROOT/etc/pam.d/pop
108
109 mv $RPM_BUILD_ROOT/usr/cyrus/bin/*      $RPM_BUILD_ROOT%{_libexecdir}
110 mv $RPM_BUILD_ROOT/usr/man/*            $RPM_BUILD_ROOT%{_mandir}
111
112 gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man*/* \
113         cyrus-README
114
115 # make hashed dirs
116 cd $RPM_BUILD_ROOT/var
117 /usr/bin/perl <<EOF
118 foreach \$i ("a".."z") 
119 {
120   mkdir "state/imap/user/\$i", 0755;
121   mkdir "state/imap/quota/\$i", 0755;
122   mkdir "state/imap/sieve/\$i", 0755;
123   mkdir "spool/imap/\$i", 0755;
124 }
125 EOF
126
127 %pre
128 if [ -z "`id -u cyrus 2>/dev/null`" ]; then
129         /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
130         if [ -f /var/db/passwd.db ]; then
131                 /usr/bin/update-db 1>&2
132         fi
133 fi
134
135 %post
136 touch /var/state/imap/faillog
137 chown cyrus.mail /var/state/imap/faillog
138 chmod 640 /var/state/imap/faillog
139 if [ -f /var/lock/subsys/rc-inetd ]; then
140         /etc/rc.d/init.d/rc-inetd reload 1>&2
141 else
142         echo "Type \"/etc/rc.d/init.d/rc-inetd start\" to start inet sever" 1>&2
143 fi
144
145
146 # force synchronous updates
147 cd /var/state/imap
148 chattr +S . user quota user/* quota/* 2>/dev/null
149 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null
150
151 %postun
152 if [ -f /var/lock/subsys/rc-inetd ]; then
153         /etc/rc.d/init.d/rc-inetd reload 1>&2
154 fi
155 if [ "$1" = "0" ]; then
156         if [ -n "`id -u cyrus 2>/dev/null`" ]; then
157                 /usr/sbin/userdel cyrus 1>&2
158         fi
159 fi
160
161
162
163 %clean
164 rm -rf $RPM_BUILD_ROOT
165
166 %files
167 %defattr(644,root,root,755)
168 #doc README README.RPM doc
169 %doc doc/html/*.html
170
171 %config /etc/imapd.conf
172 %config /etc/procmailrc.cyrus
173 %config(noreplace) %verify(not size md5 mtime) /etc/logrotate.d/cyrus-imapd
174 %attr( 640, root,root) %config(noreplace) %verify(not size md5 mtime) /etc/sysconfig/rc-inetd/*
175 %attr( 440, cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
176 %attr( 640, cyrus,mail) %ghost /var/state/imap/faillog
177 %attr( 755, root,root) /etc/cron.daily/cyrus-imapd
178 %attr( 755, root,root) %{_bindir}/*
179 %attr(4750,cyrus,mail) %{_libexecdir}/deliver
180 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
181 %attr( 755, root,root) %{_libexecdir}/arbitron
182 %attr( 755, root,root) %{_libexecdir}/collectnews
183 %attr( 755, root,root) %{_libexecdir}/dump_deliverdb
184 %attr( 755, root,root) %{_libexecdir}/feedcyrus
185 %attr( 755, root,root) %{_libexecdir}/fud
186 %attr( 755, root,root) %{_libexecdir}/mbpath
187 %attr( 755, root,root) %{_libexecdir}/quota
188 %attr( 755, root,root) %{_libexecdir}/reconstruct
189 %attr( 755, root,root) %{_libexecdir}/syncnews
190 %attr( 755, root,root) %{_libexecdir}/timsieved
191 %attr( 755, root,root) %{_libexecdir}/pop3d
192 %attr( 755, root,root) %{_libexecdir}/imapd
193
194 #%attr(0755,root,root) %{_sbindir}/imapd
195 #%attr(0755,root,root) %{_sbindir}/ipop3d
196
197 %defattr(640,cyrus,mail,750)
198 /var/spool/imap
199 %dir /var/state/imap
200 /var/state/imap/deliverdb
201 /var/state/imap/quota
202 /var/state/imap/user
203 /var/state/imap/sieve
204 /var/state/imap/log
205 /var/state/imap/msg
206 /var/state/imap/proc
207 %config(noreplace) %verify(not size md5 mtime) /var/state/imap/mailboxes
208 %defattr(644,root,root,755)
209
210 %{_mandir}/man*/*
211
212 %{_includedir}/cyrus
213 %{_libdir}/lib*.a
This page took 0.035481 seconds and 2 git commands to generate.