On Fri, Jul 25, 2008 at 9:39 AM, KELEMEN Peter <[EMAIL PROTECTED]> wrote:
> > > - the need for the right .ssh config files (distcc could be > > modified to create them automatically if you don't have them) > > This implies local storage for the users' .ssh files on > each distcc node... something we would like to avoid. The > administration of these files will soon become nightmarish as the > number of nodes/users grows. Hmm, fair point. > What do you mean by "build platform" in the context? > > Our users are building for various target platforms. For example, > RHEL4 is a target platform. In reality, a "platform" means > a certain combination of kernel/glibc/gcc which we aggressively > try to keep down to the minimum (by luring users into a locked-in > combo, say, by providing excess capacity for that platform). > > > How would a distccd server determine which build platforms it > > supports? > > We're not sure yet, hence the dialog. Ideally, the clients are > zeroconf, so, for example, we would like to prevent RHEL4 clients > submitting jobs to RHEL5 servers without the user having to > specify anything. Actually it should be fine for RHEL4 clients to submit jobs to RHEL5 servers, if their jobs are compiled using a cross-compiler to RHEL4. So the way that we handle this issue at Google is to always use cross-compiler names, so that the name of the compiler determines the platform. The commands.allow.sh file is set up so that /usr/bin/gcc is not one of the allowed commands; instead only unambigous command names that include the target platform name are allowed. You can pass the cross-compiler name to lsdistcc via the "-p" option, and then lsdistcc will only return hosts that support that particular target platform. So it might be possible to achieve some of what you want with existing mechanisms. However, that said, using cross-compiler names is not always convenient, and the zeroconf mechanism has administrative advantages compared with lsdistcc, so I'm certainly not opposed to improving zeroconf support to better support build platforms. One problem with using cross-compiler names is that cross-compiler names used by standard gcc distributions, e.g. "/usr/bin/i486-linux-gnu-gcc-4.0", are not sufficient to distinguish different glibc versions, and so may not be sufficient to distinguish RHEL4 and RHEL5. At Google we install cross-compilers to path names that are sufficient to distinguish different libc versions, but that's not going to be convenient for most people. Cheers, Fergus. -- Fergus Henderson <[EMAIL PROTECTED]>
__ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc