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 6072420248 for ; Tue, 12 Mar 2019 04:00:46 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 00/13] support parsing cgitrc and spawning cgit Date: Tue, 12 Mar 2019 04:00:33 +0000 Message-Id: <20190312040046.4619-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Parsing an existing cgitrc reduces the amount of work some for admins (who already maintain cgit instances) by allowing them to skip the tedious setup of of setting up [coderepo "..."] sections. We currently do not support "scan-path", "project-list" or macros in cgitrc processing, yet. So it's expected that "repo.url" and "repo.path" be configured in the cgitrc for each code repo. (I started using cgit in 2008 before cgit supported path scanning, and never updated my setup :x) Since cgit does not serve smart HTTP fetch/clone, we can intercept requests for those and route such requests to git-http-backend(1) using the same mechanisms we use for serving inboxes. Eric Wong (13): git: add "commit_title" method viewvcs: preliminary support for showing non-blobs viewvcs: match 8000-byte lookup for git spawn: support RLIMIT_CPU, RLIMIT_DATA and RLIMIT_CORE support publicinbox.cgitrc directive githttpbackend: move more psgi.input handling into subroutine githttpbackend: check for other errors and relax CRLF check spawn: support absolute paths cgit: support running cgit as a standalone CGI www: wire up cgit as a 404 handler if cgitrc is configured qspawn: wire up RLIMIT_* handling to limiters cgit: use a dedicated named limiter spawn: require soft and hard entries in RLIMIT_* handling Documentation/public-inbox-config.pod | 44 +++++++++++++- MANIFEST | 2 + examples/cgit.psgi | 29 +++++++++ lib/PublicInbox/Cgit.pm | 88 +++++++++++++++++++++++++++ lib/PublicInbox/Config.pm | 61 +++++++++++++++++-- lib/PublicInbox/Git.pm | 20 +++++- lib/PublicInbox/GitHTTPBackend.pm | 29 ++++----- lib/PublicInbox/Qspawn.pm | 41 ++++++++++++- lib/PublicInbox/SolverGit.pm | 14 +++-- lib/PublicInbox/Spawn.pm | 40 ++++++++++-- lib/PublicInbox/SpawnPP.pm | 9 ++- lib/PublicInbox/ViewVCS.pm | 34 ++++++++++- lib/PublicInbox/WWW.pm | 20 +++++- t/solver_git.t | 9 ++- t/spawn.t | 19 ++++++ 15 files changed, 416 insertions(+), 43 deletions(-) create mode 100644 examples/cgit.psgi create mode 100644 lib/PublicInbox/Cgit.pm -- EW