# @(#)95 1.3 src/bldscripts/README, ade_build, bos412, GOLDA411a 2/15/94 11:18:49 # # COMPONENT_NAME: bldprocess # # ORIGINS: 27 # # This module contains IBM CONFIDENTIAL code. -- (IBM # Confidential Restricted when combined with the aggregated # modules for this product) # SOURCE MATERIALS # # (C) COPYRIGHT International Business Machines Corp. 1991, 1993 # All Rights Reserved # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. This file describes the use of and syntax for the following files residing in the src/bldscripts directory: setup.sh makelpp.sh all.sh aixlpp.sh aix.lpps SETUP.SH ~~~~~~~~ setup.sh is used when building the build environment tools. To use setup.sh: sh -x bldscripts/setup.sh [-l] \ [_TOOLS [_TOOLS ...]] Example: sh -x bldscripts/setup.sh sh -x bldscripts/setup.sh -l sh -x bldscripts/setup.sh BOS_TOOLS GOS_TOOLS The -l (lowercase L) paramater is optional and indicates that the backing tree is accessible through the link contained in the directory above src. The link is analogous to the link used in sandboxes. Any number of links can exist like in a sandbox. Caution should be exercised when using more then one link as the command line, when building, may exceed the maximum length and possibly core dump. _TOOLS is optional and currently can be specified as one or more of the following: BOS_TOOLS CMDTEXT_TOOLS INED_TOOLS GOS_TOOLS This parameter controls which tools are to be built for a given release type (i.e. bos). When _TOOLS is specified, only the build environment tools belonging to the release type, will be built. Refer to src/bldenv/Makefile for the tools that are built under each type of _TOOLS. MAKELPP.SH ~~~~~~~~~~ makelpp.sh is the central building script which is called to build an LPP. To use this script: sh -x bldscripts/makelpp.sh [-l] Example: sh -x bldscripts/makelpp.sh gosinstall sh -x bldscripts/makelpp.sh -l gosinstall sh -x bldscripts/makelpp.sh setup BOS_TOOLS The -l (lowercase L) paramater is optional and indicates that the backing tree is accessible through the link contained in the directory above src. The link is analogous to the link used in sandboxes. Any number of links can exist like in a sandbox. Caution should be exercised when using more then one link as the command line, when building, may exceed the maximum length and possibly core dump. is the name of the LPP to build (i.e. gos or gosinstall). Any LPP can be built using makelpp.sh including setup. Output from makelpp.sh is not redirected, so if you need output to be redirected: sh -x bldscripts/makelpp.sh > 2>&1 Example: sh -x bldscripts/makelpp.sh setup >logs/gos.log 2>&1 sh -x bldscripts/makelpp.sh -l setup >logs/gos.log 2>&1 For a complete list of available 's look at the file bldscripts/aix.lpps. The first column in this file indicates . ALL.SH ~~~~~~ all.sh will build each LPP, in order, as listed in bldscripts/aix.lpps. To use all.sh: sh -x bldscripts/all.sh [-t] [-l] Example: sh -x bldscripts/all.sh -t sh -x bldscripts/all.sh -t -l The -t parameter is optional and controls whether the output from each LPP built is automatically tailed to the screen. If -t is specified automatic tailing will occur. Please note that if control-C is pressed during the running of all.sh, not only will the tail stop but all.sh will also exit. The -l (lowercase L) paramater is optional and indicates that the backing tree is accessible through the link contained in the directory above src. The link is analogous to the link used in sandboxes. Any number of links can exist like in a sandbox. Caution should be exercised when using more then one link as the command line, when building, may exceed the maximum length and possibly core dump. This script stores log file information under src/logs with the naming convention .log.<#>. is the name of the LPP that is building (i.e. gosinstall). <#> is the next higher version number of the log file (starting with 1) which all.sh keeps track of and increments each time that all.sh is run after a break occurs. The script is smart enough to check for the existence of directories before attempting to build a LPP. For instance if src/gos does not exist all.sh will skip building gos and gosinstall. all.sh uses the file bldscripts/aix.lpps to determine the order of LPP building and what directories to walk for each LPP. When the -l (lowercase L) parameter is specified, the script traverses the link chain to check for the existence of directories after searching the current src directory. Each time all.sh successfully completes an LPP it creates the file _done. This file is used by all.sh on subsequent runs to determine which LPPs need to be built as listed in bldscripts/aix.lpps. So if the file gos_done existed, all.sh would skip building gos. AIXLPP.SH ~~~~~~~~~ There are cases when a single directory or list of directories need to be built but it would be inconveniet to use makelpp.sh or all.sh. For building individual directories use aixlpp.sh. In fact, makelpp.sh calls aixlpp.sh to perform the building of an LPP. To use this script: sh -x bldscripts/aixlpp.sh [-l] "" \ \ [<"" or _mp> [ [<"" or _mp>]] ...] Example: sh -x bldscripts/aixlpp.sh "Use 1" build gos sh -x bldscripts/aixlpp.sh "Use 2" install gos sh -x bldscripts/aixlpp.sh "Use 3" build bos/kernel _mp sh -x bldscripts/aixlpp.sh "Use 4" build gos "" tw sh -x bldscripts/aixlpp.sh -l "Use 5" build gos "" tw The -l (lowercase L) paramater is optional and indicates that the backing tree is accessible through the link contained in the directory above src. The link is analogous to the link used in sandboxes. Any number of links can exist like in a sandbox. Caution should be exercised when using more then one link as the command line, when building, may exceed the maximum length and possibly core dump. "" is any string label giving some indication of what is building. This can be any quoted human readable string. is either export, build, or install which indicates which type of pass to perform on the LPP. is the name of LPP directory to start building from. This can be any existing directory. <"" or _mp> is an optional parameter and is either "" or _mp. This parameter is intended to identify if the LPP being built is for MP. In the case when the LPP being built is not for MP use "". aixlpp.sh can handle any number of directories at one time, the only limit on the number of directories to pass to aixlpp.sh is controlled by the line length limit for the shell. To demonstrate the usefullness of this script: - Examples of building an individual LPP directory: sh -x bldscripts/aixlpp.sh "Example1" build bos/diag/da sh -x bldscripts/aixlpp.sh "Example2" build bos/kernel _mp sh -x bldscripts/aixlpp.sh -l "Example3" build bos/kernel _mp - Examples of building multiple LPP directories: sh -x bldscripts/aixlpp.sh "Example4" build gos/rms "" bos/kernel _mp sh -x bldscripts/aixlpp.sh "Example5" build bos/kernel "" gos/desktop sh -x bldscripts/aixlpp.sh -l "Example5" build bos Although <"" or _mp> is optional when specifying single directories to build, it becomes required when more than one directory is built. <"" or _mp> becomes a place holder between multiple directory specification and again if what is being built is not for MP use "". AIX.LPPS ~~~~~~~~ This file contains the ordered list of LPPs to build/install. aix.lpps is used by both makelpp.sh and all.sh. Each entry is described by the following fields: |||