From: Jakub Narebski <jnareb@gmail.com>
To: git@vger.kernel.org
Subject: gitweb: Version independent mod_perl woes
Date: Thu, 21 Dec 2006 18:07:53 +0100 [thread overview]
Message-ID: <200612211807.54668.jnareb@gmail.com> (raw)
I try to make gitweb run under mod_perl without need to set up CGI
environmental variables, and without need to parse headers. I try to do
this in such a way that one will be able to run gitweb under mod_cgi
(as an ordinary CGI script), under mod_perl 1.0 Apache::registry and
under mod_perl 2.0 ModPerl::Registry without changes.
I'm trying to do the first part (running without need for SetupEnv),
but I'm encountering some strange errors and I'm stumped.
I have taken the version independent initialization from
http://perl.apache.org/docs/2.0/user/porting/porting.html#Making_Code_Conditional_on_Running_mod_perl_Version
-- >8 --
# Set the constant MP_GEN to 0 if mod_perl is not available,
# to 1 if running under mod_perl 1.0
# and 2 for mod_perl 2.0
use constant MP_GEN => $ENV{'MOD_PERL'}
? { ( exists $ENV{'MOD_PERL_API_VERSION'} and
$ENV{'MOD_PERL_API_VERSION'} >= 2 ) ? 2 : 1 }
: 0;
# use appropriate mod_perl modules (conditional use)
BEGIN {
if (MP_GEN == 2) {
require Apache2::RequestRec;
require Apache2::ServerRec;
require Apache2::Response;
require Apache2::Const;
import Apache2::RequestRec;
import Apache2::ServerRec;
Apache2::Const->import(-compile => qw(:common :http));
} elsif (MP_GEN == 1) {
require Apache;
require Apache::Constants;
import Apache;
Apache::Constants->import(qw(:common :http));
}
}
# mod_perl request
my $r;
$r = shift @_ if MP_GEN;
-- >8 --
Then later I try to use mod_perl rather than $ENV{'SERVER_NAME'}
-- >8 --
# name of your site or organization to appear in page titles
# replace this with something more descriptive for clearer bookmarks
our $site_name = "++GITWEB_SITENAME++"
|| (($r ? $r->server()->server_hostname() : $ENV{'SERVER_NAME'})
|| "Untitled") . " Git";
-- >8 --
but I'm encountering the following error:
Can't locate object method "server_hostname" via package "Apache2::ServerRec"
at /var/www/perl/gitweb/gitweb.cgi line 83.
What is strange from time to time it _works_.
Can anyone tell me what I'm doing wrong?
--
Jakub Narebski
Poland
next reply other threads:[~2006-12-21 17:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-21 17:07 Jakub Narebski [this message]
2006-12-21 17:51 ` gitweb: Version independent mod_perl woes Jakub Narebski
2006-12-21 18:09 ` Jakub Narebski
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200612211807.54668.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).