diff options
author | Jeff King <peff@peff.net> | 2006-08-02 15:23:34 -0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-02 13:56:34 -0700 |
commit | c8d138a8c004ebce6ef840cfcc7c47227c2d16ba (patch) | |
tree | fcd38550dee75598d7da521c329da4dc0f49d2c7 | |
parent | Makefile: gitweb/gitweb.cgi is now generated. (diff) | |
download | tgif-c8d138a8c004ebce6ef840cfcc7c47227c2d16ba.tar.xz |
gitweb: optionally read config from GITWEB_CONFIG
Configuration will first be taken from variables inside the gitweb.cgi
script, which in turn come from the Makefile. Afterwards, the contents of
GITWEB_CONFIG are read, overriding the builtin defaults.
This should eliminate the need for editing the gitweb script at all. Users
should edit the Makefile and/or add a config file.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | Makefile | 2 | ||||
-rwxr-xr-x | gitweb/gitweb.perl | 19 |
2 files changed, 14 insertions, 7 deletions
@@ -117,6 +117,7 @@ GIT_PYTHON_DIR = $(prefix)/share/git-core/python # DESTDIR= # default configuration for gitweb +GITWEB_CONFIG = gitweb_config.perl GITWEB_SITENAME = GITWEB_PROJECTROOT = /pub/git GITWEB_LIST = @@ -585,6 +586,7 @@ gitweb/gitweb.cgi: gitweb/gitweb.perl sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \ -e 's|@@GIT_VERSION@@|$(GIT_VERSION)|g' \ -e 's|@@GIT_BINDIR@@|$(bindir)|g' \ + -e 's|@@GITWEB_CONFIG@@|$(GITWEB_CONFIG)|g' \ -e 's|@@GITWEB_SITENAME@@|$(GITWEB_SITENAME)|g' \ -e 's|@@GITWEB_PROJECTROOT@@|$(GITWEB_PROJECTROOT)|g' \ -e 's|@@GITWEB_LIST@@|$(GITWEB_LIST)|g' \ diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 1db1414a0a..d5b2de8b3a 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -31,14 +31,8 @@ our $GIT = "@@GIT_BINDIR@@/git"; #our $projectroot = "/pub/scm"; our $projectroot = "@@GITWEB_PROJECTROOT@@"; -# version of the core git binary -our $git_version = qx($GIT --version) =~ m/git version (.*)$/ ? $1 : "unknown"; - # location for temporary files needed for diffs our $git_temp = "/tmp/gitweb"; -if (! -d $git_temp) { - mkdir($git_temp, 0700) || die_error("Couldn't mkdir $git_temp"); -} # target of the home link on top of all pages our $home_link = $my_uri; @@ -56,7 +50,7 @@ our $stylesheet = "@@GITWEB_CSS@@"; our $logo = "@@GITWEB_LOGO@@"; # source of projects list -our $projects_list = "@@GITWEB_LIST@@" || "$projectroot"; +our $projects_list = "@@GITWEB_LIST@@"; # default blob_plain mimetype and default charset for text/plain blob our $default_blob_plain_mimetype = 'text/plain'; @@ -66,6 +60,17 @@ our $default_text_plain_charset = undef; # (relative to the current git repository) our $mimetypes_file = undef; +our $GITWEB_CONFIG = "@@GITWEB_CONFIG@@"; +require $GITWEB_CONFIG if -e $GITWEB_CONFIG; + +# version of the core git binary +our $git_version = qx($GIT --version) =~ m/git version (.*)$/ ? $1 : "unknown"; + +$projects_list ||= $projectroot; +if (! -d $git_temp) { + mkdir($git_temp, 0700) || die_error("Couldn't mkdir $git_temp"); +} + # input validation and dispatch our $action = $cgi->param('a'); if (defined $action) { |