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