413 lines
8.7 KiB
Groff
413 lines
8.7 KiB
Groff
.\" $XConsortium: master_build.1 /main/3 1995/10/30 14:06:53 rswiston $
|
|
.TH master_build 1 "" "" HP-UX
|
|
.ds )H Hewlett-Packard Company OSSD-CV
|
|
.ds ]W June 1993
|
|
.SH NAME
|
|
master_build \- OSSD-CV master build and source synchronization script.
|
|
.SH SYNOPSIS
|
|
.B master_build
|
|
.RI [ \|options\| ]
|
|
.SH DESCRIPTION
|
|
.I master_build
|
|
is a ksh script that controls building of build trees from a central
|
|
location. It can also be used for source synchronization.
|
|
If the
|
|
.I -clone
|
|
option is used, the
|
|
.I -src
|
|
option
|
|
determines the source directory for source code synchronization. If the
|
|
.I -build
|
|
option is used, it is synchronized with the source directory associated
|
|
with
|
|
.IR -src .
|
|
If the
|
|
.I -c
|
|
option is used,
|
|
.I -build
|
|
is used to determine the build directory. The
|
|
.I -n
|
|
option restricts the scope of any builds to just
|
|
.IR make .
|
|
The
|
|
.I -noIgnore
|
|
option will cause
|
|
.I make
|
|
to exit upon encountering an error. The default is to just stop
|
|
building the current target upon error but continue building
|
|
all of the rest of the targets (
|
|
.I make
|
|
.I -k
|
|
).
|
|
The
|
|
.I -l
|
|
option causes a
|
|
.I make
|
|
of lint libraries.
|
|
The
|
|
.I -w
|
|
option removes all targets before building.
|
|
There are certain tools that are run inside
|
|
.I master_build
|
|
which are located in a standard location. The
|
|
.I -t
|
|
option allows a user to specify an alternate location.
|
|
The
|
|
.I -m
|
|
option allows certain summary mail information to be sent to interested
|
|
parties.
|
|
.P
|
|
Remote building via remsh can be triggered by the
|
|
.I remote_build
|
|
script.
|
|
See
|
|
.IR remote_build(1) .
|
|
.P
|
|
The
|
|
.I cron_example
|
|
file gives example cron entries for build administration.
|
|
.SH LOGGING INFORMATION
|
|
If the
|
|
.I -build
|
|
option is present, log files generated by
|
|
.I master_build
|
|
are placed in the /x/logs/build/mmdd/buildtree directory.
|
|
If only the
|
|
.I -src
|
|
option was specified, log files are placed
|
|
in the /x/logs/build/mmdd/sourcetree directory.
|
|
If the
|
|
.I -l
|
|
option is specified it replaces the /x/logs/build portion of the
|
|
above path. The following files may be present in a log directory:
|
|
.TP 18
|
|
.I allmake.HHMMSS
|
|
This file contains output from make Makefile, make Makefiles, make
|
|
clean, make includes and make depend.
|
|
.TP
|
|
.I make.HHMMSS
|
|
This file contains output from make only.
|
|
.TP
|
|
.I lint.HHMMSS
|
|
This file contains output from the
|
|
.I -l
|
|
option.
|
|
.TP
|
|
.I cloneerr.HHMMSS
|
|
This file contains error messages generated by the
|
|
.I -clone
|
|
option.
|
|
.TP
|
|
.I cloneerr.HHMMSS
|
|
This file contains a listing of the files that have been
|
|
resynchronized by the
|
|
.I -clone
|
|
option.
|
|
.TP
|
|
.I cleanlinks.HHMMSS
|
|
This file contains information on symbolic links to nowhere removed
|
|
by the
|
|
.I -cl
|
|
option.
|
|
.TP
|
|
.I summary.HHMMSS
|
|
This file contains output generated by the
|
|
.I -m
|
|
option.
|
|
.P
|
|
Log directories are trimmed to a certain number based on age by the
|
|
.I cleanLogs
|
|
script.
|
|
See
|
|
.IR cleanLog(1) .
|
|
.SS Options
|
|
.I master_build
|
|
recognizes the following options:
|
|
.RS
|
|
.TP 15
|
|
.I -src <source>
|
|
The
|
|
.I source
|
|
directory is the directory that is used as the source for any
|
|
cloning operations with the
|
|
.I -clone
|
|
option listed below.
|
|
.TP
|
|
.I -build <build>
|
|
The
|
|
.I build
|
|
directory is the build tree that will either be built with either the
|
|
.I -c
|
|
or
|
|
.I -l
|
|
option and/or cloned.
|
|
The
|
|
.I build
|
|
directory is only necessary if you are either doing
|
|
builds or cloning a source tree into a build tree.
|
|
The
|
|
.I -clone
|
|
option will use
|
|
.I source
|
|
as the source directory and
|
|
.I build
|
|
as the destination directory for
|
|
.IR fnrclone .
|
|
.TP
|
|
.I -clone <n|s|c|sync>
|
|
The
|
|
.I -clone
|
|
option will use
|
|
.I source
|
|
as the source directory and
|
|
.I build
|
|
as the destination directory for
|
|
.IR fnrclone .
|
|
If the
|
|
.I -build
|
|
option is missing,
|
|
.I source
|
|
will be both the source and destination directory for
|
|
.IR fnrclone .
|
|
The
|
|
.I n
|
|
parameter causes real files to be checked out into the destination
|
|
directory with symbolically linked RCS directories. This is the same
|
|
behavior as
|
|
.I fnrclone
|
|
.IR -n .
|
|
The
|
|
.I s
|
|
parameter symbolically links files from the source to the destination
|
|
and creates symbolically linked RCS directories. However, it will not
|
|
check out new revisions of any source files from RCS but will merely
|
|
synchronize source and destination. This is the same as the default
|
|
behavior for
|
|
.I fnrclone
|
|
and this is the recommended option for use when cloning build trees
|
|
from a source tree in the
|
|
.I master_build
|
|
script.
|
|
The
|
|
.I c
|
|
and
|
|
.I sync
|
|
parameters behave like the
|
|
.I s
|
|
parameter but will check new files out of RCS. This is generally only
|
|
done when cloning a source tree to itself (no
|
|
.I -build
|
|
option) and is meaningless when the RCS vaults are not visible as in the
|
|
CDE source exchange. This is the same behavior as
|
|
.I fnrclone
|
|
.I -c
|
|
and is the recommended operation to use when syncing a source tree to
|
|
itself.
|
|
See
|
|
.I fnrclone(1)
|
|
for more information.
|
|
The
|
|
.I -sync
|
|
option is being obsoleted and may be removed in the future.
|
|
Moving or removing files in
|
|
.I -src
|
|
can result in symbolic links to nowhere after cloning in
|
|
.IR -build .
|
|
The
|
|
.I cleanLinks
|
|
script can be run to remove these links. See the
|
|
.I -cl
|
|
option below and
|
|
.IR cleanLinks(1) .
|
|
.TP
|
|
.I -cl
|
|
Clean symbolic links to nowhere in either
|
|
.I -src
|
|
or
|
|
.IR -build .
|
|
As above with the
|
|
.I -clone
|
|
option, if no
|
|
.I -build
|
|
option is given,
|
|
.I -src
|
|
is used as the tree to be cleaned.
|
|
Symbolic links to nowhere will occur in build trees when files are moved
|
|
or removed from
|
|
.I -src
|
|
and
|
|
.I -build
|
|
is cloned from
|
|
.IR -src .
|
|
The
|
|
.I cleanLinks
|
|
script will remove all symbolic links to nowhere whose
|
|
path does not end in RCS. See
|
|
.IR cleanLinks(1) .
|
|
.TP
|
|
.I -c
|
|
Do a complete build of the
|
|
.I build
|
|
directory.
|
|
This option triggers
|
|
.I make
|
|
.I -k
|
|
Makefile,
|
|
.I make
|
|
.I -k
|
|
Makefiles,
|
|
.I make
|
|
.I -k
|
|
includes,
|
|
.I make
|
|
.I -k
|
|
depend,
|
|
and
|
|
.I make
|
|
.IR -k .
|
|
if the
|
|
.I -noIgnore
|
|
option is set, the
|
|
.I -k
|
|
option to
|
|
.I make
|
|
is ignored.
|
|
.TP
|
|
.I -n
|
|
When used in conjunction with the
|
|
.I -c
|
|
option, only do a
|
|
.IR make .
|
|
Do not do
|
|
.I make
|
|
Makefile,
|
|
.I make
|
|
Makefiles,
|
|
.I make
|
|
includes, etc.
|
|
.TP
|
|
.I -w
|
|
When used in conjunction with the
|
|
.I -c
|
|
option
|
|
do a
|
|
.I make
|
|
clean. That is remove any clean targets such as .o's, .a's, executables,
|
|
etc.
|
|
.TP
|
|
.I -l
|
|
Do a
|
|
.I make
|
|
.I [-k]
|
|
.IR lintlibs .
|
|
This option creates lint libraries. The log file
|
|
generated by this option is lint.HHMMSS.
|
|
.TP
|
|
.I -noIgnore
|
|
This option removes the default
|
|
.I -k
|
|
option from all makes. This causes each particular make(
|
|
.I make
|
|
.IR Makefile ,
|
|
.I make
|
|
.IR Makefiles ,
|
|
etc.)
|
|
to stop on encountering the first error.
|
|
.TP
|
|
.I -log <logdir>
|
|
Normally log files are placed in either the
|
|
.I /x/logs/build/mmdd/source
|
|
directory or the
|
|
.I /x/logs/build/mmdd/build
|
|
directory(see logging information above). This option allows you to
|
|
to replace the
|
|
.I /x/logs/build
|
|
directory as the logging destination with
|
|
.IR logdir .
|
|
.TP
|
|
.I -ba <path>
|
|
Run
|
|
.I make binstall
|
|
and create an automatic install path. This path is of the form
|
|
.I path/mm_dd
|
|
where
|
|
.I path
|
|
is the supplied path and
|
|
.I mm_dd
|
|
is the date the build started (month_day).
|
|
When using this option, you must also use the
|
|
.I -build
|
|
option and specify a build tree to run
|
|
.I make binstall
|
|
upon.
|
|
The
|
|
.I -cb
|
|
option below allows you to specify how many
|
|
.I mm_dd
|
|
directories you want to maintain in
|
|
.IR path.
|
|
.TP
|
|
.I -cb <number of directories>
|
|
This option trims the number of binstall directories created by the
|
|
.IR -ba
|
|
option. It leaves the number of directories specified. It must be used
|
|
with the
|
|
.IR -ba
|
|
option. It only trims directories of the type mm_dd(e.g 02_05).
|
|
.TP
|
|
.I -t <tooldir>
|
|
Certain operations such as cloning, assume that tools such as fnrclone
|
|
are located in the /x/cdesrc/admin/BuildTools directory.
|
|
This option allows you to specify an alternate location for tools that
|
|
.I master_build
|
|
needs. Currently
|
|
.I master_build
|
|
accesses the following tools:
|
|
.IR fnrclone ,
|
|
and
|
|
.IR sys_calls .
|
|
.I fnrclone
|
|
also currently has internal dependencies to /usr/local/bin.
|
|
.I sys_calls
|
|
gets correct versions of the
|
|
.I date
|
|
command for each architecture.
|
|
.TP
|
|
.I -m <mail_list>
|
|
Sends information concerning bad options to
|
|
.IR master_build ,
|
|
and the start and stop time of builds to
|
|
.IR mail_list .
|
|
.TP
|
|
.I -ld <ldoptions>
|
|
This option passes
|
|
.I ldoptions
|
|
to the
|
|
.I LDOPTS
|
|
environment variable before
|
|
.I make
|
|
is started. This option is little used and may be obsolete.
|
|
.TP
|
|
.I -model <model> (Apollo only)
|
|
This option passes apollo machine types to
|
|
.IR master_build .
|
|
It is generally not used.
|
|
.TP
|
|
.I -be <chrootdir> (HP only)
|
|
This option is used for HP chroot build environment builds. It will not
|
|
work for any other architecture.
|
|
.SH SEE ALSO
|
|
remote_build(1),
|
|
cleanLinks(1),
|
|
cleanLogs(1),
|
|
ListTheTree(1),
|
|
fnrclone(1),
|
|
buildAdmin(5).
|
|
.SH AUTHOR
|
|
.I master_build
|
|
was originally developed by Nathan Meyers, OSSD-CV, Hewlett-Packard.
|
|
It was greatly expanded, modified,
|
|
and renamed twice by Marc Ayotte, OSSD-CV, Hewlett-Packard.
|
|
Other key modifiers have been Jim Andreas, Ron Voll, and Fred Handloser
|
|
of OSSD-CV, Hewlett-Packard.
|