]> git.pld-linux.org Git - packages/cyrus-imapd.git/blame - cyrus-imapd.spec
- up to 2.4.4, builds without shared patch
[packages/cyrus-imapd.git] / cyrus-imapd.spec
CommitLineData
581ee888
ER
1# Conditional build:
2%bcond_without perl # build with perl
3%bcond_without shared # build with shared patch (not updated)
4
5%{?with_perl:%include /usr/lib/rpm/macros.perl}
65b36ab1 6Summary: High-performance mail store with IMAP and POP3
bdb0c67b
ER
7Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
8Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
1be9fbde 9Name: cyrus-imapd
42a44080
ER
10Version: 2.4.4
11Release: 0.1
06468c41 12License: BSD-like
65b36ab1 13Group: Networking/Daemons/POP3
42a44080
ER
14Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
15# Source0-md5: 9d6970cec96aa867e9ced3978caddb8f
1be9fbde
AF
16Source1: cyrus-README
17Source2: cyrus-procmailrc
18Source3: cyrus-deliver-wrapper.c
19Source4: cyrus-user-procmailrc.template
c2419b53 20Source5: %{name}-procmail+cyrus.mc
21Source6: %{name}.logrotate
22Source7: %{name}.conf
c2419b53 23Source9: %{name}.pamd
24Source10: %{name}-pop.pamd
25Source11: %{name}.init
26Source12: cyrus.conf
72073223 27Source13: cyrus-sync.init
abe5625f 28Patch0: %{name}-et.patch
42a44080 29# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3095
3beb582f 30Patch1: %{name}-shared.patch
42a44080 31# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3094
41a4d655 32Patch2: %{name}-verifydbver.patch
581ee888
ER
33Patch3: gcc44.patch
34Patch4: glibc.patch
189bdde7 35Patch5: asneeded.patch
42a44080 36URL: http://www.cyrusimap.org/
69c226d2 37BuildRequires: autoconf >= 2.54
1097b491 38BuildRequires: automake
812a9b8c 39BuildRequires: cyrus-sasl-devel >= 1.5.27
8a851b4f 40BuildRequires: db-devel >= 4.1.25
332c28a6 41BuildRequires: flex
c0ac4d51 42BuildRequires: libcom_err-devel >= 1.21
9db9f97b 43BuildRequires: libtool
f7a838f6 44BuildRequires: net-snmp-devel
ed3b9bc8 45BuildRequires: openssl-devel >= 0.9.7d
581ee888
ER
46%{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
47%{?with_perl:BuildRequires: rpm-perlprov}
df8a13f2
ER
48BuildRequires: rpmbuild(macros) >= 1.268
49Requires(post,preun): /sbin/chkconfig
50Requires(postun): /usr/sbin/userdel
ff3301e7 51Requires(pre): /bin/id
850e0d61 52Requires(pre): /usr/sbin/useradd
581ee888 53%{?with_shared:Requires: %{name}-libs = %{version}-%{release}}
cad0b248 54Requires: rc-scripts >= 0.4.0.18
581ee888 55%{!?with_shared:Obsoletes: %{name}-libs}
9b5ae120 56# needed by scripts from %{_bindir}
237fec00 57Requires: pam >= 0.79.0
581ee888 58%{?with_perl:Requires: perl-%{name} = %{version}-%{release}}
f5c1cf30
AF
59Provides: imapdaemon
60Provides: pop3daemon
ff3301e7 61Provides: user(cyrus)
9db9f97b
JB
62Obsoletes: imap
63Obsoletes: imapd
64Obsoletes: imapdaemon
65Obsoletes: pop3daemon
d0ca46fe
JB
66Conflicts: courier-imap
67Conflicts: courier-imap-common
68Conflicts: courier-imap-pop3
06468c41
JB
69Conflicts: imap
70Conflicts: imap-common
71Conflicts: imap-pop2
72Conflicts: imap-pop3
4dd0ee92 73Conflicts: qpopper
4dd0ee92 74Conflicts: qpopper6
06468c41 75Conflicts: solid-pop3d
d0ca46fe 76Conflicts: tpop3d
9db9f97b 77BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
1be9fbde 78
144454c2 79%define _libexecdir %{_libdir}/cyrus
f3b9d127 80
1be9fbde 81%description
cb1cf368 82The Cyrus IMAP server is a scalable enterprise mail system designed
948af35e 83for use from small to large enterprise environments using
1be9fbde
AF
84standards-based technologies.
85
86A full Cyrus IMAP implementation allows a seamless mail and bulletin
948af35e 87board environment to be set up across multiple servers. It differs
88from other IMAP server implementations in that it is run on "sealed"
1be9fbde
AF
89servers, where users are not normally permitted to log in. The mailbox
90database is stored in parts of the filesystem that are private to the
91Cyrus IMAP system. All user access to mail is through software using
92the IMAP, POP3, or KPOP protocols.
93
04d4eab0 94%description -l pl.UTF-8
948af35e 95Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
04d4eab0
JR
96przedsiębiorstwa, zaprojektowanym dla małych i dużych firm i
97wykorzystującym oparte na standardach technologie.
98
99Pełna implementacja Cyrus IMAP pozwala na bezproblemowe ustawienie
100środowiska poczty i elektronicznej tablicy ogłoszeniowej na kilku
101serwerach. Tym się różni od innych implementacji serwerów IMAP, że
102jest uruchamiany na "opieczętowanych" serwerach, na które w normalnych
103warunkach użytkownicy nie mogą się zalogować. Baza danych skrzynek
104pocztowych jest przechowywana w tych częściach systemu plików, które
105są dostępne jedynie dla systemu IMAP Cyrus. Wszelki dostęp do poczty
106ma miejsce poprzez oprogramowanie wykorzystujące protokoły IMAP, POP3
948af35e 107oraz KPOP.
108
04d4eab0
JR
109%description -l pt_BR.UTF-8
110O servidor IMAP Cyrus é um sistema de mail corporativo escalável
797aec93 111projetado para uso por pequenos a grandes ambientes corporativos
04d4eab0 112usando tecnologias baseadas em padrões abertos.
797aec93 113
04d4eab0
JR
114Uma implementação completa do Cyrus permite se configurar um ambiente
115transparente de mail e bulletin board entre múltiplos servidores. Ele
797aec93 116difere de outros servidores IMAP por rodar em servidores "selados",
04d4eab0
JR
117onde usuários não possuem normalmente a permissão de log in. O banco
118de dados de caixas de mail é armazenado em partes do sistema de
119arquivos que são privativos do sistema Cyrus. Todo o acesso de
120usuários aos mails se dá através de software usando os protocolos
797aec93 121IMAP, POP3 ou KPOP.
122
9db9f97b
JB
123%package libs
124Summary: Shared cyrus-imapd libraries
bdb0c67b 125Summary(pl.UTF-8): Współdzielone biblioteki cyrus-imapd
9db9f97b
JB
126Group: Libraries
127
128%description libs
129Shared cyrus-imapd libraries.
130
04d4eab0
JR
131%description libs -l pl.UTF-8
132Współdzielone biblioteki cyrus-imapd.
9db9f97b 133
26aa5f83 134%package devel
9db9f97b 135Summary: Header files for developing with cyrus-imapd libraries
bdb0c67b 136Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem bibliotek cyrus-imapd
26aa5f83 137Group: Development/Libraries
9db9f97b 138Requires: %{name}-libs = %{version}-%{release}
26aa5f83 139
140%description devel
9db9f97b
JB
141This package provides the necessary header files files to allow you to
142develop with cyrus-imapd libraries.
26aa5f83 143
04d4eab0
JR
144%description devel -l pl.UTF-8
145Ten pakiet zawiera pliki nagłówkowe niezbędne do tworzenia
9db9f97b 146oprogramowania z wykorzystaniem bibliotek cyrus-imapd.
26aa5f83 147
148%package static
149Summary: Static cyrus-imapd libraries
bdb0c67b 150Summary(pl.UTF-8): Biblioteki statyczne cyrus-imapd
26aa5f83 151Group: Development/Libraries
144454c2 152Requires: %{name}-devel = %{version}-%{release}
26aa5f83 153
154%description static
155Static cyrus-imapd libraries
156
04d4eab0 157%description static -l pl.UTF-8
26aa5f83 158Biblioteki statyczne cyrus-imapd
159
f7cc6fbe 160%package -n perl-%{name}
161Summary: Perl interface to cyrus-imapd library
bdb0c67b 162Summary(pl.UTF-8): Perlowy interfejs do biblioteki cyrus-imapd
f7cc6fbe 163Group: Development/Languages/Perl
9db9f97b 164Requires: %{name}-libs = %{version}-%{release}
f7cc6fbe 165
166%description -n perl-%{name}
167Perl interface to cyrus-imapd library.
168
04d4eab0 169%description -n perl-%{name} -l pl.UTF-8
f7cc6fbe 170Perlowy interfejs do biblioteki cyrus-imapd.
171
1be9fbde 172%prep
e846e561 173%setup -q
6920db12 174%patch0 -p1
42a44080 175%patch5 -p1
3beb582f 176%patch1 -p1
41a4d655 177%patch2 -p1
581ee888
ER
178%patch3 -p1
179%patch4 -p1
144454c2
JB
180
181rm -rf autom4te.cache
3750750a 182
1be9fbde 183%build
1be9fbde 184cd makedepend
f53bf28b 185%{__libtoolize}
e25dce16 186%{__aclocal}
2fbf581c 187%{__autoconf}
f53bf28b 188cp -f %{_datadir}/automake/config.* .
e846e561 189%configure
07550cdb 190%{__make}
f53bf28b 191PATH=$PATH:$(pwd); export PATH
1be9fbde 192cd ..
9db9f97b 193%{__libtoolize}
e25dce16 194%{__aclocal} -I cmulocal
195%{__autoheader}
2fbf581c 196%{__autoconf}
e3159f00 197cp -f %{_datadir}/automake/config.* .
808aa207 198cp -f %{_datadir}/automake/install-sh .
f3b9d127 199%configure \
9d1481eb 200 --with-cyrus-prefix=%{_libexecdir} \
144454c2 201 --with-service-path=%{_libexecdir} \
573b6024 202 --with-com_err=/usr \
581ee888 203 --%{!?with_perl:without-perl}%{?with_perl:with-perl=%{__perl}} \
41a4d655 204 --without-libwrap \
ad180cab
ER
205 --enable-nntp \
206 --enable-replication
008c7a6d 207%{__make} -j1 \
3beb582f
AF
208 INSTALLDIRS=vendor \
209 VERSION=%{version}
1be9fbde 210
4dd0ee92 211%{__cc} %{rpmcflags} \
1097b491 212 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
1be9fbde
AF
213
214%install
f3b9d127 215rm -rf $RPM_BUILD_ROOT
f3b9d127
AF
216install -d \
217 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
6cd9161b 218 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
f3b9d127 219 $RPM_BUILD_ROOT/var/spool/imap/stage. \
758683a1 220 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
c2419b53 221 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
6920db12 222
e5822417
JR
223touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
224 $RPM_BUILD_ROOT/var/lib/imap/faillog \
84577b34 225 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
e5f127bb 226 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
f3b9d127 227
573b6024 228%{__make} install \
229 DESTDIR=$RPM_BUILD_ROOT \
ea5bd6ff
ER
230 CYRUS_USER=%(id -u) \
231 CYRUS_GROUP=%(id -g) \
573b6024 232 INSTALLDIRS=vendor
f3b9d127 233
3c6d33dc 234install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
f3b9d127 235
3750750a 236install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
c2419b53 237install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
238install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
c2419b53 239install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
240install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
c38a6f02 241sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
72073223 242sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
c2419b53 243install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
1be9fbde 244
3750750a 245mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
baa6c6f4 246mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
c38a6f02 247rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
3c6d33dc 248
e5f127bb 249touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
1be9fbde 250
f3b9d127 251# make hashed dirs
581ee888 252for i in $(%{__perl} -le 'print for "a".."z"'); do
c38a6f02
ER
253 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
254 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
255 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
256 install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
610cc4ce 257done
1be9fbde 258
581ee888
ER
259%if %{with perl}
260find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
261rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
262%endif
263
c0ac4d51
JB
264%clean
265rm -rf $RPM_BUILD_ROOT
266
a2e343ee 267%pre
8cb0dfcd 268%useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
a2e343ee 269
1be9fbde 270%post
e5822417 271touch /var/lib/imap/faillog
67fb57cd 272chown cyrus:mail /var/lib/imap/faillog
e5822417 273chmod 640 /var/lib/imap/faillog
e5822417 274cd /var/lib/imap
ff3301e7 275chattr +S . user quota user/* quota/* 2>/dev/null ||:
276chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
8ad6112d
ER
277
278/sbin/chkconfig --add cyrus-imapd
c38a6f02 279%service cyrus-imapd restart "cyrus imap daemon"
72073223 280%service cyrus-sync restart "cyrus replication service"
c2419b53 281
282%preun
e2f602fa 283if [ "$1" = "0" ]; then
df8a13f2 284 %service cyrus-imapd stop
72073223 285 %service cyrus-sync stop
e2f602fa 286 /sbin/chkconfig --del cyrus-imapd
72073223 287 /sbin/chkconfig --del cyrus-sync
e2f602fa 288fi
c2419b53 289
a2e343ee 290%postun
291if [ "$1" = "0" ]; then
ff3301e7 292 %userremove cyrus
a2e343ee 293fi
294
9db9f97b
JB
295%post libs -p /sbin/ldconfig
296%postun libs -p /sbin/ldconfig
297
f3b9d127
AF
298%files
299%defattr(644,root,root,755)
1097b491 300%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
8a851b4f 301%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
41919aea
ER
302%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
303%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
304%attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
305%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
b5845dff 306%attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
72073223 307%attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
c2419b53 308%attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
c2419b53 309%attr(755,root,root) %{_bindir}/*
c38a6f02 310%dir %{_libexecdir}
3750750a 311%attr(4754,cyrus,mail) %{_libexecdir}/deliver
f3b9d127 312%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
c648b02a 313%attr(755,root,root) %{_libexecdir}/arbitron
144454c2 314%attr(755,root,root) %{_libexecdir}/chk_cyrus
070fb878 315%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
c2419b53 316%attr(755,root,root) %{_libexecdir}/ctl_deliver
317%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
8a851b4f 318%attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
070fb878 319%attr(755,root,root) %{_libexecdir}/cyr_dbtool
3beb582f 320%attr(755,root,root) %{_libexecdir}/cyr_df
070fb878 321%attr(755,root,root) %{_libexecdir}/cyr_expire
42a44080 322%attr(755,root,root) %{_libexecdir}/cyr_sequence
3beb582f 323%attr(755,root,root) %{_libexecdir}/cyr_synclog
42a44080 324%attr(755,root,root) %{_libexecdir}/cyr_userseen
3beb582f 325%attr(755,root,root) %{_libexecdir}/cyrdump
144454c2 326%attr(755,root,root) %{_libexecdir}/cyrus-master
070fb878 327%attr(755,root,root) %{_libexecdir}/fetchnews
c2419b53 328%attr(755,root,root) %{_libexecdir}/fud
329%attr(755,root,root) %{_libexecdir}/imapd
330%attr(755,root,root) %{_libexecdir}/ipurge
331%attr(755,root,root) %{_libexecdir}/lmtpd
070fb878 332%attr(755,root,root) %{_libexecdir}/lmtpproxyd
808aa207 333%attr(755,root,root) %{_libexecdir}/mbexamine
c2419b53 334%attr(755,root,root) %{_libexecdir}/mbpath
070fb878 335%attr(755,root,root) %{_libexecdir}/nntpd
144454c2 336%attr(755,root,root) %{_libexecdir}/notifyd
c2419b53 337%attr(755,root,root) %{_libexecdir}/pop3d
144454c2 338%attr(755,root,root) %{_libexecdir}/pop3proxyd
070fb878 339%attr(755,root,root) %{_libexecdir}/proxyd
c2419b53 340%attr(755,root,root) %{_libexecdir}/quota
341%attr(755,root,root) %{_libexecdir}/reconstruct
144454c2 342%attr(755,root,root) %{_libexecdir}/sievec
3beb582f 343%attr(755,root,root) %{_libexecdir}/sieved
144454c2
JB
344%attr(755,root,root) %{_libexecdir}/smmapd
345%attr(755,root,root) %{_libexecdir}/squatter
3beb582f
AF
346%attr(755,root,root) %{_libexecdir}/sync_client
347%attr(755,root,root) %{_libexecdir}/sync_reset
348%attr(755,root,root) %{_libexecdir}/sync_server
c2419b53 349%attr(755,root,root) %{_libexecdir}/timsieved
144454c2 350%attr(755,root,root) %{_libexecdir}/tls_prune
070fb878
AF
351%attr(755,root,root) %{_libexecdir}/unexpunge
352
c2419b53 353%attr(750,cyrus,mail) /var/spool/imap
354%attr(750,cyrus,mail) %dir /var/lib/imap
758683a1 355%attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
356%attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
357%attr(750,cyrus,mail) /var/lib/imap/quota
358%attr(750,cyrus,mail) /var/lib/imap/user
359%attr(750,cyrus,mail) /var/lib/imap/sieve
360%attr(750,cyrus,mail) /var/lib/imap/log
361%attr(750,cyrus,mail) /var/lib/imap/msg
362%attr(750,cyrus,mail) /var/lib/imap/proc
363%attr(750,cyrus,mail) /var/lib/imap/db
364%attr(750,cyrus,mail) /var/lib/imap/socket
41919aea 365%attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
f3b9d127 366
1be9fbde 367%{_mandir}/man*/*
26aa5f83 368
581ee888 369%if %{with shared}
9db9f97b
JB
370%files libs
371%defattr(644,root,root,755)
3beb582f
AF
372%attr(755,root,root) %{_libdir}/libcyrus-%{version}.so
373%attr(755,root,root) %{_libdir}/libcyrus_min-%{version}.so
581ee888 374%endif
9db9f97b 375
26aa5f83 376%files devel
377%defattr(644,root,root,755)
581ee888
ER
378%{_includedir}/cyrus
379%if %{with shared}
ddff1f48
ER
380%attr(755,root,root) %{_libdir}/libcyrus.so
381%attr(755,root,root) %{_libdir}/libcyrus_min.so
382%{_libdir}/libcyrus.la
383%{_libdir}/libcyrus_min.la
26aa5f83 384
385%files static
386%defattr(644,root,root,755)
581ee888 387%endif
ddff1f48
ER
388%{_libdir}/libcyrus.a
389%{_libdir}/libcyrus_min.a
f7cc6fbe 390
581ee888 391%if %{with perl}
f7cc6fbe 392%files -n perl-%{name}
393%defattr(644,root,root,755)
573b6024 394%{perl_vendorarch}/Cyrus
808aa207
JB
395%dir %{perl_vendorarch}/auto/Cyrus
396%dir %{perl_vendorarch}/auto/Cyrus/IMAP
397%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
398%{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
399%dir %{perl_vendorarch}/auto/Cyrus/SIEVE
400%dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
401%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
402%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
581ee888 403%endif
This page took 0.109946 seconds and 4 git commands to generate.