* [PATCH] Move config options into separate package.
@ 2006-03-23 2:49 Jon Loeliger
0 siblings, 0 replies; only message in thread
From: Jon Loeliger @ 2006-03-23 2:49 UTC (permalink / raw)
To: git
Allow new gitweb.cgi to be installed without having to
continually tinker with the site-specific configuration
options need for an install.
Signed-off-by: Jon Loeliger <jdl@jdl.com>
---
This patch can be pulled directly from the "jdl" branch here:
http://www.jdl.com/pub/software/gitweb.git
gitweb.cgi | 29 ++++++++++++-----------------
gitweb_config.pm | 42 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 17 deletions(-)
create mode 100644 gitweb_config.pm
a55eba90ac75a5f722b865e631a728d4a6446d07
diff --git a/gitweb.cgi b/gitweb.cgi
index c1bb624..4d3bcd6 100755
--- a/gitweb.cgi
+++ b/gitweb.cgi
@@ -16,31 +16,26 @@ use Encode;
use Fcntl ':mode';
binmode STDOUT, ':utf8';
+require gitweb_config;
+
my $cgi = new CGI;
my $version = "264";
my $my_url = $cgi->url();
my $my_uri = $cgi->url(-absolute => 1);
my $rss_link = "";
-# absolute fs-path which will be prepended to the project path
-#my $projectroot = "/pub/scm";
-my $projectroot = "/home/kay/public_html/pub/scm";
-
-# location of the git-core binaries
-my $gitbin = "/usr/bin";
-
-# location for temporary files needed for diffs
-my $git_temp = "/tmp/gitweb";
-
# target of the home link on top of all pages
-my $home_link = $my_uri;
+my $home_link = $my_uri;
-# html text to include at home page
-my $home_text = "indextext.html";
+# Get config values or use defaults.
+my $config_opts = gitweb_config::get_config_opts();
+my $gitbin = $config_opts->{gitbin} || "/usr/bin";
+my $git_temp = $config_opts->{git_temp} || "/tmp/gitweb";
+my $projectroot = $config_opts->{projectroot} || "/pub/scm";
+my $home_text = $config_opts->{home_text} || "indextext.html";
+my $projects_list = $config_opts->{projects_list} || "index/index.aux";
+my $description_len = $config_opts->{description_len} || 25;
-# source of projects list
-#my $projects_list = $projectroot;
-my $projects_list = "index/index.aux";
# input validation and dispatch
my $action = $cgi->param('a');
@@ -853,7 +848,7 @@ sub git_project_list {
$pr->{'commit'} = \%co;
if (!defined $pr->{'descr'}) {
my $descr = git_read_description($pr->{'path'}) || "";
- $pr->{'descr'} = chop_str($descr, 25, 5);
+ $pr->{'descr'} = chop_str($descr, $description_len, 5);
}
if (!defined $pr->{'owner'}) {
$pr->{'owner'} = get_file_owner("$projectroot/$pr->{'path'}") || "";
diff --git a/gitweb_config.pm b/gitweb_config.pm
new file mode 100644
index 0000000..d67fb34
--- /dev/null
+++ b/gitweb_config.pm
@@ -0,0 +1,42 @@
+#
+# This program is licensed under the GPLv2
+#
+
+#
+# Configuration Options for gitweb
+#
+# gitbin: Location of the git-core binaries
+# "/usr/bin"
+#
+# git_temp: Location for temporary files needed for diffs
+# "/tmp/gtiweb"
+#
+# projectroot: Absolute fs-path which will be prepended to the project path
+# "/pub/scm"
+# "/home/kay/public_html/pub/scm"
+#
+# projects_list: Source of projects list
+# "/pub/scm"
+# "index/index.aux"
+#
+# home_text: Html text to include at home page
+# "indextext.html"
+#
+# description_len: Length of description field
+# 25
+# 35
+
+package gitweb_config;
+
+my $opts = {
+ gitbin => "/usr/bin",
+ git_temp => "/tmp/gitweb",
+ projectroot => "/pub/software",
+ projects_list => "/pub/software",
+ home_text => "indextext.html",
+ description_len => 35,
+};
+
+sub get_config_opts { return $opts; }
+
+1;
--
1.2.4.gc98264
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2006-03-23 2:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-23 2:49 [PATCH] Move config options into separate package Jon Loeliger
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 NNTP newsgroup(s).