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