while (my $mod = shift(@mods)) {
if ($mod eq 'lei') {
require_git(2.6, $maybe ? $maybe : ());
- push @mods, qw(DBD::SQLite Search::Xapian);
+ push @mods, qw(DBD::SQLite Search::Xapian +SCM_RIGHTS);
$mod = 'json'; # fall-through
}
if ($mod eq 'json') {
PublicInbox::Search::load_xapian()) {
next;
}
+ } elsif ($mod eq '+SCM_RIGHTS') {
+ if (my $msg = need_scm_rights()) {
+ push @need, $msg;
+ next;
+ }
} elsif (index($mod, '||') >= 0) { # "Foo||Bar"
my $ok;
for my $m (split(/\Q||\E/, $mod)) {
grep(!/\bInline\b/, split(/^/m, $_[0])))));
}
-sub no_scm_rights () {
+sub need_scm_rights () {
state $ok = PublicInbox::Spawn->can('send_cmd4') || do {
require PublicInbox::Syscall;
- PublicInbox::Syscall->can('send_cmd4');
+ PublicInbox::Syscall->can('send_cmd4'); # Linux only
} || eval { require Socket::MsgHdr; 1 };
return if $ok;
- 'Inline::C unconfigured/missing '.
+ 'need SCM_RIGHTS support: Inline::C unconfigured/missing '.
'(mkdir -p ~/.cache/public-inbox/inline-c) OR Socket::MsgHdr missing';
}
$ENV{LANG} = $ENV{LC_ALL} = 'C';
my (undef, $fn, $lineno) = caller(0);
my $t = "$fn:$lineno";
- state $msg = no_scm_rights();
- skip $msg, 1 if $msg;
$lei_opt = { 1 => \$lei_out, 2 => \$lei_err };
my ($daemon_pid, $for_destroy, $daemon_xrd);
my $tmpdir = $test_opt->{tmpdir};
#!perl -w
-# Copyright (C) 2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
require_git 2.6;
-require_mods(qw(json DBD::SQLite Search::Xapian Net::NNTP));
+require_mods(qw(lei json DBD::SQLite Search::Xapian Net::NNTP));
my ($ro_home, $cfg_path) = setup_public_inboxes;
my ($tmpdir, $for_destroy) = tmpdir;
my $sock = tcp_server;
#!perl -w
-# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org>
+# Copyright (C) all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
+require_mods 'lei';
use File::Path qw(rmtree);
# this only tests the basic help/config/init/completion bits of lei;
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use v5.12;
use PublicInbox::TestCommon;
-require_mods(qw(DBD::SQLite Search::Xapian));
-my $msg = no_scm_rights;
-plan(skip_all => $msg) if $msg; # TODO: FIFO support?
+require_mods(qw(DBD::SQLite Search::Xapian +SCM_RIGHTS)); # TODO: FIFO support?
use PublicInbox::Spawn qw(spawn);
use Socket qw(AF_UNIX SOCK_SEQPACKET SOCK_STREAM);
require PublicInbox::AutoReap;