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