Home Download FAQ / Knowledge Base Screenshots Documentation Support Roadmap

How Do I Compile The .debs From Source?

Currently, the citadel build system is i386 + AMD64. Since cross-compiling is fairly complicated, the Citadel Project currently offers only i386 and AMD64 debs. This doesn't mean that Citadel, or the packages, won't work on other architectures. However, admins seeking an alternative to Easy Install should be aware that they will need to build their package by hand using the following process.

Building a package by hand may also be necessary if the administrator is looking for a special new feature from git that isn't available in the debs yet or to add other special customizations. Since the Debian build informations are present in the git tree, this is easy to achieve:

First you will need the debian build tools to be installed (which needs root access):

apt-get install dpkg-dev cdbs fakeroot

You may also need more packages; dpkg-buildpackage will let you know which are required. Install them to advance to the next steps.

Then libical needs to be installed. You can get it from the debian.citadel.org repository. However, if you don't already have it in your /etc/apt/sources.list, you can run the following to obtain it.

echo "deb-src http://debian.citadel.org/source stable source" \
  >> /etc/apt/sources.list; apt-get update

Then run:

apt-get source libical
cd libical*; 
fakeroot dpkg-buildpackage
cd ..

libical will now be compiled and packaged, which will take some time. Two .deb files will also now be located in the same directory position as the source tree was located.

Install it (again as root) using:

  dpkg -i libical*deb
The same may now also be done with libcitadel, citadel and webcit.

Debug Enabling your debs

The citadel build can produce debug binaries or other useful tools. It is controlled by the DEB_BUILD_OPTIONS environment variable. It may contain blank separated switches:

  * debug: enable debugging information. GDB won't jump arround when stepping through these binaries.
  * profiling: Want to find out where your citserver burns cpu cycles? These binaries will help you using gprof enabled build.
  * threadoff: disable threadding so gdb will be a bit more handy.
  * compression: disable gzip compression in webcit; usefull for sniffing etc.
  * urldebug: make webcit print its parsed url lines in the debug log. 

For example:

export DEB_BUILD_OPTIONS="debug compression"

Compiling debs from fresh GIT Clones

If you want to compile the git master, just change to the libcitadel/citadel/webcit directory, and run

  ./buildpackages deb

to get the debs; it will prepare the autofoo for you (the source tree comes naked) and call dpkg-buildpackages afterwards. Note that you need to install your freshly compiled libcitadel debs before you are able to compile webcit or citadel.

Have fun with your packages!

Compiling Bleeding Edge

There are no beta packages, but you can compile them yourself. Add this apt-line to your sources.list:

echo "deb-src http://debian.citadel.org/source_beta "\
"stable source" \
 >> /etc/apt/sources.list
apt-get update

and continue as above.

There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.