First, make sure that all the necessary requirements (README) are satisfied. See additional notes below for upgrade instructions.
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.
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.
These packages use their own, generic, installation layout that may deviate slightly from the package installation conventions that's preferred by the distributions.
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.
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
The above steps must be followed strictly. The courier-debuild script expects the distributed tarball in its parent directory.
The eventually produces a deb
subdirectory with .deb
packages that can be installed with
“dpkg
-i”:
cone-
is
the main package.VERSION
.deb
libmail-cone-dev-
is
a standalone package containing Cone's mail library and header
files. It is not needed to run Cone itself.VERSION
.deb
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.
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.
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.
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 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.
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).
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.
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.