From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id DC6EF1F404; Wed, 28 Feb 2018 03:55:52 +0000 (UTC) Date: Wed, 28 Feb 2018 03:55:52 +0000 From: Eric Wong To: Jonathan Corbet Cc: meta@public-inbox.org Subject: Re: [PATCH] Update the installation instructions with Fedora package names Message-ID: <20180228035552.GA6489@dcvr> References: <20180227163609.23ed8aa3@lwn.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180227163609.23ed8aa3@lwn.net> List-Id: 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. Thanks! > 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: ---------8<-------- * 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.