On Debian 9 (codename Stretch) and later, installing interimap(1) is a single command away:

$ apt-get install interimap

This document is for those who are running other systems, and/or who wish to install from source.

Dependencies

interimap(1) depends on Perl ≥5.20 and the following Perl modules:

On Debian GNU/Linux systems, the dependencies can be installed with the following command:

$ apt install libconfig-tiny-perl \
    libdbi-perl \
    libdbd-sqlite3-perl \
    libnet-ssleay-perl

Additional packages are required in order to run the test suite:

$ apt install dovecot-imapd procps sqlite3 xxd
$ make test

Generate documentation

Yet another set of packages is needed to generate the documentation:

$ apt install jq pandoc

Run `make manual` (or just `make`) in order to generate the manpages. You’ll find them at doc/*.[1-9]. Use for instance `man -l doc/interimap.1` in order to read your copy of the interimap(1) manpage.

The HTML documentation can be built with `make html`. HTML files are generated alongside their Markdown source by default, but you can choose another target directory using the HTML_ROOTDIR environment variable (the value of which defaults to ./doc). Moreover the libjs-bootstrap is needed by default for the local CSS file; this can be controlled with the CSS environment variable (the value of which defaults to /usr/share/javascript/bootstrap/css/bootstrap.min.css).

For instance, use

$ CSS="https://guilhem.org/static/css/bootstrap.min.css" \
    HTML_ROOTDIR="$XDG_RUNTIME_DIR/interimap" \
    make html

to generate the HTML documentation under directory $XDG_RUNTIME_DIR/interimap (which needs to exist) using a remote CSS file.

The doc target generates all documentation, manpages as well as HTML pages.

Build custom Debian packages

Debian GNU/Linux users can also use gbp(1) from git-buildpackage in order to build their own packages:

$ git checkout debian
$ gbp buildpackage

Alternatively, for the development version:

$ git checkout debian
$ git merge master
$ gbp buildpackage --git-force-create --git-upstream-tree=BRANCH