Installing dependencies

To build realmd you need the following installed, and their development packages where relevant:

  • OpenLDAP libraries
  • Kerberos libraries
  • PolicyKit GObject library
  • libxslt tools
  • Intltool

In addition if you're building from git, you'll need to have the various tools like Autoconf, Automake, GCC, git and so on.

On Debian or Ubuntu you can use the following command to install the dependencies:

$ sudo apt-get install build-essential autoconf automake intltool \
         xmlto xsltproc libglib2.0-dev libpackagekit-glib2-dev \
         libpolkit-gobject-1-dev libkrb5-dev libldap2-dev libsasl2-dev

On Fedora you can use the following command to install the dependencies:

$ sudo yum groupinstall "Development Tools"
$ sudo yum install automake autoconf intltool xmlto xsltproc glib-devel \
    polkit-devel krb5-devel openldap-devel \
    cyrus-sasl-devel systemd-devel

There are some optional dependencies:

  • systemd: When available, install a systemd service file.
  • systemd-journal: When available logs output to the systemd journal directly in order to pass additional logging context.

Getting the source code

Use git to get the source code like this:

$ git clone git://anongit.freedesktop.org/realmd/realmd

Building

To build realmd, once you have the source and dependencies run commands like this. They may need to be adapted to your system:

$ sh autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 \
        --enable-strict --enable-debug
$ make all
$ make check

Besides the standard configure options like --prefix, the following realmd specific options are available:

  • --with-distro=xxxx: Build for a specific distro
  • --without-systemd-journal: Don't depend on the systemd journal
  • --without-systemd-unit-dir: Don't install a systemd service file
  • --enable-debug: Enable debug options during the build
  • --enable-coverage: Build code coverage support
  • --enable-doc: Build documentation
  • --enable-strict: Build with warnings as errors

Coding Resources

Collaborating