From: Greg Brockman <gdb@mit.edu>
Date: Thu, 5 Aug 2010 03:25:39 +0000 (-0400)
Subject: Add gitweb configuration
X-Git-Tag: 0.1.7~1
X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/10012db3d6895a5b99d6b502005f7cee83a9cacd

Add gitweb configuration
---

diff --git a/debian/changelog b/debian/changelog
index f196abb..bc78e84 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ invirt-web (0.1.6) unstable; urgency=low
 
   * Remove crufty invirt-web-iptables files
   * Switch to git from svn
+  * Add gitweb configuration
 
  -- Greg Brockman <gdb@mit.edu>  Sat, 14 Aug 2010 00:46:44 -0400
 
diff --git a/debian/control b/debian/control
index 9942c8a..187c6b9 100644
--- a/debian/control
+++ b/debian/control
@@ -23,7 +23,7 @@ Depends: ${misc:Depends},
  kstart,
  debathena-afs-config, openafs-modules-xen,
  mail-transport-agent, subversion, zephyr-clients,
- cron,
+ cron, gitweb
 Provides: ${diverted-files}
 Conflicts: ${diverted-files}
 Replaces: invirt-web-iptables (<= 0.0.2)
diff --git a/debian/rules b/debian/rules
index ec1e18d..1ddf633 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,7 +2,9 @@
 
 DEB_DIVERT_EXTENSION = .invirt
 DEB_DIVERT_FILES_invirt-web += \
-    /etc/init.d/apache2
+    /etc/apache2/conf.d/gitweb \
+    /etc/init.d/apache2 \
+    /etc/gitweb.conf \
 
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/rules/config-package.mk
diff --git a/files/etc/apache2/conf.d/gitweb.invirt b/files/etc/apache2/conf.d/gitweb.invirt
new file mode 100644
index 0000000..4d617a6
--- /dev/null
+++ b/files/etc/apache2/conf.d/gitweb.invirt
@@ -0,0 +1,7 @@
+<Directory /usr/share/gitweb>
+  Options FollowSymLinks +ExecCGI
+  AddHandler cgi-script .cgi
+</Directory>
+
+AliasMatch ^/(git-favicon\.png|git-logo\.png|gitweb\.css|gitweb\.js)$ /usr/share/gitweb/$1
+AliasMatch ^/gitweb(/.*)?$ /usr/share/gitweb/index.cgi$1
diff --git a/files/etc/apache2/sites-available/default.mako b/files/etc/apache2/sites-available/default.mako
index 9a2943d..37ea6e1 100644
--- a/files/etc/apache2/sites-available/default.mako
+++ b/files/etc/apache2/sites-available/default.mako
@@ -22,6 +22,8 @@ NameVirtualHost *:80
 	RewriteRule ^/admin/static(.*) /static/$1 [L]
 	RewriteRule ^/trac(.*) ${tracuri}$1 [R,L]
 	RewriteRule ^/invirt - [L]
+	RewriteRule ^/(git-favicon\.png|git-logo\.png|gitweb\.css|gitweb\.js)$ - [L]
+	RewriteRule ^/gitweb(/.*)?$ - [L]
 	RewriteRule ^/(.*) /var/www/invirt-web/unauth.fcgi/$1 [L]
 
 	ErrorLog /var/log/apache2/error.log
diff --git a/files/etc/gitweb.conf.invirt b/files/etc/gitweb.conf.invirt
new file mode 100644
index 0000000..24bb270
--- /dev/null
+++ b/files/etc/gitweb.conf.invirt
@@ -0,0 +1,33 @@
+# path to git projects (<project>.git)
+$projectroot = "/srv/git";
+
+# directory to use for temp files
+$git_temp = "/tmp";
+
+# target of the home link on top of all pages
+#$home_link = $my_uri || "/";
+
+# html text to include at home page
+$home_text = "indextext.html";
+
+# file with project list; by default, simply scan the projectroot dir.
+$projects_list = $projectroot;
+
+# stylesheet to use
+$stylesheet = "gitweb.css";
+
+# javascript code for gitweb
+$javascript = "gitweb.js";
+
+# logo to use
+$logo = "git-logo.png";
+
+# the 'favicon'
+$favicon = "git-favicon.png";
+
+$feature{'pathinfo'}{'default'} = [1];
+$feature{'avatar'}{'default'} = ['gravatar'];
+
+@git_base_url_list = qw(git://xvm.mit.edu git@xvm.mit.edu:/srv/repository);
+
+1;