Installing Cone
Prev |  | Next

## Installing Cone

First, make sure that all the necessary requirements (README) are satisfied. See additional notes below for upgrade instructions.

### RPM and DEB packages

These are not the same packages as the ones from various distributions' repositories. These packages carry a higher internal revision level in order to prevent them from getting upgraded by the distribution packaging. This packaging exists in order to have a convenient way of updating after a release without waiting for the distribution's package to get built.

### Note

If a distribution package is already installed it should be removed completely before switching to the upstream version (“dnf remove” or “apt purge”). Preserve any existing configuration files, beforehand, in order to restore it after switching packages. This applies to all Courier packages. A switch to this cone package requires switching the courier-unicode and too.

If a distribution package is already installed it should be removed completely before switching to the upstream version (dnf remove or apt purge). Preserve any existing configuration files, beforehand, in order to reconfigure the package.

### Note

These packages use their own, generic, installation layout that may deviate slightly from the package installation conventions that's preferred by the distributions.

#### RPM builds

It is not necessary to unpack this tarball in order to build this tarball.

Run “dnf install rpm-build” if it's not installed already, then:

>     $ rpmbuild -ta cone-VERSION.tar.bz2

If this fails due to any missing dependencies, install them.

#### DEB builds

Run “apt install devscripts debhelper”, if they're not installed already. Create an empty directory and copy/move the tarball into it:

>     $ mkdir tmp
>     $ mv cone-VERSION.tar.bz2 tmp
>     $ cd tmp

Unpack the tarball and cd into the unpacked subdirectory:

>     $ tar xvf cone-VERSION.tar.bz2
>     $ cd cone-VERSION

Run the courier-debuild script, which is a wrapper for debuild, and forwards its parameters to it:

>     $ ./courier-debuild -us -uc

### Note

The above steps must be followed strictly. The courier-debuild script expects the distributed tarball in its parent directory.

### Note

If the courier-debuild script stops with an error complaining about missing dependencies, then use “apt install” to install them, then try again.

The eventually produces a `deb` subdirectory with `.deb` packages that can be installed with “dpkg -i”:

- `cone-`VERSION`.deb` is the main package.

- `libmail-cone-dev-`VERSION`.deb` is a standalone package containing Cone's mail library and header files. It is not needed to run Cone itself.

### Note

All Courier packages should be built with the same version of gcc, which is selected by the `DEBGCC` environment variable before running courier-debuild. See courier-unicode's `INSTALL` for more information.

### Building Cone manually

- Cone requires several common libraries, like “libxml” and the libidn2 library is also required.

- Download the Courier Socks 5 proxy client library from https://www.courier-mta.org/download.php#sox and follow its installation instructions.

  This step can be omitted if Socks 5 support is not required. Cone will compile without the Socks 5 proxy toolkit.

- Download and install the Courier-Unicode library from https://www.courier-mta.org/download.html#unicode and install it.

- Download the source code tarball from https://www.courier-mta.org/download.php#cone and unpack it.

- Set the appropriate environment variables if the compiler or linker needs any custom command line flags. Run “./configure --help” to list the available environment variables that specify additional arbitrary parameters for the C/C++ compiler.

- Run “./configure `[options]`”. See below for a list of available options.

- Run make.

  ### Note

  The GNU version of the `command` is required. On BSD systems it's the gmake. Use gmake in this, and the following steps.

- Run make check.

- Run make install.

- Run make install-configure.

### Note

Do not forget “make install-configure”. It is required.

Unless other options are used, Cone installs in `/usr/local`:

`/usr/local/etc`

  The configuration file.

`/usr/local/bin`

  The shell script that runs Cone.

`/usr/local/libexec`

  The Cone program itself.

`/usr/local/share`

  Documentation, online help, other files.

`/usr/local/lib` and `/usr/local/include`

  The development libraries and include files (only if `--with-devel` was specified to the configure script).

These installation directories, and other options, may be controlled by additional options to the configure script:

`--prefix`, `--bindir`, and others...

  ./configure --help lists about a dozen parameters to the ./configure that specify the directories where various files should be installed.

`--with-certdb=`pathname``

  Sets a non-default location for the systemwide trusted SSL certificate authorities. If not specified, a default list of directories and files is searched for:

  - `/etc/ssl/certs`
  - `/etc/ssl/cert.pem`
  - `/etc/pki/tls/cert.pem`
  - `/etc/ssl/certs/ca-certificates.crt`
`--with-gnutls`

  Select the GnuTLS library even if the OpenSSL library is also installed. The configure script automatically selects whichever one is available. The OpenSSL library is selected if both are present. Use this option to override and select GnuTLS instead.

`--with-devel`

  Install LibMAIL , the mail library used by Cone to access and handle E-mail messages.

`--with-spellcheck=pspell`, `--with-spellcheck=aspell`

  Cone can use hunspell, aspell or pspell for spell checking. This parameter specifies which package gets used if more than one is installed, if different from the default one.

### Upgrading from an earlier version of Cone

Upgrading Cone consists simply of building the new version, and installing it. The new version will overwrite the previous version. Special upgrade instructions are given below.

#### Upgrading from version 0.96 and earlier

Cone 0.97 is a coordinated update with other Courier packages that introduces support for Unicode-based E-mail protocols. As part of this update, maildir folder names are also changed to use Unicode instead of custom IMAP naming scheme.

Manual conversion steps are needed for local maildir (and mbox) folders. No action is needed if Cone is used exclusively with IMAP and POP3 accounts.

Refer to https://www.courier-mta.org/maildirmake.html for additional information; specifically the “Converting pre-Unicode maildirs” section. When updating Cone together with Courier, Courier-IMAP, or SqWebMail, use the same conversion steps for any maildirs that do not get converted as part of updating Courier, Courier-IMAP, or SqWebMail. When updating Cone only by itself, the maildirmake does not get installed together with Cone but it gets built in the `libs/maildir` source subdirectory.

Any mbox folders also need to be renamed, but there are no automated tools for that. They'll need to be renamed manually, (or in Cone itself).

#### Upgrading from version 0.59 and earlier

The address book format has changed in version 0.60. The old address book format will be automatically converted to the new format, when necessary, so no manual intervention is necessary. If Cone is later downgraded to an earlier version, addresses in an address book that contain non-English characters will not be shown correctly.

### Git repository

It is also possible to check out the source from git, however additional requirements apply. Besides the usual prerequisites for building Cone, additional development software must be installed. See the “Source code repository” instructions at https://www.courier-mta.org/status.html.

Prev |  | Next
Cone: COnsole Newsreader And Emailer | Home | ToC | Building Cone