diff --git a/.gitignore b/.gitignore index dd6269d..b170ba4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /cassandane-testdata-20170523.tar.gz /cassandane-b97ba9c.tar.gz /cassandane-0a6c13e.tar.gz +/cassandane-2f8f3f4.tar.gz diff --git a/cyrus-imapd.spec b/cyrus-imapd.spec index 1503055..a062dfe 100644 --- a/cyrus-imapd.spec +++ b/cyrus-imapd.spec @@ -1,7 +1,8 @@ %define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}}) -# Cassandane doesn't have releases often. This was fetched on 20170525. -%global cmt1 0a6c13e83813d4bb1ed4ee36ec7298c56db1b99b +# Cassandane doesn't have releases often, but it receives constant development. +# This was fetched on 20170530. +%global cmt1 2f8f3f4949e58bf20362c3cd8b1720f49002660d # Cassandane run by default. '--without cassandane' disables. %bcond_without cassandane @@ -26,6 +27,7 @@ URL: http://www.cyrusimap.org/ Source0: http://www.cyrusimap.org/releases/%name-%version.tar.gz Patch0: patch-cyrus-testsuite-endianness +Patch1: patch-cyrus-testsuite-endianness2 Source10: cyrus-imapd.logrotate Source11: cyrus-imapd.pam-config @@ -411,29 +413,58 @@ gcc -fPIC -shared -Wl,-soname,-libredirectsyslog.so.0 -ldl -o libredirectsyslog. export LD_LIBRARY_PATH=%buildroot/%_libdir export CYRUS_USER=$USER -# These are all the tests I have managed to make work at this time. +# Most Cassandane tests pass, but using snapshots includes new tests which +# aren't supposed to pass on released versions of cyrus. So we have a big +# exclusion list. # Note that Cassandane::Test::Core must always be excluded; it can't possibly # work. The others are expected on 3.0.1 and should be removed and re-checked # at each release. + #!JMAPCalendars.creationids \ # Add -vvv for too much output ./testrunner.pl %{?_smp_mflags} -f pretty \ !Cassandane::Test::Core \ !Admin.imap_admins \ !Fetch.fetch_flags_before_exists \ +\ + !JMAPCalendars.creationids \ + !JMAPCalendars.getcalendareventlist \ + !JMAPCalendars.getcalendareventlist_date \ + !JMAPCalendars.getcalendareventlist_datetime \ + !JMAPCalendars.getcalendareventlist_text \ + !JMAPCalendars.getcalendarevents_privacy \ !JMAPCalendars.getcalendarevents_properties \ !JMAPCalendars.getcalendarevents_relatedto \ !JMAPCalendars.getcalendarevents_simple \ + !JMAPCalendars.getcalendareventupdates \ +\ !JMAPCalendars.setcalendarevents_alerts \ + !JMAPCalendars.setcalendarevents_caldav \ + !JMAPCalendars.setcalendarevents_endtimezone \ + !JMAPCalendars.setcalendarevents_endtimezone_recurrence \ + !JMAPCalendars.setcalendarevents_isallday \ + !JMAPCalendars.setcalendarevents_links \ + !JMAPCalendars.setcalendarevents_localizations \ !JMAPCalendars.setcalendarevents_locations \ + !JMAPCalendars.setcalendarevents_move \ + !JMAPCalendars.setcalendarevents_participantid \ !JMAPCalendars.setcalendarevents_participants \ + !JMAPCalendars.setcalendarevents_prodid \ !JMAPCalendars.setcalendarevents_recurrenceoverrides \ !JMAPCalendars.setcalendarevents_relatedto \ + !JMAPCalendars.setcalendarevents_recurrence \ + !JMAPCalendars.setcalendarevents_schedule_cancel \ + !JMAPCalendars.setcalendarevents_schedule_reply \ + !JMAPCalendars.setcalendarevents_schedule_request \ + !JMAPCalendars.setcalendarevents_simple \ +\ !JMAPMail.getmessagelist_attachments \ !JMAPMail.getmessagelist_window \ !JMAPMail.getmessages_body_nontext \ !JMAPMail.getmessages_attachment_name \ !JMAPMail.setmailboxes_destroy_empty \ + !JMAPMail.setmessages_attachments \ +\ !Quota.num_folders_rename \ !SearchFuzzy.cjk_words \ !SearchFuzzy.xattachmentname \ diff --git a/patch-cyrus-testsuite-endianness2 b/patch-cyrus-testsuite-endianness2 new file mode 100644 index 0000000..01dc84b --- /dev/null +++ b/patch-cyrus-testsuite-endianness2 @@ -0,0 +1,20 @@ +diff --git a/imap/conversations.c b/imap/conversations.c +index 504c5db..2b151dc 100644 +--- a/imap/conversations.c ++++ b/imap/conversations.c +@@ -560,11 +560,14 @@ EXPORTED int conversations_get_msgid(struct conversations_state *state, + &data, &datalen, + &state->txn); + ++ if (r == CYRUSDB_NOTFOUND) ++ return 0; /* not an error, but nothing more to do */ ++ + if (!r) r = _conversations_parse(data, datalen, cids, NULL); + + if (r) arrayu64_truncate(cids, 0); + +- return 0; ++ return r; + } + + /* diff --git a/sources b/sources index 9b8d44e..ab5590a 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (cassandane-0a6c13e.tar.gz) = fa37cd3fd7f32bbfb4af8ec48da0a48b8bce7f4d0135cb5361559464285ea18ff815ec812ba3be037c054a80513c3150af6943d90b60e6aff2d75060ade4d321 SHA512 (cassandane-testdata-20170523.tar.gz) = 705f5af6a31fe3b8d6e8027bbddbedb2f64d65997f8a06620ec07fcd30a95d98ac3f3fbef7af5080684ee21be1c5b8bcad2374b2749f0571099e780355a04420 SHA512 (cyrus-imapd-3.0.1.tar.gz) = 0a2bf13b4793e642f3df53231fd66774e0c5ad753b436a7fb0645db6ee70121d0da245038527cc58cb078255fec3e7b32a6230c196cceea040f74813ef78e337 +SHA512 (cassandane-2f8f3f4.tar.gz) = b949155b85e30a9cabd5992806fafe78a462662297398e8a74856f345c063769e5e419d01777e08c1f326622244181667ead47a057e38b1974ec121e7913a955