# git-instaweb should 'just work' on Mac OS X

4 messages from 2008-05-10 to 2008-05-10. Participants: nathan spindel, Kevin Ballard.
Thread: https://gitlist.dev/t/13464

## nathan spindel, 2008-05-10 19:27

Subject: git-instaweb should 'just work' on Mac OS X
Message-ID: <B41867BF-1635-4611-9656-04F8C375BE61@gmail.com>
URL: https://gitlist.dev/e/B41867BF-1635-4611-9656-04F8C375BE61%40gmail.com

```
I've investigated what it would take for git-instaweb to 'just work' on
Mac OS X 10.5 when running the command with no arguments. This would be
of benefit to many Mac git users since they shouldn't be expected to
troubleshoot this problem. Here are the current issues at play:

  - lighttpd does not come with Mac OS X by default, so git-instaweb
    currently exits with "lighttpd not found...".

  - git-instaweb doesn't fallback to using other web servers on the  
system
    if the default command doesn't exist.

  - Mac OS X does come with webrick and 'git-instaweb -d webrick'  
_does_ just
    work. It's probably slower than Apache though (?).

  - Mac OS X also comes with mongrel, which is a great alternative, but
    git-instaweb doesn't support it.

  - Mac OS X's Apache installation is different than what git-instaweb
    expects in a couple areas:
    - the Apache binary is called 'httpd', not 'apache2', and git- 
instaweb
      only looks for the latter.
    - the modules on Mac OS X live in /usr/libexec/apache2 but by  
default
      git-instaweb looks for /usr/lib/apache2/modules.
    - Apache attempts to create its 'accept serialization lock file' at
      /private/var/run/ but that path is only writeable by root (a  
workaround
      is to add a LockFile directive to the conf file that places it
      in $fqgitdir/gitweb/tmp).

I'm interested in fixing this to make the experience smoother for Mac  
users.
What is the community's preferred avenue of fixing this?

-nathan

```

## Kevin Ballard, 2008-05-10 22:49

Subject: Re: git-instaweb should 'just work' on Mac OS X
Message-ID: <D1BFDAC1-A959-44BD-A562-D787A68612B1@sb.org>
URL: https://gitlist.dev/e/D1BFDAC1-A959-44BD-A562-D787A68612B1%40sb.org
In-Reply-To: <B41867BF-1635-4611-9656-04F8C375BE61@gmail.com>

```
On May 10, 2008, at 2:27 PM, nathan spindel wrote:

> I've investigated what it would take for git-instaweb to 'just work'  
> on
> Mac OS X 10.5 when running the command with no arguments. This would  
> be
> of benefit to many Mac git users since they shouldn't be expected to
> troubleshoot this problem. Here are the current issues at play:
>
> - lighttpd does not come with Mac OS X by default, so git-instaweb
>   currently exits with "lighttpd not found...".
>
> - git-instaweb doesn't fallback to using other web servers on the  
> system
>   if the default command doesn't exist.
>
> - Mac OS X does come with webrick and 'git-instaweb -d webrick'  
> _does_ just
>   work. It's probably slower than Apache though (?).
>
> - Mac OS X also comes with mongrel, which is a great alternative, but
>   git-instaweb doesn't support it.
>
> - Mac OS X's Apache installation is different than what git-instaweb
>   expects in a couple areas:
>   - the Apache binary is called 'httpd', not 'apache2', and git- 
> instaweb
>     only looks for the latter.
>   - the modules on Mac OS X live in /usr/libexec/apache2 but by  
> default
>     git-instaweb looks for /usr/lib/apache2/modules.
>   - Apache attempts to create its 'accept serialization lock file' at
>     /private/var/run/ but that path is only writeable by root (a  
> workaround
>     is to add a LockFile directive to the conf file that places it
>     in $fqgitdir/gitweb/tmp).
>
> I'm interested in fixing this to make the experience smoother for  
> Mac users.
> What is the community's preferred avenue of fixing this?

If I were to fix this, I'd suggest making apache2 work properly. I  
patched the git-svn tests to do this a while back, so you could look  
at what's I did there (3644da7214).

-Kevin Ballard

-- 
Kevin Ballard
http://kevin.sb.org
kevin@sb.org
http://www.tildesoft.com

```

## nathan spindel, 2008-05-10 23:19

Subject: Re: git-instaweb should 'just work' on Mac OS X
Message-ID: <F08C97B0-A7EE-4A32-9657-DCBDD291502A@gmail.com>
URL: https://gitlist.dev/e/F08C97B0-A7EE-4A32-9657-DCBDD291502A%40gmail.com
In-Reply-To: <D1BFDAC1-A959-44BD-A562-D787A68612B1@sb.org>

