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 E4FDE1F463 for ; Sun, 22 Dec 2019 22:17:40 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 0/4] support SWIG-generated Xapian binding Date: Sun, 22 Dec 2019 22:17:36 +0000 Message-Id: <20191222221740.17114-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Xapian upstream is slowly migrating to a SWIG-generated Perl binding and plans to drop the XS-based Search::Xapian at some point: https://trac.xapian.org/ticket/523 The SWIG-generated "Xapian" binding seems to work fine with some minor tweaks to our own code, and we can support both the old and new bindings. OpenBSD (tested 6.5) only has the SWIG-generated binding, FreeBSD packages both, and Debian only has Search::Xapian. With this, OpenBSD users may now enjoy Xapian-based search. PATCH 1/4 is is a huge cleanup for our test cases, making PATCH 3/4 easier-to-implement. I'm kinda annoyed at PATCH 2/4 because I'm no fan of operator overloading, but oh well, we used "!=" instead of "->nequal" in those loop, anyways :x Eric Wong (4): testcommon: add require_mods method and use it searchidx: call "++" on PostingIterator instead of "->inc" search: support SWIG-generated Xapian.pm t/search.t: update permissions check for OpenBSD lib/PublicInbox/Admin.pm | 4 +++ lib/PublicInbox/Search.pm | 57 ++++++++++++++++++++++++----------- lib/PublicInbox/SearchIdx.pm | 36 ++++++++++++++-------- lib/PublicInbox/SearchMsg.pm | 3 +- lib/PublicInbox/TestCommon.pm | 24 ++++++++++++++- lib/PublicInbox/V2Writable.pm | 5 ++- lib/PublicInbox/Xapcmd.pm | 25 +++++++++------ t/altid.t | 6 +--- t/altid_v2.t | 6 +--- t/convert-compact.t | 6 +--- t/edit.t | 7 +---- t/filter_rubylang.t | 3 +- t/httpd-corner.t | 9 ++---- t/httpd-https.t | 7 ++--- t/httpd-unix.t | 10 ++---- t/httpd.t | 8 ++--- t/indexlevels-mirror.t | 9 ++---- t/init.t | 5 +-- t/mda_filter_rubylang.t | 7 +---- t/msgmap.t | 7 +---- t/nntp.t | 8 ++--- t/nntpd-tls.t | 7 ++--- t/nntpd.t | 13 ++++---- t/over.t | 6 +--- t/plack.t | 5 +-- t/psgi_attach.t | 5 +-- t/psgi_bad_mids.t | 5 +-- t/psgi_mount.t | 10 ++---- t/psgi_multipart_not.t | 7 ++--- t/psgi_scan_all.t | 5 +-- t/psgi_search.t | 8 ++--- t/psgi_text.t | 5 +-- t/psgi_v2.t | 10 ++---- t/purge.t | 6 +--- t/replace.t | 6 +--- t/search-thr-index.t | 8 ++--- t/search.t | 14 +++------ t/solver_git.t | 13 ++------ t/v1-add-remove-add.t | 6 +--- t/v1reindex.t | 6 +--- t/v2-add-remove-add.t | 6 +--- t/v2mda.t | 5 +-- t/v2mirror.t | 7 ++--- t/v2reindex.t | 6 +--- t/v2writable.t | 5 +-- t/watch_filter_rubylang.t | 7 +---- t/watch_maildir.t | 7 +---- t/watch_maildir_v2.t | 6 +--- t/www_listing.t | 8 ++--- t/xcpdb-reshard.t | 10 +++--- xt/git-http-backend.t | 8 ++--- xt/msgtime_cmp.t | 2 +- xt/nntpd-validate.t | 8 ++--- xt/perf-nntpd.t | 1 - 54 files changed, 188 insertions(+), 295 deletions(-)