user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Eric Wong <>
To: Jonathan Corbet <>
Subject: Re: [PATCH] Update the installation instructions with Fedora package names
Date: Wed, 28 Feb 2018 03:55:52 +0000	[thread overview]
Message-ID: <20180228035552.GA6489@dcvr> (raw)
In-Reply-To: <>

Jonathan Corbet <> wrote:
> Add a few more details and (especially) the Fedora package names.  I also
> took the liberty of reorganizing things slightly while I was there.


> Signed-off-by: Jonathan Corbet <>

Fwiw, I don't plan on enforcing S-o-b since there's no DCO
(or even a real name policy), here.   But I realize it may
be a habit from Linux so I don't object, either.

> --- a/INSTALL
> +++ b/INSTALL
> @@ -8,32 +8,32 @@ if they want to import mail into their personal inboxes.
>  TODO: this still needs to be documented better,
>  also see the scripts/ and sa_config/ directories in the source tree
> -It should also be possible to use public-inbox with only IMAP
> -(or even POP(!)) access to a mailbox.
> -
> -standard MakeMaker installation (Perl)
> ---------------------------------------
> -
> -	perl Makefile.PL

I'm not completely sure if moving this part makes sense, as
Makefile.PL will warn about modules it can't find, at least.
I think that's typical for ./configure errors in non-Perl
projects, too.

>  ------------
> -* git
> -* Perl and several modules:    (Debian package name)
> -  - Date::Parse                libtimedate-perl
> -  - Email::MIME                libemail-mime-perl
> -  - Email::MIME::ContentType   libemail-mime-contenttype-perl
> -  - Encode::MIME::Header       perl

> +public-inbox requires a number of other packages to access its full
> +functionality.  The core tools are, of course:
> +
> +* Git
> +* Perl
> +* Sqlite

SQLite is optional (and needs to be properly capitalized).
It's probably OK to make a requirement for Xapian users, though.

> -Optional components:
> +To accept incoming mail into a public inbox, you'll likely want:

Looks good.

>  * MTA - postfix is recommended (for public-inbox-mda)
>  * SpamAssassin (spamc/spamd)   (for public-inbox-watch/public-inbox-mda)
> +Beyond that, there is a long list of Perl modules required, starting with: 

I'm not sure if four constitutes as "long"

> +* Date::Parse
> +* Email::MIME
> +* Email::MIME::ContentType
> +* Encode::MIME::Header
> +
> +On Debian systems, these modules can be had with the libtimedate-perl,
> +libemail-mime-perl, and libemail-mime-contenttype-perl packages.  On Fedora
> +and similar, install perl-Time-ParseDate and perl-Email-MIME.

I find the lack of alignment to map upstream names to distro
package names to be a change for the worse.  I realize the
Fedora names won't fit on to the same line, but how about we
introduce multiple lines and key them:


* Perl and several modules:   (distro-provided package name, key below)

  - Date::Parse                deb: libtimedate-perl
                               rpm: perl-Time-ParseDate

  - Email::MIME                deb: libemail-mime-perl
                               rpm: perl-Email-MIME


package name key:

deb: Debian-based distros (Ubuntu and derivatives)
rpm: Fedora-based distros (RedHat and derivatives)

>  Optional Perl modules:
>    - Plack[1]                   libplack-perl
> @@ -46,6 +46,13 @@ Optional Perl modules:
>    - Net::Server[5]             libnet-server-perl
>    - Filesys::Notify::Simple[6] libfilesys-notify-simple-perl
> +On Fedora systems the modules you'll want are perl-Plack, perl-Plack-Test,
> +perl-Plack-Middleware-ReverseProxy, perl-Plack-Middleware-Deflater,
> +perl-URI, perl-Search-Xapian, perl-PerlIO-gzip, perl-DBI, perl-DBD-SQLite,
> +perl-Danga-Socket, perl-Net-Server.  You'll probably also end up wanting
> +perl-Test-HTTP-Server-Simple, perl-Devel-Peek, perl-IPC-Run, and
> +perl-Filesys-Notify-Simple.

IPC::Run is only for tests these days.  And I didn't realize
Devel::Peek is split out in Fedora.

>  [1] - Optional, needed for serving/generating Atom and HTML pages
>  [2] - Optional, only required for NNTP server
>  [3] - Optional, needed for gzipped mbox support over HTTP

The above key system ought to make it easier to map the package
names the features they're used for.

> @@ -64,6 +83,9 @@ public-inbox will never store unregeneratable data in Xapian
>  or any other search database we might use; Xapian corruption
>  will not destroy critical data.
> +See public-inbox-overview for the next steps once the installation is
> +complete.

Good idea to have the pointer to -overview.  It might be better
to say "See the public-inbox-overview(7) manpage" ... since
INSTALL itself is an ordinary text file and the reader may not
realize -overview is a manpage.

Thanks again.

  reply	other threads:[~2018-02-28  3:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 23:36 Jonathan Corbet
2018-02-28  3:55 ` Eric Wong [this message]
2018-03-11 16:48   ` Jonathan Corbet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180228035552.GA6489@dcvr \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this inbox:

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).