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