]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
3613ba30e6af884c118fcad97537aba3e4143e06
[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:        1
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:  rpmbuild(macros) >= 1.159
38 #BuildRequires: ucd-snmp-devel >= 4.2.6
39 PreReq:         rc-scripts
40 Requires(pre):  /bin/id
41 Requires(pre):  /usr/sbin/useradd
42 Requires(postun):       /usr/sbin/userdel
43 Requires(post,preun):   /sbin/chkconfig
44 Requires:       %{name}-libs = %{version}-%{release}
45 # needed by scripts from %{_bindir}
46 Requires:       perl-%{name} = %{version}-%{release}
47 Requires:       pam >= 0.77.3
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
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
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):    Wspó³dzielone biblioteki cyrus-imapd
115 Group:          Libraries
116
117 %description libs
118 Shared cyrus-imapd libraries.
119
120 %description libs -l pl
121 Wspó³dzielone biblioteki cyrus-imapd.
122
123 %package devel
124 Summary:        Header files for developing with cyrus-imapd libraries
125 Summary(pl):    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
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):    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
147 Biblioteki statyczne cyrus-imapd
148
149 %package -n perl-%{name}
150 Summary:        Perl interface to cyrus-imapd library
151 Summary(pl):    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
159 Perlowy interfejs do biblioteki cyrus-imapd.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %patch1 -p1
165
166 rm -rf autom4te.cache
167
168 %build
169 cd makedepend
170 %{__aclocal}
171 %{__autoconf}
172 %configure
173 %{__make}
174 PATH=$PATH:`pwd`; export PATH
175 cd ..
176 %{__libtoolize}
177 %{__aclocal} -I cmulocal
178 %{__autoheader}
179 %{__autoconf}
180 cp -f %{_datadir}/automake/config.* .
181 cp -f %{_datadir}/automake/install-sh .
182 %configure \
183         --with-auth=unix \
184         --without-libwrap \
185         --with-cyrus-prefix=%{_libexecdir} \
186         --with-service-path=%{_libexecdir} \
187         --with-com_err=/usr \
188         --with-perl=%{__perl}
189 %{__make} \
190         INSTALLDIRS=vendor
191
192 %{__cc} %{rpmcflags} \
193         -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
194
195 %install
196 rm -rf $RPM_BUILD_ROOT
197 install -d \
198         $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
199         $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
200         $RPM_BUILD_ROOT/var/spool/imap/stage. \
201         $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
202         $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
203
204 touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
205         $RPM_BUILD_ROOT/var/lib/imap/faillog \
206         $RPM_BUILD_ROOT/etc/security/blacklist.imap \
207         $RPM_BUILD_ROOT/etc/security/blacklist.pop
208
209 %{__make} install \
210         DESTDIR=$RPM_BUILD_ROOT \
211         CYRUS_USER="`id -u`" \
212         CYRUS_GROUP="`id -g`" \
213         INSTALLDIRS=vendor
214
215 install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
216
217 install %{SOURCE1}      %{SOURCE2} %{SOURCE4} %{SOURCE5} .
218 install %{SOURCE6}      $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
219 install %{SOURCE7}      $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
220 install %{SOURCE9}      $RPM_BUILD_ROOT/etc/pam.d/imap
221 install %{SOURCE10}     $RPM_BUILD_ROOT/etc/pam.d/pop
222 install %{SOURCE11}     $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
223 install %{SOURCE12}     $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
224
225 mv -f $RPM_BUILD_ROOT%{_libexecdir}/master      $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
226 mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8   $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
227 rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
228
229 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
230
231 find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist -exec rm {} \;
232
233 # make hashed dirs
234 for i in `%{__perl} -le 'print for "a".."z"'`; do
235         mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
236         mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
237         mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
238         mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/spool/imap/$i
239 done
240
241 %clean
242 rm -rf $RPM_BUILD_ROOT
243
244 %pre
245 if [ -n "`/bin/id -u cyrus 2>/dev/null`" ]; then
246         if [ "`/bin/id -u cyrus`" != 76 ]; then
247                 echo "Error: user cyrus doesn't have uid=76. Correct this before installing cyrus-imapd." 1>&2
248                 exit 1
249         fi
250 else
251         /usr/sbin/useradd -u 76 -d /var/spool/imap -s /bin/false \
252                 -c "Cyrus User" -g mail cyrus 1>&2
253 fi
254
255 %post
256 /sbin/chkconfig --add cyrus-imapd
257 touch /var/lib/imap/faillog
258 chown cyrus:mail /var/lib/imap/faillog
259 chmod 640 /var/lib/imap/faillog
260 cd /var/lib/imap
261 chattr +S . user quota user/* quota/* 2>/dev/null ||:
262 chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
263 if [ -f /var/lock/subsys/cyrus-imapd ]; then
264         /etc/rc.d/init.d/cyrus-imapd restart 1>&2
265 else
266         echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start cyrus imap daemon."
267 fi
268
269 %preun
270 if [ "$1" = "0" ]; then
271         if [ -f /var/lock/subsys/cyrus-imapd ]; then
272                 /etc/rc.d/init.d/cyrus-imapd stop 1>&2
273         fi
274         /sbin/chkconfig --del cyrus-imapd
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 size mtime md5) %{_sysconfdir}/*.conf
290 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/cyrus-imapd
291 %attr(440,cyrus,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/*
292 %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.*
293 %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
294 %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
295 %attr(755,root,root) %{_bindir}/*
296 %attr(4754,cyrus,mail) %{_libexecdir}/deliver
297 %attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
298 %attr(755,root,root) %{_libexecdir}/arbitron
299 %attr(755,root,root) %{_libexecdir}/chk_cyrus
300 %attr(755,root,root) %{_libexecdir}/ctl_deliver
301 %attr(755,root,root) %{_libexecdir}/ctl_mboxlist
302 %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
303 %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
304 %attr(755,root,root) %{_libexecdir}/cyr_expire
305 %attr(755,root,root) %{_libexecdir}/cyrdump
306 %attr(755,root,root) %{_libexecdir}/cyrus-master
307 %attr(755,root,root) %{_libexecdir}/fud
308 %attr(755,root,root) %{_libexecdir}/imapd
309 %attr(755,root,root) %{_libexecdir}/ipurge
310 %attr(755,root,root) %{_libexecdir}/lmtpd
311 %attr(755,root,root) %{_libexecdir}/mbexamine
312 %attr(755,root,root) %{_libexecdir}/mbpath
313 %attr(755,root,root) %{_libexecdir}/notifyd
314 %attr(755,root,root) %{_libexecdir}/pop3d
315 %attr(755,root,root) %{_libexecdir}/pop3proxyd
316 %attr(755,root,root) %{_libexecdir}/quota
317 %attr(755,root,root) %{_libexecdir}/reconstruct
318 %attr(755,root,root) %{_libexecdir}/sievec
319 %attr(755,root,root) %{_libexecdir}/smmapd
320 %attr(755,root,root) %{_libexecdir}/squatter
321 %attr(755,root,root) %{_libexecdir}/timsieved
322 %attr(755,root,root) %{_libexecdir}/tls_prune
323
324 %attr(750,cyrus,mail) /var/spool/imap
325 %attr(750,cyrus,mail) %dir /var/lib/imap
326 %attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
327 %attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
328 %attr(750,cyrus,mail) /var/lib/imap/quota
329 %attr(750,cyrus,mail) /var/lib/imap/user
330 %attr(750,cyrus,mail) /var/lib/imap/sieve
331 %attr(750,cyrus,mail) /var/lib/imap/log
332 %attr(750,cyrus,mail) /var/lib/imap/msg
333 %attr(750,cyrus,mail) /var/lib/imap/proc
334 %attr(750,cyrus,mail) /var/lib/imap/db
335 %attr(750,cyrus,mail) /var/lib/imap/socket
336 %attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes
337
338 %{_mandir}/man*/*
339
340 %files libs
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
343
344 %files devel
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/lib*.so
347 %{_libdir}/lib*.la
348 %{_includedir}/cyrus
349
350 %files static
351 %defattr(644,root,root,755)
352 %{_libdir}/lib*.a
353
354 %files -n perl-%{name}
355 %defattr(644,root,root,755)
356 %{perl_vendorarch}/Cyrus
357 %dir %{perl_vendorarch}/auto/Cyrus
358 %dir %{perl_vendorarch}/auto/Cyrus/IMAP
359 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
360 %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
361 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE
362 %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
363 %attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
364 %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
This page took 0.052421 seconds and 3 git commands to generate.