From cba28159c1623b53dbecb2be09fccc1728a2155b Mon Sep 17 00:00:00 2001 From: Michal Hlavinka Date: May 26 2009 11:35:00 +0000 Subject: spec clean-up --- diff --git a/cyrus-imapd-2.3.1-config_defaults.patch b/cyrus-imapd-2.3.1-config_defaults.patch deleted file mode 100644 index f9f202d..0000000 --- a/cyrus-imapd-2.3.1-config_defaults.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff -Naur cyrus-imapd-2.3.1.orig/lib/imapoptions cyrus-imapd-2.3.1/lib/imapoptions ---- cyrus-imapd-2.3.1.orig/lib/imapoptions 2005-12-13 20:36:11.000000000 +0100 -+++ cyrus-imapd-2.3.1/lib/imapoptions 2006-01-13 10:17:26.000000000 +0100 -@@ -198,9 +198,12 @@ - grant the user the ability to delete a mailbox. If a user has this - right, they will automatically be given the new 'x' right. */ - --{ "duplicate_db", "berkeley-nosync", STRINGLIST("berkeley", "berkeley-nosync", "skiplist") } -+{ "duplicate_db", "skiplist", STRINGLIST("berkeley", "berkeley-nosync", "skiplist") } - /* The cyrusdb backend to use for the duplicate delivery suppression -- and sieve. */ -+ and sieve. -+.PP -+ Note: This Invoca RPM build uses \fIskiplist\fR by default instead of -+ \fIberkeley-nosync\fR for \fBduplicate_db\fR. */ - - { "duplicatesuppression", 1, SWITCH } - /* If enabled, lmtpd will suppress delivery of a message to a mailbox if -@@ -220,12 +223,15 @@ - result in greater responsiveness for the client, especially when - expunging a large number of messages. */ - --{ "flushseenstate", 0, SWITCH } -+{ "flushseenstate", 1, SWITCH } - /* If enabled, changes to the seen state will be flushed to disk - immediately, otherwise changes will be cached and flushed when the - mailbox is closed. This option may be used to fix the problem of - previously read messages being marked as unread in Microsoft -- Outlook, at the expense of a loss of performance/scalability. */ -+ Outlook, at the expense of a loss of performance/scalability. -+.PP -+ Note: This Invoca RPM build uses \fI1\fR by default instead of -+ \fI0\fR for \fBflushseenstate\fR. */ - - { "foolstupidclients", 0, SWITCH } - /* If enabled, only list the personal namespace when a LIST "*" is performed. -@@ -735,8 +741,11 @@ - /* Unix domain socket that ptloader listens on. - (defaults to configdir/ptclient/ptsock) */ - --{ "ptscache_db", "berkeley", STRINGLIST("berkeley", "skiplist") } --/* The cyrusdb backend to use for the pts cache. */ -+{ "ptscache_db", "skiplist", STRINGLIST("berkeley", "skiplist") } -+/* The cyrusdb backend to use for the pts cache. -+.PP -+ Note: This Invoca RPM build uses \fIskiplist\fR by default instead of -+ \fIberkeley\fR for \fBptscache_db\fR. */ - - { "ptscache_timeout", 10800, INT } - /* The timeout (in seconds) for the PTS cache database when using the -@@ -813,9 +822,12 @@ - { "seenstate_db", "skiplist", STRINGLIST("flat", "berkeley", "skiplist") } - /* The cyrusdb backend to use for the seen state. */ - --{ "sendmail", "/usr/lib/sendmail", STRING } -+{ "sendmail", "/usr/sbin/sendmail", STRING } - /* The pathname of the sendmail executable. Sieve invokes sendmail -- for sending rejections, redirects and vacation responses. */ -+ for sending rejections, redirects and vacation responses. -+.PP -+ Note: This Invoca RPM build uses \fI/usr/sbin/sendmail\fR by default -+ instead of \fI/usr/lib/sendmail\fR for \fBsendmail\fR. */ - - { "servername", NULL, STRING } - /* This is the hostname visible in the greeting messages of the POP, -@@ -842,9 +854,12 @@ - /* Maximum number of sieve scripts any user may have, enforced at - submission by timsieved(8). */ - --{ "sievedir", "/usr/sieve", STRING } -+{ "sievedir", "/var/lib/imap/sieve", STRING } - /* If sieveusehomedir is false, this directory is searched for Sieve -- scripts. */ -+ scripts. -+.PP -+ Note: This Invoca RPM build uses \fI/var/lib/imap/sieve\fR by default -+ instead of \fI/usr/sieve\fR for \fBsievedir\fR. */ - - { "sievenotifier", NULL, STRING } - /* Notifyd(8) method to use for "SIEVE" notifications. If not set, "SIEVE" -@@ -934,8 +949,11 @@ - have filenames with the hashed value of the certificate (see - openssl(XXX)). */ - --{ "tlscache_db", "berkeley-nosync", STRINGLIST("berkeley", "berkeley-nosync", "skiplist") } --/* The cyrusdb backend to use for the TLS cache. */ -+{ "tlscache_db", "skiplist", STRINGLIST("berkeley", "berkeley-nosync", "skiplist") } -+/* The cyrusdb backend to use for the TLS cache. -+.PP -+ Note: This Invoca RPM build uses \fIskiplist\fR by default instead of -+ \fIberkeley-nosync\fR for \fBtlscache_db\fR. */ - - { "tls_cert_file", NULL, STRING } - /* File containing the certificate presented for server authentication diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index de61abb..442e008 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -8,67 +8,42 @@ Release: 1%{?dist} # rpm --rebuild --define='SEEN_DB skiplist' cyrus-imapd-2.x.x-x.src.rpm # use saslauth group -%{!?SASLGROUP: %define SASLGROUP 1} +%{!?SASLGROUP: %global SASLGROUP 1} # include deliver-wrapper -%{!?DEL_WRAP: %define DEL_WRAP 0} +%{!?DEL_WRAP: %global DEL_WRAP 0} # use preforking cyrus.conf -%{!?PREFORK: %define PREFORK 1} +%{!?PREFORK: %global PREFORK 1} # enable Netscape hack (recommended) -%{!?NETSCAPEHACK: %define NETSCAPEHACK 1} +%{!?NETSCAPEHACK: %global NETSCAPEHACK 1} # enable IMAP4 LIST extensions -%{!?LISTEXT: %define LISTEXT 1} +%{!?LISTEXT: %global LISTEXT 1} # enable IDLED support -%{!?IDLED: %define IDLED 1} +%{!?IDLED: %global IDLED 1} # enable SNMP support -%{!?SNMP: %define SNMP 1} +%{!?SNMP: %global SNMP 1} # force syncronous updates on ext3 -%{!?FORCESYNCEXT3: %define FORCESYNCEXT3 0} +%{!?FORCESYNCEXT3: %global FORCESYNCEXT3 0} # include autocreate feature -%{!?AUTOCREATE: %define AUTOCREATE 1} +%{!?AUTOCREATE: %global AUTOCREATE 1} # don't check for RFC compliant line termination (bare newlines) -%{!?NO_BARE_NL: %define NO_BARE_NL 0} +%{!?NO_BARE_NL: %global NO_BARE_NL 0} # used syslog facility for logging -%{!?SYSLOGFACILITY: %define SYSLOGFACILITY MAIL} +%{!?SYSLOGFACILITY: %global SYSLOGFACILITY MAIL} # use -fpie for linking -%{!?USEPIE: %define USEPIE 1} +%{!?USEPIE: %global USEPIE 1} # ********************** BUILD TIME OPTIONS END ************************ -#%define _acversion 2.59 -%define _use_internal_dependency_generator 0 -#%define _rhver %(eval rpm -q --queryformat '%{VERSION}' $(rpm -qf /etc/redhat-release)) -#%define _rhrelease %(eval %{__cat} /etc/redhat-release) %define _dbver db4 -#%define _dbrpmver %(eval "rpm -q %{_dbver}") # Do we need the perl install hack for RedHat > 7.3 ? %define _perlhack 1 -#(eval [ %{_rhver} = "6.2" -o %{_rhver} = "7.0" -o %{_rhver} = "7.1" -o %{_rhver} = "7.2" -o %{_rhver} = "7.3" -o %{_rhver} = "2.1AS" -o %{_rhver} = "2.1ES" ] && echo 0 || echo 1) - -%define _perl_man3dir %(eval "$(perl -V:man3dir)"; echo $man3dir) %define _withldap 1 -#(eval "rpm -q --requires openldap | grep -q ^libsasl2 && echo 1 || echo 0") %define _snmpver net -#(eval "rpm -q --quiet ucd-snmp && echo ucd || echo net") - -# Disable -debuginfo package generation -#define debug_package %{nil} -# Do we have filesystem >= 2.3.2 (new pki location) ? - -%define use_etc_pki 1 -#(eval [ $(rpm -q --queryformat '%{VERSION}' filesystem \| sed -e "s/\\.//g") -ge 232 ] && echo 1 || echo 0 ) - -%if %{use_etc_pki} -%define certs_dir %{_sysconfdir}/pki/tls/certs -%define pki_dir %{_sysconfdir}/pki/%{name} -%else -%define certs_dir %{_datadir}/ssl/certs -%define pki_dir %{_datadir}/ssl/certs -%endif -%define ssl_pem_file %{pki_dir}/%{name}.pem +%define ssl_pem_file %{_sysconfdir}/pki/%{name}/%{name}.pem %define uid 76 %if %{SASLGROUP} %define gid 76 @@ -134,7 +109,6 @@ Patch2: http://email.uoa.gr/download/cyrus/cyrus-imapd-2.3.12/cyrus-imapd-2.3.12 Patch4: http://servercc.oakton.edu/~jwade/cyrus/cyrus-imapd-2.1.3/cyrus-imapd-2.1.3-flock.patch Patch6: cyrus-imapd-2.1.16-getrlimit.patch Patch7: cyrus-imapd-2.3.7-nobarenewlinescheck.patch -Patch9: cyrus-imapd-2.3.1-config_defaults.patch Patch10: cyrus-imapd-acceptinvalidfrom.patch Patch12: cyrus-imapd-2.3.7-notify_sms.patch Patch14: cyrus-imapd-2.3.1-authid_normalize.patch @@ -142,7 +116,7 @@ Patch15: cyrus-imapd-2.3.1-make_md5_defaults.patch Patch18: cyrus-imapd-2.3.7-krb4.patch # https://bugzilla.redhat.com/show_bug.cgi?id=461875 Patch19: cyrus-imapd-2.3.12p2-current-db.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: autoconf >= 2.59 BuildRequires: cyrus-sasl-devel >= 2.1.15-1, perl-devel, tcp_wrappers BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig @@ -192,7 +166,6 @@ recipients, SIEVE provides server side email filtering. %package devel Group: Development/Libraries Summary: Cyrus IMAP server development files -#Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains header files and libraries @@ -234,7 +207,6 @@ one running the server. %if %{NO_BARE_NL} %patch7 -p1 -b .nobarenewlinescheck %endif -#%patch9 -p1 -b .config_defaults %patch10 -p1 -b .acceptinvalidfrom %patch12 -p1 -b .notify_sms %patch14 -p1 -b .authid_normalize @@ -250,7 +222,6 @@ autoheader autoconf -f %build -#export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Werror-implicit-function-declaration" CPPFLAGS="-I%{_includedir}/et"; export CPPFLAGS CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS if pkg-config openssl; then @@ -355,21 +326,15 @@ find doc -name "*.html.*" -type f | xargs -r %{__rm} -f %{__rm} -rf %{buildroot} # This hack is needed on RedHat > 7.3 to install the perl files correctly -%if %{_perlhack} pushd perl/imap %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor popd pushd perl/sieve/managesieve %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor popd - # Do what the regular make install does - %{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} - %{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} -%else - %{__make} install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir} - %{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{buildroot}%{_prefix} mandir=%{_mandir} -%endif +%{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} +%{__make} -C man install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} %if %{DEL_WRAP} %{__install} -m 2755 deliver-wrapper %{buildroot}%{_cyrexecdir}/ @@ -393,7 +358,7 @@ done %{buildroot}%{_vardata}/ptclient \ %endif %{buildroot}%{_datadir}/%{name}/rpm \ - %{buildroot}%{pki_dir} \ + %{buildroot}%{_sysconfdir}/pki/%{name} \ %{_contribdir} # Install additional files @@ -444,13 +409,6 @@ mv %{buildroot}%{_mandir}/man8/pop3d.8 %{buildroot}%{_mandir}/man8/pop3d.8cyrus # create the ghost pem file touch %{buildroot}%{ssl_pem_file} -%if %{use_etc_pki} -# change config file so ssl certificates are under /etc rather than /usr/share -%{__perl} -pi -e \ -'s@/usr/share/ssl/certs/%{name}.pem@%{ssl_pem_file}@g; \ - s@/usr/share/ssl/certs/ca-bundle.crt@/etc/pki/tls/certs/ca-bundle.crt@' \ - %{buildroot}%{_sysconfdir}/imapd.conf -%endif # Rename 'master' binary and manpage to avoid clash with postfix %{__mv} -f %{buildroot}%{_cyrexecdir}/master %{buildroot}%{_cyrexecdir}/cyrus-master @@ -492,9 +450,6 @@ find %{buildroot} -name ".packlist" -exec %{__rm} -f {} \; %{__rm} -f %{buildroot}%{_mandir}/man8/syncnews.8* %{__rm} -f doc/man/syncnews.8.html -# On RedHat 7.3, this file is created here -%{__rm} -f /perllocal.pod - %clean %{__rm} -rf %{buildroot} @@ -520,11 +475,6 @@ do fi done -# "ctl_deliver -E" is deprecated, now is "cyr_expire -E" -if grep -q "ctl_deliver *-E" %{_sysconfdir}/cyrus.conf ; then - %{__perl} -pi -e "s/ctl_deliver *-E/cyr_expire -E/" %{_sysconfdir}/cyrus.conf -fi - # prevent idled related errors to show up %if %{IDLED} if grep -q "^# idled" %{_sysconfdir}/cyrus.conf ; then @@ -536,24 +486,11 @@ fi fi %endif -%if %{use_etc_pki} -# change existing config so ssl certificates are under /etc rather than /usr/share -%{__perl} -pi -e \ -'s@/usr/share/ssl/certs/%{name}.pem@%{ssl_pem_file}@g; \ - s@/usr/share/ssl/certs/ca-bundle.crt@/etc/pki/tls/certs/ca-bundle.crt@' \ - %{_sysconfdir}/imapd.conf -%endif - # Create SSL certificates exec > /dev/null 2> /dev/null -%if %{use_etc_pki} -# if the certificate is only in the old location, move it to the new location -if [ -f %{_datadir}/ssl/certs/%{name}.pem -a ! -f %{ssl_pem_file} ]; then -mv %{_datadir}/ssl/certs/%{name}.pem %{ssl_pem_file} -fi -%endif + if [ ! -f %{ssl_pem_file} ]; then -pushd %{certs_dir} +pushd %{_sysconfdir}/pki/tls/certs umask 077 %{__cat} << EOF | make %{name}.pem -- @@ -566,9 +503,7 @@ root@localhost.localdomain EOF %{__chown} root.%{_cyrusgroup} %{name}.pem %{__chmod} 640 %{name}.pem -%if %{use_etc_pki} mv %{name}.pem %{ssl_pem_file} -%endif popd fi @@ -644,7 +579,7 @@ if [ $1 = 0 ]; then fi %files -%defattr(0644,root,root,0755) +%defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/cyrus.conf %config(noreplace) %{_sysconfdir}/imapd.conf %attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/%{name} @@ -659,69 +594,69 @@ fi %config(noreplace) %{_sysconfdir}/pam.d/nntp %attr(0755,root,root) %{_sysconfdir}/cron.daily/%{name} %dir %{_cyrexecdir} -%attr(0755,root,root) %{_cyrexecdir}/arbitron -%attr(0755,root,root) %{_cyrexecdir}/arbitronsort.pl -%attr(0755,root,root) %{_cyrexecdir}/chk_cyrus -%attr(0755,root,root) %{_cyrexecdir}/convert-sieve.pl -%attr(0755,root,root) %{_cyrexecdir}/ctl_cyrusdb -%attr(0755,root,root) %{_cyrexecdir}/ctl_deliver -%attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist -%attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb -%attr(0755,root,root) %{_cyrexecdir}/cyr_dbtool -%attr(0755,root,root) %{_cyrexecdir}/cyr_expire -%attr(0755,root,root) %{_cyrexecdir}/cyr_synclog -%attr(0755,root,root) %{_cyrexecdir}/cyrdump -%attr(0755,root,root) %{_cyrexecdir}/cyrus-master -%attr(0755,root,root) %{_cyrexecdir}/deliver -%attr(0755,root,root) %{_cyrexecdir}/dohash -%attr(0755,root,root) %{_cyrexecdir}/fud -%attr(0755,root,root) %{_cyrexecdir}/imapd -%attr(0755,root,root) %{_cyrexecdir}/ipurge -%attr(0755,root,root) %{_cyrexecdir}/lmtpd -%attr(0755,root,root) %{_cyrexecdir}/lmtpproxyd -%attr(0755,root,root) %{_cyrexecdir}/make_sha1 -%attr(0755,root,root) %{_cyrexecdir}/masssievec -%attr(0755,root,root) %{_cyrexecdir}/mbexamine -%attr(0755,root,root) %{_cyrexecdir}/mbpath -%attr(0755,root,root) %{_cyrexecdir}/migrate-metadata -%attr(0755,root,root) %{_cyrexecdir}/mkimap -%attr(0755,root,root) %{_cyrexecdir}/mknewsgroups -%attr(0755,root,root) %{_cyrexecdir}/notifyd -%attr(0755,root,root) %{_cyrexecdir}/pop3d -%attr(0755,root,root) %{_cyrexecdir}/quota -%attr(0755,root,root) %{_cyrexecdir}/reconstruct -%attr(0755,root,root) %{_cyrexecdir}/rehash -%attr(0755,root,root) %{_cyrexecdir}/sievec -%attr(0755,root,root) %{_cyrexecdir}/sieved -%attr(0755,root,root) %{_cyrexecdir}/smmapd -%attr(0755,root,root) %{_cyrexecdir}/squatter -%attr(0755,root,root) %{_cyrexecdir}/timsieved -%attr(0755,root,root) %{_cyrexecdir}/tls_prune -%attr(0755,root,root) %{_cyrexecdir}/translatesieve -%attr(0755,root,root) %{_cyrexecdir}/undohash -%attr(0755,root,root) %{_cyrexecdir}/unexpunge -%attr(0755,root,root) %{_cyrexecdir}/upgradesieve -%attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb_all -%attr(0755,root,root) %{_cyrexecdir}/rpm_set_permissions +%{_cyrexecdir}/arbitron +%{_cyrexecdir}/arbitronsort.pl +%{_cyrexecdir}/chk_cyrus +%{_cyrexecdir}/convert-sieve.pl +%{_cyrexecdir}/ctl_cyrusdb +%{_cyrexecdir}/ctl_deliver +%{_cyrexecdir}/ctl_mboxlist +%{_cyrexecdir}/cvt_cyrusdb +%{_cyrexecdir}/cyr_dbtool +%{_cyrexecdir}/cyr_expire +%{_cyrexecdir}/cyr_synclog +%{_cyrexecdir}/cyrdump +%{_cyrexecdir}/cyrus-master +%{_cyrexecdir}/deliver +%{_cyrexecdir}/dohash +%{_cyrexecdir}/fud +%{_cyrexecdir}/imapd +%{_cyrexecdir}/ipurge +%{_cyrexecdir}/lmtpd +%{_cyrexecdir}/lmtpproxyd +%{_cyrexecdir}/make_sha1 +%{_cyrexecdir}/masssievec +%{_cyrexecdir}/mbexamine +%{_cyrexecdir}/mbpath +%{_cyrexecdir}/migrate-metadata +%{_cyrexecdir}/mkimap +%{_cyrexecdir}/mknewsgroups +%{_cyrexecdir}/notifyd +%{_cyrexecdir}/pop3d +%{_cyrexecdir}/quota +%{_cyrexecdir}/reconstruct +%{_cyrexecdir}/rehash +%{_cyrexecdir}/sievec +%{_cyrexecdir}/sieved +%{_cyrexecdir}/smmapd +%{_cyrexecdir}/squatter +%{_cyrexecdir}/timsieved +%{_cyrexecdir}/tls_prune +%{_cyrexecdir}/translatesieve +%{_cyrexecdir}/undohash +%{_cyrexecdir}/unexpunge +%{_cyrexecdir}/upgradesieve +%{_cyrexecdir}/cvt_cyrusdb_all +%{_cyrexecdir}/rpm_set_permissions %if %{IDLED} -%attr(0755,root,root) %{_cyrexecdir}/idled +%{_cyrexecdir}/idled %endif %if %{AUTOCREATE} -%attr(0755,root,root) %{_cyrexecdir}/compile_sieve +%{_cyrexecdir}/compile_sieve %endif -%attr(0755,root,root) %{_cyrexecdir}/mupdate -%attr(0755,root,root) %{_cyrexecdir}/mupdate-loadgen.pl -%attr(0755,root,root) %{_cyrexecdir}/proxyd -%attr(0755,root,root) %{_cyrexecdir}/make_md5 -%attr(0755,root,root) %{_cyrexecdir}/sync_client -%attr(0755,root,root) %{_cyrexecdir}/sync_reset -%attr(0755,root,root) %{_cyrexecdir}/sync_server -%attr(0755,root,root) %{_cyrexecdir}/cyrfetchnews -%attr(0755,root,root) %{_cyrexecdir}/nntpd +%{_cyrexecdir}/mupdate +%{_cyrexecdir}/mupdate-loadgen.pl +%{_cyrexecdir}/proxyd +%{_cyrexecdir}/make_md5 +%{_cyrexecdir}/sync_client +%{_cyrexecdir}/sync_reset +%{_cyrexecdir}/sync_server +%{_cyrexecdir}/cyrfetchnews +%{_cyrexecdir}/nntpd %if %{_withldap} -%attr(0755,root,root) %{_cyrexecdir}/ptdump -%attr(0755,root,root) %{_cyrexecdir}/ptexpire -%attr(0755,root,root) %{_cyrexecdir}/ptloader +%{_cyrexecdir}/ptdump +%{_cyrexecdir}/ptexpire +%{_cyrexecdir}/ptloader %endif %if %{DEL_WRAP} %attr(2755,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver-wrapper @@ -751,9 +686,7 @@ fi %{_mandir}/man8/* %doc COPYRIGHT README %doc doc/* -%if %{use_etc_pki} -%dir %{pki_dir} -%endif +%dir %{_sysconfdir}/pki/%{name} %attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file} %files devel