spec clean-up

This commit is contained in:
Michal Hlavinka 2009-05-26 11:36:49 +00:00
parent 9ea7d4b3e5
commit a5faf09e16

View File

@ -8,67 +8,42 @@ Release: 2%{?dist}
# rpm --rebuild --define='SEEN_DB skiplist' cyrus-imapd-2.x.x-x.src.rpm # rpm --rebuild --define='SEEN_DB skiplist' cyrus-imapd-2.x.x-x.src.rpm
# use saslauth group # use saslauth group
%{!?SASLGROUP: %define SASLGROUP 1} %{!?SASLGROUP: %global SASLGROUP 1}
# include deliver-wrapper # include deliver-wrapper
%{!?DEL_WRAP: %define DEL_WRAP 0} %{!?DEL_WRAP: %global DEL_WRAP 0}
# use preforking cyrus.conf # use preforking cyrus.conf
%{!?PREFORK: %define PREFORK 1} %{!?PREFORK: %global PREFORK 1}
# enable Netscape hack (recommended) # enable Netscape hack (recommended)
%{!?NETSCAPEHACK: %define NETSCAPEHACK 1} %{!?NETSCAPEHACK: %global NETSCAPEHACK 1}
# enable IMAP4 LIST extensions # enable IMAP4 LIST extensions
%{!?LISTEXT: %define LISTEXT 1} %{!?LISTEXT: %global LISTEXT 1}
# enable IDLED support # enable IDLED support
%{!?IDLED: %define IDLED 1} %{!?IDLED: %global IDLED 1}
# enable SNMP support # enable SNMP support
%{!?SNMP: %define SNMP 1} %{!?SNMP: %global SNMP 1}
# force syncronous updates on ext3 # force syncronous updates on ext3
%{!?FORCESYNCEXT3: %define FORCESYNCEXT3 0} %{!?FORCESYNCEXT3: %global FORCESYNCEXT3 0}
# include autocreate feature # include autocreate feature
%{!?AUTOCREATE: %define AUTOCREATE 1} %{!?AUTOCREATE: %global AUTOCREATE 1}
# don't check for RFC compliant line termination (bare newlines) # 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 # used syslog facility for logging
%{!?SYSLOGFACILITY: %define SYSLOGFACILITY MAIL} %{!?SYSLOGFACILITY: %global SYSLOGFACILITY MAIL}
# use -fpie for linking # use -fpie for linking
%{!?USEPIE: %define USEPIE 1} %{!?USEPIE: %global USEPIE 1}
# ********************** BUILD TIME OPTIONS END ************************ # ********************** 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 _dbver db4
#%define _dbrpmver %(eval "rpm -q %{_dbver}")
# Do we need the perl install hack for RedHat > 7.3 ? # Do we need the perl install hack for RedHat > 7.3 ?
%define _perlhack 1 %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 %define _withldap 1
#(eval "rpm -q --requires openldap | grep -q ^libsasl2 && echo 1 || echo 0")
%define _snmpver net %define _snmpver net
#(eval "rpm -q --quiet ucd-snmp && echo ucd || echo net")
# Disable -debuginfo package generation %define ssl_pem_file %{_sysconfdir}/pki/%{name}/%{name}.pem
#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 uid 76 %define uid 76
%if %{SASLGROUP} %if %{SASLGROUP}
%define gid 76 %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 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 Patch6: cyrus-imapd-2.1.16-getrlimit.patch
Patch7: cyrus-imapd-2.3.7-nobarenewlinescheck.patch Patch7: cyrus-imapd-2.3.7-nobarenewlinescheck.patch
Patch9: cyrus-imapd-2.3.1-config_defaults.patch
Patch10: cyrus-imapd-acceptinvalidfrom.patch Patch10: cyrus-imapd-acceptinvalidfrom.patch
Patch12: cyrus-imapd-2.3.7-notify_sms.patch Patch12: cyrus-imapd-2.3.7-notify_sms.patch
Patch14: cyrus-imapd-2.3.1-authid_normalize.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 Patch18: cyrus-imapd-2.3.7-krb4.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=461875 # https://bugzilla.redhat.com/show_bug.cgi?id=461875
Patch19: cyrus-imapd-2.3.12p2-current-db.patch 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: autoconf >= 2.59
BuildRequires: cyrus-sasl-devel >= 2.1.15-1, perl-devel, tcp_wrappers BuildRequires: cyrus-sasl-devel >= 2.1.15-1, perl-devel, tcp_wrappers
BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig BuildRequires: %{_dbver}-devel, openssl-devel, pkgconfig
@ -192,7 +166,6 @@ recipients, SIEVE provides server side email filtering.
%package devel %package devel
Group: Development/Libraries Group: Development/Libraries
Summary: Cyrus IMAP server development files Summary: Cyrus IMAP server development files
#Requires: %{name} = %{version}-%{release}
%description devel %description devel
The %{name}-devel package contains header files and libraries The %{name}-devel package contains header files and libraries
@ -234,7 +207,6 @@ one running the server.
%if %{NO_BARE_NL} %if %{NO_BARE_NL}
%patch7 -p1 -b .nobarenewlinescheck %patch7 -p1 -b .nobarenewlinescheck
%endif %endif
#%patch9 -p1 -b .config_defaults
%patch10 -p1 -b .acceptinvalidfrom %patch10 -p1 -b .acceptinvalidfrom
%patch12 -p1 -b .notify_sms %patch12 -p1 -b .notify_sms
%patch14 -p1 -b .authid_normalize %patch14 -p1 -b .authid_normalize
@ -250,7 +222,6 @@ autoheader
autoconf -f autoconf -f
%build %build
#export RPM_OPT_FLAGS="$RPM_OPT_FLAGS -Werror-implicit-function-declaration"
CPPFLAGS="-I%{_includedir}/et"; export CPPFLAGS CPPFLAGS="-I%{_includedir}/et"; export CPPFLAGS
CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS
if pkg-config openssl; then if pkg-config openssl; then
@ -355,21 +326,15 @@ find doc -name "*.html.*" -type f | xargs -r %{__rm} -f
%{__rm} -rf %{buildroot} %{__rm} -rf %{buildroot}
# This hack is needed on RedHat > 7.3 to install the perl files correctly # This hack is needed on RedHat > 7.3 to install the perl files correctly
%if %{_perlhack}
pushd perl/imap pushd perl/imap
%{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor
popd popd
pushd perl/sieve/managesieve pushd perl/sieve/managesieve
%{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor %{__perl} Makefile.PL PREFIX=%{buildroot}%{_prefix} INSTALLDIRS=vendor
popd popd
# Do what the regular make install does # Do what the regular make install does
%{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir} %{__make} install DESTDIR=%{buildroot} PREFIX=%{_prefix} mandir=%{_mandir}
%{__make} -C man 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
%if %{DEL_WRAP} %if %{DEL_WRAP}
%{__install} -m 2755 deliver-wrapper %{buildroot}%{_cyrexecdir}/ %{__install} -m 2755 deliver-wrapper %{buildroot}%{_cyrexecdir}/
@ -393,7 +358,7 @@ done
%{buildroot}%{_vardata}/ptclient \ %{buildroot}%{_vardata}/ptclient \
%endif %endif
%{buildroot}%{_datadir}/%{name}/rpm \ %{buildroot}%{_datadir}/%{name}/rpm \
%{buildroot}%{pki_dir} \ %{buildroot}%{_sysconfdir}/pki/%{name} \
%{_contribdir} %{_contribdir}
# Install additional files # Install additional files
@ -444,13 +409,6 @@ mv %{buildroot}%{_mandir}/man8/pop3d.8 %{buildroot}%{_mandir}/man8/pop3d.8cyrus
# create the ghost pem file # create the ghost pem file
touch %{buildroot}%{ssl_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 # Rename 'master' binary and manpage to avoid clash with postfix
%{__mv} -f %{buildroot}%{_cyrexecdir}/master %{buildroot}%{_cyrexecdir}/cyrus-master %{__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 %{buildroot}%{_mandir}/man8/syncnews.8*
%{__rm} -f doc/man/syncnews.8.html %{__rm} -f doc/man/syncnews.8.html
# On RedHat 7.3, this file is created here
%{__rm} -f /perllocal.pod
%clean %clean
%{__rm} -rf %{buildroot} %{__rm} -rf %{buildroot}
@ -520,11 +475,6 @@ do
fi fi
done 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 # prevent idled related errors to show up
%if %{IDLED} %if %{IDLED}
if grep -q "^# idled" %{_sysconfdir}/cyrus.conf ; then if grep -q "^# idled" %{_sysconfdir}/cyrus.conf ; then
@ -536,24 +486,11 @@ fi
fi fi
%endif %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 # Create SSL certificates
exec > /dev/null 2> /dev/null 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 if [ ! -f %{ssl_pem_file} ]; then
pushd %{certs_dir} pushd %{_sysconfdir}/pki/tls/certs
umask 077 umask 077
%{__cat} << EOF | make %{name}.pem %{__cat} << EOF | make %{name}.pem
-- --
@ -566,9 +503,7 @@ root@localhost.localdomain
EOF EOF
%{__chown} root.%{_cyrusgroup} %{name}.pem %{__chown} root.%{_cyrusgroup} %{name}.pem
%{__chmod} 640 %{name}.pem %{__chmod} 640 %{name}.pem
%if %{use_etc_pki}
mv %{name}.pem %{ssl_pem_file} mv %{name}.pem %{ssl_pem_file}
%endif
popd popd
fi fi
@ -644,7 +579,7 @@ if [ $1 = 0 ]; then
fi fi
%files %files
%defattr(0644,root,root,0755) %defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/cyrus.conf %config(noreplace) %{_sysconfdir}/cyrus.conf
%config(noreplace) %{_sysconfdir}/imapd.conf %config(noreplace) %{_sysconfdir}/imapd.conf
%attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/%{name} %attr(0755,root,root) %{_sysconfdir}/rc.d/init.d/%{name}
@ -659,69 +594,69 @@ fi
%config(noreplace) %{_sysconfdir}/pam.d/nntp %config(noreplace) %{_sysconfdir}/pam.d/nntp
%attr(0755,root,root) %{_sysconfdir}/cron.daily/%{name} %attr(0755,root,root) %{_sysconfdir}/cron.daily/%{name}
%dir %{_cyrexecdir} %dir %{_cyrexecdir}
%attr(0755,root,root) %{_cyrexecdir}/arbitron %{_cyrexecdir}/arbitron
%attr(0755,root,root) %{_cyrexecdir}/arbitronsort.pl %{_cyrexecdir}/arbitronsort.pl
%attr(0755,root,root) %{_cyrexecdir}/chk_cyrus %{_cyrexecdir}/chk_cyrus
%attr(0755,root,root) %{_cyrexecdir}/convert-sieve.pl %{_cyrexecdir}/convert-sieve.pl
%attr(0755,root,root) %{_cyrexecdir}/ctl_cyrusdb %{_cyrexecdir}/ctl_cyrusdb
%attr(0755,root,root) %{_cyrexecdir}/ctl_deliver %{_cyrexecdir}/ctl_deliver
%attr(0755,root,root) %{_cyrexecdir}/ctl_mboxlist %{_cyrexecdir}/ctl_mboxlist
%attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb %{_cyrexecdir}/cvt_cyrusdb
%attr(0755,root,root) %{_cyrexecdir}/cyr_dbtool %{_cyrexecdir}/cyr_dbtool
%attr(0755,root,root) %{_cyrexecdir}/cyr_expire %{_cyrexecdir}/cyr_expire
%attr(0755,root,root) %{_cyrexecdir}/cyr_synclog %{_cyrexecdir}/cyr_synclog
%attr(0755,root,root) %{_cyrexecdir}/cyrdump %{_cyrexecdir}/cyrdump
%attr(0755,root,root) %{_cyrexecdir}/cyrus-master %{_cyrexecdir}/cyrus-master
%attr(0755,root,root) %{_cyrexecdir}/deliver %{_cyrexecdir}/deliver
%attr(0755,root,root) %{_cyrexecdir}/dohash %{_cyrexecdir}/dohash
%attr(0755,root,root) %{_cyrexecdir}/fud %{_cyrexecdir}/fud
%attr(0755,root,root) %{_cyrexecdir}/imapd %{_cyrexecdir}/imapd
%attr(0755,root,root) %{_cyrexecdir}/ipurge %{_cyrexecdir}/ipurge
%attr(0755,root,root) %{_cyrexecdir}/lmtpd %{_cyrexecdir}/lmtpd
%attr(0755,root,root) %{_cyrexecdir}/lmtpproxyd %{_cyrexecdir}/lmtpproxyd
%attr(0755,root,root) %{_cyrexecdir}/make_sha1 %{_cyrexecdir}/make_sha1
%attr(0755,root,root) %{_cyrexecdir}/masssievec %{_cyrexecdir}/masssievec
%attr(0755,root,root) %{_cyrexecdir}/mbexamine %{_cyrexecdir}/mbexamine
%attr(0755,root,root) %{_cyrexecdir}/mbpath %{_cyrexecdir}/mbpath
%attr(0755,root,root) %{_cyrexecdir}/migrate-metadata %{_cyrexecdir}/migrate-metadata
%attr(0755,root,root) %{_cyrexecdir}/mkimap %{_cyrexecdir}/mkimap
%attr(0755,root,root) %{_cyrexecdir}/mknewsgroups %{_cyrexecdir}/mknewsgroups
%attr(0755,root,root) %{_cyrexecdir}/notifyd %{_cyrexecdir}/notifyd
%attr(0755,root,root) %{_cyrexecdir}/pop3d %{_cyrexecdir}/pop3d
%attr(0755,root,root) %{_cyrexecdir}/quota %{_cyrexecdir}/quota
%attr(0755,root,root) %{_cyrexecdir}/reconstruct %{_cyrexecdir}/reconstruct
%attr(0755,root,root) %{_cyrexecdir}/rehash %{_cyrexecdir}/rehash
%attr(0755,root,root) %{_cyrexecdir}/sievec %{_cyrexecdir}/sievec
%attr(0755,root,root) %{_cyrexecdir}/sieved %{_cyrexecdir}/sieved
%attr(0755,root,root) %{_cyrexecdir}/smmapd %{_cyrexecdir}/smmapd
%attr(0755,root,root) %{_cyrexecdir}/squatter %{_cyrexecdir}/squatter
%attr(0755,root,root) %{_cyrexecdir}/timsieved %{_cyrexecdir}/timsieved
%attr(0755,root,root) %{_cyrexecdir}/tls_prune %{_cyrexecdir}/tls_prune
%attr(0755,root,root) %{_cyrexecdir}/translatesieve %{_cyrexecdir}/translatesieve
%attr(0755,root,root) %{_cyrexecdir}/undohash %{_cyrexecdir}/undohash
%attr(0755,root,root) %{_cyrexecdir}/unexpunge %{_cyrexecdir}/unexpunge
%attr(0755,root,root) %{_cyrexecdir}/upgradesieve %{_cyrexecdir}/upgradesieve
%attr(0755,root,root) %{_cyrexecdir}/cvt_cyrusdb_all %{_cyrexecdir}/cvt_cyrusdb_all
%attr(0755,root,root) %{_cyrexecdir}/rpm_set_permissions %{_cyrexecdir}/rpm_set_permissions
%if %{IDLED} %if %{IDLED}
%attr(0755,root,root) %{_cyrexecdir}/idled %{_cyrexecdir}/idled
%endif %endif
%if %{AUTOCREATE} %if %{AUTOCREATE}
%attr(0755,root,root) %{_cyrexecdir}/compile_sieve %{_cyrexecdir}/compile_sieve
%endif %endif
%attr(0755,root,root) %{_cyrexecdir}/mupdate %{_cyrexecdir}/mupdate
%attr(0755,root,root) %{_cyrexecdir}/mupdate-loadgen.pl %{_cyrexecdir}/mupdate-loadgen.pl
%attr(0755,root,root) %{_cyrexecdir}/proxyd %{_cyrexecdir}/proxyd
%attr(0755,root,root) %{_cyrexecdir}/make_md5 %{_cyrexecdir}/make_md5
%attr(0755,root,root) %{_cyrexecdir}/sync_client %{_cyrexecdir}/sync_client
%attr(0755,root,root) %{_cyrexecdir}/sync_reset %{_cyrexecdir}/sync_reset
%attr(0755,root,root) %{_cyrexecdir}/sync_server %{_cyrexecdir}/sync_server
%attr(0755,root,root) %{_cyrexecdir}/cyrfetchnews %{_cyrexecdir}/cyrfetchnews
%attr(0755,root,root) %{_cyrexecdir}/nntpd %{_cyrexecdir}/nntpd
%if %{_withldap} %if %{_withldap}
%attr(0755,root,root) %{_cyrexecdir}/ptdump %{_cyrexecdir}/ptdump
%attr(0755,root,root) %{_cyrexecdir}/ptexpire %{_cyrexecdir}/ptexpire
%attr(0755,root,root) %{_cyrexecdir}/ptloader %{_cyrexecdir}/ptloader
%endif %endif
%if %{DEL_WRAP} %if %{DEL_WRAP}
%attr(2755,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver-wrapper %attr(2755,%{_cyrususer},%{_cyrusgroup}) %{_cyrexecdir}/deliver-wrapper
@ -751,9 +686,7 @@ fi
%{_mandir}/man8/* %{_mandir}/man8/*
%doc COPYRIGHT README %doc COPYRIGHT README
%doc doc/* %doc doc/*
%if %{use_etc_pki} %dir %{_sysconfdir}/pki/%{name}
%dir %{pki_dir}
%endif
%attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file} %attr(0640,root,%{_cyrusgroup}) %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{ssl_pem_file}
%files devel %files devel