Conditionalize the cassandane stuff.

To facilitate building for EL7 and maybe F25 and older, conditionalize
the build dependencies and calls to Cassandane.
This commit is contained in:
Jason Tibbitts 2017-05-25 11:19:25 -05:00
parent f33aeb9844
commit 5ebd7deb39

View File

@ -2,6 +2,9 @@
%global cmt1 b97ba9cbe78e48d10ee0cbdb1f43a73b907e3460 %global cmt1 b97ba9cbe78e48d10ee0cbdb1f43a73b907e3460
%define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}}) %define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}})
# Cassandane run by default. '--without cassandane' disables.
%bcond_without cassandane
Name: cyrus-imapd Name: cyrus-imapd
Version: 3.0.1 Version: 3.0.1
Release: 1%{?dist} Release: 1%{?dist}
@ -84,6 +87,7 @@ BuildRequires: cyrus-sasl-plain cyrus-sasl-md5
BuildRequires: net-tools words BuildRequires: net-tools words
#BuildRequires: imaptest #BuildRequires: imaptest
%if %{with cassandane}
# Perl modules required for cassandane to function # Perl modules required for cassandane to function
BuildRequires: perl(AnyEvent) perl(BSD::Resource) perl(Clone) BuildRequires: perl(AnyEvent) perl(BSD::Resource) perl(Clone)
BuildRequires: perl(File::chdir) perl(IO::Socket::INET6) perl(Mail::IMAPTalk) BuildRequires: perl(File::chdir) perl(IO::Socket::INET6) perl(Mail::IMAPTalk)
@ -92,6 +96,7 @@ BuildRequires: perl(Net::CalDAVTalk) perl(Net::CardDAVTalk)
BuildRequires: perl(Net::Server) perl(News::NNTPClient) perl(String::CRC32) BuildRequires: perl(Net::Server) perl(News::NNTPClient) perl(String::CRC32)
BuildRequires: perl(Sys::Syslog) perl(Test::Unit::TestRunner) perl(Time::HiRes) BuildRequires: perl(Sys::Syslog) perl(Test::Unit::TestRunner) perl(Time::HiRes)
BuildRequires: perl(Unix::Syslog) perl(XML::DOM) perl(XML::Generator) BuildRequires: perl(Unix::Syslog) perl(XML::DOM) perl(XML::Generator)
%endif
Requires(pre): shadow-utils Requires(pre): shadow-utils
Requires(post): /sbin/ldconfig Requires(post): /sbin/ldconfig
@ -207,9 +212,11 @@ popd
# This is the test suite, which doesn't build much but does verify its dependencies. # This is the test suite, which doesn't build much but does verify its dependencies.
# If this is done after the configure call, the one thing it does build fails # If this is done after the configure call, the one thing it does build fails
# because the configure macro puts some hardening flags into the environment. # because the configure macro puts some hardening flags into the environment.
%if %{with cassandane}
pushd cassandane pushd cassandane
make make
popd popd
%endif
# Options not enabled: # Options not enabled:
# --enable-objectstore # --enable-objectstore
@ -398,6 +405,7 @@ find %buildroot -name ".packlist" -exec rm {} \;
%check %check
make %{?_smp_mflags} check || exit 1 make %{?_smp_mflags} check || exit 1
%if %{with cassandane}
pushd cassandane pushd cassandane
# Build the syslog interposer # Build the syslog interposer
@ -448,6 +456,7 @@ export LD_LIBRARY_PATH=%buildroot/%_libdir
# current UID to Cassandane::AnnotatorDaemon->run. # current UID to Cassandane::AnnotatorDaemon->run.
# (getpwuid($<))[0] # (getpwuid($<))[0]
# Also override group # Also override group
%endif
%pre %pre