Table of Contents

Installing the pre-built packages


deb http://[debian|ubuntu][debian|ubuntu]/[sid|jessie|squeeze|wheezy|hardy|lucid|oneiric] main 

to your ”/etc/apt/sources.list” (choose the right value from the square bracket) so on a Debian Etch it would look like this:

deb etch main 

and then do

apt-get update
apt-get install citadel-suite

in order to get all Citadel components installed at once and your MTA replaced by Citadel. Be sure to have a look at the Getting Started and some of its articles.

If you want a more fine-grained solution, or want to know which packages Citadel installs on your system, read on…

Packages available here and their content

At the moment we have i386 and amd64 packages available here.

Package name Content
citadel-suite Empty meta-package bringing all the packages below
citadel-common Files common for all parts of the Citadel-System
citadel-server The citadel server package. This will become the heart of your system.
citadel-webcit This will install the web interface to citadel. You can install that on a different machine. But be sure to check the FAQ!
citadel-mta This replaces the system MTA package and provides Sendmail (/usr/sbin/sendmail)
citadel-doc Information about citadel…
citadel-client The citadel command line client. If you prefer a bbs-like text interface, use this.
libical0[-dev] The icalendar library needed by citadel
libsieve2[-dev] Backport of the Debian libsieve package
libdb4.4[*] Backport of the Berkeley DB 4.4 packages to Sarge

To build from source

Debug Flags

To aid development and debugging, the .deb scripts support a set of flags through the DEB_BUILD_OPTIONS environment, which you can specify to to alter the configure process:

export DEB_BUILD_OPTIONS="debug"

Multiple settings can be specified by separating them via blanks.

NameCauseLibcitadel citserver webcit Citclient
debugmakes easily gdb'able unstripped binaries with -ggdb instead of -On X X X X
backtraceenables the component to produce backtraces in certain situations - usefull for live debugging. X X
iodbgOutputs all I/O in server sockets to disk files in /tmp/; used to debug blob readers/writers X X
gcovcreate binaries for code coverage analysis with lcov X X X X
profilingcreate binaries for profiling with gcov / KProf X X X X
clangTries to use CLang as compiler X X X X
urldebugoutputs parsed sections of arguments to the log X

These flags may produce binaries with “features” you may never want in production systems, so use carefully!

Lets Go

add this line to your ”/etc/apt/sources.list”:

deb-src stable source "

then do:

apt-get update
apt-get source libical0
cd libical0-0.26.6

if it complains about missing build dependencies, install them via “apt-get install”, and repeat the above step. Then do:

cd ..
dpkg -i libical0*.deb
apt-get source citadel-server
cd citadel-<tab> "(to make it expand the version number)" 
cd ..
apt-get source webcit
cd webcit-<tab>

Then install the “citadel-*” packages you need. You might not want to install the ”-mta” package, if you want to stay with another mail transport agent.

The repository Site.

Note: don't be alarmed by circular links, they're here to enable apt find its way to the files.

To build from source [git]

1) Install the requirements to bootstrap and compile citadel:

apt-get install build-essential autoconf libtool git

2) obtain a git clone of the citadel repository.

3) change into a component subdirectory (ala citadel/webcit/) and run


4) after that build the package using dpkg-buildpackage as stated above.