X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cyrus-imapd.spec;h=cc53ef390154d6c26f9157f5efb17988fbc87c4c;hb=f7a838f64b1d14953a8a5b449cbdff3ab4ba6f12;hp=cd0b8cb0938e9a022473d66ff002b1daf3b9f314;hpb=4f6193a366df7029a721c40ab8abf114b9a0e1c7;p=packages%2Fcyrus-imapd.git diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index cd0b8cb..cc53ef3 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -3,11 +3,12 @@ Summary: High-performance mail store with imap and pop3 Summary(pl): Wysoko wydajny serwer IMAP i POP3 Summary(pt_BR): Um servidor de mail de alto desempenho que suporta IMAP e POP3 Name: cyrus-imapd -Version: 2.1.12 -Release: 0.3 +Version: 2.2.12 +Release: 4 License: BSD-like Group: Networking/Daemons Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/%{name}-%{version}.tar.gz +# Source0-md5: 70b3bba526a8d36d3bb23a87d37e9188 Source1: cyrus-README Source2: cyrus-procmailrc Source3: cyrus-deliver-wrapper.c @@ -19,26 +20,37 @@ Source9: %{name}.pamd Source10: %{name}-pop.pamd Source11: %{name}.init Source12: cyrus.conf -Patch0: %{name}-snmp.patch -Patch1: %{name}-mandir.patch -Patch2: %{name}-paths.patch -Patch5: %{name}-et.patch +Patch0: %{name}-et.patch +Patch1: %{name}-shared.patch URL: http://andrew2.andrew.cmu.edu/cyrus/imapd/ -BuildRequires: autoconf +BuildRequires: autoconf >= 2.54 BuildRequires: automake BuildRequires: cyrus-sasl-devel >= 1.5.27 BuildRequires: db-devel >= 4.1.25 -BuildRequires: e2fsprogs-devel >= 1.21 BuildRequires: flex -BuildRequires: openssl-devel >= 0.9.7 -BuildRequires: perl-devel >= 5.6.1 -#BuildRequires: ucd-snmp-devel >= 4.2.6 +BuildRequires: libcom_err-devel >= 1.21 +BuildRequires: libtool +BuildRequires: net-snmp-devel +BuildRequires: openssl-devel >= 0.9.7d +BuildRequires: perl-devel >= 1:5.8.0 +BuildRequires: rpm-perlprov +BuildRequires: rpmbuild(macros) >= 1.202 PreReq: rc-scripts -Requires(pre): user-cyrus -Requires(post,preun):/sbin/chkconfig +Requires(pre): /bin/id +Requires(pre): /usr/sbin/useradd +Requires(postun): /usr/sbin/userdel +Requires(post,preun): /sbin/chkconfig +Requires: %{name}-libs = %{version}-%{release} +# needed by scripts from %{_bindir} +Requires: perl-%{name} = %{version}-%{release} +Requires: pam >= 0.79.0 Provides: imapdaemon Provides: pop3daemon -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +Provides: user(cyrus) +Obsoletes: imap +Obsoletes: imapd +Obsoletes: imapdaemon +Obsoletes: pop3daemon Conflicts: courier-imap Conflicts: courier-imap-common Conflicts: courier-imap-pop3 @@ -50,12 +62,9 @@ Conflicts: qpopper Conflicts: qpopper6 Conflicts: solid-pop3d Conflicts: tpop3d -Obsoletes: imapd -Obsoletes: imap -Obsoletes: pop3daemon -Obsoletes: imapdaemon +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _libexecdir %{_prefix}/lib/cyrus +%define _libexecdir %{_libdir}/cyrus %description The Cyrus IMAP server is a scalable enterprise mail system designed @@ -79,8 +88,8 @@ Pe ¶rodowiska poczty i elektronicznej tablicy og³oszeniowej na kilku serwerach. Tym siê ró¿ni od innych implementacji serwerów IMAP, ¿e jest uruchamiany na "opieczêtowanych" serwerach, na które w normalnych -waunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek -pocztowych jest pzrechowywana w tych czê¶ciach systemu plików, które +warunkach u¿ytkownicy nie mog± siê zalogowaæ. Baza danych skrzynek +pocztowych jest przechowywana w tych czê¶ciach systemu plików, które s± dostêpne jedynie dla systemu IMAP Cyrus. Wszelki dostêp do poczty ma miejsce poprzez oprogramowanie wykorzystuj±ce protoko³y IMAP, POP3 oraz KPOP. @@ -99,25 +108,36 @@ arquivos que s usuários aos mails se dá através de software usando os protocolos IMAP, POP3 ou KPOP. +%package libs +Summary: Shared cyrus-imapd libraries +Summary(pl): Wspó³dzielone biblioteki cyrus-imapd +Group: Libraries + +%description libs +Shared cyrus-imapd libraries. + +%description libs -l pl +Wspó³dzielone biblioteki cyrus-imapd. + %package devel -Summary: Libraries and include files for developing with cyrus-imapd -Summary(pl): Pliki potrzebne do programowania z u¿yciem cyrus-imapd +Summary: Header files for developing with cyrus-imapd libraries +Summary(pl): Pliki nag³ówkowe do programowania z u¿yciem bibliotek cyrus-imapd Group: Development/Libraries -Requires: %{name} = %{version} +Requires: %{name}-libs = %{version}-%{release} %description devel -This package provides the necessary development libraries and include -files to allow you to develop with cyrus-imapd. +This package provides the necessary header files files to allow you to +develop with cyrus-imapd libraries. %description devel -l pl -Ten pakiet zawiera biblioteki oraz pliki nag³ówkowe niezbêdne do -tworzenia oprogramowania z wykorzystaniem cyrus-imapd. +Ten pakiet zawiera pliki nag³ówkowe niezbêdne do tworzenia +oprogramowania z wykorzystaniem bibliotek cyrus-imapd. %package static Summary: Static cyrus-imapd libraries Summary(pl): Biblioteki statyczne cyrus-imapd Group: Development/Libraries -Requires: %{name}-devel = %{version} +Requires: %{name}-devel = %{version}-%{release} %description static Static cyrus-imapd libraries @@ -129,7 +149,7 @@ Biblioteki statyczne cyrus-imapd Summary: Perl interface to cyrus-imapd library Summary(pl): Perlowy interfejs do biblioteki cyrus-imapd Group: Development/Languages/Perl -Requires: %{name} = %{version} +Requires: %{name}-libs = %{version}-%{release} %description -n perl-%{name} Perl interface to cyrus-imapd library. @@ -141,30 +161,31 @@ Perlowy interfejs do biblioteki cyrus-imapd. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch5 -p1 + +rm -rf autom4te.cache %build cd makedepend -rm -f aclocal.m4 %{__aclocal} %{__autoconf} %configure %{__make} PATH=$PATH:`pwd`; export PATH cd .. -rm -f aclocal.m4 +%{__libtoolize} %{__aclocal} -I cmulocal %{__autoheader} %{__autoconf} -cp %{_datadir}/automake/config.* . -cp %{_datadir}/automake/install-sh . +cp -f %{_datadir}/automake/config.* . +cp -f %{_datadir}/automake/install-sh . %configure \ --with-auth=unix \ --without-libwrap \ --with-cyrus-prefix=%{_libexecdir} \ + --with-service-path=%{_libexecdir} \ --with-com_err=/usr \ - --with-perl=%{__perl} + --with-perl=%{__perl} \ + --enable-nntp %{__make} \ INSTALLDIRS=vendor @@ -189,7 +210,6 @@ touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \ DESTDIR=$RPM_BUILD_ROOT \ CYRUS_USER="`id -u`" \ CYRUS_GROUP="`id -g`" \ - mandir=%{_mandir} \ INSTALLDIRS=vendor install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper @@ -202,10 +222,8 @@ install %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/pop install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/cyrus-imapd install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cyrus.conf -mv -f $RPM_BUILD_ROOT%{_libexecdir}/bin/* $RPM_BUILD_ROOT%{_libexecdir} 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 -rf $RPM_BUILD_ROOT%{_libexecdir}/bin rm -rf $RPM_BUILD_ROOT%{_mandir}/man8/idled.8 touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop} @@ -214,20 +232,26 @@ find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist -exec rm {} \; # make hashed dirs for i in `%{__perl} -le 'print for "a".."z"'`; do - mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i - mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i - mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i - mkdir -p -m 0755 $RPM_BUILD_ROOT%{_var}/spool/imap/$i + install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/user/$i + install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/quota/$i + install -d -m 0755 $RPM_BUILD_ROOT%{_var}/lib/imap/sieve/$i + install -d -m 0755 $RPM_BUILD_ROOT%{_var}/spool/imap/$i done +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +%useradd -u 76 -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus + %post /sbin/chkconfig --add cyrus-imapd touch /var/lib/imap/faillog -chown cyrus.mail /var/lib/imap/faillog +chown cyrus:mail /var/lib/imap/faillog chmod 640 /var/lib/imap/faillog cd /var/lib/imap -chattr +S . user quota user/* quota/* 2>/dev/null -chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null +chattr +S . user quota user/* quota/* 2>/dev/null ||: +chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||: if [ -f /var/lock/subsys/cyrus-imapd ]; then /etc/rc.d/init.d/cyrus-imapd restart 1>&2 else @@ -242,42 +266,54 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del cyrus-imapd fi -%clean -rm -rf $RPM_BUILD_ROOT +%postun +if [ "$1" = "0" ]; then + %userremove cyrus +fi + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %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 -%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf -%attr(640,root,root) /etc/logrotate.d/cyrus-imapd -%attr(440,cyrus,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/* -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.* +%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(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.* %attr(754,root,root) /etc/rc.d/init.d/cyrus-imapd %attr(640,cyrus,mail) %ghost /var/lib/imap/faillog %attr(755,root,root) %{_bindir}/* %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_deliver %attr(755,root,root) %{_libexecdir}/ctl_mboxlist %attr(755,root,root) %{_libexecdir}/ctl_cyrusdb %attr(755,root,root) %{_libexecdir}/cvt_cyrusdb -%attr(755,root,root) %{_libexecdir}/chk_cyrus -%attr(755,root,root) %{_libexecdir}/notifyd -%attr(755,root,root) %{_libexecdir}/squatter -%attr(755,root,root) %{_libexecdir}/tls_prune +%attr(755,root,root) %{_libexecdir}/cyr_expire %attr(755,root,root) %{_libexecdir}/cyrdump -%attr(755,root,root) %{_libexecdir}/feedcyrus +%attr(755,root,root) %{_libexecdir}/cyrus-master %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}/cyrus-master +%attr(755,root,root) %{_libexecdir}/mbexamine %attr(755,root,root) %{_libexecdir}/mbpath +%attr(755,root,root) %{_libexecdir}/notifyd %attr(755,root,root) %{_libexecdir}/pop3d +%attr(755,root,root) %{_libexecdir}/pop3proxyd %attr(755,root,root) %{_libexecdir}/quota %attr(755,root,root) %{_libexecdir}/reconstruct +%attr(755,root,root) %{_libexecdir}/sievec +%attr(755,root,root) %{_libexecdir}/smmapd +%attr(755,root,root) %{_libexecdir}/squatter %attr(755,root,root) %{_libexecdir}/timsieved +%attr(755,root,root) %{_libexecdir}/tls_prune +%attr(755,root,root) %{_libexecdir}/fetchnews +%attr(755,root,root) %{_libexecdir}/nntpd %attr(750,cyrus,mail) /var/spool/imap %attr(750,cyrus,mail) %dir /var/lib/imap @@ -291,12 +327,18 @@ rm -rf $RPM_BUILD_ROOT %attr(750,cyrus,mail) /var/lib/imap/proc %attr(750,cyrus,mail) /var/lib/imap/db %attr(750,cyrus,mail) /var/lib/imap/socket -%attr(750,cyrus,mail) %config(noreplace) %verify(not size md5 mtime) /var/lib/imap/mailboxes +%attr(750,cyrus,mail) %config(noreplace) %verify(not md5 mtime size) /var/lib/imap/mailboxes %{_mandir}/man*/* +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so.*.*.* + %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lib*.so +%{_libdir}/lib*.la %{_includedir}/cyrus %files static @@ -306,4 +348,11 @@ rm -rf $RPM_BUILD_ROOT %files -n perl-%{name} %defattr(644,root,root,755) %{perl_vendorarch}/Cyrus -%{perl_vendorarch}/auto/Cyrus +%dir %{perl_vendorarch}/auto/Cyrus +%dir %{perl_vendorarch}/auto/Cyrus/IMAP +%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so +%{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.bs +%dir %{perl_vendorarch}/auto/Cyrus/SIEVE +%dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve +%attr(755,root,root) %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so +%{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.bs