From 3c39f9c942a6975245fda878e9b957d8d3367662 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 16 Oct 2019 08:59:55 +0000 Subject: config: support "inboxdir" in addition to "mainrepo" "mainrepo" ws a bad name and artifact from the early days when I intended for there to be a "spamrepo" (now just the ENV{PI_EMERGENCY} Maildir). With v2, "mainrepo" can be especially confusing, since v2 needs at least two git repositories (epoch + all.git) to function and we shouldn't confuse users by having them point to a git repository for v2. Much of our documentation already references "INBOX_DIR" for command-line arguments, so use "inboxdir" as the git-config(1)-friendly variant for that. "mainrepo" remains supported indefinitely for compatibility. Users may need to revert to old versions, or may be referring to old documentation and must not be forced to change config files to account for this change. So if you're using "mainrepo" today, I do NOT recommend changing it right away because other bugs can lurk. Link: https://public-inbox.org/meta/874l0ice8v.fsf@alyssa.is/ --- lib/PublicInbox/Config.pm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/Config.pm') diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 509de0a0..2da202f9 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -93,7 +93,7 @@ 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; + defined($self->{"publicinbox.$1.inboxdir"}) or next; my $ibx = lookup_name($self, $1) or next; $cb->($ibx); } @@ -362,12 +362,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 +389,7 @@ sub _fill { } } - return unless $ibx->{mainrepo}; + return unless $ibx->{inboxdir}; my $name = $pfx; $name =~ s/\Apublicinbox\.//; -- cgit v1.2.3-24-ge0c7 From 144eddbc7abaca320773dda514589a3198c8f58c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 16 Oct 2019 09:58:08 +0000 Subject: config: remove redundant inboxdir check This was causing compatibility problems for old configs when using public-inbox-nntpd. --- lib/PublicInbox/Config.pm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/PublicInbox/Config.pm') diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 2da202f9..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.inboxdir"}) or next; my $ibx = lookup_name($self, $1) or next; $cb->($ibx); } @@ -389,7 +388,7 @@ sub _fill { } } - return unless $ibx->{inboxdir}; + return unless defined($ibx->{inboxdir}); my $name = $pfx; $name =~ s/\Apublicinbox\.//; -- cgit v1.2.3-24-ge0c7