summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2003-05-16 10:59:40 +0000
committerdes <des@FreeBSD.org>2003-05-16 10:59:40 +0000
commita91743ed20b5292b59ced9ab252f1db60f1f9c5c (patch)
tree8516a7fe5a96dd24045da8d5fd9a2352db277381 /tools
parent9be4da3f37449478c08f80763f7f2b24f04dea6e (diff)
downloadFreeBSD-src-a91743ed20b5292b59ced9ab252f1db60f1f9c5c.zip
FreeBSD-src-a91743ed20b5292b59ced9ab252f1db60f1f9c5c.tar.gz
Be careful what you wish for - you might get it!
Wished for by: ru
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/tinderbox/Makefile5
-rw-r--r--tools/tools/tinderbox/tinderbox.1289
2 files changed, 294 insertions, 0 deletions
diff --git a/tools/tools/tinderbox/Makefile b/tools/tools/tinderbox/Makefile
index b686988..cf0e4e8 100644
--- a/tools/tools/tinderbox/Makefile
+++ b/tools/tools/tinderbox/Makefile
@@ -5,6 +5,11 @@ BINOWN ?= ${USER}
BINGRP ?= ${USER}
SCRIPTS = tbmaster.pl tinderbox.pl
+MANDIR ?= ${HOME}/man/man
+MANOWN ?= ${USER}
+MANGRP ?= ${USER}
+MAN = tinderbox.1
+
SUBDIR = www
.include <bsd.prog.mk>
diff --git a/tools/tools/tinderbox/tinderbox.1 b/tools/tools/tinderbox/tinderbox.1
new file mode 100644
index 0000000..b2abe40
--- /dev/null
+++ b/tools/tools/tinderbox/tinderbox.1
@@ -0,0 +1,289 @@
+.\"-
+.\" Copyright (c) 2003 Dag-Erling Coïdan Smørgrav
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd May 16, 2003
+.Dt TINDERBOX 1
+.Os
+.Sh NAME
+.Nm tinderbox
+.Nd build and release testing
+.Sh SYNOPSIS
+.Nm
+.Op options
+.Ar command Op ...
+.Op Ar variable Ns = Ns Ar value ...
+.Sh DESCRIPTION
+The
+.Nm
+script tests the
+.Fx
+build and release system by performing a cross-build (and optionally a
+cross-release) of an arbitrary branch of the source tree for an
+arbitrary target platform.
+.Pp
+The following options are recognized:
+.Bl -tag -width 12n
+.It Fl -arch Ns = Ns Ar ARCH
+Specifies the target architecture.
+The default value is whatever the host system's
+.Xr uname 1
+reports.
+.It Fl -branch Ns = Ns Ar BRANCH
+The branch to specify to
+.Xr cvs 1 ,
+using the
+.Fl r
+option, when checking out sources.
+The default is to use
+.Fl A
+instead, to get the head.
+Specifying
+.Va CURRENT
+as the argument to
+.Fl -branch
+is equivalent to leaving it unspecified.
+.It Fl -date Ns = Ns Ar DATE
+The date to specify to
+.Xr cvs 1 ,
+using the
+.Fl D
+option, when checking out sources.
+The default is to use the top of whichever branch was specified.
+.It Fl -jobs Ns = Ns Ar NUM
+The maximum number of paralell jobs, as specified to
+.Xr make 1
+using the
+.Fl j
+option.
+The default is to use the
+.Fl B
+option instead, forbidding
+.Xr make 1
+to perform more than one task at a time.
+Specifying
+.Va 0
+or
+.Va 1
+to the
+.Fl -jobs
+option is equivalent to leaving it unspecified.
+.It Fl -logfile Ns = Ns Ar FILE
+The name of a file to which the output and error messages produced by
+the build should be written.
+Note that this file can grow quite large.
+The default is to redirect all output to
+.Pa /dev/stdout .
+.It Fl -machine Ns = Ns Ar MACHINE
+Specifies the target machine.
+The default value is whatever the host system's
+.Xr uname 1
+reports.
+.It Fl -patch Ns = Ns Ar PATCH
+The file name of a patch to apply to the source tree before building
+if the
+.Cm patch
+command is specified.
+The patch should be relative to the root of the source tree.
+When building a release, the patch is passed to the release process
+through the
+.Ev LOCAL_PATCHES
+environment variable (see
+.Xr release 7
+for more information), regardless of whether the
+.Cm patch
+command was specified.
+The default is to not apply any patches.
+.It Fl -repository Ns = Ns Ar DIR
+The location of the
+.Xr cvs 1
+repository from which to check out sources if the
+.Cm update
+command is specified.
+The default is
+.Pa /home/ncvs .
+.It Fl -sandbox Ns = Ns Ar DIR
+The location of the sandbox in which the builds are to take place.
+This directory should reside on a reasonably fast disk with at least
+1.5 GB available (3 GB if building a release).
+.It Fl -verbose
+Enable additional debugging output.
+.El
+.Pp
+Following the options on the command line, at least one of the
+following commands must be specified:
+.Bl -tag -width 12n
+.It Cm clean
+Delete the source and object trees.
+This is highly recommended when sources are patched, as successive
+builds will fail due to repeated application of the same patch to the
+same sources.
+.Pp
+Note that this does not remove the chroot tree created and populated
+by the release build.
+.It Cm update
+Update the sources using
+.Xr cvs 1 .
+This is highly recommended, for obvious reasons, if the
+.Cm clean
+command is specified.
+.It Cm patch
+Apply the patch specified with the
+.Fl -patch
+option to the source tree.
+If the specified patch file does not exist, the
+.Cm patch
+command will fail gracefully.
+.It Cm world
+Build the world.
+.It Cm generic
+Build a GENERIC kernel.
+.It Cm lint
+Build a LINT kernel if available.
+In
+.Fx
+5, the
+.Pa LINT
+configuration file will first be generated from the corresponding
+.Pa NOTES
+file.
+If neither
+.Pa LINT
+nor
+.Pa NOTES
+exist in the kernel configuration directory, the
+.Cm lint
+command will fail gracefully.
+.It Cm release
+Build a release by following the procedure described in
+.Xr release 7 .
+Note that this is a lengthy process which requires root privileges.
+.El
+.Pp
+The commands are executed in the order in which they are listed above,
+regardless of the order in which they are listed on the command line.
+.Sh NOTES
+The
+.Nm
+script was originally written to perform daily build testing of
+.Fx
+4 and 5.
+It is not intended for use with older releases, and probably will not
+work with anything older than
+.Fx 4.2 .
+.Sh ENVIRONMENT
+The
+.Nm
+script clears its environment at startup and provides its child
+processes with a tailored environment.
+The following variables are set for all builds:
+.Bl -tag -width 18n
+.It PATH
+.Va /usr/bin:/usr/sbin:/bin:/sbin
+.It TZ
+.Va GMT
+.It __MAKE_CONF
+.Va /dev/null
+.It CFLAGS
+.Va -O -pipe
+.It NO_CPU_CFLAGS
+.Va YES
+.El
+.Pp
+In addition, if one or more of the
+.Cm generic ,
+.Cm lint
+or
+.Cm release
+command was specified, the following variables, which affect kernel
+builds, are set:
+.Bl -tag -width 18n
+.It COPTFLAGS
+.Va -O -pipe
+.It NO_CPU_COPTFLAGS
+.Va YES
+.El
+.Pp
+Finally, the following variables are set for release builds:
+.Bl -tag -width 18n
+.It BUILDNAME
+.Va ${BRANCH}_TINDERBOX
+.It CHROOTDIR
+.Va $SANDBOX/root
+.It CVSROOT
+As specified with the
+.Fl -repository
+option.
+.It RELEASETAG
+.Va -rBRANCH
+if
+.Fl -branch Ns = Ns Ar BRANCH
+was specified, or
+.Va -A
+otherwise.
+.It CVSCMDARGS
+.Va -DDATE
+if
+.Fl -date Ns = Ns Ar DATE
+was specified.
+.It WORLD_FLAGS , KERNEL_FLAGS
+Both of these are set to
+.Va -jN
+if
+.Fl -jobs Ns = Ns Ar N
+was specified, or
+.Va -B
+otherwise.
+.It LOCAL_PATCHES
+Set to the path of the patch that was specified with the
+.Fl -patch
+option, if any.
+.It PATCH_FLAGS
+Set to
+.Va -fs
+if a patch was specified.
+.It NOCDROM
+.Va YES
+.It NODOC
+.Va YES
+.It NOPORTS
+.Va YES
+.El
+.Sh SEE ALSO
+.Xr build 7 ,
+.Xr cvs 1 ,
+.Xr make 1 ,
+.Xr patch 1 ,
+.Xr release 7 ,
+.Xr tbmaster 1
+.Sh AUTHORS
+.Nm
+was written by
+.An Dag-Erling Smørgrav Aq des@FreeBSD.org .
+.Sh BUGS
+are crunchy and nutritious.
OpenPOWER on IntegriCloud