From d78f50649a5545d66a61b5465ca7f5ce4be398ea Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 19 Sep 2020 09:37:14 +0000 Subject: gcf2: wire up read-only daemons and rm -gcf2 script It seems easiest to have a singleton Gcf2Client client object per daemon worker for all inboxes to use. This reduces overall FD usage from pipes. The `public-inbox-gcf2' command + manpage are gone and a `$^X' one-liner is used, instead. This saves inodes for internal commands and hopefully makes it easier to avoid mismatched PERL5LIB include paths (as noticed during development :x). We'll also make the existing cat-file process management infrastructure more resilient to BOFHs on process killing sprees (or in case our libgit2-based code fails on us). (Rare) PublicInbox::WWW PSGI users NOT using public-inbox-httpd won't automatically benefit from this change, and extra configuration will be required (to be documented later). --- Documentation/public-inbox-gcf2.pod | 63 ------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 Documentation/public-inbox-gcf2.pod (limited to 'Documentation/public-inbox-gcf2.pod') diff --git a/Documentation/public-inbox-gcf2.pod b/Documentation/public-inbox-gcf2.pod deleted file mode 100644 index 813fbe7f..00000000 --- a/Documentation/public-inbox-gcf2.pod +++ /dev/null @@ -1,63 +0,0 @@ -=head1 NAME - -public-inbox-gcf2 - internal libgit2-based blob retriever - -=head1 SYNOPSIS - - This is an internal command used by public-inbox. - It may change unrecognizably or cease to exist at some point - -=head1 DESCRIPTION - -public-inbox-gcf2 is an optional internal process used by -public-inbox daemons for read-only access to underlying git -repositories. - -Users are NOT expected to run public-inbox-gcf2 on their own. -It replaces multiple C processes by treating -any git repos it knows about as alternates. - -None of its behaviors are stable and it is ALL subject to change -at any time. - -Any lines written to its standard input prefixed with a C -are interpreted as a git directory. That git directory -will be suffixed with "/objects" and treated as an alternate. -It writes nothing to stdout in this case. - -Otherwise it behaves like C, but only accepts -unabbreviated hexadecimal object IDs in its standard input. -Its output format is identical to C. It -only works for L inboxes and v1 -inboxes indexed by L. - -=head1 OPTIONS - -=head1 ENVIRONMENT - -=over 8 - -=item PERL_INLINE_DIRECTORY - -This must be set unless C<~/.cache/public-inbox/inline-c> -exists. C uses L and libgit2 -and compiles a small shim on its first run. - -=back - -=head1 CONTACT - -Feedback welcome via plain-text mail to L - -The mail archives are hosted at L -and L - -=head1 COPYRIGHT - -Copyright 2020 all contributors L - -License: AGPL-3.0+ L - -=head1 SEE ALSO - -L -- cgit v1.2.3-24-ge0c7