cyrus-imapd/cyrus-imapd.spec

341 lines
10 KiB
RPMSpec
Raw Normal View History

%define perl_major_ver %(eval `perl -V:version`; echo ${version%*.[0-9]*}.0)
Name: cyrus-imapd
Version: 3.2.4
Release: 2mamba
Summary: An IMAP server
Group: System/Servers
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.cyrusimap.org/
Source0: https://github.com/cyrusimap/cyrus-imapd.git/cyrus-imapd-%{version}/cyrus-imapd-%{version}.tar.bz2
Source1: imapd-conf
Source2: imapd-initscript
Source3: imap-pam
Source4: cyrus-imapd.service
Source5: cyrus-imapd.tmpfiles.conf
Source6: cyrus-imapd.sysusers.conf
Patch0: %{name}-2.2.12-gcc4.patch
Patch1: cyrus-imapd-2.5.16-conflicting-types-gettid.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: ldconfig
BuildRequires: libbrotli-devel
BuildRequires: libbzip2-devel
BuildRequires: libcap-devel
BuildRequires: libclamav-devel
BuildRequires: libe2fs-devel
BuildRequires: libgcc
BuildRequires: libical-devel
BuildRequires: libicu-devel
BuildRequires: libjansson-devel
BuildRequires: libjson-c-devel
BuildRequires: libkrb5-devel
BuildRequires: libltdl-devel
BuildRequires: liblzma-devel
BuildRequires: libmariadb-devel
BuildRequires: libnghttp2-devel
BuildRequires: libnsl-devel
BuildRequires: libopenldap-devel
BuildRequires: libopenssl-devel
BuildRequires: libpcre-devel
BuildRequires: libpcre2-devel
BuildRequires: libperl
BuildRequires: libpostgresql-devel
BuildRequires: libsasl2-devel
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtirpc-devel
BuildRequires: libuuid-devel
BuildRequires: libwrap-devel
BuildRequires: libxapian-devel
BuildRequires: libxml2-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
BuildRequires: perl-JSON
BuildRequires: perl-Net-Server
BuildRequires: perl-URI
BuildRequires: perl-Unix-Syslog
BuildRequires: perl-devel
## AUTOBUILDREQ-END
BuildRequires: perl-devel >= %{perl_major_ver}
BuildRequires: libnetsnmp-devel >= 5.9
BuildRequires: net-snmp
BuildRequires: bison
BuildRequires: flex
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
IMAP (Internet Message Access Protocol) is an Internet standards-track protocol for accessing messages (mail, bboards, news, etc).
The Cyrus IMAP server differs from other IMAP server implementations in that it is generally intended to be run on sealed servers, where normal users are not permitted to log in.
The mailbox database is stored in parts of the filesystem that are private to the Cyrus IMAP system.
All user access to mail is through the IMAP, POP3, or KPOP protocols.
%package -n perl-Imap
Summary: Perl module for Cyrus IMAP
Group: Development/Libraries/Perl
Requires: perl >= %{perl_major_ver}
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n perl-Imap
A Perl module for Cyrus IMAP.
%package -n lib%{name}
Summary: Shared libraries provided by Cyrus IMAP
Group: System/Libraries
%description -n lib%{name}
Shared libraries provided by Cyrus IMAP.
%package -n lib%{name}-devel
Summary: Devel package for Cyrus IMAP
Group: Development/Libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: cyrus-imapd-devel
Obsoletes: cyrus-imapd-devel <= 2.4.17
%description -n lib%{name}-devel
Development headers and libraries for Cyrus IMAP.
%debug_package
%prep
%setup -q
#%patch1 -p1
autoreconf -f -i
%build
export PERL_MM_OPT="NO_PACKLIST=true NO_PERLLOCAL=true"
%configure \
--libexecdir=%{_libexecdir}/cyrus \
--with-bdb=db-5.3 \
--with-bdb-incdir=%{_includedir}/db53 \
--with-bdb-libdir=%{_libdir}/ \
--with-cyrus-user=imap \
--with-cyrus-group=imap \
--enable-xapian \
--enable-autocreate \
--enable-idled \
--enable-nntp \
--enable-murder \
--enable-http \
--enable-calalarmd \
--enable-jmap \
--enable-replication \
--enable-backup \
--with-mysql=yes \
--with-pgsql=yes \
--with-ldap \
--with-libcap \
--with-pidfile=/run/cyrus-master.pid \
--with-syslogfacility=MAIL
#sed -i 's|Makefile.PL PREFIX=\$(prefix)|Makefile.PL|' perl/Makefile
#sed -i 's|Makefile.PL PREFIX=\$(prefix)|Makefile.PL|' perl/sieve/Makefile
%make
#-j1
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
sed -i "s|/usr/man|/var/tmp/perl-root/usr/share/man|" perl/imap/Makefile
%makeinstall
install -m 644 -D %{SOURCE1} %{buildroot}%{_sysconfdir}/imapd.conf
install -m 644 -D %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/imap
install -m 644 -D %{SOURCE4} %{buildroot}%{_unitdir}/cyrus-imapd.service
install -m 644 -D %{SOURCE5} %{buildroot}%{_tmpfilesdir}/cyrus-imapd.conf
install -m 644 -D %{SOURCE6} %{buildroot}%{_sysusersdir}/cyrus-imapd.conf
sed -i "s|@LIBEXECDIR@|%{_libexecdir}|" %{buildroot}%{_unitdir}/cyrus-imapd.service
#install -m 644 master/conf/normal.conf %{buildroot}%{_sysconfdir}/cyrus.conf
cp tools/mkimap %{buildroot}%{_libexecdir}/cyrus/
install -d %{buildroot}/var/imap
install -d %{buildroot}/var/spool/imap
%define PERL_ARCHLIB %(eval `perl -V:archlib`; echo $archlib)
%define PERL_SITEARCH %(eval `perl -V:sitearch`; echo $sitearch)
#rm -f %{buildroot}%{PERL_ARCHLIB}/perllocal.pod
#
#cat %{buildroot}%{PERL_SITEARCH}/auto/Cyrus/IMAP/.packlist \
# %{buildroot}%{PERL_SITEARCH}/auto/Cyrus/SIEVE/managesieve/.packlist | \
# sed "s@%{buildroot}@@g;s@.*/man/.*@&.gz@g" | \
# sort -u > perl.packlist
find %{buildroot}%{PERL_SITEARCH}/auto/Cyrus -type f -exec chmod 755 {} \;
# conflicting with postfix
mv %{buildroot}%{_mandir}/man8/master.8 %{buildroot}%{_mandir}/man8/master-imapd.8
# conflicting with apache
mv %{buildroot}%{_mandir}/man8/httpd.8 %{buildroot}%{_mandir}/man8/httpd-imapd.8
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
rm -f perl_Imap.filelist
%pre
%sysusers_create_package cyrus-imapd %{SOURCE6}
%tmpfiles_create_package cyrus-imapd %{SOURCE5}
:
%post
# new install
if [ $1 -eq 1 ]; then
%{_libexecdir}/cyrus/bin/mkimap
/bin/chown -R imap.imap /var/imap/*
/bin/chown -R imap.imap /var/spool/imap/*
fi
%systemd_post cyrus-imapd
:
%preun
%systemd_preun cyrus-imapd
:
%postun
%systemd_postun cyrus-imapd
:
%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/imapd.conf
#%config(noreplace) %{_sysconfdir}/cyrus.conf
%config(noreplace) %{_sysconfdir}/pam.d/imap
%{_bindir}/*
%{_sbindir}/*
%{_libexecdir}/cyrus/*
%{_unitdir}/cyrus-imapd.service
%{_tmpfilesdir}/cyrus-imapd.conf
%{_sysusersdir}/cyrus-imapd.conf
%{_mandir}/man1/cyradm.1*
%{_mandir}/man1/httptest.1*
%{_mandir}/man1/imtest.1*
%{_mandir}/man1/installsieve.1*
%{_mandir}/man1/lmtptest.1*
%{_mandir}/man1/mupdatetest.1*
%{_mandir}/man1/nntptest.1*
%{_mandir}/man1/pop3test.1*
%{_mandir}/man1/sieveshell.1*
%{_mandir}/man1/sivtest.1*
%{_mandir}/man1/smtptest.1*
%{_mandir}/man3/imclient.3*
%{_mandir}/man5/*
%{_mandir}/man8/*
%dir %attr(0750,imap,imap) %{_localstatedir}/imap
%dir %attr(0750,imap,imap) %{_localstatedir}/spool/imap
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libcyrus.so.*
%{_libdir}/libcyrus_imap.so.*
%{_libdir}/libcyrus_min.so.*
%{_libdir}/libcyrus_sieve.so.*
%files -n lib%{name}-devel
%defattr(-,root,root)
%dir %{_includedir}/cyrus
%{_includedir}/cyrus/*
%{_libdir}/libcyrus.la
%{_libdir}/libcyrus.so
%{_libdir}/libcyrus_imap.la
%{_libdir}/libcyrus_imap.so
%{_libdir}/libcyrus_min.la
%{_libdir}/libcyrus_min.so
%{_libdir}/libcyrus_sieve.la
%{_libdir}/libcyrus_sieve.so
%{_libdir}/pkgconfig/libcyrus.pc
%{_libdir}/pkgconfig/libcyrus_imap.pc
%{_libdir}/pkgconfig/libcyrus_min.pc
%{_libdir}/pkgconfig/libcyrus_sieve.pc
%files -n perl-Imap
%defattr(-,root,root)
%dir %{perl_sitelib}/Cyrus
%dir %{perl_sitelib}/Cyrus/Annotator
%{perl_sitelib}/Cyrus/Annotator/*
%dir %{perl_sitearch}/Cyrus
%{perl_sitearch}/Cyrus/*
%dir %{perl_sitearch}/auto/Cyrus
%{perl_sitearch}/auto/Cyrus/*
%{_mandir}/man3/Cyrus::Annotator*.3pm*
%{_mandir}/man3/Cyrus::IMAP*.3pm*
%{_mandir}/man3/Cyrus::SIEVE*.3pm*
%changelog
* Mon Dec 14 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.4-2mamba
- libcyrus-imapd-devel: provide/obsolete cyrus-imapd-devel
* Sun Dec 13 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 3.2.4-1mamba
- update to 3.2.4
* Wed Nov 09 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.17-2mamba
- perl 5.24 mass rebuild
* Tue May 27 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.17-1mamba
- update to 2.4.17
* Tue May 27 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.16-5mamba
- rebuilt with libnetsnmp 5.7.2
* Mon Apr 09 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.16-4mamba
- rename master(8) man entry conflicting with postfix
- fix files packaged into two packages
* Fri Oct 22 2010 Automatic Build System <autodist@mambasoft.it> 2.3.16-3mamba
- automatic rebuild by autodist
* Sun Aug 08 2010 Automatic Build System <autodist@mambasoft.it> 2.3.16-2mamba
- automatic rebuild by autodist
* Wed Jan 13 2010 Automatic Build System <autodist@mambasoft.it> 2.3.16-1mamba
- automatic update by autodist
* Thu Sep 10 2009 Automatic Build System <autodist@mambasoft.it> 2.3.15-1mamba
- automatic update by autodist
* Mon Jun 08 2009 Automatic Build System <autodist@mambasoft.it> 2.3.14-2mamba
- automatic rebuild by autodist
* Thu Apr 09 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.14-1mamba
- automatic update by autodist
* Thu Jan 01 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.13-2mamba
- automatic rebuild by autodist
* Thu Nov 13 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.13-1mamba
- update to 2.3.13
* Thu Nov 13 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 2.2.12-4mamba
- automatic rebuild by autodist
* Wed Jan 11 2006 Davide Madrisan <davide.madrisan@qilinux.it> 2.2.12-3qilnx
- gcc4 compilation fix
* Thu Apr 28 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.2.12-2qilnx
- removed unneeded requirements
- fixed a few file permissions
* Wed Apr 27 2005 Davide Madrisan <davide.madrisan@qilinux.it> 2.2.12-1qilnx
- update to version 2.2.12 by autospec
- also fix security issue QSA-2005-055 (CAN-2004-101[1,2,3,5],
CAN-2004-[1067,1089], CAN-2005-0546)
* Tue Oct 26 2004 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.16-2qilnx
- rebuild after binary rpms loss
* Thu Jan 08 2004 Davide Madrisan <davide.madrisan@qilinux.it> 2.1.16-1qilnx
- specfile updated, package updated to version 2.1.16, rebuild with perl 5.8.2
* Wed Sep 10 2003 Silvan Calarco <silvan.calarco@mambasoft.it> 2.1.15-1qilnx
- first build