]> git.pld-linux.org Git - packages/cyrus-imapd.git/blobdiff - cyrus-imapd.spec
- rel 6 (rebuild with fixed %useradd/%groupadd macros)
[packages/cyrus-imapd.git] / cyrus-imapd.spec
index 7e9f2b5165f18889b83e4de461f9f9c5e86bf2b1..13eb7f51b9325d61dcf7a5fd991ea00bdf877b41 100644 (file)
@@ -1,12 +1,14 @@
 %include       /usr/lib/rpm/macros.perl
-Summary:       high-performance mail store with imap and pop3
+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.0.9
-Release:       0.2
-Copyright:     academic/research
+Version:       2.2.12
+Release:       6
+License:       BSD-like
 Group:         Networking/Daemons
-Group(pl):     Sieciowe/Serwery
 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
@@ -14,34 +16,59 @@ Source4:    cyrus-user-procmailrc.template
 Source5:       %{name}-procmail+cyrus.mc
 Source6:       %{name}.logrotate
 Source7:       %{name}.conf
-Source8:       %{name}.cron
 Source9:       %{name}.pamd
 Source10:      %{name}-pop.pamd
 Source11:      %{name}.init
 Source12:      cyrus.conf
-Patch0:                %{name}-snmp.patch
-Patch1:                %{name}-mandir.patch
+Patch0:                %{name}-et.patch
+Patch1:                %{name}-shared.patch
+Patch2:                %{name}-quota.patch
 URL:           http://andrew2.andrew.cmu.edu/cyrus/imapd/
-#Icon:         cyrus.gif
-BuildRequires: cyrus-sasl-devel
-#BuildRequires:        tcl-devel >= 8.0
-BuildRequires: openssl-devel
-BuildRequires: perl >= 5.6.0
-BuildRequires: db3-devel >= 3.1.17
+BuildRequires: autoconf >= 2.54
+BuildRequires: automake
+BuildRequires: cyrus-sasl-devel >= 1.5.27
+BuildRequires: db-devel >= 4.1.25
+BuildRequires: flex
+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.268
+Requires(post,preun):  /sbin/chkconfig
+Requires(postun):      /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/sbin/useradd
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      rc-scripts
+# needed by scripts from %{_bindir}
+Requires:      pam >= 0.79.0
+Requires:      perl-%{name} = %{version}-%{release}
+Provides:      imapdaemon
+Provides:      pop3daemon
+Provides:      user(cyrus)
+Obsoletes:     imap
 Obsoletes:     imapd
-Obsoletes:     pop3daemon
 Obsoletes:     imapdaemon
+Obsoletes:     pop3daemon
+Conflicts:     courier-imap
+Conflicts:     courier-imap-common
+Conflicts:     courier-imap-pop3
+Conflicts:     imap
+Conflicts:     imap-common
+Conflicts:     imap-pop2
+Conflicts:     imap-pop3
 Conflicts:     qpopper
-Conflicts:     solid-pop3d
 Conflicts:     qpopper6
-Provides:      imapdaemon
-Provides:      pop3daemon
+Conflicts:     solid-pop3d
+Conflicts:     tpop3d
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _libexecdir     %{_prefix}/lib/cyrus
+%define                _libexecdir     %{_libdir}/cyrus
 
 %description
-The Cyrus IMAP server is a scaleable enterprise mail system designed
+The Cyrus IMAP server is a scalable enterprise mail system designed
 for use from small to large enterprise environments using
 standards-based technologies.
 
@@ -53,10 +80,6 @@ database is stored in parts of the filesystem that are private to the
 Cyrus IMAP system. All user access to mail is through software using
 the IMAP, POP3, or KPOP protocols.
 
-Note that this package can be used by ISPs and other to provide mail
-services, but it may not be distributed as part of a commercial
-product.
-
 %description -l pl
 Serwer Cyrus IMAP jest skalowalnym systemem e-mail dla
 przedsiêbiorstwa, zaprojektowanym dla ma³ych i du¿ych firm i
@@ -66,42 +89,116 @@ 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.
 
