When in apache2 mode if there isn't an apache2 command on the
system but there is a httpd command installed (like there is
on Mac OS X) use that command instead.
When in apache2 mode and there isn't a module_path specified, look for
module paths in /usr/lib/apache2/modules _and_ /usr/libexec/apache2,
in that order.
Added a LockFile directive to the apache2 config because the default
location of /private/var/run is only root-writeable on Mac OS X.
Signed-off-by: nathan spindel <nathans@gmail.com>
---
git-instaweb.sh | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 54 insertions(+), 1 deletions(-)
diff --git a/git-instaweb.sh b/git-instaweb.sh
index 6f91c8f..00e147f 100755
--- a/git-instaweb.sh
+++ b/git-instaweb.sh
@@ -172,7 +172,59 @@ EOF
}
apache2_conf () {
- test -z "$module_path" && module_path=/usr/lib/apache2/modules
+ # if there isn't an apache2 command on the system but there
+ # is a httpd command which looks like apache, use that instead
+ # for Mac OS X compatibility.
+ httpd_only="`echo $httpd | cut -f1 -d' '`"
+ if ! type $httpd_only > /dev/null 2>&1
+ then
+ found_apache_command=1
+ httpd_parent_paths="/usr/local/sbin /usr/sbin"
+ for i in $httpd_parent_paths; do
+ if test -x "$i/$httpd_only"
+ then
+ found_apache_command=0
+ break
+ fi
+ done
+
+ if test $found_apache_command != 0
+ then
+ alt_apache="httpd"
+ if type $alt_apache > /dev/null 2>&1
+ then
+ $alt_apache -v | grep Apache > /dev/null 2>&1
+ if test $? == 0
+ then
+ httpd=`echo "$httpd" | sed "s/apache2/httpd/"`
+ else
+ for i in $httpd_parent_paths; do
+ if test -x "$i/$alt_apache"
+ then
+ $i/$alt_apache -v | grep Apache > /dev/null 2>&1
+ if test $? == 0
+ then
+ httpd=`echo "$httpd" | sed "s/apache2/httpd/"`
+ break
+ fi
+ fi
+ done
+ fi
+ fi
+ fi
+ fi
+
+ if test -z "$module_path"
+ then
+ for path in /usr/lib/apache2/modules /usr/libexec/apache2; do
+ if test -d "$path"
+ then
+ module_path="$path"
+ break
+ fi
+ done
+ fi
+
mkdir -p "$GIT_DIR/gitweb/logs"
bind=
test x"$local" = xtrue && bind='127.0.0.1:'
@@ -182,6 +234,7 @@ ServerName "git-instaweb"
ServerRoot "$fqgitdir/gitweb"
DocumentRoot "$fqgitdir/gitweb"
PidFile "$fqgitdir/pid"
+LockFile "$fqgitdir/gitweb/logs/accept.lock"
Listen $bind$port
EOF
--
1.5.5.1.179.g2fe4.dirty
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html