Overview of Cyrus development environment

The pre-requisites

While Cyrus itself can be run under many operating systems, we recommend the following operating systems for development, because the depencies and libraries are known. If you get a development environment working under a different operating system, we’d love to hear about it.
  • Debian / Ubuntu
  • Fedora / Redhat

The components

Source

Cyrus IMAPd

Can’t do anything without this!

Follow the Cyrus IMAP installation guide.

Cyrus SASL

Used for providing user authentication to the mail server.

When developing against Cyrus, however, we assume that Cyrus SASL is a third party pre-built component. There is a separate section on compiling from source if you’re interested in contributing to Cyrus SASL.

Testing tools

Cassandane

System test suite for Cyrus IMAPd.

The Cyrus IMAP installation guide has instructions for installing Cassandane.

Caldav Tester

Testing tool for CalDAV and CardDAV.

Installation information: http://calendarserver.org/wiki/CalDAVTester

IMAPTest

Compliance and stress test tool for IMAP servers.

Installation information: http://www.imapwiki.org/ImapTest

Development hub

Phabricator

We use Phabricator for our collaboration and change tracking. Diffusion provides repository browsing, Differential provides code review, Maniphest provides bug tracking. Arcanist provides a command-line interface to Phabricator.

Check out our development process for a guide on how to contribute your changes to the community.