public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
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

  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