From 499b7bb11be6529b67feb5d8612fe81e3c2be668 Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Wed, 5 Jul 2017 12:54:04 -0500 Subject: [PATCH] Spec cleanup. * Remove unneeded source file. * Fix comment on excluded test suite to indicate that our libical is too old. * Handle all excluded tests through the same mechanism, and comment them all. --- cassandane-redirect-syslog.c | 17 --------------- cyrus-imapd.spec | 40 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 37 deletions(-) delete mode 100644 cassandane-redirect-syslog.c diff --git a/cassandane-redirect-syslog.c b/cassandane-redirect-syslog.c deleted file mode 100644 index 37ad53e..0000000 --- a/cassandane-redirect-syslog.c +++ /dev/null @@ -1,17 +0,0 @@ -/* This is used to build an LD_PRELOAD library to redirect syslog calls. */ - -#include -#include -#include - -void openlog(const char *ident, int option, int facility) { return; } -void closelog(void) { return; } - -void syslog(int priority, const char *format, ...) { - va_list va; - va_start(va, format); - vfprintf(stderr, format, va); - va_end(va); -} - - diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index 2c2422d..73e1c32 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -1,8 +1,8 @@ %define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}}) -# Cassandane doesn't have releases often, but it receives constant development. -# This was fetched on 20170622 -%global cmt1 6d33978ebb0055be41a5cb8e52958e100401bf26 +# Cassandane commit hash. Cassandane doesn't have releases often, but it +# receives constant development. This was fetched on 20170622. +%global cocas 6d33978ebb0055be41a5cb8e52958e100401bf26 # Cassandane run by default. '--without cassandane' disables. %bcond_without cassandane @@ -56,7 +56,7 @@ Source18: cyrus-imapd-init.service Source19: cyrus-imapd.tmpfiles.conf # Source files for running the Cassandane test suite at build time. -Source80: https://github.com/cyrusimap/cassandane/archive/%cmt1.tar.gz#/cassandane-%{scmt %cmt1}.tar.gz +Source80: https://github.com/cyrusimap/cassandane/archive/%cocas.tar.gz#/cassandane-%{scmt %cocas}.tar.gz # The CPAN version, and hence the Fedora-packaged version, of Net::CalDAVTalk # doesn't include the testdata directory. Cassandane can use it for testing @@ -69,10 +69,6 @@ Source81: cassandane-testdata-20170523.tar.gz # A template config file for cassandane; we will substitute in varions values. Source82: cassandane.ini -# Basically everything in the test suite wants to use syslog. That's not so -# easy in mock, so here's an LD_PRELOAD to redirect syslog calls to stderr. -Source83: cassandane-redirect-syslog.c - # These are source files and not patches because you can't use autosetup to # apply patches to secondary unpacked source files. @@ -216,7 +212,7 @@ install -m 644 %SOURCE16 doc/ # Unpack and prepare cassandane tar xf %SOURCE80 -ln -s cassandane-%cmt1 cassandane +ln -s cassandane-%cocas cassandane pushd cassandane mkdir work tar xf %SOURCE81 @@ -230,7 +226,6 @@ sed -i \ -e "s!BUILDROOT!%buildroot!" \ cassandane.ini -cp %SOURCE83 redirect-syslog.c popd %build @@ -450,23 +445,28 @@ export CYRUS_USER=$USER # Construct the set of excluded tests to pass to Cassandane # --------------------------------------------------------- -# Note that Cassandane::Test::Core must always be excluded; it can't possibly -# work. -# Upstream says that the Metronome tests won't be reliable on shared hardware -# and are more for testing system performance than for testing Cyrus itself. -exclude=('!Cassandane::Test::Core' '!Metronome') - -# The following tests fail on all architectures. +exclude=() tests=( + # This is more a test of system performance and according to upstream won't + # be reliable on shared hardware like our builders. + Metronome + + # This tests coredumping and won't work on a machine where systemd + # intercepts coredumps. + Cassandane::Test::Core + # Fails because our Xapian is too old for proper CJK support. 1.5 will be # OK, but it is not yet released. The alternative is to bundle. SearchFuzzy.cjk_words + # Needs a patch to libical, which should be in 2.1/3.0 when it releases. + # The alternative is to bundle. + # https://github.com/cyrusimap/cyrus-imapd/issues/2048 + JMAPCalendars.setcalendarevents_alerts + + # As of yet unexplained # https://github.com/cyrusimap/cyrus-imapd/issues/2047 Admin.imap_admins - - # https://github.com/cyrusimap/cyrus-imapd/issues/2048 - JMAPCalendars.setcalendarevents_alerts ) for i in ${tests[@]}; do exclude+=("!$i"); done