Basically Cyrus is completely fine on 64-bit little-endian machines.
"make check" fails on big-endian machines. The Cassandane tests fail on
32-bit machines.
Some of the Cassandane tests are known to be due to bugs in the tests
suite; Fedora's 32-bit Perl does not support 64-bit types ("Q" and "q")
in pack and unpack. This is being fixed in rawhide on our side, but it
won't be a complete solution because there are some failures elsewhere
in the test suite.
Fedora is the first to fully integrate Cassandane into the build
process, and we appear to be the only ones to do testing on big-endian
and 32-bit machines. So there's a bit of teething still to get through.
I still do intend to try and push this to F26 as upstream has requested.
Working with upstream I got some fixes pushed and found out about a
couple of other tricks.
Was able to drop some patches and now cassandane runs 603 tests
successfully. The only tests excluded now are those which are expected
to fail with 3.0.1, and five coredump tests which would require removal
of systemd coredump redirection in order to be useful.
It turns that, at least in cyrus 3, the cyr_systemd_helper script will
end up wiping out your databases every time the daemon starts. It was
something that was needed to handle the horror that was Berkeley
DB/Sleepycat DB/whatever it's called today, but Cyrus no longer supports
BDB and so there's no point.
An extra systemd service file will call sscg to setup a secure initial
certificate if it does not exist. The new default imapd.conf file will
reference that cert.
vzic is bundled and has a different license than the rest of the code.
Split it out for simplicity. It and the main package depend on each
other.
Add Provides: bundled(vzic).
Slihtly clean up the files list
The %pre scriptlet had some horrible hack to try and turn on synchronous
writes if /var was on ext2. That hasn't been useful for a long time.
cyrus no longer builds static libraries, so don't bother having the
-devel package provide a -static package.
Scriptlet dependencies were weird across the board; the -utils package
had scriptlet deps but didn't even have any scriptlets. Clean all of
that up.