Beyond that, there is a long list of Perl modules required, starting with:
-* Date::Parse deb: libtimedate-perl
- pkg: p5-TimeDate
- rpm: perl-TimeDate
-
-* Devel::Peek deb: libperl5.$MINOR (e.g. libperl5.24)
- pkg: perl5
- rpm: perl-Devel-Peek
- (typically installed alongside Perl5)
+* Digest::SHA typically installed with Perl
+ rpm: perl-Digest-SHA
* Email::MIME deb: libemail-mime-perl
pkg: p5-Email-MIME
rpm: perl-Email-MIME
-* Plack deb: libplack-perl
- pkg: p5-Plack
- rpm: perl-Plack, perl-Plack-Test,
- (for HTML/Atom generation)
-
* URI::Escape deb: liburi-perl
pkg: p5-URI
rpm: perl-URI
Numerous optional modules are likely to be useful as well:
+* Plack deb: libplack-perl
+ pkg: p5-Plack
+ rpm: perl-Plack, perl-Plack-Test,
+ (for HTML/Atom generation)
+
- DBD::SQLite deb: libdbd-sqlite3-perl
pkg: p5-DBD-SQLite
rpm: perl-DBD-SQLite
- Search::Xapian deb: libsearch-xapian-perl
pkg: p5-Search-Xapian
rpm: perl-Search-Xapian
- (for v2, HTTP search)
+ (HTTP search)
- Net::Server deb: libnet-server-perl
pkg: pkg-Net-Server
(speeds up process spawning on Linux,
see public-inbox-daemon(8))
+- Date::Parse deb: libtimedate-perl
+ pkg: p5-TimeDate
+ rpm: perl-TimeDate
+ (for broken, mostly historical emails)
+
- Plack::Middleware::ReverseProxy deb: libplack-middleware-reverseproxy-perl
pkg: p5-Plack-Middleware-ReverseProxy
rpm: perl-Plack-Middleware-ReverseProxy
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)
+
- Filesys::Notify::Simple deb: libfilesys-notify-simple-perl
- pkg: pkg-Filesys-Notify-Simple
+ pkg: p5-Filesys-Notify-Simple
rpm: perl-Filesys-Notify-Simple
(for public-inbox-watch, pulled in by Plack)
+- Linux::Inotify deb: liblinux-inotify2-perl
+ rpm: perl-Linux-Inotify2
+ (for public-inbox-watch on Linux)
+
+- Filesys::Notify::KQueue pkg: p5-Filesys-Notify-KQueue
+ (for public-inbox-watch on FreeBSD)
+
- IO::Compress::Gzip deb: perl-modules (or libio-compress-perl)
- rpm: perl-PerlIO-gzip
pkg: perl5
+ rpm: perl-IO-Compress
(for gzipped mbox over HTTP)
Uncommonly needed modules:
Optional packages testing and development:
-- IPC::Run deb: libipc-run-perl
- pkg: p5-IPC-Run
- rpm: perl-IPC-Run
+- 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::Feed deb: libxml-feed-perl
pkg: p5-XML-Feed
rpm: perl-XML-Feed
-- Test::HTTP::Server::Simple deb: libtest-http-server-simple-perl
- pkg: p5-Test-HTTP-Server-Simple
- rpm: perl-Test-HTTP-Server-Simple
- (XXX is this really needed?)
-
standard MakeMaker installation (Perl)
--------------------------------------
+To use MakeMaker, you need to ensure ExtUtils::MakeMaker is available.
+This is typically installed with Perl, but RPM-based systems will likely
+need to install the `perl-ExtUtils-MakeMaker' package.
+
Once the dependencies are installed, you should be able to build and
install the system (into /usr/local) with: