## This spec is based on kolab's spec from the OBS %define _disable_ld_no_undefined 1 # major is the part of the library name after the .so %define major 0 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d %global with_systemd 1 %global _name cyrus-imapd %global ssl_pem_file %{_sysconfdir}/pki/%{_name}/%{_name}.pem %global _cyrususer cyrus %global _cyrusgroup mail %global _cyrexecdir %{_exec_prefix}/lib/%{_name} %global real_version 2.5.7 ## ## Options ## %global with_bdb 1 %global with_mysql 1 %global with_pgsql 1 %global with_dav 1 %global with_tcpwrap 1 Name: cyrus-imapd Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support Version: %{real_version} Release: %mkrel 1 License: BSD Group: System/Servers URL: http://www.cyrusimap.org # Upstream sources Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{_name}-%{real_version}.tar.gz Source1: cyrus-imapd.imap-2.3.x-conf Source2: cyrus-imapd.cvt_cyrusdb_all Source3: cyrus-imapd.magic # Distribution specific sources Source11: cyrus-imapd.logrotate Source12: cyrus-imapd.pam-config Source13: cyrus-imapd.cron-daily # Systemd support Source21: cyrus-imapd.service Source22: cyr_systemd_helper ## ## Patches ## Provides: imap Provides: imap-server ## ## Build Requirements ## BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: pkgconfig(libsasl2) BuildRequires: pkgconfig(cunit) BuildRequires: sasl-plug-digestmd5 BuildRequires: sasl-plug-plain %if 0%{?with_bdb} BuildRequires: db4-devel %endif BuildRequires: flex #BuildRequires: gcc-c++ BuildRequires: gcc BuildRequires: groff BuildRequires: pkgconfig(jansson) BuildRequires: pkgconfig(krb5) %if 0%{?with_dav} BuildRequires: pkgconfig(libical) %endif BuildRequires: libtool BuildRequires: pkgconfig(uuid) %if 0%{?with_mysql} BuildRequires: mysql-devel %endif BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl-devel BuildRequires: pkgconfig %if 0%{?with_pgsql} BuildRequires: postgresql-devel %endif %if 0%{?with_dav} BuildRequires: sqlite-devel %endif %if 0%{?with_tcpwrap} BuildRequires: tcp_wrappers %endif BuildRequires: transfig %if 0 # Disable the xapian-core requirement BuildRequires: xapian-core-devel %endif Requires: db4-utils Requires: file Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires(post): coreutils Requires(post): e2fsprogs Requires(post): findutils Requires(post): grep Requires(post): make Requires(post): openssl Requires(post): perl Requires(preun): coreutils Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd Requires(preun): /usr/sbin/userdel /usr/sbin/groupdel Requires(post): rpm-helper >= 0.24.8-1 Requires(preun): rpm-helper >= 0.24.8-1 Obsoletes: %{name}-perl < %{version}-%{release} Provides: %{name}-perl = %{version}-%{release} Obsoletes: %{name}-utils < %{version}-%{release} Provides: %{name}-utils = %{version}-%{release} %description The %{name} package contains the core of the Cyrus IMAP server. It is a scaleable enterprise mail system designed for use from small to large enterprise environments using standards-based internet mail technologies. A full Cyrus IMAP implementation allows a seamless mail and bulletin board environment to be set up across multiple servers. It differs from other IMAP server implementations in that it is run on "sealed" servers, where users are not normally permitted to log in and have no system account on the server. The mailbox database is stored in parts of the filesystem that are private to the Cyrus IMAP server. All user access to mail is through software using the IMAP, POP3 or KPOP protocols. It also includes support for virtual domains, NNTP, mailbox annotations, and much more. The private mailbox database design gives the server large advantages in efficiency, scalability and administratability. Multiple concurrent read/write connections to the same mailbox are permitted. The server supports access control lists on mailboxes and storage quotas on mailbox hierarchies. The Cyrus IMAP server supports the IMAP4rev1 protocol described in RFC 3501. IMAP4rev1 has been approved as a proposed standard. It supports any authentication mechanism available from the SASL library, imaps/pop3s/nntps (IMAP/POP3/NNTP encrypted using SSL and TLSv1) can be used for security. The server supports single instance store where possible when an email message is addressed to multiple recipients, SIEVE provides server side email filtering. %package -n %{libname} Summary: Cyrus IMAP server library files Group: System/Libraries %description -n %{libname} The %{name}-lib package contains the library for cyrus-imapd %package -n %{develname} Summary: Cyrus IMAP server development files Group: Development/Other Requires: %{libname} = %{version} Provides: %{name}-devel = %{version}-%{release} %description -n %{develname} The %{name}-devel package contains header files and libraries necessary for developing applications which use the imclient library. %package -n perl-Cyrus Summary: Cyrus IMAPd utility Perl modules Group: Development/Perl %description -n perl-Cyrus This package contains Perl modules necessary to use the Cyrus server administrative utilities. The main package is %{name}. %prep %setup -q -n %{_name}-%{real_version}%{?dot_snapshot_version} %if 0%{?with_bdb} < 1 sed -i -e 's/,berkeley//g' cunit/db.testc sed -r -i -e 's/"berkeley(|-[a-z-]+)", //g' lib/imapoptions %endif # only to update config.* files autoreconf -vi || (libtoolize --force && autoreconf -vi) # Modify docs master --> cyrus-master %{__perl} -pi -e "s@master\(8\)@cyrus-master(8)@" man/*5 man/*8 lib/imapoptions %{__sed} -i -e 's|\([^-]\)master|\1cyrus-master|g;s|^master|cyrus-master|g;s|Master|Cyrus-master|g;s|MASTER|CYRUS-MASTER|g' \ man/master.8 doc/man.html %if 0%{?with_dav} # Modify docs httpd --> cyrus-httpd %{__perl} -pi -e "s@httpd\(8\)@cyrus-httpd(8)@" man/*5 man/*8 lib/imapoptions %{__sed} -i -e 's|\([^-]\)httpd|\1cyrus-httpd|g;s|^httpd|cyrus-httpd|g;s|Httpd|Cyrus-httpd|g;s|HTTPD|CYRUS-HTTPD|g' \ man/httpd.8 doc/man.html %endif # Modify path in perl scripts find . -type f -name "*.pl" | xargs %{__perl} -pi -e "s@/usr/local/bin/perl@%{__perl}@" # modify lmtp socket path in .conf files %{__perl} -pi -e "s@/var/imap/@%{_var}/lib/imap/@" master/conf/*.conf doc/cyrusv2.mc doc/m4/%{name}-sendmail-8.12.9-cyrusv2.m4 # enable idled in .conf files to prevent error messages %{__perl} -pi -e "s/# idled/ idled/" master/conf/*.conf %build CPPFLAGS="-I%{_includedir}/et -I%{_includedir}/kerberosIV" export CPPFLAGS CFLAGS="$RPM_OPT_FLAGS -fPIC" export CFLAGS CXXFLAGS="$RPM_OPT_FLAGS -fPIC"; export CXXFLAGS CCDLFLAGS="-rdynamic" export CCDLFLAGS LDFLAGS="-L%{_libdir}" export LDFLAGS %configure2_5x \ --enable-event-notification \ --enable-gssapi \ --enable-idled \ --enable-murder \ --enable-netscapehack \ --enable-nntp \ --enable-replication \ --enable-unit-tests \ %if 0 --enable-xapian \ %endif %if 0%{?with_bdb} --with-bdb-incdir=%{_includedir}/db4 \ %else --without-bdb \ %endif --with-cyrus-prefix=%{_cyrexecdir} \ --with-extraident="Kolab-%{version}-%{release}" \ %if 0%{?with_tcpwrap} < 1 --without-wrap \ %endif %if 0%{?with_dav} --enable-http \ %endif --with-krbimpl=mit \ --with-ldap=/usr \ %if 0%{?with_mysql} --with-mysql=%{_prefix} \ --with-mysql-incdir=%{_includedir}/mysql/ \ --with-mysql \ %endif --with-perl=%{__perl} \ %if 0%{?with_pgsql} --with-pgsql=%{_includedir} \ %endif --with-service-path=%{_cyrexecdir} \ --with-syslogfacility=MAIL %make %install %{__rm} -rf %{buildroot} # Fix permissions on perl programs find . -type f -name "*.pl" -exec %{__chmod} 755 {} \; # Do what the regular make install does %{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor # Install tools for tool in tools/* ; do test -f ${tool} && %{__install} -m 755 ${tool} %{buildroot}%{_cyrexecdir}/ done # Create directories %{__install} -d \ %{buildroot}%{_sysconfdir}/{logrotate.d,pam.d,cron.daily} \ %{buildroot}%{_libdir}/sasl \ %{buildroot}%{_var}/spool/imap \ %{buildroot}%{_var}/lib/imap/{user,quota,proc,log,msg,socket,db,sieve,sync,md5,rpm,backup,meta} \ %{buildroot}%{_var}/lib/imap/ptclient \ %{buildroot}%{_sysconfdir}/pki/%{_name} \ doc/contrib # Install additional files %{__install} -p -m 644 master/conf/prefork.conf %{buildroot}%{_sysconfdir}/cyrus.conf %{__install} -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/imapd.conf %{__install} -p -m 755 %{SOURCE2} %{buildroot}%{_cyrexecdir}/cvt_cyrusdb_all %{__install} -p -m 644 %{SOURCE3} %{buildroot}%{_var}/lib/imap/rpm/magic %{__install} -p -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/%{_name} %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/pop %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/imap %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sieve %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/mupdate %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/lmtp %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/nntp %{__install} -p -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/csync %{__install} -p -m 755 %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.daily/%{_name} %{__install} -d %{buildroot}%{_sysconfdir}/sysconfig/ %{__install} -p -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/sysconfig/%{_name} %{__install} -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/cyrus-imapd.service %{__install} -p -D -m 755 %{SOURCE22} %{buildroot}%{_cyrexecdir}/cyr_systemd_helper # Cleanup of doc dir find doc perl -name CVS -type d | xargs -r %{__rm} -rf find doc perl -name .cvsignore -type f | xargs -r %{__rm} -f %{__rm} -f doc/Makefile.dist* %{__rm} -f doc/text/htmlstrip.c %{__rm} -f doc/text/Makefile %{__rm} -rf doc/man # fix permissions on perl .so files find %{buildroot}%{perl_vendorarch} -type f -name "*.so" -exec %{__chmod} 755 {} \; # fix conflicts with uw-imap mv %{buildroot}%{_mandir}/man8/imapd.8 %{buildroot}%{_mandir}/man8/imapd.8cyrus mv %{buildroot}%{_mandir}/man8/pop3d.8 %{buildroot}%{_mandir}/man8/pop3d.8cyrus # Install templates %{__install} -m 755 -d doc/conf %{__install} -m 644 master/conf/*.conf doc/conf/ # Generate db config file ( grep '^{' lib/imapoptions | grep _db | grep -v _db_path | cut -d'"' -f 2,4 | \ sed -e 's/^ *//' -e 's/-nosync//' -e 's/ *$//' -e 's/"/=/' echo sieve_version=2.2.3 ) | sort > %{buildroot}%{_var}/lib/imap/rpm/db.cfg # create the ghost pem file touch %{buildroot}%{ssl_pem_file} # Rename 'master' binary and manpage to avoid clash with postfix %{__mv} -f %{buildroot}%{_cyrexecdir}/master %{buildroot}%{_cyrexecdir}/cyrus-master %{__mv} -f %{buildroot}%{_mandir}/man8/master.8 %{buildroot}%{_mandir}/man8/cyrus-master.8 # Rename 'httpd' binary and manpage to avoid clash with apache httpd %if 0%{?with_dav} %{__mv} -f %{buildroot}%{_cyrexecdir}/httpd %{buildroot}%{_cyrexecdir}/cyrus-httpd %{__mv} -f %{buildroot}%{_mandir}/man8/httpd.8 %{buildroot}%{_mandir}/man8/cyrus-httpd.8 %endif # Rename 'fetchnews' binary and manpage to avoid clash with leafnode %{__mv} -f %{buildroot}%{_cyrexecdir}/fetchnews %{buildroot}%{_cyrexecdir}/cyrfetchnews %{__mv} -f %{buildroot}%{_mandir}/man8/fetchnews.8 %{buildroot}%{_mandir}/man8/cyrfetchnews.8 %{__perl} -pi -e 's|fetchnews|cyrfetchnews|g;s|Fetchnews|Cyrfetchnews|g;s/FETCHNEWS/CYRFETCHNEWS/g' \ %{buildroot}%{_mandir}/man8/cyrfetchnews.8 # compress manpages [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress # remove executable bit from docs for ddir in doc perl/imap/examples do find $ddir -type f -exec %{__chmod} -x {} \; done # Remove installed but not packaged files %{__rm} -f %{buildroot}%{_cyrexecdir}/not-mkdep %{__rm} -f %{buildroot}%{_cyrexecdir}/config2header* %{__rm} -f %{buildroot}%{_cyrexecdir}/config2man %{__rm} -f %{buildroot}%{_cyrexecdir}/pop3proxyd find %{buildroot} -type f -name "perllocal.pod" -exec %{__rm} -vf {} \; find %{buildroot} -type f -name ".packlist" -exec %{__rm} -vf {} \; find %{buildroot} -type f -name ".gitignore" -exec %{__rm} -vf {} \; %{__rm} -f %{buildroot}%{_mandir}/man8/syncnews.8* find %{buildroot}%{perl_vendorarch} -type f -name "*.bs" -exec %{__rm} -vf {} \; %check make check || : %pre if [ $1 == 1 ]; then # Create 'cyrus' user on target host /usr/sbin/groupadd -r saslauth 2> /dev/null || : /usr/sbin/useradd -c "Cyrus IMAP Server" -d %{_var}/lib/imap -g %{_cyrusgroup} \ -G saslauth -s /sbin/nologin -r %{_cyrususer} 2> /dev/null || : fi %post CHATTRSYNC=0 if [ -f "%{_sysconfdir}/sysconfig/cyrus-imapd" ]; then source %{_sysconfdir}/sysconfig/cyrus-imapd fi if [ $CHATTRSYNC -eq 1 ]; then # Force synchronous updates of files in the following directories chattr -R +S \ $(grep ^configdirectory: /etc/imapd.conf | cut -d':' -f2) \ $(grep ^partition- /etc/imapd.conf | cut -d':' -f2) \ $(grep ^metapartition- /etc/imapd.conf | cut -d':' -f2) 2>/dev/null ||: fi # Create SSL certificates exec > /dev/null 2> /dev/null if [ ! -z "%{ssl_pem_file}" -a -z "$(cat %{ssl_pem_file})" ]; then %{__rm} -f "%{ssl_pem_file}" || : fi if [ ! -f %{ssl_pem_file} -a -d "%{_sysconfdir}/pki/tls/certs" ]; then pushd %{_sysconfdir}/pki/tls/certs umask 077 %{__cat} << EOF | make %{_name}.pem -- SomeState SomeCity SomeOrganization SomeOrganizationalUnit localhost.localdomain root@localhost.localdomain EOF %{__chown} root.%{_cyrusgroup} %{_name}.pem %{__chmod} 640 %{_name}.pem mv %{_name}.pem %{ssl_pem_file} popd fi # These commands may fail in a docker container, which may not # have a /usr/bin/systemctl with a 'preset' command %systemd_post cyrus-imapd.service || : %preun %systemd_preun cyrus-imapd.service >/dev/null 2>&1 || : %postun %systemd_postun_with_restart cyrus-imapd.service %files %doc COPYING README %doc doc/* %config(noreplace) %{_sysconfdir}/cyrus.conf %config(noreplace) %{_sysconfdir}/imapd.conf %{_unitdir}/cyrus-imapd.service %{_cyrexecdir}/cyr_systemd_helper %dir %{_sysconfdir}/pki %config(noreplace) %{_sysconfdir}/logrotate.d/%{_name} %attr(0640,root,%{_cyrusgroup}) %config(noreplace) %{_sysconfdir}/sysconfig/%{_name} %config(noreplace) %{_sysconfdir}/pam.d/pop %config(noreplace) %{_sysconfdir}/pam.d/imap %config(noreplace) %{_sysconfdir}/pam.d/sieve %config(noreplace) %{_sysconfdir}/pam.d/lmtp %config(noreplace) %{_sysconfdir}/pam.d/mupdate %config(noreplace) %{_sysconfdir}/pam.d/csync %config(noreplace) %{_sysconfdir}/pam.d/nntp %attr(0755,root,root) %{_bindir}/cyradm %{_bindir}/imtest %{_bindir}/installsieve %{_bindir}/lmtptest %{_bindir}/mupdatetest %{_bindir}/nntptest %{_bindir}/pop3test %{_bindir}/sieveshell %{_bindir}/sivtest %{_bindir}/smtptest %{_bindir}/synctest %{_sysconfdir}/cron.daily/%{_name} %dir %{_cyrexecdir} %{_cyrexecdir}/arbitron %{_cyrexecdir}/arbitronsort.pl %{_cyrexecdir}/chk_cyrus %{_cyrexecdir}/compile_st.pl %{_cyrexecdir}/convert-sieve.pl %{_cyrexecdir}/cyr_deny %{_cyrexecdir}/cyr_df %{_cyrexecdir}/cyr_info #%%{_cyrexecdir}/ctl_conversationsdb %{_cyrexecdir}/ctl_cyrusdb %{_cyrexecdir}/ctl_deliver %{_cyrexecdir}/ctl_mboxlist %{_cyrexecdir}/ctl_zoneinfo %{_cyrexecdir}/cvt_cyrusdb %{_cyrexecdir}/cyr_dbtool %{_cyrexecdir}/cyr_expire %{_cyrexecdir}/cyr_sequence %{_cyrexecdir}/cyr_synclog %{_cyrexecdir}/cyr_userseen %{_cyrexecdir}/cyrdump %if 0%{?with_dav} %{_cyrexecdir}/cyrus-httpd %{_cyrexecdir}/dav_reconstruct %endif %{_cyrexecdir}/cyrus-master %{_cyrexecdir}/deliver %{_cyrexecdir}/dohash %{_cyrexecdir}/fixsearchpath.pl %{_cyrexecdir}/fud #%%{_cyrexecdir}/hammer_cyrusdb %{_cyrexecdir}/imapd %{_cyrexecdir}/ipurge %exclude %{_cyrexecdir}/jenkins-build.sh %{_cyrexecdir}/lmtpd %{_cyrexecdir}/lmtpproxyd %{_cyrexecdir}/masssievec %{_cyrexecdir}/mbexamine %{_cyrexecdir}/mbpath %{_cyrexecdir}/mbtool #%%{_cyrexecdir}/message_test %{_cyrexecdir}/migrate-metadata %{_cyrexecdir}/mkimap %{_cyrexecdir}/mknewsgroups %{_cyrexecdir}/notifyd %{_cyrexecdir}/pop3d %{_cyrexecdir}/quota %{_cyrexecdir}/reconstruct %{_cyrexecdir}/rehash #%%{_cyrexecdir}/search_test %{_cyrexecdir}/sievec %{_cyrexecdir}/sieved %{_cyrexecdir}/smmapd #%%{_cyrexecdir}/squat_dump %{_cyrexecdir}/squatter %{_cyrexecdir}/timsieved %{_cyrexecdir}/tls_prune %{_cyrexecdir}/translatesieve %{_cyrexecdir}/undohash %{_cyrexecdir}/unexpunge %{_cyrexecdir}/upgradesieve %{_cyrexecdir}/cvt_cyrusdb_all %{_cyrexecdir}/idled %{_cyrexecdir}/mupdate %{_cyrexecdir}/mupdate-loadgen.pl %{_cyrexecdir}/proxyd %{_cyrexecdir}/sync_client %{_cyrexecdir}/sync_reset %{_cyrexecdir}/sync_server %{_cyrexecdir}/cyrfetchnews %{_cyrexecdir}/nntpd %{_cyrexecdir}/ptdump %{_cyrexecdir}/ptexpire %{_cyrexecdir}/ptloader %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/backup %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/db %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/log %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/meta %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/md5 %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/msg %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/proc %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/ptclient %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/quota %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/rpm %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/sieve %attr(0750,%{_cyrususer},%{_cyrusgroup}) %{_var}/lib/imap/socket %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/sync %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/lib/imap/user %attr(0750,%{_cyrususer},%{_cyrusgroup}) %dir %{_var}/spool/imap %{_libdir}/*.so.* %{_var}/lib/imap/rpm/* %doc perl/imap/README %doc perl/imap/Changes %doc perl/imap/examples %dir %{perl_vendorarch}/Cyrus %dir %{perl_vendorarch}/Cyrus/IMAP %{perl_vendorarch}/Cyrus/IMAP/Admin.pm %{perl_vendorarch}/Cyrus/IMAP/Shell.pm %{perl_vendorarch}/Cyrus/IMAP/IMSP.pm %{perl_vendorarch}/Cyrus/IMAP.pm %dir %{perl_vendorarch}/Cyrus/SIEVE %{perl_vendorarch}/Cyrus/SIEVE/managesieve.pm %dir %{perl_vendorlib}/Cyrus/ %dir %{perl_vendorlib}/Cyrus/Annotator %{perl_vendorlib}/Cyrus/Annotator/Daemon.pm %{perl_vendorlib}/Cyrus/Annotator/Message.pm %dir %{perl_vendorarch}/auto %dir %{perl_vendorarch}/auto/Cyrus %dir %{perl_vendorarch}/auto/Cyrus/IMAP %{perl_vendorarch}/auto/Cyrus/IMAP/IMAP.so %dir %{perl_vendorarch}/auto/Cyrus/SIEVE %dir %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve %{perl_vendorarch}/auto/Cyrus/SIEVE/managesieve/managesieve.so %{_mandir}/man1/* %{_mandir}/man3/* %{_mandir}/man5/* %{_mandir}/man8/* %dir %{_sysconfdir}/pki/%{_name} %attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file} %files -n %{libname} %{_libdir}/*.so.%{major}* %files -n %{develname} %defattr(0644,root,root,0755) %{_includedir}/cyrus %{_libdir}/pkgconfig/*cyrus*.pc %{_libdir}/*.so %{_libdir}/lib*.la %files -n perl-Cyrus %doc perl/imap/README perl/imap/Changes perl/imap/examples %{perl_vendorarch}/auto/Cyrus %{perl_vendorarch}/Cyrus %{_mandir}/man3/Cyrus*