]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
- more missing libtools
[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.UTF-8):      Wysoko wydajny serwer IMAP i POP3
4 Summary(pt_BR.UTF-8):   Um servidor de mail de alto desempenho que suporta IMAP e POP3
5 Name:           cyrus-imapd
6 Version:        2.3.12p2
7 Release:        0.1
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:  ee2c300687994e4982c6af6aa154c742
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 Source13:       cyrus-sync.init
24 Patch0:         %{name}-et.patch
25 Patch1:         %{name}-shared.patch
26 URL:            http://cyrusimap.web.cmu.edu/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 >= 0.4.0.18
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.UTF-8
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.UTF-8
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.UTF-8):      Współdzielone biblioteki cyrus-imapd
115 Group:          Libraries
116
117 %description libs
118 Shared cyrus-imapd libraries.
119
120 %description libs -l pl.UTF-8
121 Współdzielone biblioteki cyrus-imapd.
122
123 %package devel
124 Summary:        Header files for developing with cyrus-imapd libraries
125 Summary(pl.UTF-8):      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.UTF-8
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.UTF-8):      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.UTF-8
147 Biblioteki statyczne cyrus-imapd
148
149 %package -n perl-%{name}
150 Summary:        Perl interface to cyrus-imapd library
151 Summary(pl.UTF-8):      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.UTF-8
159 Perlowy interfejs do biblioteki cyrus-imapd.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %patch1 -p1
165
166 rm -rf autom4te.cache
167
168 %build
169 cd makedepend
170 %{__libtoolize}
171 %{__aclocal}
172 %{__autoconf}
173 cp -f %{_datadir}/automake/config.* .
174 %configure
175 %{__make}
176 PATH=$PATH:$(pwd); export PATH
177 cd ..
178 %{__libtoolize}
179 %{__aclocal} -I cmulocal
180 %{__autoheader}
181 %{__autoconf}
182 cp -f %{_datadir}/automake/config.* .
183 cp -f %{_datadir}/automake/install-sh .
184 %configure \
185         --with-auth=unix \
186         --without-libwrap \
187         --with-cyrus-prefix=%{_libexecdir} \
188         --with-service-path=%{_libexecdir} \
189         --with-com_err=/usr \
190         --with-perl=%{__perl} \
191         --enable-nntp \
192         --enable-replication
193 %{__make} \
194         INSTALLDIRS=vendor
195
196 %{__cc} %{rpmcflags} \
197         -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
198
199 %install
200 rm -rf $RPM_BUILD_ROOT
201 install -d \
202         $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
203         $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
204         $RPM_BUILD_ROOT/var/spool/imap/stage. \
205         $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
206         $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
207
208 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
209         $RPM_BUILD_ROOT/var/lib/imap/faillog \
210         $RPM_BUILD_ROOT/etc/security/blacklist.imap \
211         $RPM_BUILD_ROOT/etc/security/blacklist.pop3
212
213 %{__make} install \
214         DESTDIR=$RPM_BUILD_ROOT \
215         CYRUS_USER="`id -u`" \
216         CYRUS_GROUP="`id -g`" \
217         INSTALLDIRS=vendor
218
219 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
220
221 install %{SOURCE1}      %{SOURCE2} %{SOURCE4} %{SOURCE5} .
222 install %{SOURCE6}      $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
223 install %{SOURCE7}      $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
224 install %{SOURCE9}      $RPM_BUILD_ROOT/etc/pam.d/imap
225 install %{SOURCE10}     $RPM_BUILD_ROOT/etc/pam.d/pop
226 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
227 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
228 install %{SOURCE12}     $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
229
230 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master      $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
231 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8   $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
232 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
233 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
234
235 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
236
237 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
238
239 # make hashed dirs
240 for i in `%{__perl} -le 'print for "a".."z"'`; do
241         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
242         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
243         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
244         install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
245 done
246
247 %clean
248 rm -rf $RPM_BUILD_ROOT
249
250 %pre
251 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
252
253 %post
254 touch /var/lib/imap/faillog
255 chown cyrus:mail /var/lib/imap/faillog
256 chmod 640 /var/lib/imap/faillog
257 cd /var/lib/imap
258 chattr +S . user quota user/* quota/* 2>/dev/null ||:
259 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
260
261 /sbin/chkconfig --add cyrus-imapd
262 %service cyrus-imapd restart "cyrus imap daemon"
263 %service cyrus-sync restart "cyrus replication service"
264
265 %preun
266 if [ "$1" = "0" ]; then
267         %service cyrus-imapd stop
268         %service cyrus-sync stop
269         /sbin/chkconfig --del cyrus-imapd
270         /sbin/chkconfig --del cyrus-sync
271 fi
272
273 %postun
274 if [ "$1" = "0" ]; then
275         %userremove cyrus
276 fi
277
278 %post   libs -p /sbin/ldconfig
279 %postun libs -p /sbin/ldconfig
280
281 %files
282 %defattr(644,root,root,755)
283 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
284 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
285 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
286 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
287 %attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
288 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
289 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
290 %attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
291 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
292 %attr(755,root,root) %{_bindir}/*
293 %dir %{_libexecdir}
294 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
295 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
296 %attr(755,root,root) %{_libexecdir}/arbitron
297 %attr(755,root,root) %{_libexecdir}/chk_cyrus
298 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
299 %attr(755,root,root) %{_libexecdir}/ctl_deliver
300 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
301 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
302 %attr(755,root,root) %{_libexecdir}/cyr_dbtool
303 %attr(755,root,root) %{_libexecdir}/cyrdump
304 %attr(755,root,root) %{_libexecdir}/cyr_expire
305 %attr(755,root,root) %{_libexecdir}/cyrus-master
306 %attr(755,root,root) %{_libexecdir}/fetchnews
307 %attr(755,root,root) %{_libexecdir}/fud
308 %attr(755,root,root) %{_libexecdir}/imapd
309 %attr(755,root,root) %{_libexecdir}/ipurge
310 %attr(755,root,root) %{_libexecdir}/lmtpd
311 %attr(755,root,root) %{_libexecdir}/lmtpproxyd
312 %attr(755,root,root) %{_libexecdir}/make_md5
313 %attr(755,root,root) %{_libexecdir}/sync_client
314 %attr(755,root,root) %{_libexecdir}/sync_reset
315 %attr(755,root,root) %{_libexecdir}/sync_server
316 %attr(755,root,root) %{_libexecdir}/mbexamine
317 %attr(755,root,root) %{_libexecdir}/mbpath
318 %attr(755,root,root) %{_libexecdir}/nntpd
319 %attr(755,root,root) %{_libexecdir}/notifyd
320 %attr(755,root,root) %{_libexecdir}/pop3d
321 %attr(755,root,root) %{_libexecdir}/pop3proxyd
322 %attr(755,root,root) %{_libexecdir}/proxyd
323 %attr(755,root,root) %{_libexecdir}/quota
324 %attr(755,root,root) %{_libexecdir}/reconstruct
325 %attr(755,root,root) %{_libexecdir}/sievec
326 %attr(755,root,root) %{_libexecdir}/smmapd
327 %attr(755,root,root) %{_libexecdir}/squatter
328 %attr(755,root,root) %{_libexecdir}/timsieved
329 %attr(755,root,root) %{_libexecdir}/tls_prune
330 %attr(755,root,root) %{_libexecdir}/unexpunge
331
332
333 %attr(750,cyrus,mail) /var/spool/imap
334 %attr(750,cyrus,mail) %dir /var/lib/imap
335 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
336 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
337 %attr(750,cyrus,mail) /var/lib/imap/quota
338 %attr(750,cyrus,mail) /var/lib/imap/user
339 %attr(750,cyrus,mail) /var/lib/imap/sieve
340 %attr(750,cyrus,mail) /var/lib/imap/log
341 %attr(750,cyrus,mail) /var/lib/imap/msg
342 %attr(750,cyrus,mail) /var/lib/imap/proc
343 %attr(750,cyrus,mail) /var/lib/imap/db
344 %attr(750,cyrus,mail) /var/lib/imap/socket
345 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
346
347 %{_mandir}/man*/*
348
349 %files libs
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/libcyrus.so.*.*.*
352 %attr(755,root,root) %{_libdir}/libcyrus_min.so.*.*.*
353 %attr(755,root,root) %ghost %{_libdir}/libcyrus.so.0
354 %attr(755,root,root) %ghost %{_libdir}/libcyrus_min.so.0
355
356 %files devel
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/libcyrus.so
359 %attr(755,root,root) %{_libdir}/libcyrus_min.so
360 %{_libdir}/libcyrus.la
361 %{_libdir}/libcyrus_min.la
362 %{_includedir}/cyrus
363
364 %files static
365 %defattr(644,root,root,755)
366 %{_libdir}/libcyrus.a
367 %{_libdir}/libcyrus_min.a
368
369 %files -n perl-%{name}
370 %defattr(644,root,root,755)
371 %{perl_vendorarch}/Cyrus
372 %dir %{perl_vendorarch}/auto/Cyrus
373 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
374 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
375 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
376 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
377 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
378 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
379 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
This page took 0.14707 seconds and 3 git commands to generate.