Subject: [PATCH] instaweb: make the perl path configurable

From: Charles McGarvey <[email-masked]>
Date: Tue, 11 Jun 2013 14:14:05 -0600

It is convenient for the user to be able to customize the path to perl if they
do not want to use the system perl.  This may be the case, for example, if the
user wants to use the plackup httpd but its extra dependencies are not
installed in the system perl; they can set the perl path to a perl that they
install and have control over in their own home directory.

Signed-off-by: Charles McGarvey <[email-masked]>
---
 Documentation/config.txt | 4 ++++
 git-instaweb.sh          | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 6e53fc5..e103594 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1549,6 +1549,10 @@ instaweb.modulepath::
 	instead of /usr/lib/apache2/modules.  Only used if httpd
 	is Apache.
 
+instaweb.perlpath::
+	The path to the perl executable used by linkgit:git-instaweb[1] to
+	run gitweb and/or verify that the HTTP daemon is running.
+
 instaweb.port::
 	The port number to bind the gitweb httpd to. See
 	linkgit:git-instaweb[1].
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 01a1b05..8cfbdf2 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -3,7 +3,6 @@
 # Copyright (c) 2006 Eric Wong
 #
 
-PERL='@@PERL@@'
 OPTIONS_KEEPDASHDASH=
 OPTIONS_SPEC="\
 git instaweb [options] (--start | --stop | --restart)
@@ -26,9 +25,12 @@ local="$(git config --bool --get instaweb.local)"
 httpd="$(git config --get instaweb.httpd)"
 root="$(git config --get instaweb.gitwebdir)"
 port=$(git config --get instaweb.port)
+perl_path="$(git config --get instaweb.perlpath)"
 module_path="$(git config --get instaweb.modulepath)"
 action="browse"
 
+PERL=${perl_path:-@@PERL@@}
+
 conf="$GIT_DIR/gitweb/httpd.conf"
 
 # Defaults:
-- 
1.8.1.5