]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
c3f5f23772b2a1fc3f20fb17c5bb04fdfa8bad88
[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.9
7 Release:        0.3
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:  113433c1fdc777e3b0466b5ce643b8bc
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://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 >= 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 %{__aclocal}
171 %{__autoconf}
172 %configure
173 %{__make}
174 PATH=$PATH:`pwd`; export PATH
175 cd ..
176 %{__libtoolize}
177 %{__aclocal} -I cmulocal
178 %{__autoheader}
179 %{__autoconf}
180 cp -f %{_datadir}/automake/config.* .
181 cp -f %{_datadir}/automake/install-sh .
182 %configure \
183         --with-auth=unix \
184         --without-libwrap \
185         --with-cyrus-prefix=%{_libexecdir} \
186         --with-service-path=%{_libexecdir} \
187         --with-com_err=/usr \
188         --with-perl=%{__perl} \
189         --enable-nntp \
190         --enable-replication
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.pop3
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 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
225 sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
226 install %{SOURCE12}     $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
227
228 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master      $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
229 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8   $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
230 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
231 rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
232
233 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
234
235 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
236
237 # make hashed dirs
238 for i in `%{__perl} -le 'print for "a".."z"'`; do
239         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
240         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
241         install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
242         install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
243 done
244
245 %clean
246 rm -rf $RPM_BUILD_ROOT
247
248 %pre
249 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
250
251 %post
252 touch /var/lib/imap/faillog
253 chown cyrus:mail /var/lib/imap/faillog
254 chmod 640 /var/lib/imap/faillog
255 cd /var/lib/imap
256 chattr +S . user quota user/* quota/* 2>/dev/null ||:
257 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
258
259 /sbin/chkconfig --add cyrus-imapd
260 %service cyrus-imapd restart "cyrus imap daemon"
261 %service cyrus-sync restart "cyrus replication service"
262
263 %preun
264 if [ "$1" = "0" ]; then
265         %service cyrus-imapd stop
266         %service cyrus-sync stop
267         /sbin/chkconfig --del cyrus-imapd
268         /sbin/chkconfig --del cyrus-sync
269 fi
270
271 %postun
272 if [ "$1" = "0" ]; then
273         %userremove cyrus
274 fi
275
276 %post   libs -p /sbin/ldconfig
277 %postun libs -p /sbin/ldconfig
278
279 %files
280 %defattr(644,root,root,755)
281 %doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
282 %doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
283 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
284 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
285 %attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
286 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
287 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
288 %attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
289 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
290 %attr(755,root,root) %{_bindir}/*
291 %dir %{_libexecdir}
292 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
293 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
294 %attr(755,root,root) %{_libexecdir}/arbitron
295 %attr(755,root,root) %{_libexecdir}/chk_cyrus
296 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
297 %attr(755,root,root) %{_libexecdir}/ctl_deliver
298 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
299 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
300 %attr(755,root,root) %{_libexecdir}/cyr_dbtool
301 %attr(755,root,root) %{_libexecdir}/cyrdump
302 %attr(755,root,root) %{_libexecdir}/cyr_expire
303 %attr(755,root,root) %{_libexecdir}/cyrus-master
304 %attr(755,root,root) %{_libexecdir}/fetchnews
305 %attr(755,root,root) %{_libexecdir}/fud
306 %attr(755,root,root) %{_libexecdir}/imapd
307 %attr(755,root,root) %{_libexecdir}/ipurge
308 %attr(755,root,root) %{_libexecdir}/lmtpd
309 %attr(755,root,root) %{_libexecdir}/lmtpproxyd
310 %attr(755,root,root) %{_libexecdir}/make_md5
311 %attr(755,root,root) %{_libexecdir}/sync_client
312 %attr(755,root,root) %{_libexecdir}/sync_reset
313 %attr(755,root,root) %{_libexecdir}/sync_server
314 %attr(755,root,root) %{_libexecdir}/mbexamine
315 %attr(755,root,root) %{_libexecdir}/mbpath
316 %attr(755,root,root) %{_libexecdir}/nntpd
317 %attr(755,root,root) %{_libexecdir}/notifyd
318 %attr(755,root,root) %{_libexecdir}/pop3d
319 %attr(755,root,root) %{_libexecdir}/pop3proxyd
320 %attr(755,root,root) %{_libexecdir}/proxyd
321 %attr(755,root,root) %{_libexecdir}/quota
322 %attr(755,root,root) %{_libexecdir}/reconstruct
323 %attr(755,root,root) %{_libexecdir}/sievec
324 %attr(755,root,root) %{_libexecdir}/smmapd
325 %attr(755,root,root) %{_libexecdir}/squatter
326 %attr(755,root,root) %{_libexecdir}/timsieved
327 %attr(755,root,root) %{_libexecdir}/tls_prune
328 %attr(755,root,root) %{_libexecdir}/unexpunge
329
330
331 %attr(750,cyrus,mail) /var/spool/imap
332 %attr(750,cyrus,mail) %dir /var/lib/imap
333 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
334 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
335 %attr(750,cyrus,mail) /var/lib/imap/quota
336 %attr(750,cyrus,mail) /var/lib/imap/user
337 %attr(750,cyrus,mail) /var/lib/imap/sieve
338 %attr(750,cyrus,mail) /var/lib/imap/log
339 %attr(750,cyrus,mail) /var/lib/imap/msg
340 %attr(750,cyrus,mail) /var/lib/imap/proc
341 %attr(750,cyrus,mail) /var/lib/imap/db
342 %attr(750,cyrus,mail) /var/lib/imap/socket
343 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
344
345 %{_mandir}/man*/*
346
347 %files libs
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
350
351 %files devel
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/lib*.so
354 %{_libdir}/lib*.la
355 %{_includedir}/cyrus
356
357 %files static
358 %defattr(644,root,root,755)
359 %{_libdir}/lib*.a
360
361 %files -n perl-%{name}
362 %defattr(644,root,root,755)
363 %{perl_vendorarch}/Cyrus
364 %dir %{perl_vendorarch}/auto/Cyrus
365 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
366 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
367 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
368 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
369 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
370 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
371 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
This page took 0.062482 seconds and 2 git commands to generate.