Clients should use normal git-clone/git-fetch, IMAP or NNTP clients
if they want to import mail into their personal inboxes.
+As of 2021, public-inbox is packaged by several OS distributions,
+listed in alphabetical order: Debian, GNU Guix, NixOS, and Void Linux.
+
public-inbox is developed on Debian GNU/Linux systems and will
never depend on packages outside of the "main" component of
the "stable" distribution, currently Debian 10.x ("buster"),
but older versions of Debian remain supported.
Most packages are available in other GNU/Linux distributions
-and FreeBSD.
+and FreeBSD. CentOS 7.x users will likely want newer git and
+Xapian packages for better performance and v2 inbox support:
+https://public-inbox.org/meta/20210421151308.yz5hzkgm75klunpe@nitro.local/
TODO: this still needs to be documented better,
also see the scripts/ and sa_config/ directories in the source tree
* 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:
-
-* Digest::SHA typically installed with Perl
- rpm: perl-Digest-SHA
+Beyond that, there is one non-standard Perl module required:
* URI::Escape deb: liburi-perl
pkg: p5-URI
rpm: perl-URI
(for HTML/Atom generation)
-Email::MIME will be optional as of public-inbox v1.5.0,
-it may still be used in maintainer comparison tests:
-
-* Email::MIME deb: libemail-mime-perl
- pkg: p5-Email-MIME
- rpm: perl-Email-MIME
-
Plack and Date::Parse are optional as of public-inbox v1.3.0,
but required for older releases:
rpm: perl-DBD-SQLite
(for v2, IMAP, NNTP, or gzipped mboxes)
-- Search::Xapian deb: libsearch-xapian-perl
- pkg: p5-Search-Xapian
+- Search::Xapian or Xapian(.pm) deb: libsearch-xapian-perl
+ pkg: p5-Search-Xapian OR p5-Xapian
rpm: perl-Search-Xapian
(HTTP and IMAP search)
rpm: xapian-core
(optional, for public-inbox-compact(1))
-The following modules are typically pulled in by dependencies listed
-above, so there is no need to explicitly install them:
+- Linux::Inotify2 deb: liblinux-inotify2-perl
+ rpm: perl-Linux-Inotify2
+ (for public-inbox-watch and -imapd on Linux)
-* Encode deb: libperl5.$MINOR (or libencode-perl)
- pkg: perl5
- rpm: perl-Encode
- (likely installed with Perl)
+The following module is typically pulled in by dependencies listed
+above, so there is no need to explicitly install them:
- DBI deb: libdbi-perl
pkg: p5-DBI
rpm: perl-DBI
(pulled in by DBD::SQLite)
-* Devel::Peek deb: libperl5.$MINOR (e.g. libperl5.24)
- pkg: perl5
- rpm: perl-Devel-Peek
- (optional for stale FD cleanup in daemons,
- typically installed alongside Perl5)
-
-- Linux::Inotify2 deb: liblinux-inotify2-perl
- rpm: perl-Linux-Inotify2
- (for public-inbox-watch and -imapd on Linux)
-
-- IO::Compress (::Gzip) deb: perl-modules (or libio-compress-perl)
- pkg: perl5
- rpm: perl-IO-Compress
- (for gzipped mbox over HTTP, v2 format)
-
-Uncommonly needed modules:
+Uncommonly needed modules (see HACKING for development-only modules):
- Socket6 deb: libsocket6-perl
pkg: p5-Socket6
pkg: p5-Crypt-CBC
(for PublicInbox::Unsubscribe (rarely used))
-Optional packages testing and development:
-
-- Plack::Test deb: libplack-test-perl
- pkg: p5-Plack
- rpm: perl-Plack-Test
-
-- Test::Simple deb: perl-modules-5.$MINOR
- pkg: perl5
- rpm: perl-Test-Simple
-
-- XML::TreePP deb: libxml-treepp-perl
- pkg: p5-XML-TreePP
- rpm: perl-XML-TreePP
-
standard MakeMaker installation (Perl)
--------------------------------------
make test # see HACKING for faster tests for hackers
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:
+symlink-install (public-inbox.git and 1.7.0+)
+---------------------------------------------
- https://bugs.debian.org/808610
+For users who lack permissions and/or wish to minimize their
+installation footprint, the "symlink-install" target is available in
+public-inbox.git. The following installs symlinks to $HOME/bin
+pointing to the source tree:
+
+ perl Makefile.PL
+ make symlink-install prefix=$HOME
-For Debian 8.x (jessie), this means using Debian 8.5 or later.
+Other installation notes
+------------------------
+
+Debian 8.x (jessie) users, use Debian 8.5 or later if using Xapian:
+ https://bugs.debian.org/808610
public-inbox will never store unregeneratable data in Xapian
or any other search database we might use; Xapian corruption
See the public-inbox-overview(7) man page for the next steps once
the installation is complete.
+The following required packages are part of the Perl standard
+library. Debian-based distros put them in "libperl5.$MINOR" or
+"perl-modules-5.$MINOR"; and FreeBSD puts them in "perl5".
+RPM-based distros split them out into separate packages:
+
+* Digest::SHA rpm: perl-Digest-SHA
+* Data::Dumper rpm: perl-Data-Dumper
+* Encode rpm: perl-Encode
+* IO::Compress rpm: perl-IO-Compress
+* Storable rpm: perl-Storable
+* Text::ParseWords rpm: perl-Text-Parsewords
+
Copyright
---------