From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 9D4BA1F4B6 for ; Wed, 15 May 2019 06:33:54 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 0/6] make Search::Xapian optional for v2, NNTP, etc Date: Wed, 15 May 2019 06:33:48 +0000 Message-Id: <20190515063354.52259-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Search::Xapian is missing from CentOS 7 and probably other distros; so make it optional as all of our NNTP and a large chunk of our WWW functionality doesn't rely on it, anymore. Xapian databases is also the most expensive in terms of space for indexing overhead, so indexlevel=basic users may appreciate not having to install Xapian at all. This has passed all test profiles (ci/profiles.sh) on Debian 9 and FreeBSD 11.2 (x86-64); but I haven't dogfooded it enough to be comfortable having it in 'master'... and I might not be online much the next few days in case something goes sideways on public-inbox.org. The following changes since commit 2d51a2accd28465c915f91ab48c7e52a81d87a68: tests: get rid of unnecessary Cwd module use (2019-05-14 04:00:10 +0000) are available in the Git repository at: https://80x24.org/public-inbox.git xap-optional for you to fetch changes up to d0e8bfd866ed1e924e8d9f551939eecbea4920ef: admin: improve warnings and errors for missing modules (2019-05-15 06:15:34 +0000) ---------------------------------------------------------------- Eric Wong (6): inbox: add ->over method to ease access nntp: use Inbox->over directly www: use Inbox->over where appropriate lazy load Xapian and make it optional for v2 searchidx: do not create empty Xapian partitions for basic admin: improve warnings and errors for missing modules INSTALL | 2 +- TODO | 2 - ci/deps.perl | 7 +-- ci/profiles.sh | 3 +- lib/PublicInbox/Admin.pm | 60 ++++++++++++++++++++ lib/PublicInbox/Feed.pm | 11 ++-- lib/PublicInbox/Inbox.pm | 40 +++++++++----- lib/PublicInbox/Mbox.pm | 25 +++++---- lib/PublicInbox/NNTP.pm | 40 +++++++------- lib/PublicInbox/OverIdx.pm | 13 ++++- lib/PublicInbox/Search.pm | 125 +++++++++++++++++------------------------- lib/PublicInbox/SearchIdx.pm | 57 +++++++++++++------ lib/PublicInbox/SearchMsg.pm | 14 +++++ lib/PublicInbox/SearchView.pm | 13 +++-- lib/PublicInbox/View.pm | 53 ++++++++---------- lib/PublicInbox/WWW.pm | 39 +++++-------- script/public-inbox-index | 43 ++++++++++----- script/public-inbox-init | 8 ++- script/public-inbox-purge | 48 +++++++++++++--- t/admin.t | 2 +- t/cgi.t | 16 ++++-- t/indexlevels-mirror.t | 22 ++++++-- t/nntp.t | 2 +- t/nntpd.t | 15 +++-- t/over.t | 3 +- t/psgi_bad_mids.t | 3 +- t/psgi_scan_all.t | 4 +- t/psgi_search.t | 4 +- t/purge.t | 2 +- t/search-thr-index.t | 5 +- t/search.t | 11 ++-- t/v1reindex.t | 3 +- t/v2reindex.t | 5 +- t/v2writable.t | 2 +- t/view.t | 1 + t/watch_maildir_v2.t | 4 +- 36 files changed, 432 insertions(+), 275 deletions(-)