]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
13eb7f51b9325d61dcf7a5fd991ea00bdf877b41
[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 Summary(pl):    Wysoko wydajny serwer IMAP i POP3
4 Summary(pt_BR): Um servidor de mail de alto desempenho que suporta IMAP e POP3
5 Name:           cyrus-imapd
6 Version:        2.2.12
7 Release:        6
8 License:        BSD-like
9 Group:          Networking/Daemons
10 Source0:        ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
11 # Source0-md5:  70b3bba526a8d36d3bb23a87d37e9188
12 Source1:        cyrus-README
13 Source2:        cyrus-procmailrc
14 Source3:        cyrus-deliver-wrapper.c
15 Source4:        cyrus-user-procmailrc.template
16 Source5:        %{name}-procmail+cyrus.mc
17 Source6:        %{name}.logrotate
18 Source7:        %{name}.conf
19 Source9:        %{name}.pamd
20 Source10:       %{name}-pop.pamd
21 Source11:       %{name}.init
22 Source12:       cyrus.conf
23 Patch0:         %{name}-et.patch
24 Patch1:         %{name}-shared.patch
25 Patch2:         %{name}-quota.patch
26 URL:            http://andrew2.andrew.cmu.edu/cyrus/imapd/
27 BuildRequires:  autoconf >= 2.54
28 BuildRequires:  automake
29 BuildRequires:  cyrus-sasl-devel >= 1.5.27
30 BuildRequires:  db-devel >= 4.1.25
31 BuildRequires:  flex
32 BuildRequires:  libcom_err-devel >= 1.21
33 BuildRequires:  libtool
34 BuildRequires:  net-snmp-devel
35 BuildRequires:  openssl-devel >= 0.9.7d
36 BuildRequires:  perl-devel >= 1:5.8.0
37 BuildRequires:  rpm-perlprov
38 BuildRequires:  rpmbuild(macros) >= 1.268
39 Requires(post,preun):   /sbin/chkconfig
40 Requires(postun):       /usr/sbin/userdel
41 Requires(pre):  /bin/id
42 Requires(pre):  /usr/sbin/useradd
43 Requires:       %{name}-libs = %{version}-%{release}
44 Requires:       rc-scripts
45 # needed by scripts from %{_bindir}
46 Requires:       pam >= 0.79.0
47 Requires:       perl-%{name} = %{version}-%{release}
48 Provides:       imapdaemon
49 Provides:       pop3daemon
50 Provides:       user(cyrus)
51 Obsoletes:      imap
52 Obsoletes:      imapd
53 Obsoletes:      imapdaemon
54 Obsoletes:      pop3daemon
55 Conflicts:      courier-imap
56 Conflicts:      courier-imap-common
57 Conflicts:      courier-imap-pop3
58 Conflicts:      imap
59 Conflicts:      imap-common
60 Conflicts:      imap-pop2
61 Conflicts:      imap-pop3
62 Conflicts:      qpopper
63 Conflicts:      qpopper6
64 Conflicts:      solid-pop3d
65 Conflicts:      tpop3d
66 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67
68 %define         _libexecdir     %{_libdir}/cyrus
69
70 %description
71 The Cyrus IMAP server is a scalable enterprise mail system designed
72 for use from small to large enterprise environments using
73 standards-based technologies.
74
75 A full Cyrus IMAP implementation allows a seamless mail and bulletin
76 board environment to be set up across multiple servers. It differs
77 from other IMAP server implementations in that it is run on "sealed"
78 servers, where users are not normally permitted to log in. The mailbox
79 database is stored in parts of the filesystem that are private to the
80 Cyrus IMAP system. All user access to mail is through software using
81 the IMAP, POP3, or KPOP protocols.
82
83 %description -l pl
84 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
85 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
86 wykorzystuj±cym oparte na standardach technologie.
87
88 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
89 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
90 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
91 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
92 warunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
93 pocztowych jest przechowywana w tych czê¶ciach systemu plików, które
94 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
95 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
96 oraz KPOP.
97
98 %description -l pt_BR
99 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
100 projetado para uso por pequenos a grandes ambientes corporativos
101 usando tecnologias baseadas em padrões abertos.
102
103 Uma implementação completa do Cyrus permite se configurar um ambiente
104 transparente de mail e bulletin board entre múltiplos servidores. Ele
105 difere de outros servidores IMAP por rodar em servidores "selados",
106 onde usuários não possuem normalmente a permissão de log in. O banco
107 de dados de caixas de mail é armazenado em partes do sistema de
108 arquivos que são privativos do sistema Cyrus. Todo o acesso de
109 usuários aos mails se dá através de software usando os protocolos
110 IMAP, POP3 ou KPOP.
111
112 %package libs
113 Summary:        Shared cyrus-imapd libraries
114 Summary(pl):    Wspó³dzielone biblioteki cyrus-imapd
115 Group:          Libraries
116
117 %description libs
118 Shared cyrus-imapd libraries.
119
120 %description libs -l pl
121 Wspó³dzielone biblioteki cyrus-imapd.
122
123 %package devel
124 Summary:        Header files for developing with cyrus-imapd libraries
125 Summary(pl):    Pliki nag³ówkowe do programowania z u¿yciem bibliotek cyrus-imapd
126 Group:          Development/Libraries
127 Requires:       %{name}-libs = %{version}-%{release}
128
129 %description devel
130 This package provides the necessary header files files to allow you to
131 develop with cyrus-imapd libraries.
132
133 %description devel -l pl
134 Ten pakiet zawiera pliki nag³ówkowe niezbêdne do tworzenia
135 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
136
137 %package static
138 Summary:        Static cyrus-imapd libraries
139 Summary(pl):    Biblioteki statyczne cyrus-imapd
140 Group:          Development/Libraries
141 Requires:       %{name}-devel = %{version}-%{release}
142
143 %description static
144 Static cyrus-imapd libraries
145
146 %description static -l pl
147 Biblioteki statyczne cyrus-imapd
148
149 %package -n perl-%{name}
150 Summary:        Perl interface to cyrus-imapd library
151 Summary(pl):    Perlowy interfejs do biblioteki cyrus-imapd
152 Group:          Development/Languages/Perl
153 Requires:       %{name}-libs = %{version}-%{release}
154
155 %description -n perl-%{name}
156 Perl interface to cyrus-imapd library.
157
158 %description -n perl-%{name} -l pl
159 Perlowy interfejs do biblioteki cyrus-imapd.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %patch1 -p1
165 %patch2 -p1
166
167 rm -rf autom4te.cache
168
169 %build
170 cd makedepend
171 %{__aclocal}
172 %{__autoconf}
173 %configure
174 %{__make}
175 PATH=$PATH:`pwd`; export PATH
176 cd ..
177 %{__libtoolize}
178 %{__aclocal} -I cmulocal
179 %{__autoheader}
180 %{__autoconf}
181 cp -f %{_datadir}/automake/config.* .
182 cp -f %{_datadir}/automake/install-sh .
183 %configure \
184         --with-auth=unix \
185         --without-libwrap \
186         --with-cyrus-prefix=%{_libexecdir} \
187         --with-service-path=%{_libexecdir} \
188         --with-com_err=/usr \
189         --with-perl=%{__perl} \
190         --enable-nntp
191 %{__make} \
192         INSTALLDIRS=vendor
193
194 %{__cc} %{rpmcflags} \
195         -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
196
197 %install
198 rm -rf $RPM_BUILD_ROOT
199 install -d \
200         $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
201         $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
202         $RPM_BUILD_ROOT/var/spool/imap/stage. \
203         $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
204         $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
205
206 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
207         $RPM_BUILD_ROOT/var/lib/imap/faillog \
208         $RPM_BUILD_ROOT/etc/security/blacklist.imap \
209         $RPM_BUILD_ROOT/etc/security/blacklist.pop
210
211 %{__make} install \
212         DESTDIR=$RPM_BUILD_ROOT \
213         CYRUS_USER="`id -u`" \
214         CYRUS_GROUP="`id -g`" \
215         INSTALLDIRS=vendor
216
217 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
218
219 install %{SOURCE1}      %{SOURCE2} %{SOURCE4} %{SOURCE5} .
220 install %{SOURCE6}      $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
221 install %{SOURCE7}      $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
222 install %{SOURCE9}      $RPM_BUILD_ROOT/etc/pam.d/imap
223 install %{SOURCE10}     $RPM_BUILD_ROOT/etc/pam.d/pop
224 install %{SOURCE11}     $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
225 install %{SOURCE12}     $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
226
227 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master      $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
228 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8   $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
229 rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
230
231 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
232
233 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist -exec rm {} \;
234
235 # make hashed dirs
236 for i in `%{__perl} -le 'print for "a".."z"'`; do
237         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
238         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
239         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
240         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/spool/imap/$i
241 done
242
243 %clean
244 rm -rf $RPM_BUILD_ROOT
245
246 %pre
247 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
248
249 %post
250 /sbin/chkconfig --add cyrus-imapd
251 touch /var/lib/imap/faillog
252 chown cyrus:mail /var/lib/imap/faillog
253 chmod 640 /var/lib/imap/faillog
254 cd /var/lib/imap
255 chattr +S . user quota user/* quota/* 2>/dev/null ||:
256 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
257 %service cyrus-imapd "cyrus imap daemon"
258
259 %preun
260 if [ "$1" = "0" ]; then
261         %service cyrus-imapd stop
262         /sbin/chkconfig --del cyrus-imapd
263 fi
264
265 %postun
266 if [ "$1" = "0" ]; then
267         %userremove cyrus
268 fi
269
270 %post   libs -p /sbin/ldconfig
271 %postun libs -p /sbin/ldconfig
272
273 %files
274 %defattr(644,root,root,755)
275 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
276 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
277 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
278 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
279 %attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
280 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
281 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
282 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
283 %attr(755,root,root) %{_bindir}/*
284 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
285 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
286 %attr(755,root,root) %{_libexecdir}/arbitron
287 %attr(755,root,root) %{_libexecdir}/chk_cyrus
288 %attr(755,root,root) %{_libexecdir}/ctl_deliver
289 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
290 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
291 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
292 %attr(755,root,root) %{_libexecdir}/cyr_expire
293 %attr(755,root,root) %{_libexecdir}/cyrdump
294 %attr(755,root,root) %{_libexecdir}/cyrus-master
295 %attr(755,root,root) %{_libexecdir}/fud
296 %attr(755,root,root) %{_libexecdir}/imapd
297 %attr(755,root,root) %{_libexecdir}/ipurge
298 %attr(755,root,root) %{_libexecdir}/lmtpd
299 %attr(755,root,root) %{_libexecdir}/mbexamine
300 %attr(755,root,root) %{_libexecdir}/mbpath
301 %attr(755,root,root) %{_libexecdir}/notifyd
302 %attr(755,root,root) %{_libexecdir}/pop3d
303 %attr(755,root,root) %{_libexecdir}/pop3proxyd
304 %attr(755,root,root) %{_libexecdir}/quota
305 %attr(755,root,root) %{_libexecdir}/reconstruct
306 %attr(755,root,root) %{_libexecdir}/sievec
307 %attr(755,root,root) %{_libexecdir}/smmapd
308 %attr(755,root,root) %{_libexecdir}/squatter
309 %attr(755,root,root) %{_libexecdir}/timsieved
310 %attr(755,root,root) %{_libexecdir}/tls_prune
311 %attr(755,root,root) %{_libexecdir}/fetchnews
312 %attr(755,root,root) %{_libexecdir}/nntpd
313
314 %attr(750,cyrus,mail) /var/spool/imap
315 %attr(750,cyrus,mail) %dir /var/lib/imap
316 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
317 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
318 %attr(750,cyrus,mail) /var/lib/imap/quota
319 %attr(750,cyrus,mail) /var/lib/imap/user
320 %attr(750,cyrus,mail) /var/lib/imap/sieve
321 %attr(750,cyrus,mail) /var/lib/imap/log
322 %attr(750,cyrus,mail) /var/lib/imap/msg
323 %attr(750,cyrus,mail) /var/lib/imap/proc
324 %attr(750,cyrus,mail) /var/lib/imap/db
325 %attr(750,cyrus,mail) /var/lib/imap/socket
326 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
327
328 %{_mandir}/man*/*
329
330 %files libs
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
333
334 %files devel
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_libdir}/lib*.so
337 %{_libdir}/lib*.la
338 %{_includedir}/cyrus
339
340 %files static
341 %defattr(644,root,root,755)
342 %{_libdir}/lib*.a
343
344 %files -n perl-%{name}
345 %defattr(644,root,root,755)
346 %{perl_vendorarch}/Cyrus
347 %dir %{perl_vendorarch}/auto/Cyrus
348 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
349 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
350 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
351 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
352 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
353 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
354 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
This page took 0.115772 seconds and 3 git commands to generate.