user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] Update the installation instructions with Fedora package names
@ 2018-02-27 23:36 Jonathan Corbet
  2018-02-28  3:55 ` Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Corbet @ 2018-02-27 23:36 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

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 <corbet@lwn.net>
---
 INSTALL | 58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 18 deletions(-)

diff --git a/INSTALL b/INSTALL
index 3758e8d..68fbd66 100644
--- 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
-	make
-	make test
-	make install # root permissions may be needed
-
 Requirements
 ------------
 
-* 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
 
-Optional components:
+To accept incoming mail into a public inbox, you'll likely want:
 
 * 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: 
+
+* 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.
+
 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.
+
 [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
@@ -53,6 +60,18 @@ Optional Perl modules:
 [5] - Optional, needed for standalone daemonization of HTTP+NNTP servers
 [6] - Optional, needed for public-inbox-watch Maildir watcher
 
+standard MakeMaker installation (Perl)
+--------------------------------------
+
+Once the dependencies are installed, you should be able to build and
+install the system (into /usr/local) with:
+
+	perl Makefile.PL
+	make
+	make test
+	make install # root permissions may be needed
+
+
 When installing Search::Xapian, make sure the underlying Xapian
 installation is not affected by an index corruption bug:
 
@@ -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.
+
 Copyright
 ---------
 
-- 
2.14.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] Update the installation instructions with Fedora package names
  2018-02-27 23:36 [PATCH] Update the installation instructions with Fedora package names Jonathan Corbet
@ 2018-02-28  3:55 ` Eric Wong
  2018-03-11 16:48   ` Jonathan Corbet
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2018-02-28  3:55 UTC (permalink / raw)
  To: Jonathan Corbet; +Cc: meta

Jonathan Corbet <corbet@lwn.net> 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 <corbet@lwn.net>

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Update the installation instructions with Fedora package names
  2018-02-28  3:55 ` Eric Wong
@ 2018-03-11 16:48   ` Jonathan Corbet
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Corbet @ 2018-03-11 16:48 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

OK, I'm (finally) about to send a reworked version based on your comments.
Here's a couple of other thoughts to go with it...

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

I've opted to keep that order.  The alternative is to iterate through that
"find the next missing dependency" loop, which really gets annoying after a
while.  One generally wants to install dependencies before building, IMO...

> > +Beyond that, there is a long list of Perl modules required, starting with:   
> 
> I'm not sure if four constitutes as "long"

It does say "starting with" :)

Thanks,

jon

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-03-11 16:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-27 23:36 [PATCH] Update the installation instructions with Fedora package names Jonathan Corbet
2018-02-28  3:55 ` Eric Wong
2018-03-11 16:48   ` Jonathan Corbet

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

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).