-Nale¿y zwróciæ uwagê na fakt, ¿e pakiet ten mo¿e byæ wykorzystywany
-przez ISP, nie mo¿e byæ jednak rozpowszechniany jako czê¶æ
-komercyjnego produktu.
+%description -l pt_BR
+O servidor IMAP Cyrus é um sistema de mail corporativo escalável
+projetado para uso por pequenos a grandes ambientes corporativos
+usando tecnologias baseadas em padrões abertos.
+
+Uma implementação completa do Cyrus permite se configurar um ambiente
+transparente de mail e bulletin board entre múltiplos servidores. Ele
+difere de outros servidores IMAP por rodar em servidores "selados",
+onde usuários não possuem normalmente a permissão de log in. O banco
+de dados de caixas de mail é armazenado em partes do sistema de
+arquivos que são privativos do sistema Cyrus. Todo o acesso de
+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:       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}-libs = %{version}-%{release}
+
+%description devel
+This package provides the necessary header files files to allow you to
+develop with cyrus-imapd libraries.
+
+%description devel -l pl
+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}-%{release}
+
+%description static
+Static cyrus-imapd libraries
+
+%description static -l pl
+Biblioteki statyczne cyrus-imapd
+
+%package -n perl-%{name}
+Summary:       Perl interface to cyrus-imapd library
+Summary(pl):   Perlowy interfejs do biblioteki cyrus-imapd
+Group:         Development/Languages/Perl
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description -n perl-%{name}
+Perl interface to cyrus-imapd library.
+
+%description -n perl-%{name} -l pl
+Perlowy interfejs do biblioteki cyrus-imapd.
 
 %prep
-%setup -q 
+%setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+
+rm -rf autom4te.cache
+
 %build
 cd makedepend
-autoconf
-%configure 
+%{__aclocal}
+%{__autoconf}
+%configure
 %{__make}
-export PATH=$PATH:`pwd`
+PATH=$PATH:`pwd`; export PATH
 cd ..
-autoheader
-autoconf
+%{__libtoolize}
+%{__aclocal} -I cmulocal
+%{__autoheader}
+%{__autoconf}
+cp -f %{_datadir}/automake/config.* .
+cp -f %{_datadir}/automake/install-sh .
 %configure \
        --with-auth=unix \
-       --without-libwrap
-%{__make}
+       --without-libwrap \
+       --with-cyrus-prefix=%{_libexecdir} \
+       --with-service-path=%{_libexecdir} \
+       --with-com_err=/usr \
+       --with-perl=%{__perl} \
+       --enable-nntp
+%{__make} \
+       INSTALLDIRS=vendor
 
-%{__cc} $RPM_OPT_FLAGS -DLIBEXECDIR=\"%{_libexecdir}\" -s -Wall -o deliver-wrapper %{SOURCE3}
+%{__cc} %{rpmcflags} \
+       -DLIBEXECDIR="\"%{_libexecdir}\"" %{rpmldflags} -Wall -o deliver-wrapper %{SOURCE3}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
 install -d \
        $RPM_BUILD_ROOT{%{_sbindir},%{_libexecdir},%{_mandir}} \
-       $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,cron.daily,sysconfig/rc-inetd} \
+       $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,sysconfig/rc-inetd} \
        $RPM_BUILD_ROOT/var/spool/imap/stage. \
        $RPM_BUILD_ROOT/var/lib/imap/{user,quota,proc,log,msg,deliverdb/db,sieve,db,socket} \
        $RPM_BUILD_ROOT/etc/{security,pam.d,rc.d/init.d}
@@ -111,120 +208,108 @@ touch $RPM_BUILD_ROOT/var/lib/imap/mailboxes \
        $RPM_BUILD_ROOT/etc/security/blacklist.imap \
        $RPM_BUILD_ROOT/etc/security/blacklist.pop
 
-%{__make} install DESTDIR=$RPM_BUILD_ROOT CYRUS_USER="`id -u`" CYRUS_GROUP="`id -g`" mandir=%{_mandir}
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT \
+       CYRUS_USER="`id -u`" \
+       CYRUS_GROUP="`id -g`" \
+       INSTALLDIRS=vendor
 
-install deliver-wrapper $RPM_BUILD_ROOT%{_prefix}/cyrus/bin/deliver-wrapper
+install deliver-wrapper $RPM_BUILD_ROOT%{_libexecdir}/deliver-wrapper
 
-install %{SOURCE1}     .
-install %{SOURCE2}     .
-install %{SOURCE4}     .
-install %{SOURCE5}     .
+install %{SOURCE1}     %{SOURCE2} %{SOURCE4} %{SOURCE5} .
 install %{SOURCE6}     $RPM_BUILD_ROOT/etc/logrotate.d/cyrus-imapd
 install %{SOURCE7}     $RPM_BUILD_ROOT%{_sysconfdir}/imapd.conf
