+#
# Conditional build:
%bcond_without perl # build with perl
%bcond_without shared # build with shared patch (not updated)
Summary(pl.UTF-8): Wysoko wydajny serwer IMAP i POP3
Summary(pt_BR.UTF-8): Um servidor de mail de alto desempenho que suporta IMAP e POP3
Name: cyrus-imapd
-Version: 2.3.16
-Release: 2
+Version: 2.4.11
+Release: 1
License: BSD-like
Group: Networking/Daemons/POP3
-Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz
-# Source0-md5: 6a37feb1985974eee8a4a4b2932dd54c
+Source0: ftp://ftp.cyrusimap.org/cyrus-imapd/%{name}-%{version}.tar.gz
+# Source0-md5: d4a066e979adbe85679a6e239d64ee74
Source1: cyrus-README
Source2: cyrus-procmailrc
Source3: cyrus-deliver-wrapper.c
Source12: cyrus.conf
Source13: cyrus-sync.init
Patch0: %{name}-et.patch
-# https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3095
+# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3095
Patch1: %{name}-shared.patch
-# https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3094
+# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3094
Patch2: %{name}-verifydbver.patch
Patch3: gcc44.patch
Patch4: glibc.patch
-URL: http://cyrusimap.web.cmu.edu/imapd/
+Patch6: makeopt.patch
+URL: http://www.cyrusimap.org/
BuildRequires: autoconf >= 2.54
BuildRequires: automake
BuildRequires: cyrus-sasl-devel >= 1.5.27
BuildRequires: libtool
BuildRequires: net-snmp-devel
BuildRequires: openssl-devel >= 0.9.7d
+BuildRequires: patchutils
%{?with_perl:BuildRequires: perl-devel >= 1:5.8.0}
%{?with_perl:BuildRequires: rpm-perlprov}
BuildRequires: rpmbuild(macros) >= 1.268
%description -n perl-%{name} -l pl.UTF-8
Perlowy interfejs do biblioteki cyrus-imapd.
+%package doc
+Summary: Cyrus-IMAP documentation
+Group: Documentation
+
+%description doc
+Cyrus-IMAP HTML documentation.
+
%prep
%setup -q
+%patch6 -p1
%patch0 -p1
+%if %{with shared}
+lsdiff --strip 1 %{PATCH1} |grep -E '(configure.in|Makefile.in)'| xargs %{__sed} -i -e '
+ s/\.o/.lo/g
+ s/\.a/.la/g
+'
%patch1 -p1
+%endif
%patch2 -p1
%patch3 -p1
%patch4 -p1
rm -rf autom4te.cache
+cp -p %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
+
%build
cd makedepend
%{__libtoolize}
CYRUS_GROUP=%(id -g) \
INSTALLDIRS=vendor
-install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
+install -p deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
-install %{SOURCE1} %{SOURCE2} %{SOURCE4} %{SOURCE5} .
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
-install %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
-install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
+cp -p %{SOURCE9} $RPM_BUILD_ROOT/etc/pam.d/imap
+cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop
sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE11} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd
sed -e 's,/''usr/lib/cyrus,%{_libexecdir},' %{SOURCE13} > $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-sync
-install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf
-mv -f $RPM_BUILD_ROOT%{_libexecdir}/master $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
-mv -f $RPM_BUILD_ROOT%{_mandir}/man8/master.8 $RPM_BUILD_ROOT%{_mandir}/man8/cyrus-master.8
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
+# move lots of admin-only/system-only stuff to sbin and lib
+# but keep compat links as they are used in configs
+for i in master reconstruct quota deliver; do
+ mv $RPM_BUILD_ROOT{%{_libexecdir}/$i,%{_sbindir}/cyr$i}
+ ln -s %{_sbindir}/cyr$i $RPM_BUILD_ROOT%{_libexecdir}/$i
+done
+for i in mbpath ctl_mboxlist ctl_deliver ctl_cyrusdb squatter \
+ tls_prune ipurge cyrdump cvt_cyrusdb chk_cyrus arbitron \
+ cyr_expire; do
+ mv $RPM_BUILD_ROOT{%{_libexecdir},%{_sbindir}}/$i
+ ln -s %{_sbindir}/$i $RPM_BUILD_ROOT%{_libexecdir}
+done
+# We rename some utils, so we need to sort out the manpages
+for i in master reconstruct quota deliver; do
+ mv $RPM_BUILD_ROOT%{_mandir}/man8/{,cyr}$i.8
+done
+
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/idled.8
touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop3}
%if %{with perl}
find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist | xargs rm -v
-rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
%endif
%clean
%files
%defattr(644,root,root,755)
%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
-%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html tools
+%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT tools
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/cyrus-imapd
%attr(440,cyrus,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/*
%attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd
%attr(754,root,root) /etc/rc.d/init.d/cyrus-sync
%attr(640,cyrus,mail) %ghost /var/lib/imap/faillog
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/cyradm
+%attr(755,root,root) %{_bindir}/imtest
+%attr(755,root,root) %{_bindir}/installsieve
+%attr(755,root,root) %{_bindir}/lmtptest
+%attr(755,root,root) %{_bindir}/mupdatetest
+%attr(755,root,root) %{_bindir}/nntptest
+%attr(755,root,root) %{_bindir}/pop3test
+%attr(755,root,root) %{_bindir}/sieveshell
+%attr(755,root,root) %{_bindir}/sivtest
+%attr(755,root,root) %{_bindir}/smtptest
+%attr(755,root,root) %{_bindir}/synctest
+
+%attr(4754,cyrus,mail) %{_sbindir}/cyrdeliver
+%attr(755,root,root) %{_sbindir}/arbitron
+%attr(755,root,root) %{_sbindir}/chk_cyrus
+%attr(755,root,root) %{_sbindir}/ctl_cyrusdb
+%attr(755,root,root) %{_sbindir}/ctl_deliver
+%attr(755,root,root) %{_sbindir}/ctl_mboxlist
+%attr(755,root,root) %{_sbindir}/cvt_cyrusdb
+%attr(755,root,root) %{_sbindir}/cyr_expire
+%attr(755,root,root) %{_sbindir}/cyrdump
+%attr(755,root,root) %{_sbindir}/cyrmaster
+%attr(755,root,root) %{_sbindir}/cyrquota
+%attr(755,root,root) %{_sbindir}/cyrreconstruct
+%attr(755,root,root) %{_sbindir}/ipurge
+%attr(755,root,root) %{_sbindir}/mbpath
+%attr(755,root,root) %{_sbindir}/squatter
+%attr(755,root,root) %{_sbindir}/tls_prune
+
%dir %{_libexecdir}
-%attr(4754,cyrus,mail) %{_libexecdir}/deliver
%attr(2755,cyrus,mail) %{_libexecdir}/deliver-wrapper
-%attr(755,root,root) %{_libexecdir}/arbitron
-%attr(755,root,root) %{_libexecdir}/chk_cyrus
-%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
-%attr(755,root,root) %{_libexecdir}/ctl_deliver
-%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
-%attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
%attr(755,root,root) %{_libexecdir}/cyr_dbtool
%attr(755,root,root) %{_libexecdir}/cyr_df
-%attr(755,root,root) %{_libexecdir}/cyr_expire
+%attr(755,root,root) %{_libexecdir}/cyr_sequence
%attr(755,root,root) %{_libexecdir}/cyr_synclog
-%attr(755,root,root) %{_libexecdir}/cyrdump
-%attr(755,root,root) %{_libexecdir}/cyrus-master
+%attr(755,root,root) %{_libexecdir}/cyr_userseen
%attr(755,root,root) %{_libexecdir}/fetchnews
%attr(755,root,root) %{_libexecdir}/fud
%attr(755,root,root) %{_libexecdir}/imapd
-%attr(755,root,root) %{_libexecdir}/ipurge
%attr(755,root,root) %{_libexecdir}/lmtpd
%attr(755,root,root) %{_libexecdir}/lmtpproxyd
-%attr(755,root,root) %{_libexecdir}/make_md5
-%attr(755,root,root) %{_libexecdir}/make_sha1
%attr(755,root,root) %{_libexecdir}/mbexamine
-%attr(755,root,root) %{_libexecdir}/mbpath
%attr(755,root,root) %{_libexecdir}/nntpd
%attr(755,root,root) %{_libexecdir}/notifyd
%attr(755,root,root) %{_libexecdir}/pop3d
%attr(755,root,root) %{_libexecdir}/pop3proxyd
%attr(755,root,root) %{_libexecdir}/proxyd
-%attr(755,root,root) %{_libexecdir}/quota
-%attr(755,root,root) %{_libexecdir}/reconstruct
%attr(755,root,root) %{_libexecdir}/sievec
%attr(755,root,root) %{_libexecdir}/sieved
%attr(755,root,root) %{_libexecdir}/smmapd
-%attr(755,root,root) %{_libexecdir}/squatter
%attr(755,root,root) %{_libexecdir}/sync_client
%attr(755,root,root) %{_libexecdir}/sync_reset
%attr(755,root,root) %{_libexecdir}/sync_server
%attr(755,root,root) %{_libexecdir}/timsieved
-%attr(755,root,root) %{_libexecdir}/tls_prune
%attr(755,root,root) %{_libexecdir}/unexpunge
+# symlinks
+%attr(755,root,root) %{_libexecdir}/arbitron
+%attr(755,root,root) %{_libexecdir}/chk_cyrus
+%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
+%attr(755,root,root) %{_libexecdir}/ctl_deliver
+%attr(755,root,root) %{_libexecdir}/ctl_mboxlist
+%attr(755,root,root) %{_libexecdir}/cvt_cyrusdb
+%attr(755,root,root) %{_libexecdir}/cyr_expire
+%attr(755,root,root) %{_libexecdir}/cyrdump
+%attr(755,root,root) %{_libexecdir}/deliver
+%attr(755,root,root) %{_libexecdir}/ipurge
+%attr(755,root,root) %{_libexecdir}/master
+%attr(755,root,root) %{_libexecdir}/mbpath
+%attr(755,root,root) %{_libexecdir}/quota
+%attr(755,root,root) %{_libexecdir}/reconstruct
+%attr(755,root,root) %{_libexecdir}/squatter
+%attr(755,root,root) %{_libexecdir}/tls_prune
%attr(750,cyrus,mail) /var/spool/imap
%attr(750,cyrus,mail) %dir /var/lib/imap
%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so
%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs
%endif
+
+%files doc
+%defattr(644,root,root,755)
+%doc doc/*.html