[distcc] Remote distccd version-check

Martin Pool mbp at sourcefrog.net
Wed Mar 19 21:22:24 GMT 2003


On 19 Mar 2003, Wayne Davison <wayned at users.sourceforge.net> wrote:
> I was wanting to make my distcc_probe script interact with the distccd
> daemons in a nicer fashion (other than just closing the socket after
> connecting), 

Just closing the socket is fine.
 
> so I thought it would be good to add a version query to the
> protocol.  The idea is that the client connects to the remote distccd,
> sends "QVER00000000" (the padding seems to be necessary), and distccd
> responds with its version string and (the child process) exits.

I've wondered about adding this but I hadn't decided if it was just
fluff.

> While implementing this I noticed a bug in the dcc_r_request_header()
> function when it checks if the token is DIST or not -- the return
> value of dcc_r_token_int() is never -1, so that part of the function
> never returns a failure (the version check part of the function usually
> fails instead).

Thanks.

> Here's a patch that fixes the above bug and implements the QVER protocol
> extension:
> 
>     http://www.blorf.net/distccd-version.patch
> 
> My latest distcc_probe script is here:
> 
>     http://www.blorf.net/distcc_probe
> 
> After adding systems to the ~/.distcc_hosts file, you can use the script
> like this:
> 
>     eval `distcc_probe -v`
> 
> And this will cause PATH, DISTCC_HOSTS, and MAKEOPTS to be tweaked.  The
> last var is a gentoo-ism -- you may want to set MAKEFLAGS instead, or
> get in the habit of using "make $MAKEOPTS" in those cases where you want
> to use parallel compilation.

Very nice.

-- 
Martin


More information about the distcc mailing list