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