]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
3bd026674698b5a3ffe687f704421ed550ea2f1c
[packages/cyrus-imapd.git] / cyrus-imapd.spec
1 # TODO:
2 # - use net-snmp (it wants ucd-snmp)
3 %include        /usr/lib/rpm/macros.perl
4 Summary:        High-performance mail store with imap and pop3
5 Summary(pl):    Wysoko wydajny serwer IMAP i POP3
6 Summary(pt_BR): Um servidor de mail de alto desempenho que suporta IMAP e POP3
7 Name:           cyrus-imapd
8 Version:        2.2.12
9 Release:        3
10 License:        BSD-like
11 Group:          Networking/Daemons
12 Source0:        ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
13 # Source0-md5:  70b3bba526a8d36d3bb23a87d37e9188
14 Source1:        cyrus-README
15 Source2:        cyrus-procmailrc
16 Source3:        cyrus-deliver-wrapper.c
17 Source4:        cyrus-user-procmailrc.template
18 Source5:        %{name}-procmail+cyrus.mc
19 Source6:        %{name}.logrotate
20 Source7:        %{name}.conf
21 Source9:        %{name}.pamd
22 Source10:       %{name}-pop.pamd
23 Source11:       %{name}.init
24 Source12:       cyrus.conf
25 Patch0:         %{name}-et.patch
26 Patch1:         %{name}-shared.patch
27 URL:            http://andrew2.andrew.cmu.edu/cyrus/imapd/
28 BuildRequires:  autoconf >= 2.54
29 BuildRequires:  automake
30 BuildRequires:  cyrus-sasl-devel >= 1.5.27
31 BuildRequires:  db-devel >= 4.1.25
32 BuildRequires:  flex
33 BuildRequires:  libcom_err-devel >= 1.21
34 BuildRequires:  libtool
35 BuildRequires:  openssl-devel >= 0.9.7d
36 BuildRequires:  perl-devel >= 1:5.8.0
37 BuildRequires:  rpm-perlprov
38 BuildRequires:  rpmbuild(macros) >= 1.202
39 #BuildRequires: ucd-snmp-devel >= 4.2.6
40 PreReq:         rc-scripts
41 Requires(pre):  /bin/id
42 Requires(pre):  /usr/sbin/useradd
43 Requires(postun):       /usr/sbin/userdel
44 Requires(post,preun):   /sbin/chkconfig
45 Requires:       %{name}-libs = %{version}-%{release}
46 # needed by scripts from %{_bindir}
47 Requires:       perl-%{name} = %{version}-%{release}
48 Requires:       pam >= 0.79.0
49 Provides:       imapdaemon
50 Provides:       pop3daemon
51 Provides:       user(cyrus)
52 Obsoletes:      imap
53 Obsoletes:      imapd
54 Obsoletes:      imapdaemon
55 Obsoletes:      pop3daemon
56 Conflicts:      courier-imap
57 Conflicts:      courier-imap-common
58 Conflicts:      courier-imap-pop3
59 Conflicts:      imap
60 Conflicts:      imap-common
61 Conflicts:      imap-pop2
62 Conflicts:      imap-pop3
63 Conflicts:      qpopper
64 Conflicts:      qpopper6
65 Conflicts:      solid-pop3d
66 Conflicts:      tpop3d
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         _libexecdir     %{_libdir}/cyrus
70
71 %description
72 The Cyrus IMAP server is a scalable enterprise mail system designed
73 for use from small to large enterprise environments using
74 standards-based technologies.
75
76 A full Cyrus IMAP implementation allows a seamless mail and bulletin
77 board environment to be set up across multiple servers. It differs
78 from other IMAP server implementations in that it is run on "sealed"
79 servers, where users are not normally permitted to log in. The mailbox
80 database is stored in parts of the filesystem that are private to the
81 Cyrus IMAP system. All user access to mail is through software using
82 the IMAP, POP3, or KPOP protocols.
83
84 %description -l pl
85 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
86 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
87 wykorzystuj±cym oparte na standardach technologie.
88
89 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
90 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
91 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
92 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
93 warunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
94 pocztowych jest przechowywana w tych czê¶ciach systemu plików, które
95 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
96 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
97 oraz KPOP.
98
99 %description -l pt_BR
100 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
101 projetado para uso por pequenos a grandes ambientes corporativos
102 usando tecnologias baseadas em padrões abertos.
103
104 Uma implementação completa do Cyrus permite se configurar um ambiente
105 transparente de mail e bulletin board entre múltiplos servidores. Ele
106 difere de outros servidores IMAP por rodar em servidores "selados",
107 onde usuários não possuem normalmente a permissão de log in. O banco
108 de dados de caixas de mail é armazenado em partes do sistema de
109 arquivos que são privativos do sistema Cyrus. Todo o acesso de
110 usuários aos mails se dá através de software usando os protocolos
111 IMAP, POP3 ou KPOP.
112
113 %package libs
114 Summary:        Shared cyrus-imapd libraries
115 Summary(pl):    Wspó³dzielone biblioteki cyrus-imapd
116 Group:          Libraries
117
118 %description libs
119 Shared cyrus-imapd libraries.
120
121 %description libs -l pl
122 Wspó³dzielone biblioteki cyrus-imapd.
123
124 %package devel
125 Summary:        Header files for developing with cyrus-imapd libraries
126 Summary(pl):    Pliki nag³ówkowe do programowania z u¿yciem bibliotek cyrus-imapd
127 Group:          Development/Libraries
128 Requires:       %{name}-libs = %{version}-%{release}
129
130 %description devel
131 This package provides the necessary header files files to allow you to
132 develop with cyrus-imapd libraries.
133
134 %description devel -l pl
135 Ten pakiet zawiera pliki nag³ówkowe niezbêdne do tworzenia
136 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
137
138 %package static
139 Summary:        Static cyrus-imapd libraries
140 Summary(pl):    Biblioteki statyczne cyrus-imapd
141 Group:          Development/Libraries
142 Requires:       %{name}-devel = %{version}-%{release}
143
144 %description static
145 Static cyrus-imapd libraries
146
147 %description static -l pl
148 Biblioteki statyczne cyrus-imapd
149
150 %package -n perl-%{name}
151 Summary:        Perl interface to cyrus-imapd library
152 Summary(pl):    Perlowy interfejs do biblioteki cyrus-imapd
153 Group:          Development/Languages/Perl
154 Requires:       %{name}-libs = %{version}-%{release}
155
156 %description -n perl-%{name}
157 Perl interface to cyrus-imapd library.
158
159 %description -n perl-%{name} -l pl
160 Perlowy interfejs do biblioteki cyrus-imapd.
161
162 %prep
163 %setup -q
164 %patch0 -p1
165 %patch1 -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.pop
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 install %{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 -rf $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
230
231 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
232
233 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist -exec rm {} \;
234
235 # make hashed dirs
236 for i in `%{__perl} -le 'print for "a".."z"'`; do
237         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
238         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
239         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
240         install -d -m 0755 $RPM_BUILD_ROOT%{_var}/spool/imap/$i
241 done
242
243 %clean
244 rm -rf $RPM_BUILD_ROOT
245
246 %pre
247 %useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
248
249 %post
250 /sbin/chkconfig --add cyrus-imapd
251 touch /var/lib/imap/faillog
252 chown cyrus:mail /var/lib/imap/faillog
253 chmod 640 /var/lib/imap/faillog
254 cd /var/lib/imap
255 chattr +S . user quota user/* quota/* 2>/dev/null ||:
256 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
257 if [ -f /var/lock/subsys/cyrus-imapd ]; then
258         /etc/rc.d/init.d/cyrus-imapd restart 1>&2
259 else
260         echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start cyrus imap daemon."
261 fi
262
263 %preun
264 if [ "$1" = "0" ]; then
265         if [ -f /var/lock/subsys/cyrus-imapd ]; then
266                 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
267         fi
268         /sbin/chkconfig --del cyrus-imapd
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(640,cyrus,mail) %ghost /var/lib/imap/faillog
289 %attr(755,root,root) %{_bindir}/*
290 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
291 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
292 %attr(755,root,root) %{_libexecdir}/arbitron
293 %attr(755,root,root) %{_libexecdir}/chk_cyrus
294 %attr(755,root,root) %{_libexecdir}/ctl_deliver
295 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
296 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
297 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
298 %attr(755,root,root) %{_libexecdir}/cyr_expire
299 %attr(755,root,root) %{_libexecdir}/cyrdump
300 %attr(755,root,root) %{_libexecdir}/cyrus-master
301 %attr(755,root,root) %{_libexecdir}/fud
302 %attr(755,root,root) %{_libexecdir}/imapd
303 %attr(755,root,root) %{_libexecdir}/ipurge
304 %attr(755,root,root) %{_libexecdir}/lmtpd
305 %attr(755,root,root) %{_libexecdir}/mbexamine
306 %attr(755,root,root) %{_libexecdir}/mbpath
307 %attr(755,root,root) %{_libexecdir}/notifyd
308 %attr(755,root,root) %{_libexecdir}/pop3d
309 %attr(755,root,root) %{_libexecdir}/pop3proxyd
310 %attr(755,root,root) %{_libexecdir}/quota
311 %attr(755,root,root) %{_libexecdir}/reconstruct
312 %attr(755,root,root) %{_libexecdir}/sievec
313 %attr(755,root,root) %{_libexecdir}/smmapd
314 %attr(755,root,root) %{_libexecdir}/squatter
315 %attr(755,root,root) %{_libexecdir}/timsieved
316 %attr(755,root,root) %{_libexecdir}/tls_prune
317 %attr(755,root,root) %{_libexecdir}/fetchnews
318 %attr(755,root,root) %{_libexecdir}/nntpd
319
320 %attr(750,cyrus,mail) /var/spool/imap
321 %attr(750,cyrus,mail) %dir /var/lib/imap
322 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
323 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
324 %attr(750,cyrus,mail) /var/lib/imap/quota
325 %attr(750,cyrus,mail) /var/lib/imap/user
326 %attr(750,cyrus,mail) /var/lib/imap/sieve
327 %attr(750,cyrus,mail) /var/lib/imap/log
328 %attr(750,cyrus,mail) /var/lib/imap/msg
329 %attr(750,cyrus,mail) /var/lib/imap/proc
330 %attr(750,cyrus,mail) /var/lib/imap/db
331 %attr(750,cyrus,mail) /var/lib/imap/socket
332 %attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
333
334 %{_mandir}/man*/*
335
336 %files libs
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
339
340 %files devel
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_libdir}/lib*.so
343 %{_libdir}/lib*.la
344 %{_includedir}/cyrus
345
346 %files static
347 %defattr(644,root,root,755)
348 %{_libdir}/lib*.a
349
350 %files -n perl-%{name}
351 %defattr(644,root,root,755)
352 %{perl_vendorarch}/Cyrus
353 %dir %{perl_vendorarch}/auto/Cyrus
354 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
355 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
356 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
357 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
358 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
359 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
360 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
This page took 0.09403 seconds and 2 git commands to generate.