gitweb: fill in gitweb configuration by Makefile
Generate gitweb/gitweb.cgi to reduce the need to patch gitweb.cgi by the end user. The GIT installation directory is already known by the Makefile, and can be inserted directly into gitweb. All other gitweb configuration parameters can now be specified by providing GITWEB_* variables while building GIT. These are described in gitweb/README. Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
6326b60cfd
commit
5d043a3d85
25
Makefile
25
Makefile
@ -116,6 +116,13 @@ template_dir = $(prefix)/share/git-core/templates/
|
|||||||
GIT_PYTHON_DIR = $(prefix)/share/git-core/python
|
GIT_PYTHON_DIR = $(prefix)/share/git-core/python
|
||||||
# DESTDIR=
|
# DESTDIR=
|
||||||
|
|
||||||
|
# default configuration for gitweb
|
||||||
|
GITWEB_SITENAME =
|
||||||
|
GITWEB_PROJECTROOT = /pub/git
|
||||||
|
GITWEB_LIST =
|
||||||
|
GITWEB_HOMETEXT = indextext.html
|
||||||
|
GITWEB_CSS = gitweb.css
|
||||||
|
|
||||||
export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR
|
export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
@ -514,7 +521,7 @@ LIB_OBJS += $(COMPAT_OBJS)
|
|||||||
export prefix TAR INSTALL DESTDIR SHELL_PATH template_dir
|
export prefix TAR INSTALL DESTDIR SHELL_PATH template_dir
|
||||||
### Build rules
|
### Build rules
|
||||||
|
|
||||||
all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk
|
all: $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk gitweb/gitweb.cgi
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(MAKE) -C templates
|
$(MAKE) -C templates
|
||||||
@ -572,6 +579,20 @@ git-status: git-commit
|
|||||||
cp $< $@+
|
cp $< $@+
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
|
gitweb/gitweb.cgi: gitweb/gitweb.perl
|
||||||
|
rm -f $@ $@+
|
||||||
|
sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
|
||||||
|
-e 's|@@GIT_VERSION@@|$(GIT_VERSION)|g' \
|
||||||
|
-e 's|@@GIT_BINDIR@@|$(bindir)|g' \
|
||||||
|
-e 's|@@GITWEB_SITENAME@@|$(GITWEB_SITENAME)|g' \
|
||||||
|
-e 's|@@GITWEB_PROJECTROOT@@|$(GITWEB_PROJECTROOT)|g' \
|
||||||
|
-e 's|@@GITWEB_LIST@@|$(GITWEB_LIST)|g' \
|
||||||
|
-e 's|@@GITWEB_HOMETEXT@@|$(GITWEB_HOMETEXT)|g' \
|
||||||
|
-e 's|@@GITWEB_CSS@@|$(GITWEB_CSS)|g' \
|
||||||
|
$< >$@+
|
||||||
|
chmod +x $@+
|
||||||
|
mv $@+ $@
|
||||||
|
|
||||||
git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
|
git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
|
||||||
rm -f $@ $@+
|
rm -f $@ $@+
|
||||||
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
|
||||||
@ -582,7 +603,7 @@ git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/gitweb.css
|
|||||||
-e '/@@GITWEB_CGI@@/d' \
|
-e '/@@GITWEB_CGI@@/d' \
|
||||||
-e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
|
-e '/@@GITWEB_CSS@@/r gitweb/gitweb.css' \
|
||||||
-e '/@@GITWEB_CSS@@/d' \
|
-e '/@@GITWEB_CSS@@/d' \
|
||||||
$@.sh | sed "s|/usr/bin/git|$(bindir)/git|" > $@+
|
$@.sh > $@+
|
||||||
chmod +x $@+
|
chmod +x $@+
|
||||||
mv $@+ $@
|
mv $@+ $@
|
||||||
|
|
||||||
|
@ -5,5 +5,22 @@ The one working on:
|
|||||||
|
|
||||||
From the git version 1.4.0 gitweb is bundled with git.
|
From the git version 1.4.0 gitweb is bundled with git.
|
||||||
|
|
||||||
|
|
||||||
|
How to configure gitweb for your local system:
|
||||||
|
|
||||||
|
You can specify the following configuration variables when building GIT:
|
||||||
|
* GITWEB_SITENAME
|
||||||
|
Shown in the title of all generated pages, defaults to the servers name.
|
||||||
|
* GITWEB_PROJECTROOT
|
||||||
|
The root directory for all projects shown by gitweb.
|
||||||
|
* GITWEB_LIST
|
||||||
|
points to a directory to scan for projects (defaults to project root)
|
||||||
|
or to a file for explicit listing of projects.
|
||||||
|
* GITWEB_HOMETEXT
|
||||||
|
points to an .html file which is included on the gitweb project
|
||||||
|
overview page.
|
||||||
|
* GITWEB_CSS
|
||||||
|
Points to the location where you put gitweb.css on your web server.
|
||||||
|
|
||||||
Any comment/question/concern to:
|
Any comment/question/concern to:
|
||||||
Kay Sievers <kay.sievers@vrfy.org>
|
Kay Sievers <kay.sievers@vrfy.org>
|
||||||
|
@ -18,18 +18,18 @@ use File::Find qw();
|
|||||||
binmode STDOUT, ':utf8';
|
binmode STDOUT, ':utf8';
|
||||||
|
|
||||||
our $cgi = new CGI;
|
our $cgi = new CGI;
|
||||||
our $version = "267";
|
our $version = "@@GIT_VERSION@@";
|
||||||
our $my_url = $cgi->url();
|
our $my_url = $cgi->url();
|
||||||
our $my_uri = $cgi->url(-absolute => 1);
|
our $my_uri = $cgi->url(-absolute => 1);
|
||||||
our $rss_link = "";
|
our $rss_link = "";
|
||||||
|
|
||||||
# core git executable to use
|
# core git executable to use
|
||||||
# this can just be "git" if your webserver has a sensible PATH
|
# this can just be "git" if your webserver has a sensible PATH
|
||||||
our $GIT = "/usr/bin/git";
|
our $GIT = "@@GIT_BINDIR@@/git";
|
||||||
|
|
||||||
# absolute fs-path which will be prepended to the project path
|
# absolute fs-path which will be prepended to the project path
|
||||||
#our $projectroot = "/pub/scm";
|
#our $projectroot = "/pub/scm";
|
||||||
our $projectroot = "/home/kay/public_html/pub/scm";
|
our $projectroot = "@@GITWEB_PROJECTROOT@@";
|
||||||
|
|
||||||
# version of the core git binary
|
# version of the core git binary
|
||||||
our $git_version = qx($GIT --version) =~ m/git version (.*)$/ ? $1 : "unknown";
|
our $git_version = qx($GIT --version) =~ m/git version (.*)$/ ? $1 : "unknown";
|
||||||
@ -45,17 +45,16 @@ our $home_link = $my_uri;
|
|||||||
|
|
||||||
# name of your site or organization to appear in page titles
|
# name of your site or organization to appear in page titles
|
||||||
# replace this with something more descriptive for clearer bookmarks
|
# replace this with something more descriptive for clearer bookmarks
|
||||||
our $site_name = $ENV{'SERVER_NAME'} || "Untitled";
|
our $site_name = "@@GITWEB_SITENAME@@" || $ENV{'SERVER_NAME'} || "Untitled";
|
||||||
|
|
||||||
# html text to include at home page
|
# html text to include at home page
|
||||||
our $home_text = "indextext.html";
|
our $home_text = "@@GITWEB_HOMETEXT@@";
|
||||||
|
|
||||||
# URI of default stylesheet
|
# URI of default stylesheet
|
||||||
our $stylesheet = "gitweb.css";
|
our $stylesheet = "@@GITWEB_CSS@@";
|
||||||
|
|
||||||
# source of projects list
|
# source of projects list
|
||||||
#our $projects_list = $projectroot;
|
our $projects_list = "@@GITWEB_LIST@@" || "$projectroot";
|
||||||
our $projects_list = "index/index.aux";
|
|
||||||
|
|
||||||
# default blob_plain mimetype and default charset for text/plain blob
|
# default blob_plain mimetype and default charset for text/plain blob
|
||||||
our $default_blob_plain_mimetype = 'text/plain';
|
our $default_blob_plain_mimetype = 'text/plain';
|
Reference in New Issue
Block a user