]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
b1d82d3ed5cd84cfb641bcb3e011b3fdb5e9e2df
[packages/cyrus-imapd.git] / cyrus-imapd.spec
1 %include        /usr/lib/rpm/macros.perl
2 Summary:        high-performance mail store with imap and pop3
3 Name:           cyrus-imapd
4 Version:        2.0.12
5 Release:        0.1
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
11 Source1:        cyrus-README
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
17 Source7:        %{name}.conf
18 Source9:        %{name}.pamd
19 Source10:       %{name}-pop.pamd
20 Source11:       %{name}.init
21 Source12:       cyrus.conf
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/
30 #Icon:          cyrus.gif
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
36 Obsoletes:      imapd
37 Obsoletes:      pop3daemon
38 Obsoletes:      imapdaemon
39 Conflicts:      qpopper
40 Conflicts:      solid-pop3d
41 Conflicts:      qpopper6
42 Provides:       imapdaemon
43 Provides:       pop3daemon
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %define         _libexecdir     %{_prefix}/lib/cyrus
47
48 %description
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.
52
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.
60
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
63 product.
64
65 %description -l pl
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.
69
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
78 oraz KPOP.
79
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.
83
84 %prep
85 %setup -q 
86 %patch0 -p1
87 %patch1 -p1
88 %patch2 -p0
89 %patch3 -p1
90 %patch4 -p1
91 %patch5 -p1
92
93 %build
94 cd makedepend
95 autoconf
96 %configure 
97 %{__make}
98 export PATH=$PATH:`pwd`
99 cd ..
100 autoheader
101 autoconf
102 %configure \
103         --with-auth=unix \
104         --without-libwrap \
105         --with-cyrus-prefix=%{_libexecdir}
106 %{__make}
107
108 %{__cc} %{?debug:-O0 -g}%{!?debug:$RPM_OPT_FLAGS} \
109         -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
110
111 %install
112 rm -rf $RPM_BUILD_ROOT
113
114 install -d \
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}
120
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
125
126 %{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
127
128 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
129
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
137
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
142
143 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
144
145 gzip -9nf cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template \
146         cyrus-imapd-procmail+cyrus.mc
147
148 # make hashed dirs
149 oldpwd=`pwd`
150 cd $RPM_BUILD_ROOT/var
151 perl <<EOF
152 foreach \$i ("a".."z") 
153 {
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;
158 }
159 EOF
160 cd ${oldpwd}
161
162 %pre
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
165 fi
166
167 %post
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
172 cd /var/lib/imap
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
177 else
178         echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
179 fi
180
181 %preun
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
185         fi
186         /sbin/chkconfig --del cyrus-imapd
187 fi
188
189 %postun
190 if [ "$1" = "0" ]; then
191         /usr/sbin/userdel cyrus
192 fi
193
194 %clean
195 rm -rf $RPM_BUILD_ROOT
196
197 %files
198 %defattr(644,root,root,755)
199 %doc *.gz doc/*.html
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
222
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
240
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
254
255 %{_mandir}/man*/*
256 %{_includedir}/cyrus
257 %{_libdir}/lib*.a
This page took 0.255002 seconds and 2 git commands to generate.