123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412 |
- .\" $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.
|