From: Eric Wong Date: Thu, 17 Oct 2019 08:19:11 +0000 (+0000) Subject: Merge remote-tracking branch 'origin/inboxdir' X-Git-Tag: v1.2.0~32 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=fece7fca6aeac74410a813cffcb0da338017d0ed;hp=eb424226f3bc1d4a05d1b3900634fadb2ee2c140 Merge remote-tracking branch 'origin/inboxdir' * origin/inboxdir: config: remove redundant inboxdir check config: support "inboxdir" in addition to "mainrepo" examples/grok-pull.post_update_hook: use "inbox_dir" --- diff --git a/Documentation/public-inbox-config.pod b/Documentation/public-inbox-config.pod index 6a9739f7..1c5ba015 100644 --- a/Documentation/public-inbox-config.pod +++ b/Documentation/public-inbox-config.pod @@ -17,13 +17,17 @@ all public-inboxes used by a particular user. =head2 EXAMPLE [publicinbox "test"] - mainrepo = /home/user/path/to/test.git + inboxdir = /home/user/path/to/test.git ; multiple addresses are supported address = test@example.com ; address = alternate@example.com url = http://example.com/test newsgroup = inbox.test + ; backwards compatibility with public-inbox pre-1.2.0, + ; "inboxdir" takes precedence over "mainrepo" + mainrepo = /home/user/path/to/test.git + =head2 VARIABLES =over 8 @@ -38,11 +42,14 @@ informational purposes. Default: none, required -=item publicinbox..mainrepo +=item publicinbox..inboxdir The absolute path to the directory which hosts the public-inbox. This must be specified once. +This was previously known as "mainrepo", which remains supported, +but "inboxdir" takes precedence. + Default: none, required =item publicinbox..url @@ -373,20 +380,20 @@ RLIMIT_CPU, and RLIMIT_DATA for you operating system. ; big inboxes which require lots of memory to clone: [publicinbox "big1"] - mainrepo = /path/to/big1 + inboxdir = /path/to/big1 address = big1@example.com httpbackendmax = big [publicinbox "big2"] - mainrepo = /path/to/big2 + inboxdir = /path/to/big2 address = big2@example.com httpbackendmax = big ; tiny inboxes which are easily cloned: [publicinbox "tiny1"] - mainrepo = /path/to/tiny1 + inboxdir = /path/to/tiny1 address = tiny1@example.com [publicinbox "tiny2"] - mainrepo = /path/to/tiny2 + inboxdir = /path/to/tiny2 address = tiny2@example.com [publicinboxlimiter "big"] diff --git a/Documentation/public-inbox-convert.pod b/Documentation/public-inbox-convert.pod index 4e358c9d..4c790dee 100644 --- a/Documentation/public-inbox-convert.pod +++ b/Documentation/public-inbox-convert.pod @@ -10,7 +10,7 @@ public-inbox-convert - convert v1 inboxes to v2 public-inbox-convert copies the contents of an old "v1" inbox into a new "v2" inbox. It makes no changes to the old inbox -and users are expected to update the "mainrepo" path in +and users are expected to update the "inboxdir" path in L to point to the path of NEW_DIR once they are satisfied with the conversion. diff --git a/Documentation/public-inbox-init.pod b/Documentation/public-inbox-init.pod index 377fb2a2..f5de6bf9 100644 --- a/Documentation/public-inbox-init.pod +++ b/Documentation/public-inbox-init.pod @@ -11,7 +11,7 @@ B [OPTIONS] NAME INBOX_DIR HTTP_URL ADDRESS [ADDRESS..] Creates an empty public-inbox or reinitializes an existing one. It updates C<~/.public-inbox/config> by creating a C<[publicinbox "NAME"]> section where -C is C, +C is C, C is C, and C is C
. Multiple addresses may be specified for inboxes with multiple addresses. diff --git a/Documentation/public-inbox-watch.pod b/Documentation/public-inbox-watch.pod index 198c170a..0934eade 100644 --- a/Documentation/public-inbox-watch.pod +++ b/Documentation/public-inbox-watch.pod @@ -12,7 +12,7 @@ In ~/.public-inbox/config: ; generic public-inbox-config keys: address = test@example.com url = http://example.com/test - mainrepo = /path/to/test.example.com.git + inboxdir = /path/to/test.example.com.git ; config keys specific to public-inbox-watch: @@ -28,7 +28,7 @@ In ~/.public-inbox/config: ; optional, emails marked as read which appear ; here will be trained as spam and deleted from - ; the mainrepos of any public-inboxes which are + ; the inboxdirs of any public-inboxes which are ; configured for watch. ; This is global for all publicinbox.* sections watchspam = maildir:/path/to/maildirs/.INBOX.spam diff --git a/examples/grok-pull.post_update_hook.sh b/examples/grok-pull.post_update_hook.sh index 66c5cea5..ab4e54e7 100755 --- a/examples/grok-pull.post_update_hook.sh +++ b/examples/grok-pull.post_update_hook.sh @@ -15,19 +15,19 @@ if git --git-dir="$full_git_dir" ls-tree --name-only HEAD | \ grep -E '^(m|d)$' >/dev/null then inbox_fmt=2 - inbox_mainrepo=$(expr "$full_git_dir" : "$EPOCH2MAIN") - inbox_name=$(basename "$inbox_mainrepo") - msgmap="$inbox_mainrepo"/msgmap.sqlite3 + inbox_dir=$(expr "$full_git_dir" : "$EPOCH2MAIN") + inbox_name=$(basename "$inbox_dir") + msgmap="$inbox_dir"/msgmap.sqlite3 else inbox_fmt=1 - inbox_mainrepo="$full_git_dir" - inbox_name=$(basename "$inbox_mainrepo" .git) - msgmap="$inbox_mainrepo"/public-inbox/msgmap.sqlite3 + inbox_dir="$full_git_dir" + inbox_name=$(basename "$inbox_dir" .git) + msgmap="$inbox_dir"/public-inbox/msgmap.sqlite3 fi # run public-inbox-init iff unconfigured -cfg_mainrepo=$(git config -f "$PI_CONFIG" publicinbox."$inbox_name".mainrepo) -case $cfg_mainrepo in +cfg_dir=$(git config -f "$PI_CONFIG" publicinbox."$inbox_name".dir) +case $cfg_dir in '') remote_git_url=$(git --git-dir="$full_git_dir" config remote.origin.url) case $remote_git_url in @@ -47,7 +47,7 @@ case $cfg_mainrepo in esac config_url="$remote_inbox_url"/_/text/config/raw - remote_config="$inbox_mainrepo"/remote.config.$$ + remote_config="$inbox_dir"/remote.config.$$ trap 'rm -f "$remote_config"' EXIT if curl --compressed -sSf -v "$config_url" >"$remote_config" then @@ -68,15 +68,15 @@ case $cfg_mainrepo in newsgroups= addresses="$inbox_name@$$.$(hostname).example.com" echo >&2 "E: curl $config_url failed" - echo >&2 "E: using bogus <$addresses> for $inbox_mainrepo" + echo >&2 "E: using bogus <$addresses> for $inbox_dir" fi local_url="http://127.0.0.1:8080/$inbox_name" public-inbox-init -V$inbox_fmt "$inbox_name" \ - "$inbox_mainrepo" "$local_url" $addresses + "$inbox_dir" "$local_url" $addresses if test $? -ne 0 then - echo >&2 "E: public-inbox-init failed on $inbox_mainrepo" + echo >&2 "E: public-inbox-init failed on $inbox_dir" exit 1 fi @@ -87,7 +87,7 @@ case $cfg_mainrepo in # only one newsgroup per inbox break done - echo "I: $inbox_name at $inbox_mainrepo ($addresses) $local_url" + echo "I: $inbox_name at $inbox_dir ($addresses) $local_url" ;; esac @@ -102,7 +102,7 @@ then : v2 inboxes may be init-ed with an empty msgmap ;; *) - $EATMYDATA public-inbox-index -v "$inbox_mainrepo" + $EATMYDATA public-inbox-index -v "$inbox_dir" ;; esac fi diff --git a/examples/public-inbox-config b/examples/public-inbox-config index 7fcbe0ba..ba06eec3 100644 --- a/examples/public-inbox-config +++ b/examples/public-inbox-config @@ -4,9 +4,11 @@ address = try@public-inbox.org address = sandbox@public-inbox.org address = test@public-inbox.org - mainrepo = /home/pi/test-main.git + ; note: "mainrepo" is the old name for "inboxdir", both + ; remain supported for backwards compatibility. + inboxdir = /home/pi/test-main.git url = http://example.com/test [publicinbox "meta"] address = meta@public-inbox.org - mainrepo = /home/pi/meta-main.git + inboxdir = /home/pi/meta-main.git url = http://example.com/meta diff --git a/lib/PublicInbox/Admin.pm b/lib/PublicInbox/Admin.pm index 2b25cf01..e9fb5d6f 100644 --- a/lib/PublicInbox/Admin.pm +++ b/lib/PublicInbox/Admin.pm @@ -61,7 +61,7 @@ sub detect_indexlevel ($) { $l = $m; } elsif ($m ne '') { warn <<""; -$ibx->{mainrepo} has unexpected indexlevel in Xapian: $m +$ibx->{inboxdir} has unexpected indexlevel in Xapian: $m } } @@ -74,7 +74,7 @@ sub unconfigured_ibx ($$) { PublicInbox::Inbox->new({ name => $name, address => [ "$name\@example.com" ], - mainrepo => $dir, + inboxdir => $dir, # TODO: consumers may want to warn on this: #-unconfigured => 1, }); @@ -101,12 +101,12 @@ sub resolve_inboxes ($;$) { $cfg->each_inbox(sub { my ($ibx) = @_; $ibx->{version} ||= 1; - my $path = abs_path($ibx->{mainrepo}); + my $path = abs_path($ibx->{inboxdir}); if (defined($path)) { $dir2ibx{$path} = $ibx; } else { warn <{name} $ibx->{mainrepo}: $! +W: $ibx->{name} $ibx->{inboxdir}: $! EOF } }); diff --git a/lib/PublicInbox/AdminEdit.pm b/lib/PublicInbox/AdminEdit.pm index 2e2a8629..d4a92266 100644 --- a/lib/PublicInbox/AdminEdit.pm +++ b/lib/PublicInbox/AdminEdit.pm @@ -25,7 +25,7 @@ sub check_editable ($) { # it's possible for a Xapian directory to exist, # but Search::Xapian to go missing/broken. # Make sure it's purged in that case: - $ibx->over or die "no over.sqlite3 in $ibx->{mainrepo}\n"; + $ibx->over or die "no over.sqlite3 in $ibx->{inboxdir}\n"; # $ibx->{search} is populated by $ibx->over call my $xdir_ro = $ibx->{search}->xdir(1); @@ -51,7 +51,7 @@ sub check_editable ($) { # $rewrites = [ array commits keyed by epoch ] sub show_rewrites ($$$) { my ($fh, $ibx, $rewrites) = @_; - print $fh "$ibx->{mainrepo}:"; + print $fh "$ibx->{inboxdir}:"; if (scalar @$rewrites) { my $epoch = -1; my @out = map {; diff --git a/lib/PublicInbox/AltId.pm b/lib/PublicInbox/AltId.pm index 6103d52e..b4daaed2 100644 --- a/lib/PublicInbox/AltId.pm +++ b/lib/PublicInbox/AltId.pm @@ -32,9 +32,9 @@ sub new { my $f = $params{file} or die "file: required for $type spec $spec\n"; unless (index($f, '/') == 0) { if (($ibx->{version} || 1) == 1) { - $f = "$ibx->{mainrepo}/public-inbox/$f"; + $f = "$ibx->{inboxdir}/public-inbox/$f"; } else { - $f = "$ibx->{mainrepo}/$f"; + $f = "$ibx->{inboxdir}/$f"; } } bless { diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 509de0a0..bdde3dbc 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -93,7 +93,6 @@ sub each_inbox { # may auto-vivify if config file is non-existent: foreach my $section (@{$self->{-section_order}}) { next if $section !~ m!\Apublicinbox\.([^/]+)\z!; - defined($self->{"publicinbox.$1.mainrepo"}) or next; my $ibx = lookup_name($self, $1) or next; $cb->($ibx); } @@ -362,12 +361,16 @@ sub _fill { my ($self, $pfx) = @_; my $ibx = {}; - foreach my $k (qw(mainrepo filter url newsgroup + foreach my $k (qw(inboxdir filter url newsgroup infourl watch watchheader httpbackendmax replyto feedmax nntpserver indexlevel)) { my $v = $self->{"$pfx.$k"}; $ibx->{$k} = $v if defined $v; } + + # backwards compatibility: + $ibx->{inboxdir} //= $self->{"$pfx.mainrepo"}; + foreach my $k (qw(obfuscate)) { my $v = $self->{"$pfx.$k"}; defined $v or next; @@ -385,7 +388,7 @@ sub _fill { } } - return unless $ibx->{mainrepo}; + return unless defined($ibx->{inboxdir}); my $name = $pfx; $name =~ s/\Apublicinbox\.//; diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 85f56acb..5feb2154 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -109,7 +109,7 @@ sub new { _set_limiter($opts, $pi_config, 'httpbackend'); _set_uint($opts, 'feedmax', 25); $opts->{nntpserver} ||= $pi_config->{'publicinbox.nntpserver'}; - my $dir = $opts->{mainrepo}; + my $dir = $opts->{inboxdir}; if (defined $dir && -f "$dir/inbox.lock") { $opts->{version} = 2; } @@ -129,7 +129,7 @@ sub git_epoch { my ($self, $epoch) = @_; ($self->{version} || 1) == 2 or return; $self->{"$epoch.git"} ||= eval { - my $git_dir = "$self->{mainrepo}/git/$epoch.git"; + my $git_dir = "$self->{inboxdir}/git/$epoch.git"; my $g = PublicInbox::Git->new($git_dir); $g->{-httpbackend_limiter} = $self->{-httpbackend_limiter}; # no cleanup needed, we never cat-file off this, only clone @@ -140,7 +140,7 @@ sub git_epoch { sub git { my ($self) = @_; $self->{git} ||= eval { - my $git_dir = $self->{mainrepo}; + my $git_dir = $self->{inboxdir}; $git_dir .= '/all.git' if (($self->{version} || 1) == 2); my $g = PublicInbox::Git->new($git_dir); $g->{-httpbackend_limiter} = $self->{-httpbackend_limiter}; @@ -157,7 +157,7 @@ sub max_git_epoch { my $changed = git($self)->alternates_changed; if (!defined($cur) || $changed) { $self->git->cleanup if $changed; - my $gits = "$self->{mainrepo}/git"; + my $gits = "$self->{inboxdir}/git"; if (opendir my $dh, $gits) { my $max = -1; while (defined(my $git_dir = readdir($dh))) { @@ -177,7 +177,7 @@ sub mm { $self->{mm} ||= eval { require PublicInbox::Msgmap; _cleanup_later($self); - my $dir = $self->{mainrepo}; + my $dir = $self->{inboxdir}; if (($self->{version} || 1) >= 2) { PublicInbox::Msgmap->new_file("$dir/msgmap.sqlite3"); } else { @@ -220,7 +220,7 @@ sub description { my ($self) = @_; my $desc = $self->{description}; return $desc if defined $desc; - $desc = try_cat("$self->{mainrepo}/description"); + $desc = try_cat("$self->{inboxdir}/description"); local $/ = "\n"; chomp $desc; $desc =~ s/\s+/ /smg; @@ -232,7 +232,7 @@ sub cloneurl { my ($self) = @_; my $url = $self->{cloneurl}; return $url if $url; - $url = try_cat("$self->{mainrepo}/cloneurl"); + $url = try_cat("$self->{inboxdir}/cloneurl"); my @url = split(/\s+/s, $url); local $/ = "\n"; chomp @url; diff --git a/lib/PublicInbox/InboxWritable.pm b/lib/PublicInbox/InboxWritable.pm index 4b22149f..174e4245 100644 --- a/lib/PublicInbox/InboxWritable.pm +++ b/lib/PublicInbox/InboxWritable.pm @@ -35,7 +35,7 @@ sub init_inbox { # TODO: honor skip_artnum my $v = $self->{version} || 1; if ($v == 1) { - my $dir = $self->{mainrepo} or die "no mainrepo in inbox\n"; + my $dir = $self->{inboxdir} or die "no inboxdir in inbox\n"; PublicInbox::Import::init_bare($dir); } else { my $v2w = importer($self); diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index a0e6a93b..06a84c34 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -126,9 +126,9 @@ chomp @HELP; sub xdir ($;$) { my ($self, $rdonly) = @_; if ($self->{version} == 1) { - "$self->{mainrepo}/public-inbox/xapian" . SCHEMA_VERSION; + "$self->{inboxdir}/public-inbox/xapian" . SCHEMA_VERSION; } else { - my $dir = "$self->{mainrepo}/xap" . SCHEMA_VERSION; + my $dir = "$self->{inboxdir}/xap" . SCHEMA_VERSION; return $dir if $rdonly; my $shard = $self->{shard}; @@ -173,7 +173,7 @@ sub new { my ($class, $ibx) = @_; ref $ibx or die "BUG: expected PublicInbox::Inbox object: $ibx"; my $self = bless { - mainrepo => $ibx->{mainrepo}, + inboxdir => $ibx->{inboxdir}, altid => $ibx->{altid}, version => $ibx->{version} // 1, }, $class; diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 1b1a21b7..aed3875a 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -32,7 +32,7 @@ sub new { my ($class, $ibx, $creat, $shard) = @_; ref $ibx or die "BUG: expected PublicInbox::Inbox object: $ibx"; my $levels = qr/\A(?:full|medium|basic)\z/; - my $mainrepo = $ibx->{mainrepo}; + my $inboxdir = $ibx->{inboxdir}; my $version = $ibx->{version} || 1; my $indexlevel = 'full'; my $altid = $ibx->{altid}; @@ -49,7 +49,7 @@ sub new { } $ibx = PublicInbox::InboxWritable->new($ibx); my $self = bless { - mainrepo => $mainrepo, + inboxdir => $inboxdir, -inbox => $ibx, git => $ibx->git, -altid => $altid, @@ -58,7 +58,7 @@ sub new { }, $class; $ibx->umask_prepare; if ($version == 1) { - $self->{lock_path} = "$mainrepo/ssoma.lock"; + $self->{lock_path} = "$inboxdir/ssoma.lock"; my $dir = $self->xdir; $self->{over} = PublicInbox::OverIdx->new("$dir/over.sqlite3"); } elsif ($version == 2) { @@ -603,7 +603,7 @@ sub _msgmap_init { die "BUG: _msgmap_init is only for v1\n" if $self->{version} != 1; $self->{mm} ||= eval { require PublicInbox::Msgmap; - PublicInbox::Msgmap->new($self->{mainrepo}, 1); + PublicInbox::Msgmap->new($self->{inboxdir}, 1); }; } diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 627bcba9..6a88f62a 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -76,7 +76,7 @@ sub new { # $creat may be any true value, or 0/undef. A hashref is true, # and $creat->{nproc} may be set to an integer my ($class, $v2ibx, $creat) = @_; - my $dir = $v2ibx->{mainrepo} or die "no mainrepo in inbox\n"; + my $dir = $v2ibx->{inboxdir} or die "no inboxdir in inbox\n"; unless (-d $dir) { if ($creat) { require File::Path; @@ -304,7 +304,7 @@ sub idx_init { # Now that all subprocesses are up, we can open the FDs # for SQLite: my $mm = $self->{mm} = PublicInbox::Msgmap->new_file( - "$self->{-inbox}->{mainrepo}/msgmap.sqlite3", 1); + "$self->{-inbox}->{inboxdir}/msgmap.sqlite3", 1); $mm->{dbh}->begin_work; }); } @@ -315,7 +315,7 @@ sub idx_init { sub _replace_oids ($$$) { my ($self, $mime, $replace_map) = @_; $self->done; - my $pfx = "$self->{-inbox}->{mainrepo}/git"; + my $pfx = "$self->{-inbox}->{inboxdir}/git"; my $rewrites = []; # epoch => commit my $max = $self->{epoch_max}; @@ -663,8 +663,8 @@ sub done { sub fill_alternates ($$) { my ($self, $epoch) = @_; - my $pfx = "$self->{-inbox}->{mainrepo}/git"; - my $all = "$self->{-inbox}->{mainrepo}/all.git"; + my $pfx = "$self->{-inbox}->{inboxdir}/git"; + my $all = "$self->{-inbox}->{inboxdir}/all.git"; unless (-d $all) { PublicInbox::Import::init_bare($all); @@ -690,7 +690,7 @@ sub fill_alternates ($$) { sub git_init { my ($self, $epoch) = @_; - my $git_dir = "$self->{-inbox}->{mainrepo}/git/$epoch.git"; + my $git_dir = "$self->{-inbox}->{inboxdir}/git/$epoch.git"; my @cmd = (qw(git init --bare -q), $git_dir); PublicInbox::Import::run_die(\@cmd); @cmd = (qw/git config/, "--file=$git_dir/config", @@ -703,7 +703,7 @@ sub git_init { sub git_dir_latest { my ($self, $max) = @_; $$max = -1; - my $pfx = "$self->{-inbox}->{mainrepo}/git"; + my $pfx = "$self->{-inbox}->{inboxdir}/git"; return unless -d $pfx; my $latest; opendir my $dh, $pfx or die "opendir $pfx: $!\n"; @@ -935,7 +935,7 @@ sub update_last_commit ($$$$) { last_epoch_commit($self, $i, $cmt); } -sub git_dir_n ($$) { "$_[0]->{-inbox}->{mainrepo}/git/$_[1].git" } +sub git_dir_n ($$) { "$_[0]->{-inbox}->{inboxdir}/git/$_[1].git" } sub last_commits ($$) { my ($self, $epoch_max) = @_; diff --git a/lib/PublicInbox/WwwAtomStream.pm b/lib/PublicInbox/WwwAtomStream.pm index 05659f1f..83984d37 100644 --- a/lib/PublicInbox/WwwAtomStream.pm +++ b/lib/PublicInbox/WwwAtomStream.pm @@ -84,7 +84,7 @@ sub atom_header { $self_url .= 'new.atom'; $page_id = "mailto:$ibx->{-primary_address}"; } - my $mtime = (stat($ibx->{mainrepo}))[9] || time; + my $mtime = (stat($ibx->{inboxdir}))[9] || time; qq(\n) . qq({mainrepo}; + my $git_dir = $ibx->{inboxdir}; if (defined $epoch) { $git_dir .= "/git/$epoch.git"; $url_path .= "/git/$epoch.git"; diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm index 06c8f7d2..0f4f55d0 100644 --- a/lib/PublicInbox/WwwStream.pm +++ b/lib/PublicInbox/WwwStream.pm @@ -97,7 +97,7 @@ sub _html_end { $seen{$http} = 1; for my $i (0..$max) { # old parts my be deleted: - -d "$ibx->{mainrepo}/git/$i.git" or next; + -d "$ibx->{inboxdir}/git/$i.git" or next; my $url = "$http/$i"; $seen{$url} = 1; push @urls, "$url $dir/git/$i.git"; diff --git a/lib/PublicInbox/WwwText.pm b/lib/PublicInbox/WwwText.pm index bcda665c..1c7b92bd 100644 --- a/lib/PublicInbox/WwwText.pm +++ b/lib/PublicInbox/WwwText.pm @@ -145,6 +145,9 @@ sub inbox_config ($$$) { ; see public-inbox-config(5) manpage for more details: ; https://public-inbox.org/public-inbox-config.html [publicinbox "$name"] + inboxdir = /path/to/top-level-inbox + ; note: public-inbox before v1.2.0 used "mainrepo" + ; instead of "inboxdir", both remain supported after 1.2 mainrepo = /path/to/top-level-inbox EOS for my $k (qw(address listid)) { diff --git a/lib/PublicInbox/Xapcmd.pm b/lib/PublicInbox/Xapcmd.pm index 819d7829..22e56f42 100644 --- a/lib/PublicInbox/Xapcmd.pm +++ b/lib/PublicInbox/Xapcmd.pm @@ -153,7 +153,7 @@ sub run { my ($ibx, $task, $opt) = @_; # task = 'cpdb' or 'compact' my $cb = \&${\"PublicInbox::Xapcmd::$task"}; PublicInbox::Admin::progress_prepare($opt ||= {}); - my $dir = $ibx->{mainrepo} or die "no mainrepo in inbox\n"; + my $dir = $ibx->{inboxdir} or die "no inboxdir in inbox\n"; runnable_or_die($XAPIAN_COMPACT) if $opt->{compact}; my $reindex; # v1:{ from => $x40 }, v2:{ from => [ $x40, $x40, .. ] } } my $from; # per-epoch ranges @@ -181,7 +181,7 @@ sub run { if ($v == 1) { if (defined $reshard) { warn -"--reshard=$reshard ignored for v1 $ibx->{mainrepo}\n"; +"--reshard=$reshard ignored for v1 $ibx->{inboxdir}\n"; } my $old_parent = dirname($old); same_fs_or_die($old_parent, $old); diff --git a/script/public-inbox-convert b/script/public-inbox-convert index 9d2d2512..3182410e 100755 --- a/script/public-inbox-convert +++ b/script/public-inbox-convert @@ -30,14 +30,14 @@ $old_dir = abs_path($old_dir); my $old; if ($config) { $config->each_inbox(sub { - $old = $_[0] if abs_path($_[0]->{mainrepo}) eq $old_dir; + $old = $_[0] if abs_path($_[0]->{inboxdir}) eq $old_dir; }); } unless ($old) { warn "W: $old_dir not configured in " . PublicInbox::Config::default_file() . "\n"; $old = { - mainrepo => $old_dir, + inboxdir => $old_dir, name => 'ignored', address => [ 'old@example.com' ], }; @@ -48,7 +48,7 @@ if (($old->{version} || 1) >= 2) { die "Only conversion from v1 inboxes is supported\n"; } my $new = { %$old }; -$new->{mainrepo} = abs_path($new_dir); +$new->{inboxdir} = abs_path($new_dir); $new->{version} = 2; $new = PublicInbox::InboxWritable->new($new); my $v2w; @@ -62,9 +62,9 @@ sub link_or_copy ($$) { } $old->with_umask(sub { - my $old_cfg = "$old->{mainrepo}/config"; + my $old_cfg = "$old->{inboxdir}/config"; local $ENV{GIT_CONFIG} = $old_cfg; - my $new_cfg = "$new->{mainrepo}/all.git/config"; + my $new_cfg = "$new->{inboxdir}/all.git/config"; $v2w = PublicInbox::V2Writable->new($new, 1); $v2w->init_inbox($jobs); unlink $new_cfg; @@ -79,9 +79,9 @@ $old->with_umask(sub { $src->mm_alt->{dbh}->sqlite_backup_to_file($dst); } } - my $desc = "$old->{mainrepo}/description"; - link_or_copy($desc, "$new->{mainrepo}/description") if -e $desc; - my $clone = "$old->{mainrepo}/cloneurl"; + my $desc = "$old->{inboxdir}/description"; + link_or_copy($desc, "$new->{inboxdir}/description") if -e $desc; + my $clone = "$old->{inboxdir}/cloneurl"; if (-e $clone) { warn <<""; $clone may not be valid after migrating to v2, not copying diff --git a/script/public-inbox-edit b/script/public-inbox-edit index 6884fd0c..f2090abf 100755 --- a/script/public-inbox-edit +++ b/script/public-inbox-edit @@ -65,7 +65,7 @@ sub find_mid ($) { sub show_cmd ($$) { my ($ibx, $smsg) = @_; - " GIT_DIR=$ibx->{mainrepo}/all.git \\\n git show $smsg->{blob}\n"; + " GIT_DIR=$ibx->{inboxdir}/all.git \\\n git show $smsg->{blob}\n"; } sub show_found () { diff --git a/script/public-inbox-init b/script/public-inbox-init index 8fd2f9dc..50711266 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -31,7 +31,7 @@ my %opts = ( GetOptions(%opts) or usage(); PublicInbox::Admin::indexlevel_ok_or_die($indexlevel) if defined $indexlevel; my $name = shift @ARGV or usage(); -my $mainrepo = shift @ARGV or usage(); +my $inboxdir = shift @ARGV or usage(); my $http_url = shift @ARGV or usage(); my (@address) = @ARGV; @address or usage(); @@ -112,18 +112,18 @@ close $fh or die "failed to close $pi_config_tmp: $!\n"; my $pfx = "publicinbox.$name"; my @x = (qw/git config/, "--file=$pi_config_tmp"); -$mainrepo = abs_path($mainrepo); -if (-f "$mainrepo/inbox.lock") { +$inboxdir = abs_path($inboxdir); +if (-f "$inboxdir/inbox.lock") { if (!defined $version) { $version = 2; } elsif ($version != 2) { - die "$mainrepo is a -V2 repo, -V$version specified\n" + die "$inboxdir is a -V2 repo, -V$version specified\n" } -} elsif (-d "$mainrepo/objects") { +} elsif (-d "$inboxdir/objects") { if (!defined $version) { $version = 1; } elsif ($version != 1) { - die "$mainrepo is a -V1 repo, -V$version specified\n" + die "$inboxdir is a -V1 repo, -V$version specified\n" } } @@ -134,7 +134,7 @@ if ($version == 1 && defined $skip_epoch) { } my $ibx = PublicInbox::Inbox->new({ - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => $name, version => $version, -primary_address => $address[0], @@ -152,7 +152,7 @@ foreach my $addr (@address) { x(@x, "--add", "$pfx.address", $addr); } x(@x, "$pfx.url", $http_url); -x(@x, "$pfx.mainrepo", $mainrepo); +x(@x, "$pfx.inboxdir", $inboxdir); if (defined($indexlevel)) { x(@x, "$pfx.indexlevel", $indexlevel); diff --git a/script/public-inbox-mda b/script/public-inbox-mda index 9b8753da..584218b5 100755 --- a/script/public-inbox-mda +++ b/script/public-inbox-mda @@ -52,7 +52,7 @@ if (!defined $dst) { } defined $dst or do_exit(67); # EX_NOUSER 5.1.1 user unknown } -$dst->{mainrepo} or do_exit(67); +$dst->{inboxdir} or do_exit(67); $dst = PublicInbox::InboxWritable->new($dst); # pre-check, MDA has stricter rules than an importer might; diff --git a/scripts/dupe-finder b/scripts/dupe-finder index 1e980936..8060a9d7 100644 --- a/scripts/dupe-finder +++ b/scripts/dupe-finder @@ -14,7 +14,7 @@ my $ibx; if (index($repo, '@') > 0) { $ibx = PublicInbox::Config->new->lookup($repo); } elsif (-d $repo) { - $ibx = { mainrepo => $repo, address => 'unnamed@example.com' }; + $ibx = { inboxdir => $repo, address => 'unnamed@example.com' }; $ibx = PublicInbox::Inbox->new($ibx); } else { $ibx = PublicInbox::Config->new->lookup_name($repo); diff --git a/scripts/import_vger_from_mbox b/scripts/import_vger_from_mbox index b2dd5b3a..6329dd16 100644 --- a/scripts/import_vger_from_mbox +++ b/scripts/import_vger_from_mbox @@ -23,9 +23,9 @@ if ($variant ne 'mboxrd' && $variant ne 'mboxo') { } my $name = shift or die $usage; # git my $email = shift or die $usage; # git@vger.kernel.org -my $mainrepo = shift or die $usage; # /path/to/v2/repo +my $inboxdir = shift or die $usage; # /path/to/v2/repo my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => $name, version => $version, address => [ $email ], @@ -37,7 +37,7 @@ unless ($dry_run) { require PublicInbox::V2Writable; PublicInbox::V2Writable->new($ibx, 1)->init_inbox(0); } else { - system(qw(git init --bare -q), $mainrepo) == 0 or die; + system(qw(git init --bare -q), $inboxdir) == 0 or die; } } $ibx = PublicInbox::InboxWritable->new($ibx); diff --git a/t/admin.t b/t/admin.t index 3790c9e2..0024df15 100644 --- a/t/admin.t +++ b/t/admin.t @@ -56,7 +56,7 @@ SKIP: { use_ok 'PublicInbox::V2Writable'; use_ok 'PublicInbox::Inbox'; my $ibx = PublicInbox::Inbox->new({ - mainrepo => $v2_dir, + inboxdir => $v2_dir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', diff --git a/t/altid.t b/t/altid.t index b8d32f78..4ab004c4 100644 --- a/t/altid.t +++ b/t/altid.t @@ -43,7 +43,7 @@ my $ibx; $im->done; } { - $ibx = PublicInbox::Inbox->new({mainrepo => $git_dir}); + $ibx = PublicInbox::Inbox->new({inboxdir => $git_dir}); $ibx->{altid} = $altid; my $rw = PublicInbox::SearchIdx->new($ibx, 1); $rw->index_sync; diff --git a/t/altid_v2.t b/t/altid_v2.t index 35ab7a1b..2c1d8616 100644 --- a/t/altid_v2.t +++ b/t/altid_v2.t @@ -14,12 +14,12 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { use_ok 'PublicInbox::V2Writable'; use_ok 'PublicInbox::Inbox'; my $tmpdir = tempdir('pi-altidv2-XXXXXX', TMPDIR => 1, CLEANUP => 1); -my $mainrepo = "$tmpdir/inbox"; +my $inboxdir = "$tmpdir/inbox"; my $full = "$tmpdir/inbox/another-nntp.sqlite3"; my $altid = [ 'serial:gmane:file=another-nntp.sqlite3' ]; { - ok(mkdir($mainrepo), 'created repo for msgmap'); + ok(mkdir($inboxdir), 'created repo for msgmap'); my $mm = PublicInbox::Msgmap->new_file($full, 1); is($mm->mid_set(1234, 'a@example.com'), 1, 'mid_set once OK'); ok(0 == $mm->mid_set(1234, 'a@example.com'), 'mid_set not idempotent'); @@ -27,7 +27,7 @@ my $altid = [ 'serial:gmane:file=another-nntp.sqlite3' ]; } my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', diff --git a/t/cgi.t b/t/cgi.t index 51d64914..1b4b06cb 100644 --- a/t/cgi.t +++ b/t/cgi.t @@ -29,7 +29,7 @@ my $cfgpfx = "publicinbox.test"; close $fh or die "close: $!\n"; my %cfg = ( "$cfgpfx.address" => $addr, - "$cfgpfx.mainrepo" => $maindir, + "$cfgpfx.inboxdir" => $maindir, "$cfgpfx.indexlevel" => 'basic', ); while (my ($k,$v) = each %cfg) { diff --git a/t/config.t b/t/config.t index 3b4b12b3..0866f264 100644 --- a/t/config.t +++ b/t/config.t @@ -24,7 +24,7 @@ my $tmpdir = tempdir('pi-config-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $cfg = PublicInbox::Config->new($f); is_deeply($cfg->lookup('meta@public-inbox.org'), { - 'mainrepo' => '/home/pi/meta-main.git', + 'inboxdir' => '/home/pi/meta-main.git', 'address' => [ 'meta@public-inbox.org' ], 'domain' => 'public-inbox.org', 'url' => 'http://example.com/meta', @@ -44,7 +44,7 @@ my $tmpdir = tempdir('pi-config-XXXXXX', TMPDIR => 1, CLEANUP => 1); 'sandbox@public-inbox.org', 'test@public-inbox.org'], -primary_address => 'try@public-inbox.org', - 'mainrepo' => '/home/pi/test-main.git', + 'inboxdir' => '/home/pi/test-main.git', 'domain' => 'public-inbox.org', 'name' => 'test', feedmax => 25, @@ -66,13 +66,29 @@ $cfgpfx.altid=serial:enamg:file=b EOF my $ibx = $config->lookup_name('test'); is_deeply($ibx->{altid}, [ @altid ]); + + $config = PublicInbox::Config->new(\<lookup_name('test'); + is($ibx->{inboxdir}, '/path/to/non/existent', 'mainrepo still works'); + + $config = PublicInbox::Config->new(\<lookup_name('test'); + is($ibx->{inboxdir}, '/path/to/non/existent', + 'inboxdir takes precedence'); } { my $pfx = "publicinbox.test"; my $str = <new(\$str); @@ -81,7 +97,7 @@ EOF $str = <new(\$str); @@ -95,9 +111,9 @@ EOF my $pfx2 = "publicinbox.foo"; my $str = <new(\<lookup_name('test'); @@ -27,7 +27,7 @@ EOF my $config = PublicInbox::Config->new(\<lookup_name('test'); diff --git a/t/convert-compact.t b/t/convert-compact.t index 6d091031..dbccfbad 100644 --- a/t/convert-compact.t +++ b/t/convert-compact.t @@ -20,15 +20,15 @@ use_ok 'PublicInbox::V2Writable'; use PublicInbox::Import; my $tmpdir = tempdir('convert-compact-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { - mainrepo => "$tmpdir/v1", + inboxdir => "$tmpdir/v1", name => 'test-v1', -primary_address => 'test@example.com', }; -ok(PublicInbox::Import::run_die([qw(git init --bare -q), $ibx->{mainrepo}]), +ok(PublicInbox::Import::run_die([qw(git init --bare -q), $ibx->{inboxdir}]), 'initialized v1 repo'); ok(umask(077), 'set restrictive umask'); -ok(PublicInbox::Import::run_die([qw(git) , "--git-dir=$ibx->{mainrepo}", +ok(PublicInbox::Import::run_die([qw(git) , "--git-dir=$ibx->{inboxdir}", qw(config core.sharedRepository 0644)]), 'set sharedRepository'); $ibx = PublicInbox::Inbox->new($ibx); my $im = PublicInbox::Import->new($ibx->git, undef, undef, $ibx); @@ -51,11 +51,11 @@ for (1..2) { is($@, '', 'no errors syncing'); } -is(((stat("$ibx->{mainrepo}/public-inbox"))[2]) & 07777, 0755, +is(((stat("$ibx->{inboxdir}/public-inbox"))[2]) & 07777, 0755, 'sharedRepository respected for v1'); -is(((stat("$ibx->{mainrepo}/public-inbox/msgmap.sqlite3"))[2]) & 07777, 0644, +is(((stat("$ibx->{inboxdir}/public-inbox/msgmap.sqlite3"))[2]) & 07777, 0644, 'sharedRepository respected for v1 msgmap'); -my @xdir = glob("$ibx->{mainrepo}/public-inbox/xap*/*"); +my @xdir = glob("$ibx->{inboxdir}/public-inbox/xap*/*"); foreach (@xdir) { my @st = stat($_); is($st[2] & 07777, -f _ ? 0644 : 0755, @@ -68,15 +68,15 @@ open my $err, '>>', "$tmpdir/err.log" or die "open: err.log $!\n"; open my $out, '>>', "$tmpdir/out.log" or die "open: out.log $!\n"; my $rdr = { 1 => fileno($out), 2 => fileno($err) }; -my $cmd = [ 'public-inbox-compact', $ibx->{mainrepo} ]; +my $cmd = [ 'public-inbox-compact', $ibx->{inboxdir} ]; ok(PublicInbox::Import::run_die($cmd, undef, $rdr), 'v1 compact works'); -@xdir = glob("$ibx->{mainrepo}/public-inbox/xap*"); +@xdir = glob("$ibx->{inboxdir}/public-inbox/xap*"); is(scalar(@xdir), 1, 'got one xapian directory after compact'); is(((stat($xdir[0]))[2]) & 07777, 0755, 'sharedRepository respected on v1 compact'); -$cmd = [ 'public-inbox-convert', $ibx->{mainrepo}, "$tmpdir/v2" ]; +$cmd = [ 'public-inbox-convert', $ibx->{inboxdir}, "$tmpdir/v2" ]; ok(PublicInbox::Import::run_die($cmd, undef, $rdr), 'convert works'); @xdir = glob("$tmpdir/v2/xap*/*"); foreach (@xdir) { @@ -88,7 +88,7 @@ foreach (@xdir) { $cmd = [ 'public-inbox-compact', "$tmpdir/v2" ]; my $env = { NPROC => 2 }; ok(PublicInbox::Import::run_die($cmd, $env, $rdr), 'v2 compact works'); -$ibx->{mainrepo} = "$tmpdir/v2"; +$ibx->{inboxdir} = "$tmpdir/v2"; $ibx->{version} = 2; @xdir = glob("$tmpdir/v2/xap*/*"); diff --git a/t/edit.t b/t/edit.t index 6b4e35c3..1e9597f1 100644 --- a/t/edit.t +++ b/t/edit.t @@ -21,9 +21,9 @@ IPC::Run->import(qw(run)); my $cmd_pfx = 'blib/script/public-inbox'; my $tmpdir = tempdir('pi-edit-XXXXXX', TMPDIR => 1, CLEANUP => 1); -my $mainrepo = "$tmpdir/v2"; +my $inboxdir = "$tmpdir/v2"; my $ibx = PublicInbox::Inbox->new({ - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2edit', version => 2, -primary_address => 'test@example.com', @@ -41,12 +41,12 @@ my $mid = mid_clean($mime->header('Message-Id')); ok($im->add($mime), 'add message to be edited'); $im->done; my ($in, $out, $err, $cmd, $cur, $t); -my $__git_dir = "--git-dir=$ibx->{mainrepo}/git/0.git"; +my $__git_dir = "--git-dir=$ibx->{inboxdir}/git/0.git"; $t = '-F FILE'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/boolean prefix/bool pfx/'"; - $cmd = [ "$cmd_pfx-edit", "-F$file", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-F$file", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t edit OK"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->header('Subject'), qr/bool pfx/, "$t message edited"); @@ -56,7 +56,7 @@ $t = '-F FILE'; { $t = '-m MESSAGE_ID'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/bool pfx/boolean prefix/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t edit OK"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->header('Subject'), qr/boolean prefix/, "$t message edited"); @@ -67,7 +67,7 @@ $t = 'no-op -m MESSAGE_ID'; { $in = $out = $err = ''; my $before = `git $__git_dir rev-parse HEAD`; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/bool pfx/boolean prefix/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds"); my $prev = $cur; $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); @@ -84,7 +84,7 @@ $t = 'no-op -m MESSAGE_ID w/Status: header'; { # because mutt does it my $before = `git $__git_dir rev-parse HEAD`; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^Subject:.*/Status: RO\\n\$&/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds"); my $prev = $cur; $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); @@ -102,7 +102,7 @@ $t = '-m MESSAGE_ID can change Received: headers'; { my $before = `git $__git_dir rev-parse HEAD`; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^Subject:.*/Received: x\\n\$&/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->header('Subject'), qr/boolean prefix/, @@ -113,7 +113,7 @@ $t = '-m MESSAGE_ID can change Received: headers'; { $t = '-m miss'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/boolean/FAIL/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid-miss", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid-miss", $inboxdir ]; ok(!run($cmd, \$in, \$out, \$err), "$t fails on invalid MID"); like($err, qr/No message found/, "$t shows error"); } @@ -121,7 +121,7 @@ $t = '-m miss'; { $t = 'non-interactive editor failure'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 'END { exit 1 }'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(!run($cmd, \$in, \$out, \$err), "$t detected"); like($err, qr/END \{ exit 1 \}' failed:/, "$t shows error"); } @@ -134,7 +134,7 @@ $t = 'mailEditor set in config'; { is($rc, 0, 'set publicinbox.mailEditor'); local $ENV{MAIL_EDITOR}; local $ENV{GIT_EDITOR} = 'echo should not run'; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t edited message"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->header('Subject'), qr/bool pfx/, "$t message edited"); @@ -144,20 +144,20 @@ $t = 'mailEditor set in config'; { $t = '--raw and mbox escaping'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^\$/\\nFrom not mbox\\n/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", '--raw', $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", '--raw', $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->body, qr/^From not mbox/sm, 'put "From " line into body'); local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^>From not/\$& an/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds with mbox escaping"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); like($cur->body, qr/^From not an mbox/sm, 'changed "From " line unescaped'); local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^From not an mbox\\n//s'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", '--raw', $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", '--raw', $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds again"); $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid)); unlike($cur->body, qr/^From not an mbox/sm, "$t restored body"); @@ -174,7 +174,7 @@ $t = 'reuse Message-ID'; { $t = 'edit ambiguous Message-ID with -m'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/bool pfx/boolean prefix/'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", $inboxdir ]; ok(!run($cmd, \$in, \$out, \$err), "$t fails w/o --force"); like($err, qr/Multiple messages with different content found matching/, "$t shows matches"); @@ -184,7 +184,7 @@ $t = 'edit ambiguous Message-ID with -m'; { $t .= ' and --force'; { $in = $out = $err = ''; local $ENV{MAIL_EDITOR} = "$^X -i -p -e 's/^Subject:.*/Subject:x/i'"; - $cmd = [ "$cmd_pfx-edit", "-m$mid", '--force', $mainrepo ]; + $cmd = [ "$cmd_pfx-edit", "-m$mid", '--force', $inboxdir ]; ok(run($cmd, \$in, \$out, \$err), "$t succeeds"); like($err, qr/Will edit all of them/, "$t notes all will be edited"); my @dump = `git $__git_dir cat-file --batch --batch-all-objects`; diff --git a/t/feed.t b/t/feed.t index 4a887b49..eb1f35fb 100644 --- a/t/feed.t +++ b/t/feed.t @@ -22,7 +22,7 @@ my $git_dir = "$tmpdir/gittest"; my $ibx = PublicInbox::Inbox->new({ address => 'test@example', name => 'testbox', - mainrepo => $git_dir, + inboxdir => $git_dir, url => 'http://example.com/test', feedmax => 3, }); diff --git a/t/filter_rubylang.t b/t/filter_rubylang.t index 9ed6684b..7b1da11c 100644 --- a/t/filter_rubylang.t +++ b/t/filter_rubylang.t @@ -30,7 +30,7 @@ SKIP: { TMPDIR => 1, CLEANUP => 1); is(mkdir("$git_dir/public-inbox"), 1, "created public-inbox dir"); my $altid = [ "serial:ruby-core:file=msgmap.sqlite3" ]; - my $ibx = PublicInbox::Inbox->new({ mainrepo => $git_dir, + my $ibx = PublicInbox::Inbox->new({ inboxdir => $git_dir, altid => $altid }); $f = PublicInbox::Filter::RubyLang->new(-inbox => $ibx); $msg = <<'EOF'; diff --git a/t/html_index.t b/t/html_index.t index b9f866b3..2f4b4d1b 100644 --- a/t/html_index.t +++ b/t/html_index.t @@ -14,7 +14,7 @@ my $git_dir = "$tmpdir/gittest"; my $ibx = PublicInbox::Inbox->new({ address => 'test@example', name => 'tester', - mainrepo => $git_dir, + inboxdir => $git_dir, url => 'http://example.com/test', }); my $git = $ibx->git; diff --git a/t/indexlevels-mirror.t b/t/indexlevels-mirror.t index b685da14..40afe4e9 100644 --- a/t/indexlevels-mirror.t +++ b/t/indexlevels-mirror.t @@ -36,7 +36,7 @@ sub import_index_incremental { my $this = "pi-$v-$level-indexlevels"; my $tmpdir = tempdir("$this-tmp-XXXXXX", TMPDIR => 1, CLEANUP => 1); my $ibx = PublicInbox::Inbox->new({ - mainrepo => "$tmpdir/testbox", + inboxdir => "$tmpdir/testbox", name => $this, version => $v, -primary_address => 'test@example.com', @@ -48,9 +48,9 @@ sub import_index_incremental { $im->done; # index master (required for v1) - is(system($index, $ibx->{mainrepo}, "-L$level"), 0, 'index master OK'); + is(system($index, $ibx->{inboxdir}, "-L$level"), 0, 'index master OK'); my $ro_master = PublicInbox::Inbox->new({ - mainrepo => $ibx->{mainrepo}, + inboxdir => $ibx->{inboxdir}, indexlevel => $level }); my ($nr, $msgs) = $ro_master->recent; @@ -61,9 +61,9 @@ sub import_index_incremental { my @cmd = (qw(git clone --mirror -q)); my $mirror = "$tmpdir/mirror-$v"; if ($v == 1) { - push @cmd, $ibx->{mainrepo}, $mirror; + push @cmd, $ibx->{inboxdir}, $mirror; } else { - push @cmd, "$ibx->{mainrepo}/git/0.git", "$mirror/git/0.git"; + push @cmd, "$ibx->{inboxdir}/git/0.git", "$mirror/git/0.git"; } my $fetch_dir = $cmd[-1]; is(system(@cmd), 0, "v$v clone OK"); @@ -80,7 +80,7 @@ sub import_index_incremental { # read-only access my $ro_mirror = PublicInbox::Inbox->new({ - mainrepo => $mirror, + inboxdir => $mirror, indexlevel => $level, }); ($nr, $msgs) = $ro_mirror->recent; @@ -101,7 +101,7 @@ sub import_index_incremental { ['m@1','m@2'], 'got both messages in mirror'); # incremental index master (required for v1) - is(system($index, $ibx->{mainrepo}, "-L$level"), 0, 'index master OK'); + is(system($index, $ibx->{inboxdir}, "-L$level"), 0, 'index master OK'); ($nr, $msgs) = $ro_master->recent; is($nr, 2, '2nd message seen in master'); is_deeply([sort { $a cmp $b } map { $_->{mid} } @$msgs], @@ -137,7 +137,7 @@ sub import_index_incremental { 'message unavailable in mirror'); if ($v == 2 && $level eq 'basic') { - is_deeply([glob("$ibx->{mainrepo}/xap*/?/")], [], + is_deeply([glob("$ibx->{inboxdir}/xap*/?/")], [], 'no Xapian shard directories for v2 basic'); } if ($level ne 'basic') { diff --git a/t/mda.t b/t/mda.t index 92e8ad0d..99592b2d 100644 --- a/t/mda.t +++ b/t/mda.t @@ -38,7 +38,7 @@ my $mime; my %cfg = ( "$cfgpfx.address" => $addr, - "$cfgpfx.mainrepo" => $maindir, + "$cfgpfx.inboxdir" => $maindir, ); while (my ($k,$v) = each %cfg) { is(0, system(qw(git config --file), $pi_config, $k, $v), diff --git a/t/mda_filter_rubylang.t b/t/mda_filter_rubylang.t index 279afaac..f7d872c9 100644 --- a/t/mda_filter_rubylang.t +++ b/t/mda_filter_rubylang.t @@ -27,12 +27,12 @@ for my $v (qw(V1 V2)) { my @warn; $SIG{__WARN__} = sub { push @warn, @_ }; my $cfgpfx = "publicinbox.$v"; - my $mainrepo = "$tmpdir/$v"; + my $inboxdir = "$tmpdir/$v"; my $addr = "test-$v\@example.com"; - my @cmd = ('blib/script/public-inbox-init', "-$v", $v, $mainrepo, + my @cmd = ('blib/script/public-inbox-init', "-$v", $v, $inboxdir, "http://example.com/$v", $addr); is(system(@cmd), 0, 'public-inbox init OK'); - is(system('blib/script/public-inbox-index', $mainrepo), 0); + is(system('blib/script/public-inbox-index', $inboxdir), 0); is(system(@cfg, "$cfgpfx.filter", 'PublicInbox::Filter::RubyLang'), 0); is(system(@cfg, "$cfgpfx.altid", 'serial:alerts:file=msgmap.sqlite3'), 0); diff --git a/t/nntp.t b/t/nntp.t index f3a9c7d8..aabfd4ff 100644 --- a/t/nntp.t +++ b/t/nntp.t @@ -99,7 +99,7 @@ use_ok 'PublicInbox::Inbox'; require Email::MIME; my $u = 'https://example.com/a/'; my $ng = PublicInbox::Inbox->new({ name => 'test', - mainrepo => 'test.git', + inboxdir => 'test.git', address => 'a@example.com', -primary_address => 'a@example.com', newsgroup => 'test', diff --git a/t/nntpd-tls.t b/t/nntpd-tls.t index 1a74924c..0b6afcef 100644 --- a/t/nntpd-tls.t +++ b/t/nntpd-tls.t @@ -37,7 +37,7 @@ require_git('2.6') if $version >= 2; my $tmpdir = tempdir('pi-nntpd-tls-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $err = "$tmpdir/stderr.log"; my $out = "$tmpdir/stdout.log"; -my $mainrepo = "$tmpdir"; +my $inboxdir = "$tmpdir"; my $pi_config = "$tmpdir/pi_config"; my $group = 'test-nntpd-tls'; my $addr = $group . '@example.com'; @@ -52,7 +52,7 @@ END { }; my $ibx = PublicInbox::Inbox->new({ - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'nntpd-tls', version => $version, -primary_address => $addr, @@ -64,7 +64,7 @@ $ibx->init_inbox(0); open my $fh, '>', $pi_config or die "open: $!\n"; print $fh < $inbox_dir, newsgroup => $group }; + my $ibx = { inboxdir => $inbox_dir, newsgroup => $group }; $ibx = PublicInbox::Inbox->new($ibx); my $nntpd = 'blib/script/public-inbox-nntpd'; my $pi_config = "$tmpdir/config"; @@ -156,7 +156,7 @@ sub make_local_server { print $fh <<"" or die "print $pi_config: $!"; [publicinbox "test"] newsgroup = $group - mainrepo = $inbox_dir + inboxdir = $inbox_dir address = test\@example.com close $fh or die "close($pi_config): $!"; diff --git a/t/nntpd.t b/t/nntpd.t index 153204df..462e2da9 100644 --- a/t/nntpd.t +++ b/t/nntpd.t @@ -26,7 +26,7 @@ my $tmpdir = tempdir('pi-nntpd-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $home = "$tmpdir/pi-home"; my $err = "$tmpdir/stderr.log"; my $out = "$tmpdir/stdout.log"; -my $mainrepo = "$tmpdir/main.git"; +my $inboxdir = "$tmpdir/main.git"; my $group = 'test-nntpd'; my $addr = $group . '@example.com'; my $nntpd = 'blib/script/public-inbox-nntpd'; @@ -43,7 +43,7 @@ my $len; END { kill 'TERM', $pid if defined $pid }; my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => $group, version => $version, -primary_address => $addr, @@ -52,7 +52,7 @@ my $ibx = { $ibx = PublicInbox::Inbox->new($ibx); { local $ENV{HOME} = $home; - my @cmd = ($init, $group, $mainrepo, 'http://example.com/', $addr); + my @cmd = ($init, $group, $inboxdir, 'http://example.com/', $addr); push @cmd, "-V$version", '-Lbasic'; is(system(@cmd), 0, 'init OK'); is(system(qw(git config), "--file=$home/.public-inbox/config", diff --git a/t/perf-msgview.t b/t/perf-msgview.t index 0defafc4..492ed487 100644 --- a/t/perf-msgview.t +++ b/t/perf-msgview.t @@ -20,7 +20,7 @@ if (require_git(2.19, 1)) { } use_ok 'Plack::Util'; -my $ibx = PublicInbox::Inbox->new({ mainrepo => $pi_dir, name => 'name' }); +my $ibx = PublicInbox::Inbox->new({ inboxdir => $pi_dir, name => 'name' }); my $git = $ibx->git; my $fh = $git->popen(@cat); my $vec = ''; diff --git a/t/perf-nntpd.t b/t/perf-nntpd.t index f272e18a..7abf2249 100644 --- a/t/perf-nntpd.t +++ b/t/perf-nntpd.t @@ -27,7 +27,7 @@ if (($ENV{NNTP_TEST_URL} || '') =~ m!\Anntp://([^/]+)/([^/]+)\z!) { $host_port .= ":119" unless index($host_port, ':') > 0; } else { $group = 'inbox.test.perf.nntpd'; - my $ibx = { mainrepo => $pi_dir, newsgroup => $group }; + my $ibx = { inboxdir => $pi_dir, newsgroup => $group }; $ibx = PublicInbox::Inbox->new($ibx); my $nntpd = 'blib/script/public-inbox-nntpd'; my $tmpdir = tempdir('perf-nntpd-XXXXXX', TMPDIR => 1, CLEANUP => 1); @@ -38,7 +38,7 @@ if (($ENV{NNTP_TEST_URL} || '') =~ m!\Anntp://([^/]+)/([^/]+)\z!) { print $fh <<"" or die "print $pi_config: $!"; [publicinbox "test"] newsgroup = $group - mainrepo = $pi_dir + inboxdir = $pi_dir address = test\@example.com close $fh or die "close($pi_config): $!"; diff --git a/t/perf-threading.t b/t/perf-threading.t index 3bed05c4..8d28b3a0 100644 --- a/t/perf-threading.t +++ b/t/perf-threading.t @@ -9,7 +9,7 @@ use Benchmark qw(:all); use PublicInbox::Inbox; my $pi_dir = $ENV{GIANT_PI_DIR}; plan skip_all => "GIANT_PI_DIR not defined for $0" unless $pi_dir; -my $ibx = PublicInbox::Inbox->new({ mainrepo => $pi_dir }); +my $ibx = PublicInbox::Inbox->new({ inboxdir => $pi_dir }); eval { require PublicInbox::Search }; my $srch = $ibx->search; plan skip_all => "$pi_dir not configured for search $0 $@" unless $srch; diff --git a/t/plack.t b/t/plack.t index f9a55e43..7e65ad74 100644 --- a/t/plack.t +++ b/t/plack.t @@ -29,7 +29,7 @@ foreach my $mod (@mods) { use_ok $mod; } close $fh or die "close: $!\n"; my %cfg = ( "$cfgpfx.address" => $addr, - "$cfgpfx.mainrepo" => $maindir, + "$cfgpfx.inboxdir" => $maindir, "$cfgpfx.url" => 'http://example.com/test/', "$cfgpfx.newsgroup" => 'inbox.test', ); diff --git a/t/psgi_attach.t b/t/psgi_attach.t index f5140f44..96f0cb47 100644 --- a/t/psgi_attach.t +++ b/t/psgi_attach.t @@ -23,7 +23,7 @@ use_ok 'PublicInbox::WwwAttach'; use Plack::Builder; my $config = PublicInbox::Config->new(\<new($maindir); diff --git a/t/psgi_bad_mids.t b/t/psgi_bad_mids.t index 95196a3f..c7c94718 100644 --- a/t/psgi_bad_mids.t +++ b/t/psgi_bad_mids.t @@ -15,10 +15,10 @@ foreach my $mod (@mods) { } use_ok($_) for @mods; use_ok 'PublicInbox::V2Writable'; -my $mainrepo = tempdir('pi-bad-mids-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-bad-mids-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $cfgpfx = "publicinbox.bad-mids"; my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'bad-mids', version => 2, -primary_address => 'test@example.com', @@ -55,7 +55,7 @@ $im->done; my $cfg = <{-primary_address} -$cfgpfx.mainrepo=$mainrepo +$cfgpfx.inboxdir=$inboxdir EOF my $config = PublicInbox::Config->new(\$cfg); my $www = PublicInbox::WWW->new($config); diff --git a/t/psgi_mount.t b/t/psgi_mount.t index 7160896b..aa7c863f 100644 --- a/t/psgi_mount.t +++ b/t/psgi_mount.t @@ -23,7 +23,7 @@ use Plack::Builder; use Plack::App::URLMap; my $config = PublicInbox::Config->new(\<new($maindir); diff --git a/t/psgi_multipart_not.t b/t/psgi_multipart_not.t index 2670c47a..40bc3c18 100644 --- a/t/psgi_multipart_not.t +++ b/t/psgi_multipart_not.t @@ -17,7 +17,7 @@ use_ok($_) for @mods; use_ok 'PublicInbox::V2Writable'; my $repo = tempdir('pi-psgi-multipart-not.XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = PublicInbox::Inbox->new({ - mainrepo => $repo, + inboxdir => $repo, name => 'multipart-not', version => 2, -primary_address => 'test@example.com', @@ -44,7 +44,7 @@ $im->done; my $cfgpfx = "publicinbox.v2test"; my $cfg = <{-primary_address} -$cfgpfx.mainrepo=$repo +$cfgpfx.inboxdir=$repo EOF my $config = PublicInbox::Config->new(\$cfg); my $www = PublicInbox::WWW->new($config); diff --git a/t/psgi_scan_all.t b/t/psgi_scan_all.t index 2e00b6d8..707807a7 100644 --- a/t/psgi_scan_all.t +++ b/t/psgi_scan_all.t @@ -19,12 +19,12 @@ my $cfg = ''; foreach my $i (1..2) { my $cfgpfx = "publicinbox.test-$i"; my $addr = "test-$i\@example.com"; - my $mainrepo = "$tmp/$i"; + my $inboxdir = "$tmp/$i"; $cfg .= "$cfgpfx.address=$addr\n"; - $cfg .= "$cfgpfx.mainrepo=$mainrepo\n"; + $cfg .= "$cfgpfx.inboxdir=$inboxdir\n"; $cfg .= "$cfgpfx.url=http://example.com/$i\n"; my $opt = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => "test-$i", version => 2, indexlevel => 'basic', diff --git a/t/psgi_search.t b/t/psgi_search.t index ab6892bc..4cd0e499 100644 --- a/t/psgi_search.t +++ b/t/psgi_search.t @@ -21,7 +21,7 @@ use_ok $_ foreach (@mods, qw(PublicInbox::SearchIdx)); my $tmpdir = tempdir('pi-psgi-search.XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = PublicInbox::Inbox->new({ - mainrepo => $tmpdir, + inboxdir => $tmpdir, address => 'git@vger.kernel.org', name => 'test', }); @@ -47,7 +47,7 @@ PublicInbox::SearchIdx->new($ibx, 1)->index_sync; my $cfgpfx = "publicinbox.test"; my $config = PublicInbox::Config->new(\<new($config); test_psgi(sub { $www->call(@_) }, sub { diff --git a/t/psgi_text.t b/t/psgi_text.t index 944a6476..da7c6f57 100644 --- a/t/psgi_text.t +++ b/t/psgi_text.t @@ -23,7 +23,7 @@ use_ok 'PublicInbox::WwwText'; use Plack::Builder; my $config = PublicInbox::Config->new(\<new($config); diff --git a/t/psgi_v2.t b/t/psgi_v2.t index e4f7306e..cb5ece63 100644 --- a/t/psgi_v2.t +++ b/t/psgi_v2.t @@ -18,9 +18,9 @@ foreach my $mod (@mods) { } use_ok($_) for @mods; use_ok 'PublicInbox::V2Writable'; -my $mainrepo = tempdir('pi-v2_dupes-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-v2_dupes-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', @@ -56,7 +56,7 @@ $im->done; my $cfgpfx = "publicinbox.v2test"; my $cfg = <{-primary_address} -$cfgpfx.mainrepo=$mainrepo +$cfgpfx.inboxdir=$inboxdir EOF my $config = PublicInbox::Config->new(\$cfg); my $www = PublicInbox::WWW->new($config); diff --git a/t/purge.t b/t/purge.t index 384f32a6..67c4e58d 100644 --- a/t/purge.t +++ b/t/purge.t @@ -15,9 +15,9 @@ use Cwd qw(abs_path); my $purge = abs_path('blib/script/public-inbox-purge'); my $tmpdir = tempdir('pi-purge-XXXXXX', TMPDIR => 1, CLEANUP => 1); use_ok 'PublicInbox::V2Writable'; -my $mainrepo = "$tmpdir/v2"; +my $inboxdir = "$tmpdir/v2"; my $ibx = PublicInbox::Inbox->new({ - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2purge', version => 2, -primary_address => 'test@example.com', @@ -47,22 +47,22 @@ $v2w->done; # failing cases, first: my $in = "$raw\nMOAR\n"; my ($out, $err) = ('', ''); -ok(IPC::Run::run([$purge, '-f', $mainrepo], \$in, \$out, \$err), +ok(IPC::Run::run([$purge, '-f', $inboxdir], \$in, \$out, \$err), 'purge -f OK'); $out = $err = ''; -ok(!IPC::Run::run([$purge, $mainrepo], \$in, \$out, \$err), +ok(!IPC::Run::run([$purge, $inboxdir], \$in, \$out, \$err), 'mismatch fails without -f'); is($? >> 8, 1, 'missed purge exits with 1'); # a successful case: -ok(IPC::Run::run([$purge, $mainrepo], \$raw, \$out, \$err), 'match OK'); +ok(IPC::Run::run([$purge, $inboxdir], \$raw, \$out, \$err), 'match OK'); like($out, qr/\b[a-f0-9]{40,}/m, 'removed commit noted'); # add (old) vger filter to config file print $cfg_fh < 1, CLEANUP => 1); my $ibx = PublicInbox::Inbox->new({ - mainrepo => "$tmpdir/testbox", + inboxdir => "$tmpdir/testbox", name => $this, version => $v, -primary_address => 'test@example.com', @@ -95,7 +95,7 @@ EOF my $t19931002 = qr/ 749520000 /; is_deeply([grep(/$t19931002/, @all)], [], "nothing matches $t19931002"); - for my $dir (glob("$ibx->{mainrepo}/git/*.git")) { + for my $dir (glob("$ibx->{inboxdir}/git/*.git")) { my ($bn) = ($dir =~ m!([^/]+)\z!); is(system(qw(git --git-dir), $dir, qw(fsck --strict)), 0, "git fsck is clean in epoch $bn"); diff --git a/t/search-thr-index.t b/t/search-thr-index.t index 4b26f2ee..26339989 100644 --- a/t/search-thr-index.t +++ b/t/search-thr-index.t @@ -18,7 +18,7 @@ my $tmpdir = tempdir('pi-search-thr-index.XXXXXX', TMPDIR => 1, CLEANUP => 1); my $git_dir = "$tmpdir/a.git"; is(0, system(qw(git init -q --bare), $git_dir), "git init (main)"); -my $ibx = PublicInbox::Inbox->new({mainrepo => $git_dir}); +my $ibx = PublicInbox::Inbox->new({inboxdir => $git_dir}); my $rw = PublicInbox::SearchIdx->new($ibx, 1); ok($rw, "search indexer created"); my $data = <<'EOF'; diff --git a/t/search.t b/t/search.t index a728d79f..b6531ab3 100644 --- a/t/search.t +++ b/t/search.t @@ -14,7 +14,7 @@ use File::Temp qw/tempdir/; use Email::MIME; my $tmpdir = tempdir('pi-search-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $git_dir = "$tmpdir/a.git"; -my $ibx = PublicInbox::Inbox->new({ mainrepo => $git_dir }); +my $ibx = PublicInbox::Inbox->new({ inboxdir => $git_dir }); my ($root_id, $last_id); is(0, system(qw(git init --shared -q --bare), $git_dir), "git init (main)") diff --git a/t/solver_git.t b/t/solver_git.t index 0b7d7c49..baab40a4 100644 --- a/t/solver_git.t +++ b/t/solver_git.t @@ -22,9 +22,9 @@ $git_dir = abs_path($git_dir); use_ok "PublicInbox::$_" for (qw(Inbox V2Writable MIME Git SolverGit)); -my $mainrepo = tempdir('pi-solver-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-solver-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $opts = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', @@ -52,7 +52,7 @@ is(undef, $git->commit_title('impossible'), 'undef on impossible object'); $ibx->{-repo_objs} = [ $git ]; my $res; my $solver = PublicInbox::SolverGit->new($ibx, sub { $res = $_[0] }); -open my $log, '+>>', "$mainrepo/solve.log" or die "open: $!"; +open my $log, '+>>', "$inboxdir/solve.log" or die "open: $!"; my $psgi_env = { 'psgi.errors' => *STDERR }; $solver->solve($psgi_env, $log, '69df7d5', {}); ok($res, 'solved a blob!'); diff --git a/t/v1-add-remove-add.t b/t/v1-add-remove-add.t index 4777a307..3facd87e 100644 --- a/t/v1-add-remove-add.t +++ b/t/v1-add-remove-add.t @@ -12,10 +12,10 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { plan skip_all => "$mod missing for v1-add-remove-add.t" if $@; } require PublicInbox::SearchIdx; -my $mainrepo = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1); -is(system(qw(git init --bare), $mainrepo), 0); +my $inboxdir = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1); +is(system(qw(git init --bare), $inboxdir), 0); my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-add-remove-add', -primary_address => 'test@example.com', }; diff --git a/t/v1reindex.t b/t/v1reindex.t index d14a117d..e3547753 100644 --- a/t/v1reindex.t +++ b/t/v1reindex.t @@ -16,10 +16,10 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { } use_ok 'PublicInbox::SearchIdx'; use_ok 'PublicInbox::Import'; -my $mainrepo = tempdir('pi-v1reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1); -is(system(qw(git init -q --bare), $mainrepo), 0); +my $inboxdir = tempdir('pi-v1reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1); +is(system(qw(git init -q --bare), $inboxdir), 0); my $ibx_config = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v1reindex', -primary_address => 'test@example.com', indexlevel => 'full', @@ -96,7 +96,7 @@ my ($mark1, $mark2, $mark3, $mark4); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -my $xap = "$mainrepo/public-inbox/xapian".PublicInbox::Search::SCHEMA_VERSION(); +my $xap = "$inboxdir/public-inbox/xapian".PublicInbox::Search::SCHEMA_VERSION(); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed'); { @@ -118,7 +118,7 @@ ok(!-d $xap, 'Xapian directories removed'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -141,7 +141,7 @@ ok(!-d $xap, 'Xapian directories removed again'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -164,7 +164,7 @@ ok(!-d $xap, 'Xapian directories removed again'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -190,7 +190,7 @@ ok(!-d $xap, 'Xapian directories removed again'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -239,7 +239,7 @@ ok(!-d $xap, 'Xapian directories removed again'); } # An incremental indexing test -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -349,7 +349,7 @@ ok(!-d $xap, 'Xapian directories removed again'); # Another incremental indexing test -ok(unlink "$mainrepo/public-inbox/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/public-inbox/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { diff --git a/t/v2-add-remove-add.t b/t/v2-add-remove-add.t index c758dbb6..438fe3db 100644 --- a/t/v2-add-remove-add.t +++ b/t/v2-add-remove-add.t @@ -13,9 +13,9 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { plan skip_all => "$mod missing for v2-add-remove-add.t" if $@; } use_ok 'PublicInbox::V2Writable'; -my $mainrepo = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-add-remove-add-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { - mainrepo => "$mainrepo/v2", + inboxdir => "$inboxdir/v2", name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', diff --git a/t/v2mda.t b/t/v2mda.t index 92b3333e..ebcbd1f4 100644 --- a/t/v2mda.t +++ b/t/v2mda.t @@ -18,7 +18,7 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { use_ok 'PublicInbox::V2Writable'; my $tmpdir = tempdir('pi-v2mda-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { - mainrepo => "$tmpdir/inbox", + inboxdir => "$tmpdir/inbox", name => 'test-v2writable', address => [ 'test@example.com' ], }; @@ -45,7 +45,7 @@ my $faildir = "$tmpdir/fail"; local $ENV{PI_EMERGENCY} = $faildir; ok(mkdir $faildir); my @cmd = (qw(public-inbox-init), "-V$V", $ibx->{name}, - $ibx->{mainrepo}, 'http://localhost/test', + $ibx->{inboxdir}, 'http://localhost/test', $ibx->{address}->[0]); ok(PublicInbox::Import::run_die(\@cmd), 'initialized v2 inbox'); diff --git a/t/v2mirror.t b/t/v2mirror.t index 86ca895d..a097a7f3 100644 --- a/t/v2mirror.t +++ b/t/v2mirror.t @@ -28,7 +28,7 @@ my $pi_config = "$tmpdir/config"; open my $fh, '>', $pi_config or die "open($pi_config): $!"; print $fh <<"" or die "print $pi_config: $!"; [publicinbox "v2"] - mainrepo = $tmpdir/in + inboxdir = $tmpdir/in address = test\@example.com close $fh or die "close($pi_config): $!"; @@ -88,7 +88,7 @@ foreach my $i (0..$epoch_max) { is(system(@cmd), 0, 'initialized public-inbox -V2'); is(system("$script-index", "$tmpdir/m"), 0, 'indexed'); -my $mibx = { mainrepo => "$tmpdir/m", address => 'alt@example.com' }; +my $mibx = { inboxdir => "$tmpdir/m", address => 'alt@example.com' }; $mibx = PublicInbox::Inbox->new($mibx); is_deeply([$mibx->mm->minmax], [$ibx->mm->minmax], 'index synched minmax'); diff --git a/t/v2reindex.t b/t/v2reindex.t index 1dcefbe3..7c5a6b07 100644 --- a/t/v2reindex.t +++ b/t/v2reindex.t @@ -15,9 +15,9 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { plan skip_all => "$mod missing for v2reindex.t" if $@; } use_ok 'PublicInbox::V2Writable'; -my $mainrepo = tempdir('pi-v2reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-v2reindex-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx_config = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', @@ -100,7 +100,7 @@ my ($mark1, $mark2, $mark3, $mark4); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -my $xap = "$mainrepo/xap".PublicInbox::Search::SCHEMA_VERSION(); +my $xap = "$inboxdir/xap".PublicInbox::Search::SCHEMA_VERSION(); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed'); { @@ -120,7 +120,7 @@ ok(!-d $xap, 'Xapian directories removed'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -143,7 +143,7 @@ ok(!-d $xap, 'Xapian directories removed again'); } my %sizes; -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -168,7 +168,7 @@ ok(!-d $xap, 'Xapian directories removed again'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -207,7 +207,7 @@ ok(!-d $xap, 'Xapian directories removed again'); is_deeply($ibx->mm->msg_range(\$min, $max), $msgmap, 'msgmap unchanged'); } -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -237,7 +237,7 @@ ok(!-d $xap, 'Xapian directories removed again'); # An incremental indexing test -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { @@ -347,7 +347,7 @@ ok(!-d $xap, 'Xapian directories removed again'); # Another incremental indexing test -ok(unlink "$mainrepo/msgmap.sqlite3", 'remove msgmap'); +ok(unlink "$inboxdir/msgmap.sqlite3", 'remove msgmap'); remove_tree($xap); ok(!-d $xap, 'Xapian directories removed again'); { diff --git a/t/v2writable.t b/t/v2writable.t index c1c9196f..c2daac2f 100644 --- a/t/v2writable.t +++ b/t/v2writable.t @@ -14,9 +14,9 @@ foreach my $mod (qw(DBD::SQLite Search::Xapian)) { } use_ok 'PublicInbox::V2Writable'; umask 007; -my $mainrepo = tempdir('pi-v2writable-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $inboxdir = tempdir('pi-v2writable-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = { - mainrepo => $mainrepo, + inboxdir => $inboxdir, name => 'test-v2writable', version => 2, -primary_address => 'test@example.com', @@ -36,9 +36,9 @@ my $mime = PublicInbox::MIME->create( my $im = PublicInbox::V2Writable->new($ibx, {nproc => 1}); is($im->{shards}, 1, 'one shard when forced'); ok($im->add($mime), 'ordinary message added'); -foreach my $f ("$mainrepo/msgmap.sqlite3", - glob("$mainrepo/xap*/*"), - glob("$mainrepo/xap*/*/*")) { +foreach my $f ("$inboxdir/msgmap.sqlite3", + glob("$inboxdir/xap*/*"), + glob("$inboxdir/xap*/*/*")) { my @st = stat($f); my ($bn) = (split(m!/!, $f))[-1]; is($st[2] & 07777, -f _ ? 0660 : 0770, @@ -48,10 +48,10 @@ foreach my $f ("$mainrepo/msgmap.sqlite3", my $git0; if ('ensure git configs are correct') { - my @cmd = (qw(git config), "--file=$mainrepo/all.git/config", + my @cmd = (qw(git config), "--file=$inboxdir/all.git/config", qw(core.sharedRepository 0644)); is(system(@cmd), 0, "set sharedRepository in all.git"); - $git0 = PublicInbox::Git->new("$mainrepo/git/0.git"); + $git0 = PublicInbox::Git->new("$inboxdir/git/0.git"); chomp(my $v = $git0->qx(qw(config core.sharedRepository))); is($v, '0644', 'child repo inherited core.sharedRepository'); chomp($v = $git0->qx(qw(config --bool repack.writeBitmaps))); @@ -131,14 +131,14 @@ if ('ensure git configs are correct') { { use Net::NNTP; - my $err = "$mainrepo/stderr.log"; - my $out = "$mainrepo/stdout.log"; + my $err = "$inboxdir/stderr.log"; + my $out = "$inboxdir/stdout.log"; my $group = 'inbox.comp.test.v2writable'; - my $pi_config = "$mainrepo/pi_config"; + my $pi_config = "$inboxdir/pi_config"; open my $fh, '>', $pi_config or die "open: $!\n"; print $fh <new($spamdir); @@ -72,7 +72,7 @@ EOF my $orig = <new($spamdir); # create dirs my $config = PublicInbox::Config->new(\< 1, CLEANUP => 1); -my $mainrepo = "$tmpdir/v2"; +my $inboxdir = "$tmpdir/v2"; my $maildir = "$tmpdir/md"; my $spamdir = "$tmpdir/spam"; use_ok 'PublicInbox::WatchMaildir'; use_ok 'PublicInbox::Emergency'; my $cfgpfx = "publicinbox.test"; my $addr = 'test-public@example.com'; -my @cmd = ('blib/script/public-inbox-init', '-V2', 'test', $mainrepo, +my @cmd = ('blib/script/public-inbox-init', '-V2', 'test', $inboxdir, 'http://example.com/v2list', $addr); local $ENV{PI_CONFIG} = "$tmpdir/pi_config"; is(system(@cmd), 0, 'public-inbox init OK'); @@ -42,7 +42,7 @@ my $sem = PublicInbox::Emergency->new($spamdir); # create dirs my $orig = <new($config)->scan('full'); my ($total, undef) = $srch->reopen->query(''); is($total, 1, 'got one revision'); -# my $git = PublicInbox::Git->new("$mainrepo/git/0.git"); +# my $git = PublicInbox::Git->new("$inboxdir/git/0.git"); # my @list = $git->qx(qw(rev-list refs/heads/master)); # is(scalar @list, 1, 'one revision in rev-list'); @@ -148,7 +148,7 @@ More majordomo info at http://vger.kernel.org/majordomo-info.html\n); is(system(qw(git init -q --bare), $v1repo), 0, 'v1 init OK'); my $cfg2 = <new(\$cfg2); diff --git a/t/www_listing.t b/t/www_listing.t index 990233c8..9f71257d 100644 --- a/t/www_listing.t +++ b/t/www_listing.t @@ -91,15 +91,15 @@ SKIP: { open $fh, '>', $cfgfile or die; print $fh <<"" or die; [publicinbox "bare"] - mainrepo = $bare->{git_dir} + inboxdir = $bare->{git_dir} url = http://$host/bare address = bare\@example.com [publicinbox "alt"] - mainrepo = $alt + inboxdir = $alt url = http://$host/alt address = alt\@example.com [publicinbox "v2"] - mainrepo = $v2 + inboxdir = $v2 url = http://$host/v2 address = v2\@example.com diff --git a/t/xcpdb-reshard.t b/t/xcpdb-reshard.t index d921e12f..43e08639 100644 --- a/t/xcpdb-reshard.t +++ b/t/xcpdb-reshard.t @@ -27,7 +27,7 @@ my $mime = PublicInbox::MIME->create( my ($this) = (split('/', $0))[-1]; my $tmpdir = tempdir($this.'-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $ibx = PublicInbox::Inbox->new({ - mainrepo => "$tmpdir/testbox", + inboxdir => "$tmpdir/testbox", name => $this, version => 2, -primary_address => 'test@example.com', @@ -43,7 +43,7 @@ for my $i (1..$ndoc) { ok($im->add($mime), "message $i added"); } $im->done; -my @shards = grep(m!/\d+\z!, glob("$ibx->{mainrepo}/xap*/*")); +my @shards = grep(m!/\d+\z!, glob("$ibx->{inboxdir}/xap*/*")); is(scalar(@shards), $nproc, 'got expected shards'); my $orig = $ibx->over->query_xover(1, $ndoc); my %nums = map {; "$_->{num}" => 1 } @$orig; @@ -51,8 +51,8 @@ my %nums = map {; "$_->{num}" => 1 } @$orig; # ensure we can go up or down in shards, or stay the same: for my $R (qw(2 4 1 3 3)) { delete $ibx->{search}; # release old handles - is(system(@xcpdb, "-R$R", $ibx->{mainrepo}), 0, "xcpdb -R$R"); - my @new_shards = grep(m!/\d+\z!, glob("$ibx->{mainrepo}/xap*/*")); + is(system(@xcpdb, "-R$R", $ibx->{inboxdir}), 0, "xcpdb -R$R"); + my @new_shards = grep(m!/\d+\z!, glob("$ibx->{inboxdir}/xap*/*")); is(scalar(@new_shards), $R, 'resharded to two shards'); my $msgs = $ibx->search->query('s:this'); is(scalar(@$msgs), $ndoc, 'got expected docs after resharding');