]> git.pld-linux.org Git - packages/cyrus-imapd.git/blame - cyrus-imapd.spec
- up to 2.4.10; avoid -L/usr/lib
[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
79bc6b48
AM
10Version: 2.4.10
11Release: 1
06468c41 12License: BSD-like
65b36ab1 13Group: Networking/Daemons/POP3
42a44080 14Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
79bc6b48 15# Source0-md5: 55f08eeabf2f93281e61ba27854aea67
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
e0d09ed7 35Patch6: makeopt.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
0ccde06b
ER
172%package doc
173Summary: Cyrus-IMAP documentation
174Group: Documentation
175
176%description doc
177Cyrus-IMAP HTML documentation.
178
1be9fbde 179%prep
e846e561 180%setup -q
e0d09ed7 181%patch6 -p1
6920db12 182%patch0 -p1
e0d09ed7
ER
183%if %{with shared}
184lsdiff --strip 1 %{PATCH1} | xargs %{__sed} -i -e '
185 s/\.o/.lo/g
186 s/\.a/.la/g
187'
3beb582f 188%patch1 -p1
e0d09ed7 189%endif
41a4d655 190%patch2 -p1
581ee888
ER
191%patch3 -p1
192%patch4 -p1
144454c2
JB
193
194rm -rf autom4te.cache
3750750a 195
1be9fbde 196%build
1be9fbde 197cd makedepend
f53bf28b 198%{__libtoolize}
e25dce16 199%{__aclocal}
2fbf581c 200%{__autoconf}
f53bf28b 201cp -f %{_datadir}/automake/config.* .
e846e561 202%configure
07550cdb 203%{__make}
f53bf28b 204PATH=$PATH:$(pwd); export PATH
1be9fbde 205cd ..
9db9f97b 206%{__libtoolize}
e25dce16 207%{__aclocal} -I cmulocal
208%{__autoheader}
2fbf581c 209%{__autoconf}
e3159f00 210cp -f %{_datadir}/automake/config.* .
808aa207 211cp -f %{_datadir}/automake/install-sh .
f3b9d127 212%configure \
9d1481eb 213 --with-cyrus-prefix=%{_libexecdir} \
144454c2 214 --with-service-path=%{_libexecdir} \
573b6024 215 --with-com_err=/usr \
581ee888 216 --%{!?with_perl:without-perl}%{?with_perl:with-perl=%{__perl}} \
41a4d655 217 --without-libwrap \
ad180cab
ER
218 --enable-nntp \
219 --enable-replication
008c7a6d 220%{__make} -j1 \
3beb582f
AF
221 INSTALLDIRS=vendor \
222 VERSION=%{version}
1be9fbde 223
4dd0ee92 224%{__cc} %{rpmcflags} \
1097b491 225 -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
1be9fbde
AF
226
227%install
f3b9d127 228rm -rf $RPM_BUILD_ROOT
f3b9d127
AF
229install -d \
230 $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
6cd9161b 231 $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
f3b9d127 232 $RPM_BUILD_ROOT/var/spool/imap/stage. \
758683a1 233 $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
c2419b53 234 $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
6920db12 235
e5822417
JR
236touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
237 $RPM_BUILD_ROOT/var/lib/imap/faillog \
84577b34 238 $RPM_BUILD_ROOT/etc/security/blacklist.imap \
e5f127bb 239 $RPM_BUILD_ROOT/etc/security/blacklist.pop3
f3b9d127 240
573b6024 241%{__make} install \
242 DESTDIR=$RPM_BUILD_ROOT \
ea5bd6ff
ER
243 CYRUS_USER=%(id -u) \
244 CYRUS_GROUP=%(id -g) \
573b6024 245 INSTALLDIRS=vendor
f3b9d127 246
3c6d33dc 247install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
f3b9d127 248
3750750a 249install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
c2419b53 250install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
251install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
c2419b53 252install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
253install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
c38a6f02 254sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
72073223 255sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
c2419b53 256install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
1be9fbde 257
3750750a 258mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
baa6c6f4 259mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
c38a6f02 260rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
3c6d33dc 261
e5f127bb 262touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
1be9fbde 263
f3b9d127 264# make hashed dirs
581ee888 265for i in $(%{__perl} -le 'print for "a".."z"'); do
c38a6f02
ER
266 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i
267 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i
268 install -d $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i
269 install -d $RPM_BUILD_ROOT%{_var}/spool/imap/$i
610cc4ce 270done
1be9fbde 271
581ee888
ER
272%if %{with perl}
273find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
274rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
275%endif
276
c0ac4d51
JB
277%clean
278rm -rf $RPM_BUILD_ROOT
279
a2e343ee 280%pre
8cb0dfcd 281%useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus
a2e343ee 282
1be9fbde 283%post
e5822417 284touch /var/lib/imap/faillog
67fb57cd 285chown cyrus:mail /var/lib/imap/faillog
e5822417 286chmod 640 /var/lib/imap/faillog
e5822417 287cd /var/lib/imap
ff3301e7 288chattr +S . user quota user/* quota/* 2>/dev/null ||:
289chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
8ad6112d
ER
290
291/sbin/chkconfig --add cyrus-imapd
c38a6f02 292%service cyrus-imapd restart "cyrus imap daemon"
72073223 293%service cyrus-sync restart "cyrus replication service"
c2419b53 294
295%preun
e2f602fa 296if [ "$1" = "0" ]; then
df8a13f2 297 %service cyrus-imapd stop
72073223 298 %service cyrus-sync stop
e2f602fa 299 /sbin/chkconfig --del cyrus-imapd
72073223 300 /sbin/chkconfig --del cyrus-sync
e2f602fa 301fi
c2419b53 302
a2e343ee 303%postun
304if [ "$1" = "0" ]; then
ff3301e7 305 %userremove cyrus
a2e343ee 306fi
307
9db9f97b
JB
308%post libs -p /sbin/ldconfig
309%postun libs -p /sbin/ldconfig
310
f3b9d127
AF
311%files
312%defattr(644,root,root,755)
1097b491 313%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
0ccde06b 314%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT tools
41919aea
ER
315%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
316%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
317%attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
318%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.*
b5845dff 319%attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
72073223 320%attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
c2419b53 321%attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
c2419b53 322%attr(755,root,root) %{_bindir}/*
c38a6f02 323%dir %{_libexecdir}
3750750a 324%attr(4754,cyrus,mail) %{_libexecdir}/deliver
f3b9d127 325%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
c648b02a 326%attr(755,root,root) %{_libexecdir}/arbitron
144454c2 327%attr(755,root,root) %{_libexecdir}/chk_cyrus
070fb878 328%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
c2419b53 329%attr(755,root,root) %{_libexecdir}/ctl_deliver
330%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
8a851b4f 331%attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
070fb878 332%attr(755,root,root) %{_libexecdir}/cyr_dbtool
3beb582f 333%attr(755,root,root) %{_libexecdir}/cyr_df
070fb878 334%attr(755,root,root) %{_libexecdir}/cyr_expire
42a44080 335%attr(755,root,root) %{_libexecdir}/cyr_sequence
3beb582f 336%attr(755,root,root) %{_libexecdir}/cyr_synclog
42a44080 337%attr(755,root,root) %{_libexecdir}/cyr_userseen
3beb582f 338%attr(755,root,root) %{_libexecdir}/cyrdump
144454c2 339%attr(755,root,root) %{_libexecdir}/cyrus-master
070fb878 340%attr(755,root,root) %{_libexecdir}/fetchnews
c2419b53 341%attr(755,root,root) %{_libexecdir}/fud
342%attr(755,root,root) %{_libexecdir}/imapd
343%attr(755,root,root) %{_libexecdir}/ipurge
344%attr(755,root,root) %{_libexecdir}/lmtpd
070fb878 345%attr(755,root,root) %{_libexecdir}/lmtpproxyd
808aa207 346%attr(755,root,root) %{_libexecdir}/mbexamine
c2419b53 347%attr(755,root,root) %{_libexecdir}/mbpath
070fb878 348%attr(755,root,root) %{_libexecdir}/nntpd
144454c2 349%attr(755,root,root) %{_libexecdir}/notifyd
c2419b53 350%attr(755,root,root) %{_libexecdir}/pop3d
144454c2 351%attr(755,root,root) %{_libexecdir}/pop3proxyd
070fb878 352%attr(755,root,root) %{_libexecdir}/proxyd
c2419b53 353%attr(755,root,root) %{_libexecdir}/quota
354%attr(755,root,root) %{_libexecdir}/reconstruct
144454c2 355%attr(755,root,root) %{_libexecdir}/sievec
3beb582f 356%attr(755,root,root) %{_libexecdir}/sieved
144454c2
JB
357%attr(755,root,root) %{_libexecdir}/smmapd
358%attr(755,root,root) %{_libexecdir}/squatter
3beb582f
AF
359%attr(755,root,root) %{_libexecdir}/sync_client
360%attr(755,root,root) %{_libexecdir}/sync_reset
361%attr(755,root,root) %{_libexecdir}/sync_server
c2419b53 362%attr(755,root,root) %{_libexecdir}/timsieved
144454c2 363%attr(755,root,root) %{_libexecdir}/tls_prune
070fb878
AF
364%attr(755,root,root) %{_libexecdir}/unexpunge
365
c2419b53 366%attr(750,cyrus,mail) /var/spool/imap
367%attr(750,cyrus,mail) %dir /var/lib/imap
758683a1 368%attr(750,cyrus,mail) %dir /var/lib/imap/deliverdb
369%attr(750,cyrus,mail) /var/lib/imap/deliverdb/db
370%attr(750,cyrus,mail) /var/lib/imap/quota
371%attr(750,cyrus,mail) /var/lib/imap/user
372%attr(750,cyrus,mail) /var/lib/imap/sieve
373%attr(750,cyrus,mail) /var/lib/imap/log
374%attr(750,cyrus,mail) /var/lib/imap/msg
375%attr(750,cyrus,mail) /var/lib/imap/proc
376%attr(750,cyrus,mail) /var/lib/imap/db
377%attr(750,cyrus,mail) /var/lib/imap/socket
41919aea 378%attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes
f3b9d127 379
1be9fbde 380%{_mandir}/man*/*
26aa5f83 381
581ee888 382%if %{with shared}
9db9f97b
JB
383%files libs
384%defattr(644,root,root,755)
3beb582f
AF
385%attr(755,root,root) %{_libdir}/libcyrus-%{version}.so
386%attr(755,root,root) %{_libdir}/libcyrus_min-%{version}.so
581ee888 387%endif
9db9f97b 388
26aa5f83 389%files devel
390%defattr(644,root,root,755)
581ee888
ER
391%{_includedir}/cyrus
392%if %{with shared}
ddff1f48
ER
393%attr(755,root,root) %{_libdir}/libcyrus.so
394%attr(755,root,root) %{_libdir}/libcyrus_min.so
395%{_libdir}/libcyrus.la
396%{_libdir}/libcyrus_min.la
26aa5f83 397
398%files static
399%defattr(644,root,root,755)
581ee888 400%endif
ddff1f48
ER
401%{_libdir}/libcyrus.a
402%{_libdir}/libcyrus_min.a
f7cc6fbe 403
581ee888 404%if %{with perl}
f7cc6fbe 405%files -n perl-%{name}
406%defattr(644,root,root,755)
573b6024 407%{perl_vendorarch}/Cyrus
808aa207
JB
408%dir %{perl_vendorarch}/auto/Cyrus
409%dir %{perl_vendorarch}/auto/Cyrus/IMAP
410%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so
411%{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs
412%dir %{perl_vendorarch}/auto/Cyrus/SIEVE
413%dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve
414%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
415%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
581ee888 416%endif
0ccde06b
ER
417
418%files doc
419%defattr(644,root,root,755)
420%doc doc/*.html
This page took 0.269549 seconds and 4 git commands to generate.