From: Peter Vereshagin <peter@vereshagin•org>
To: Jakub Narebski <jnareb@gmail•com>
Cc: Petr Baudis <pasky@suse•cz>, Petr Baudis <pasky@ucw•cz>,
Eric Wong <normalperson@yhbt•net>,
git@vger•kernel.org, Sam Vilain <sam.vilain@catalyst•net.nz>,
Juan Jose Comellas <juanjo@comellas•org>,
John Goerzen <jgoerzen@complete•org>
Subject: Re: [PATCH 0/2] gitweb: Add support for running gitweb as FastCGI script
Date: Mon, 10 May 2010 11:13:40 +0400 [thread overview]
Message-ID: <20100510071340.GA3382@screwed.box> (raw)
In-Reply-To: <201005092018.54580.jnareb@gmail.com>
Hey Jakub don't wanna cause you pain but the big boys feel no sorrow!
2010/05/09 20:18:52 +0200 Jakub Narebski <jnareb@gmail•com> => To Peter Vereshagin :
Great! I was just about to ask on caching, etc. What a complex history on all
of that, will be on those tracks after some of my whiles. ;-)
JN> What are required changes to gitweb to use FCGI::Spawn to run gitweb as
JN> a FastCGI script? Alternatively, how the wrapper script for gitweb
JN> (gitweb.fcgi) to be run as FastCGI should look like to use FCGI::Spawn?
By far it's only an exit() of the what I use (1.6.0.6):
--- /usr/local/share/examples/git/gitweb/gitweb.cgi 2010-02-25 13:49:30.068287112 +0300
+++ www/gitweb.cgi 2010-03-13 14:28:45.326244103 +0300
@@ -933,7 +933,7 @@
die_error(400, "Project needed");
}
$actions{$action}->();
-exit;
+# exit;
## ======================================================================
## action links
@@ -3371,7 +3371,7 @@
</div>
EOF
git_footer_html();
- exit;
+# exit;
}
## ----------------------------------------------------------------------
but it's probably even not necessary with -e parameter:
http://search.cpan.org/~veresc/FCGI-Spawn-0.16.1/fcgi_spawn#Command_line_options
which is definitely required for bugzilla, the worst boy in that sandbox. The
parameter does just this:
===
my $cref = sub {
if( 'FCGI::ProcManager' eq scalar caller ){
CORE::exit @_;
} else {
no warnings;
last CALLED_OUT;
}
};
*CORE::GLOBAL::exit = $cref;
*CORE::GLOBAL::exit;
===
so this requires configuration
( $PREFIX/etc/fcgi_spawn/preload_nonprepared_01.pl, in my case ) for fcgi_spawn
daemon like this:
===
$spawn->{ callout } = sub{ do shift;
CALLED_OUT:
};
===
all of that is not needed without exit() in gitweb, now.
I didn't mean FCGI::PM is a problem by itself. The standalone gitweb daemon is
great thing for those who need such a choice. FCGI::Spawn is just for some
different task: to put several ( wish to say: any CGI app ) applications inside
the same fork()ed processes. It should be just obviously documented for a user
as a dependency for implementation of a gitweb fastcgi daemon. Although I'm not
sure if the FCGI::PM package should be a dependency for git package for any OS:
for those modules use()d in eval() my guess is: particular user's choice to be
offered.
So FCGI::PM usage I think makes a flavor taste for any daemon and thus should
be explicit. YMMV for those uninvolved in daemonizing, of course. ;-)
Is it probable that gitweb doesn't take any POSTs requests? The main trick
around FCGI::Spawn is the need to patch the CGI.pm but if that is the case...
I'd try to redefine the STDIN to /dev/null or zero so FCGI.Spawn.CGI.pm.patch
should be unnecessary for one who only wants to run the gitweb in FCGI::Spawn.
If switch to FCGI.pm will be way complicated to me.
73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB 12F8 0CE1 4AAC A0E2 6627)
--
http://vereshagin.org
next prev parent reply other threads:[~2010-05-10 7:13 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-07 12:54 [PATCH 0/2] gitweb: Add support for running gitweb as FastCGI script Jakub Narebski
2010-05-07 12:54 ` [PATCH/RFC 1/2] gitweb: Put all per-connection code in run() subroutine Jakub Narebski
2010-05-07 12:54 ` [RFC/PATCH 2/2] gitweb: Add support for FastCGI, using CGI::Fast Jakub Narebski
2010-05-08 7:59 ` [RFC/PATCHv2 " Jakub Narebski
2010-05-08 22:41 ` [PATCH 0/2] gitweb: Add support for running gitweb as FastCGI script Jakub Narebski
2010-05-09 9:31 ` Eric Wong
2010-05-09 11:48 ` Ævar Arnfjörð Bjarmason
2010-05-09 12:39 ` Jakub Narebski
2010-05-09 16:47 ` Peter Vereshagin
2010-05-09 18:18 ` Jakub Narebski
2010-05-10 7:13 ` Peter Vereshagin [this message]
2010-05-10 15:29 ` Jakub Narebski
2010-05-11 6:24 ` Peter Vereshagin
2010-05-11 8:35 ` Petr Baudis
2010-05-11 10:58 ` Jakub Narebski
2010-05-11 12:09 ` Peter Vereshagin
2010-05-11 13:51 ` Jakub Narebski
2010-05-13 13:10 ` Peter Vereshagin
2010-05-13 17:13 ` Ævar Arnfjörð Bjarmason
2010-05-14 15:58 ` Peter Vereshagin
2010-05-14 10:53 ` Jakub Narebski
2010-05-14 15:36 ` Peter Vereshagin
2010-05-14 17:58 ` Jakub Narebski
2010-05-14 18:43 ` Jakub Narebski
2010-05-15 10:06 ` Peter Vereshagin
2010-05-15 13:58 ` Jakub Narebski
2010-05-16 10:15 ` Peter Vereshagin
2010-05-18 1:06 ` Jakub Narebski
2010-05-16 10:26 ` Petr Baudis
2010-05-15 11:51 ` Petr Baudis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100510071340.GA3382@screwed.box \
--to=peter@vereshagin$(echo .)org \
--cc=git@vger$(echo .)kernel.org \
--cc=jgoerzen@complete$(echo .)org \
--cc=jnareb@gmail$(echo .)com \
--cc=juanjo@comellas$(echo .)org \
--cc=normalperson@yhbt$(echo .)net \
--cc=pasky@suse$(echo .)cz \
--cc=pasky@ucw$(echo .)cz \
--cc=sam.vilain@catalyst$(echo .)net.nz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox