On Thursday 16 November 2006 20:48, George Allan wrote: > The section in the Handbook presents a solution for a scenario in which > all machines in a build set are more less identical, or sufficiently > generic enough that each machine's make.conf is the same, the exception > being the build machine's own make.conf (which can specify that multiple > kernels are built). > > Sounds reasonable, but I imagine a more likely (or at least common) > scenario is one in which there's a variety of hardware and functions, > and each system requires a customized make.conf, in addition to a custom > kernel. > > With respect to the approach presented below, which of the following is > most true: > > (a) It will work; > (b) It won't work; > (c) It might work, but I'd do it differently; > (d) A build machine is a dumb idea; or > (e) My name's not Dave you insensitive clod. > > ----------------------------------------------------------- > #!/bin/sh > # > # Rudimentary build script. > # /etc/make.conf.[hostname] sets KERNCONF > > BUILD_SET="host1 host2 host3 host4 host5 host6 host7 host8 host9 host10" > > echo "This is really going to take some time, Dave." > echo "Maybe you want to come back tomorrow?" > > for MACHINE in ${BUILD_SET} ; do > MAKECONF="/etc/make.conf.${MACHINE}" > BUILD_DIR="/usr/obj/${MACHINE}" > WORLD_LOG="/var/log/buildworld.${MACHINE}.log" > KERNEL_LOG="/var/log/buildkernel.${MACHINE}.log" > > echo "Building world for ${MACHINE}." > env MAKEOBJDIRPREFIX=${BUILD_DIR} __MAKE_CONF=${MAKECONF} \ > make buildworld -j 4 | tee ${WORLD_LOG} > > echo "Building kernel for ${MACHINE}." > env MAKEOBJDIRPREFIX=${BUILD_DIR} __MAKE_CONF=${MAKECONF} \ > make buildkernel -j 4 | tee ${KERNEL_LOG} > done > ----------------------------------------------------------- > > Comments, questions and complaints all welcomed. > > Thanks.
so have you tried your theorized method, or are you just laying it out on paper for discussion? i track for several machines, but my approach is the simpleton "i dont understand all the scripting" approach. on my build machine, i have no special settings in make.conf. i just cvsup the sources, and then build the world, and a kernel for each config file i have in sys/i386/conf. then, on each machine that will get kernel, world, and ports from the build server, i specify this one setting in make.conf: WRKDIRPREFIX=/tmp (building ports in the actual NFS mounted ports directory works hardly ever). other than that, i just mount /usr/src /usr/obj and /usr/ports from the target to the build server, and install the world and its designated kernel as normal. the night before, yours truly (aka, the non-sciptable simpleton) just strings a bunch of 'make buildkernel KERNCONF's together with ; between them. cheers, jonathan _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"