]> git.pld-linux.org Git - packages/cyrus-imapd.git/blob - cyrus-imapd.spec
- added macros in /etc/logrotate.d
[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.8
9 Release:        0.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:  7e6cb571e1d9b648725aa579077f6f8d
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
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: ucd-snmp-devel >= 4.2.6
38 PreReq:         rc-scripts
39 Requires(pre):  /usr/sbin/useradd
40 Requires(postun):       /usr/sbin/userdel
41 Requires(post,preun):   /sbin/chkconfig
42 Requires:       %{name}-libs = %{version}-%{release}
43 # needed by scripts from %{_bindir}
44 Requires:       perl-%{name} = %{version}-%{release}
45 Requires:       pam >= 0.77.3
46 Provides:       imapdaemon
47 Provides:       pop3daemon
48 Obsoletes:      imap
49 Obsoletes:      imapd
50 Obsoletes:      imapdaemon
51 Obsoletes:      pop3daemon
52 Conflicts:      courier-imap
53 Conflicts:      courier-imap-common
54 Conflicts:      courier-imap-pop3
55 Conflicts:      imap
56 Conflicts:      imap-common
57 Conflicts:      imap-pop2
58 Conflicts:      imap-pop3
59 Conflicts:      qpopper
60 Conflicts:      qpopper6
61 Conflicts:      solid-pop3d
62 Conflicts:      tpop3d
63 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65 %define         _libexecdir     %{_libdir}/cyrus
66
67 %description
68 The Cyrus IMAP server is a scalable enterprise mail system designed
69 for use from small to large enterprise environments using
70 standards-based technologies.
71
72 A full Cyrus IMAP implementation allows a seamless mail and bulletin
73 board environment to be set up across multiple servers. It differs
74 from other IMAP server implementations in that it is run on "sealed"
75 servers, where users are not normally permitted to log in. The mailbox
76 database is stored in parts of the filesystem that are private to the
77 Cyrus IMAP system. All user access to mail is through software using
78 the IMAP, POP3, or KPOP protocols.
79
80 %description -l pl
81 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
82 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
83 wykorzystuj±cym oparte na standardach technologie.
84
85 Pe³na implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
86 ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku
87 serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e
88 jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych
89 warunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek
90 pocztowych jest przechowywana w tych czê¶ciach systemu plików, które
91 s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty
92 ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3
93 oraz KPOP.
94
95 %description -l pt_BR
96 O servidor IMAP Cyrus é um sistema de mail corporativo escalável
97 projetado para uso por pequenos a grandes ambientes corporativos
98 usando tecnologias baseadas em padrões abertos.
99
100 Uma implementação completa do Cyrus permite se configurar um ambiente
101 transparente de mail e bulletin board entre múltiplos servidores. Ele
102 difere de outros servidores IMAP por rodar em servidores "selados",
103 onde usuários não possuem normalmente a permissão de log in. O banco
104 de dados de caixas de mail é armazenado em partes do sistema de
105 arquivos que são privativos do sistema Cyrus. Todo o acesso de
106 usuários aos mails se dá através de software usando os protocolos
107 IMAP, POP3 ou KPOP.
108
109 %package libs
110 Summary:        Shared cyrus-imapd libraries
111 Summary(pl):    Wspó³dzielone biblioteki cyrus-imapd
112 Group:          Libraries
113
114 %description libs
115 Shared cyrus-imapd libraries.
116
117 %description libs -l pl
118 Wspó³dzielone biblioteki cyrus-imapd.
119
120 %package devel
121 Summary:        Header files for developing with cyrus-imapd libraries
122 Summary(pl):    Pliki nag³ówkowe do programowania z u¿yciem bibliotek cyrus-imapd
123 Group:          Development/Libraries
124 Requires:       %{name}-libs = %{version}-%{release}
125
126 %description devel
127 This package provides the necessary header files files to allow you to
128 develop with cyrus-imapd libraries.
129
130 %description devel -l pl
131 Ten pakiet zawiera pliki nag³ówkowe niezbêdne do tworzenia
132 oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
133
134 %package static
135 Summary:        Static cyrus-imapd libraries
136 Summary(pl):    Biblioteki statyczne cyrus-imapd
137 Group:          Development/Libraries
138 Requires:       %{name}-devel = %{version}-%{release}
139
140 %description static
141 Static cyrus-imapd libraries
142
143 %description static -l pl
144 Biblioteki statyczne cyrus-imapd
145
146 %package -n perl-%{name}
147 Summary:        Perl interface to cyrus-imapd library
148 Summary(pl):    Perlowy interfejs do biblioteki cyrus-imapd
149 Group:          Development/Languages/Perl
150 Requires:       %{name}-libs = %{version}-%{release}
151
152 %description -n perl-%{name}
153 Perl interface to cyrus-imapd library.
154
155 %description -n perl-%{name} -l pl
156 Perlowy interfejs do biblioteki cyrus-imapd.
157
158 %prep
159 %setup -q
160 %patch0 -p1
161 %patch1 -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) %config(noreplace) %verify(not size mtime md5) /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 1.045441 seconds and 4 git commands to generate.