Link: Cone: COnsole Newsreader And Emailer (start)
Link: Cone: COnsole Newsreader And Emailer (parent)
Link: Cone: COnsole Newsreader And Emailer (previous)
Link: Building Cone (next)

                                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.

      Rocky/RHEL 8/9 notes

Courier packages require C++17 support, but the defualt version of gcc does not
fully support C++17, and a newer gcc is needed:

> $ sudo dnf install --enablerepo=crb -y gcc-toolset-14
> $ scl enable gcc-toolset-14 "rpmbuild -ta cone-VERSION.tar.bz2"

    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.

      Ubuntu and Debian

Courier packages require C++17 support, but the default version of gcc does not
fully support it, and a newer gcc is needed:

> $ sudo apt install -y gcc-10 g++-10
> $ DEBGCC=10 ./courier-debuild -us -uc

make check requires both the ISO-8859-1 based en_US locale in addition to the
default en_US.UTF-8, on all versions of Ubuntu and Debian.

  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.html#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.html#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
