## 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.10 ## ## Options ## %global with_bdb 1 %global with_mysql 1 %global with_pgsql 1 %global with_dav 0 %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.cyrusimap.org/cyrus-imapd/%{_name}-%{real_version}.tar.gz Source1: cyrus-imapd.imap-2.5.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 # SysVinit Source22: cyrus-imapd.sysconfig # Systemd support Source31: cyrus-imapd.service Source32: 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 BuildRequires: pkgconfig(libxml-2.0) %if 0%{?with_bdb} BuildRequires: db5-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: pkgconfig(sqlite3) %endif %if 0%{?with_tcpwrap} BuildRequires: tcp_wrappers %endif BuildRequires: transfig %if 0 # Disable the xapian-core requirement BuildRequires: xapian-core-devel %endif Requires: db5-utils Requires: file ## Spuhler 2016-01-22: I don't think we need this (Fedora has it in the perl-libs pacakge #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 # 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 %{SOURCE31} %{buildroot}%{_unitdir}/cyrus-imapd.service %{__install} -p -D -m 755 %{SOURCE32} %{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 ## From documentation: # It is strongly recommended to shut down the Cyrus IMAP services # before performing the upgrade, as the newer binaries will end up # writing to mailboxes.db in a way that is not compatible with the older binaries # (that would otherwise still be running). if [ $1 == 2 ]; then /usr/bin/systemctl stop cyrus-imapd 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 %_create_ssl_certificate cyrus-imapd chown %{_cyrususer}:%{_cyrusgroup} /etc/pki/tls/private/cyrus-imapd.pem # These commands may fail in a docker container, which may not # have a /usr/bin/systemctl with a 'preset' command %_post_service cyrus-imapd %preun %_preun_service cyrus-imapd %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 %{_cyrexecdir}/ctl_zoneinfo %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*