-install %{SOURCE8}     $RPM_BUILD_ROOT/etc/cron.daily/cyrus-imapd
 install %{SOURCE9}     $RPM_BUILD_ROOT/etc/pam.d/imap
 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 $RPM_BUILD_ROOT%{_prefix}/cyrus/bin/*       $RPM_BUILD_ROOT%{_libexecdir}
-mv $RPM_BUILD_ROOT%{_libexecdir}/master                $RPM_BUILD_ROOT%{_libexecdir}/cyrus-master
+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%{_mandir}/man8/idled.8
 
-gzip -9nf cyrus-README cyrus-procmailrc        cyrus-user-procmailrc.template \
-       cyrus-imapd-procmail+cyrus.mc
+touch $RPM_BUILD_ROOT/etc/security/blacklist.{imap,pop}
+
+find $RPM_BUILD_ROOT%{perl_vendorarch} -name .packlist -exec rm {} \;
 
 # make hashed dirs
-oldpwd=`pwd`
-cd $RPM_BUILD_ROOT/var
-perl <<EOF
-foreach \$i ("a".."z") 
-{
-  mkdir "lib/imap/user/\$i", 0755;
-  mkdir "lib/imap/quota/\$i", 0755;
-  mkdir "lib/imap/sieve/\$i", 0755;
-  mkdir "spool/imap/\$i", 0755;
-}
-EOF
-cd ${oldpwd}
+for i in `%{__perl} -le 'print for "a".."z"'`; do
+       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
-if [ -z "`id -u cyrus 2>/dev/null`" ]; then
-       /usr/sbin/useradd -u 76 -r -d /var/spool/imap -s /bin/false -c "Cyrus User" -g mail cyrus 1>&2
-fi
+%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
-if [ -f /var/lock/subsys/cyrus-imapd ]; then
-       /etc/rc.d/init.d/cyrus-imapd restart 1>&2
-else
-       echo "Run \"/etc/rc.d/init.d/cyrus-imapd start\" to start apache http daemon."
-fi
+chattr +S . user quota user/* quota/* 2>/dev/null ||:
+chattr +S /var/spool/imap /var/spool/imap/* 2>/dev/null ||:
+%service cyrus-imapd "cyrus imap daemon"
 
 %preun
 if [ "$1" = "0" ]; then
-       if [ -f /var/lock/subsys/cyrus-imapd ]; then
-               /etc/rc.d/init.d/cyrus-imapd stop 1>&2
-       fi
+       %service cyrus-imapd stop
        /sbin/chkconfig --del cyrus-imapd
 fi
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/userdel cyrus
+       %userremove cyrus
 fi
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc *.gz doc/*.html
-%config %{_sysconfdir}/*.conf
-%attr(640,root,root) %config(noreplace) /etc/logrotate.d/cyrus-imapd
-%attr(440,cyrus,root) %config(noreplace) %verify(not size md5 mtime) /etc/pam.d/*
+%doc cyrus-README cyrus-procmailrc cyrus-user-procmailrc.template
+%doc cyrus-imapd-procmail+cyrus.mc COPYRIGHT doc/*.html 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(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) /etc/cron.daily/cyrus-imapd
 %attr(755,root,root) %{_bindir}/*
-%attr(4750,cyrus,mail) %{_libexecdir}/deliver
+%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}/feedcyrus
+%attr(755,root,root) %{_libexecdir}/ctl_cyrusdb
+%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}/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
-
-%dir %{perl_sitearch}/Cyrus
-%{perl_sitearch}/Cyrus/*.pm
-%dir %{perl_sitearch}/Cyrus/IMAP
-%{perl_sitearch}/Cyrus/IMAP/*.pm
-%dir %{perl_sitearch}/Cyrus/SIEVE
-%{perl_sitearch}/Cyrus/SIEVE/*.pm
-%dir %{perl_sitearch}/auto/Cyrus
-%dir %{perl_sitearch}/auto/Cyrus/IMAP
-%{perl_sitearch}/auto/Cyrus/IMAP/*.so
-%{perl_sitearch}/auto/Cyrus/IMAP/*.bs
-%dir %{perl_sitearch}/auto/Cyrus/SIEVE
-%dir %{perl_sitearch}/auto/Cyrus/SIEVE/acap
-%{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.so
-%{perl_sitearch}/auto/Cyrus/SIEVE/acap/*.bs
-%dir %{perl_sitearch}/auto/Cyrus/SIEVE/managesieve
-%{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.so
-%{perl_sitearch}/auto/Cyrus/SIEVE/managesieve/*.bs
+%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
@@ -238,8 +323,32 @@ 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
+%defattr(644,root,root,755)
 %{_libdir}/lib*.a
+
+%files -n perl-%{name}
+%defattr(644,root,root,755)
+%{perl_vendorarch}/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
This page took 0.044006 seconds and 4 git commands to generate.