```
On May 10, 2008, at 3:49 PM, Kevin Ballard wrote:

> On May 10, 2008, at 2:27 PM, nathan spindel wrote:
>
>> I've investigated what it would take for git-instaweb to 'just  
>> work' on
>> Mac OS X 10.5 when running the command with no arguments. This  
>> would be
>> of benefit to many Mac git users since they shouldn't be expected to
>> troubleshoot this problem. Here are the current issues at play:
>>
>> - lighttpd does not come with Mac OS X by default, so git-instaweb
>>  currently exits with "lighttpd not found...".
>>
>> - git-instaweb doesn't fallback to using other web servers on the  
>> system
>>  if the default command doesn't exist.
>>
>> - Mac OS X does come with webrick and 'git-instaweb -d webrick'  
>> _does_ just
>>  work. It's probably slower than Apache though (?).
>>
>> - Mac OS X also comes with mongrel, which is a great alternative, but
>>  git-instaweb doesn't support it.
>>
>> - Mac OS X's Apache installation is different than what git-instaweb
>>  expects in a couple areas:
>>  - the Apache binary is called 'httpd', not 'apache2', and git- 
>> instaweb
>>    only looks for the latter.
>>  - the modules on Mac OS X live in /usr/libexec/apache2 but by  
>> default
>>    git-instaweb looks for /usr/lib/apache2/modules.
>>  - Apache attempts to create its 'accept serialization lock file' at
>>    /private/var/run/ but that path is only writeable by root (a  
>> workaround
>>    is to add a LockFile directive to the conf file that places it
>>    in $fqgitdir/gitweb/tmp).
>>
>> I'm interested in fixing this to make the experience smoother for  
>> Mac users.
>> What is the community's preferred avenue of fixing this?
>
> If I were to fix this, I'd suggest making apache2 work properly. I  
> patched the git-svn tests to do this a while back, so you could look  
> at what's I did there (3644da7214).

Thanks Kevin. Your patch is similar to how I imagined fixing apache2.

Would you suggest fixing the other non-starter issue (git-instaweb  
doesn't fallback to other daemons if the default doesn't exist)?  Or  
maybe changing the default to apache2 on Mac OS X installs (that seems  
like a poorer fix)?

-nathan

```

## Kevin Ballard, 2008-05-10 23:28

Subject: Re: git-instaweb should 'just work' on Mac OS X
Message-ID: <5B433437-76F8-4820-A638-48A80ECA3089@sb.org>
URL: https://gitlist.dev/e/5B433437-76F8-4820-A638-48A80ECA3089%40sb.org
In-Reply-To: <F08C97B0-A7EE-4A32-9657-DCBDD291502A@gmail.com>

```
On May 10, 2008, at 6:19 PM, nathan spindel wrote:

> On May 10, 2008, at 3:49 PM, Kevin Ballard wrote:
>
>> On May 10, 2008, at 2:27 PM, nathan spindel wrote:
>>
>>> I've investigated what it would take for git-instaweb to 'just  
>>> work' on
>>> Mac OS X 10.5 when running the command with no arguments. This  
>>> would be
>>> of benefit to many Mac git users since they shouldn't be expected to
>>> troubleshoot this problem. Here are the current issues at play:
>>>
>>> - lighttpd does not come with Mac OS X by default, so git-instaweb
>>> currently exits with "lighttpd not found...".
>>>
>>> - git-instaweb doesn't fallback to using other web servers on the  
>>> system
>>> if the default command doesn't exist.
>>>
>>> - Mac OS X does come with webrick and 'git-instaweb -d webrick'  
>>> _does_ just
>>> work. It's probably slower than Apache though (?).
>>>
>>> - Mac OS X also comes with mongrel, which is a great alternative,  
>>> but
>>> git-instaweb doesn't support it.
>>>
>>> - Mac OS X's Apache installation is different than what git-instaweb
>>> expects in a couple areas:
>>> - the Apache binary is called 'httpd', not 'apache2', and git- 
>>> instaweb
>>>   only looks for the latter.
>>> - the modules on Mac OS X live in /usr/libexec/apache2 but by  
>>> default
>>>   git-instaweb looks for /usr/lib/apache2/modules.
>>> - Apache attempts to create its 'accept serialization lock file' at
>>>   /private/var/run/ but that path is only writeable by root (a  
>>> workaround
>>>   is to add a LockFile directive to the conf file that places it
>>>   in $fqgitdir/gitweb/tmp).
>>>
>>> I'm interested in fixing this to make the experience smoother for  
>>> Mac users.
>>> What is the community's preferred avenue of fixing this?
>>
>> If I were to fix this, I'd suggest making apache2 work properly. I  
>> patched the git-svn tests to do this a while back, so you could  
>> look at what's I did there (3644da7214).
>
> Thanks Kevin. Your patch is similar to how I imagined fixing apache2.
>
> Would you suggest fixing the other non-starter issue (git-instaweb  
> doesn't fallback to other daemons if the default doesn't exist)?  Or  
> maybe changing the default to apache2 on Mac OS X installs (that  
> seems like a poorer fix)?

I would suggest making it fall back to apache2 if it can't find  
lighttpd.

-Kevin Ballard

-- 
Kevin Ballard
http://kevin.sb.org
kevin@sb.org
http://www.tildesoft.com

```
