On Tue, Jan 23, 2007 at 09:06:28AM +0100, Jim Meyering wrote: > ...[Bruno couldn't clone coreutils.git] > I wrote: > > Yep, something happened on savannah that made git stop working for > > everyone. I followed that mailing list thread, and instrumented my local > > copy of git. Then, cloning shows the problem: > > > > $ git-clone git://git.sv.gnu.org/coreutils > > Initialized empty Git repository in /t/.j/coreutils/.git/ > > error: protocol error: bad line length character > > <<<<< > > env: git-daemon: No such file or directory > > > > >>>>> > > fatal: protocol error: bad line length character > > fetch-pack from 'git://git.sv.gnu.org/coreutils' failed. > > [Exit 1] > > > > Something (git-shell?) is using env to invoke git-daemon, > > but git-daemon is not in PATH. > > > > I'll look into it in the morning. > > I've fixed it. > Somehow /etc/xinet.d/git had this: > > passenv = PATH > server = /usr/bin/env > server_args = git-daemon --inetd --export-all > --base-path=/srv/git /srv/git > > while PATH apparently does not include /usr/local/bin. > I changed it to this: > > passenv = PATH > server = /usr/local/bin/git-daemon > server_args = --inetd --export-all --base-path=/srv/git /srv/git > > and restarted xinetd.
The default vserver PATH doesn't include /usr/local. Nor does the default init PATH. Nor does the default Debian 'rc' PATH. Do you know why btw? I fail to see why distros won't allow easy extension through /usr/local :( What had happened is: - I restarted xinetd using invoke-rc.d and root's PATH, which include /usr/local - I tested and it worked - I rebooted Savannah days later - The xinetd PATH 'reset' to /usr - git could not be launched through env/PATH Pfa. I added a new PATH in /etc/vservers/.defaults/apps/init/environment that includes /usr/local. This will be overriden by Etch's /etc/init.d/rc which has a hard-coded PATH as well, so I need to find a fix for that as well... http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=227540 For now I didn't revert /etc/xinetd.d/git. -- Sylvain
