threads / rfc / 7268

RFC patchDocumentation: git-daemon inetd configuration fix

Subject: [PATCH/RFC] Documentation: git-daemon inetd configuration fix

## tl;dr

3 messages between Mar 16, 2007 and Mar 16, 2007. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Matthias Kestenholz· Mar 16, 2007, 07:54 UTC · lore
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch>
---
 Documentation/git-daemon.txt |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
 
 On my debian server, this change was needed to get git-daemon running.
 I am no inetd expert, so I don't know where the error was.
 Perhaps this patch might help someone else.
Show changes to Documentation/git-daemon.txt +2 −2
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 9ddab71..499c1f3 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -177,7 +177,7 @@ git-daemon as inetd server::
 +
 ------------------------------------------------
 	git stream tcp nowait nobody  /usr/bin/git-daemon
-		git-daemon --inetd --verbose --export-all
+		/usr/bin/git-daemon --inetd --verbose --export-all
 		/pub/foo /pub/bar
 ------------------------------------------------
 
@@ -190,7 +190,7 @@ git-daemon as inetd server for virtual hosts::
 +
 ------------------------------------------------
 	git stream tcp nowait nobody /usr/bin/git-daemon
-		git-daemon --inetd --verbose --export-all
+		/usr/bin/git-daemon --inetd --verbose --export-all
 		--interpolated-path=/pub/%H%D
 		/pub/www.example.org/software
 		/pub/www.example.com/software
-- 
1.5.0.4.1009.gd3da
Junio C Hamano· Mar 16, 2007, 08:43 UTC · re: Matthias Kestenholz · lore

Re: [PATCH/RFC] Documentation: git-daemon inetd configuration fix

Matthias Kestenholz <matthias@spinlock.ch> writes:
Show 18 quoted lines
>  On my debian server, this change was needed to get git-daemon running.
>  I am no inetd expert, so I don't know where the error was.
>
>  Perhaps this patch might help someone else.
>
>
> diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
> index 9ddab71..499c1f3 100644
> --- a/Documentation/git-daemon.txt
> +++ b/Documentation/git-daemon.txt
> @@ -177,7 +177,7 @@ git-daemon as inetd server::
>  +
>  ------------------------------------------------
>  	git stream tcp nowait nobody  /usr/bin/git-daemon
> -		git-daemon --inetd --verbose --export-all
> +		/usr/bin/git-daemon --inetd --verbose --export-all
>  		/pub/foo /pub/bar
>  ------------------------------------------------

That sounds _very_ wrong. What you changed is argv[0] (i.e. the beginning of "service program arguments" field) and it should not matter what you have there for inetd to launch git-daemon. Presumably your inetd runs with /usr/bin in your path so even the "service program" field (the one after 'nobody') should not need the full path (but it is a good idea to be explicit in that field as a principle), but needing the full path in argv[0]?

On _my_ debian box, I do not need a full path there, so it is not even Debian in general but problem is on your particular box. Can you dig a bit more to see what you are doing any differently?

For example, do you really mean the "service program arguments" field that matters?

One plausible mistake scenario you _could_ have made is something like this. You compile git yourself and install it in /home/matt/bin/git-daemon, and you needed to spell that path out in "service program" field, but you found it out by trial and error, and during that experiment you did not change "service program" field (which actually matters) but "service program arguments" field first. And the working configuration you happened to end up with was like this:

	git stream tcp nowait nobody /home/matt/bin/git-daemon \
        	/home/matt/bin/git-daemon --inetd ...
and then you tried to generalize it like this:
	git stream tcp nowait nobody /usr/bin/git-daemon \
        	/usr/bin/git-daemon --inetd ...

For one thing, I just tried to make sure argv[0] does not matter at all by having this entry in my inetd.conf:

	git stream tcp nowait nobody /git/bin/git-daemon \
        	foobla --inetd ...

/git/bin is where I installed my git. If I replace foobla with anything else, it responds just fine.

Matthias Kestenholz· Mar 16, 2007, 09:02 UTC · re: Junio C Hamano · lore

Re: [PATCH/RFC] Documentation: git-daemon inetd configuration fix

On Fri, 2007-03-16 at 01:43 -0700, Junio C Hamano wrote:
Show 37 quoted lines
> Matthias Kestenholz <matthias@spinlock.ch> writes:
> 
> >  On my debian server, this change was needed to get git-daemon running.
> >  I am no inetd expert, so I don't know where the error was.
> >
> >  Perhaps this patch might help someone else.
> >
> >
> > diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
> > index 9ddab71..499c1f3 100644
> > --- a/Documentation/git-daemon.txt
> > +++ b/Documentation/git-daemon.txt
> > @@ -177,7 +177,7 @@ git-daemon as inetd server::
> >  +
> >  ------------------------------------------------
> >  	git stream tcp nowait nobody  /usr/bin/git-daemon
> > -		git-daemon --inetd --verbose --export-all
> > +		/usr/bin/git-daemon --inetd --verbose --export-all
> >  		/pub/foo /pub/bar
> >  ------------------------------------------------
> 
> That sounds _very_ wrong.  What you changed is argv[0] (i.e. the
> beginning of "service program arguments" field) and it should
> not matter what you have there for inetd to launch git-daemon.
> Presumably your inetd runs with /usr/bin in your path so even
> the "service program" field (the one after 'nobody') should not
> need the full path (but it is a good idea to be explicit in that
> field as a principle), but needing the full path in argv[0]?
> 
> On _my_ debian box, I do not need a full path there, so it is
> not even Debian in general but problem is on your particular
> box.  Can you dig a bit more to see what you are doing any
> differently?
> 
> For example, do you really mean the "service program arguments"
> field that matters?
> 

Uhm... I don't get it. I changed the second /usr/bin/git-daemon back to git-dameon (and even to "foo") and it continues working after restarting inetd.

I cannot reproduce the problem I had earlier, but everything works fine with the line from the docs now.

Btw, git is installed in /usr/bin , so that cannot be the reason for the failure I saw.

Oh well, sorry for the noise and thanks for the fast response.
	Matthias

← back to recent threads