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