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