Files
seta75D d6fe8fe829 Init
2021-10-11 22:19:34 -03:00

339 lines
12 KiB
Groff

# @(#)51 1.5 src/bldenv/man/ptfpkg.man, pkgtools, bos412, GOLDA411a 8/24/94 12:14:08
#
# COMPONENT_NAME: (PKGTOOLS)
#
# FUNCTIONS: ptfpkg man page
#
# ORIGINS: 27
#
# (C) COPYRIGHT International Business Machines Corp. 1993
# All Rights Reserved
# Licensed Materials - Property of IBM
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
ptfpkg Command
Purpose
The ptfpkg command creates the PTF image for PTFs created by subptf in
each build cycle.
Syntax
ptfpkg -c -b [ -m <mediatype> ] [ -d <outputDirectory> ]
Description
The ptfpkg command is designed to run multiple times for each build
cycle. Each time ptfpkg is run it will package all PTFs that have
not been successfully packaged in previous ptfpkg runs.
The following are shortened filenames:
CUMSLIST - $TOP/UPDATE/$OPTION/$SUBSYSTEM/cumsList
GOLDEN_PTFS - $TOP/UPDATE/$LPP/golden_ptfs
LPPLIST - $TOP/UPDATE/lpplist.$BLDCYCLE
LPP_NAME - $TOP/UPDATE/$OPTION/lpp_name.$BLDCYCLE
PKGPTFNAME - $TOP/HISTORY/pkgptf.name
PTF_PKG - $TOP/UPDATE/$LPP/ptf_pkg.$BLDCYCLE
PTFDIR - $TOP/UPDATE/$OPTION/$PTFNUMBER
PTFSLIST - $TOP/UPDATE/$OPTION/ptfsList
The ptfpkg command processes PTFs by LPP. The LPPs that have PTFs for
the build cycle are found in the LPPLIST file. The PTFs for each LPP
are found in the PTF_PKG file.
The packaging directory for Special PTFs (filename is pkg_ptf, pmp_ptf,
enh_ptf, C_ptf or opp_ptf) is $TOP/UPDATE/$LPP/$PTF. All other PTF
types are packaged in $TOP/UPDATE/$OPTION/$PTF.
The PTF is being repackaged if the packaging directory exists.
A PTF can be repackaged only if the following conditions are satisfied:
1) A special PTF can always be repackaged.
2) A cumulative PTF can be repackaged if the PTF is the last entry or
not in the CUMSLIST file and the file PTFSLIST is empty.
3) All other PTFs can be repackaged if the PTF is not in the PTFSLIST
file or if the PTF is in the PTFSLIST file and all entries after the
PTF are in the PTF_PKG file.
The mediatype of the PTF will be changed based on the following conditions
and in the order listed:
1) A pkg_ptf PTF type is changed to multiple update "M" mediatype.
2) A pmp_ptf PTF type is changed to packaging update "P" mediatype.
3) A opp_ptf or C_ptf PTF type is changed to maintenance level update
"MC" mediatype.
4) A enh_ptf PTF type is changed to enhancement update "ME" mediatype.
5) If the "-m" command line argument is not used and the PTF is in
the file GOLDEN_PTFS the mediatype is changed to golden update "G".
6) If "-m" command line argument is supplied the mediatype will be
set to the value supplied.
7) If none of the above conditions occur the mediatype of the PTF wil
be single update "S".
8) If the "/usr/bin/installp" command is shipped with a ptf the mediatype
will be install program update "SF".
The LPP_NAME file is read to obtain values needed as flags to the
packaging tools (adeinv and adepackage) when creating the PTF images.
The comment that is used for the PTF is determined by the following
rules in the order listed:
1) The comment from the file PKGPTFNAME if the PTF is Special and the
apar of the PTF is in PKGPTFNAME.
2) The comment read from the LPP_NAME file.
The processPtf tool is then called to generate the list of files for
the PTF and check requisites.
The PTF image is then generated by calls to ptfins, adelppname and
adepackage.
Flags
-b Copy bff image into the outputDirectory. If the
-b option is not specified ptfpkg will delete the
bff image.
-c Create PTF images in ccss format.
-m mediatype Specifies the media type of the PTF. Default
value is 'S'.
-d outputDirectory Specifies a directory where the bff or ccss
images should be copied.
NOTE: One or both of the -b and -c flags are required.
Environment Variables
BLDCYCLE Current "cycle" of builds. Typically in the form 'yywwa'
where yy = year, ww = week, a = alpha character. BLDCYCLE
must be set.
BUILD_TYPE Type of environment this build is occurring in. Values are:
1) area - area build
2) production - production build
3) sandbox - sandbox build
ODE_TOOLS Path to the build tools. Typical value would be
/project/aix4/build/latest/ode_tools/power.
SHIP_PATH Colon separated list of paths to ship trees. Ship trees
will be searched first to last.
TOP Full pathname of the top of the tree from which the build
is initiated.
Messages
Many of the Warning, Error and Fatal Error messages where a file
cannot be found or opened may be the result of network problems,
filesystem mount problems, full filesystems or file permissions.
Warnings - Warning messages are informational and do not affect any
return codes or status file entries.
"APAR not found in PKGPTFNAME"
A entry for apar APAR was not found in the file PKGPTFNAME. This
warning will only be seen with special case PTF's. First ptfpkg
will try and get the comment text from the SSTEXTNAME file. If
comment text cannot be found in the SSTEXTNAME file the comment
text from the install image will be used.
"PKGPTFNAME does not exist"
The file PKGPTFNAME was not found when processing a special case
PTF. First ptfpkg will try and get the comment text from the
SSTEXTNAME file. If comment text cannot be found in the SSTEXTNAME
file the comment text from the install image will be used.
"Cannot find FILE file in SHIP_PATH"
The file FILE could not be found in any directories specified in
$SHIP_PATH. Insure all ship directories are specified in $SHIP_PATH.
"Cannot find file BOSBOOTLIST"
The file BOSBOOTLIST cannot be found.
Errors - Error messages are produced when ptfpkg encounters a error
processing a LPP or PTF. Work is stopped on the current LPP
or PTF and processing of the next LPP or PTF is started.
Return codes are not affected but status file entries for
LPPs will not be marked as successful until all PTFs have
been packaged.
"FUNCTION failed on PTF"
"Cannot continue processing ptf PTF"
The call to external function FUNCTION returned a nonzero status
while processing ptf PTF. Refer to the error message displayed by
FUNCTION. The values for function include adelppname, adepackage,
processPtf, and ptfins.
"adeinv failed in PTFPKG_FUNCTION on PTF"
"Cannot continue processing ptf PTF"
The call to adeinv returned a nonzero status while processing ptf
PTF. Refer to the error messaged displayed by adeinv.
PTFPKG_FUNCTION will be create_ptf_image or process_root_part and
are functions within ptfpkg that call adeinv.
"Cannot open lppname file LPP_NAME"
"Cannot continue processing ptf PTF"
This error is the result of not being able to open the file LPP_NAME.
"Read failure with LPP_NAME"
"Cannot continue processing ptf PTF"
This error is the result of not being able to read first line in
the LPP_NAME file.
"Cannot find OPTION in LPP_NAME"
"Cannot continue processing ptf PTF"
This error is the result of not being able to find a OPTION entry in
the LPP_NAME file.
"Cannot create directory PTFDIR"
"Cannot continue processing ptf PTF"
The directory PTFDIR could not be created.
"Cannot repackage PTF, file PTFSLIST not empty"
A attempt was made to repackage Cum ptf PTF and the file PTFSLIST
contains entries. A Cum ptf cannot be repackaged unless the
PTFSLIST file contains no entries.
"Cannot repackage PTF, PTF must be last entry in CUMSLIST"
A attempt was made to repackage Cum ptf PTF and there is a Cum ptf
following PTF in the CUMSLIST file. A Cum ptf cannot be repackaged
if there is another Cum ptf following it in the CUMSLIST file.
"Cannot repackage PTF1, PTF2 needs to be repackaged"
"but has no entry in PTF_PKG"
The ptf PTF2 appears after ptf PTF1 in the PTFSLIST file. The ptf
PTF1 cannot be repackaged unless ptf PTF2 is also being repackaged.
PTF2 cannot be repackaged unless it is in the PTF_PKG file.
"Cannot repackage PTF, cannot remove directory PTFDIR"
The directory PTFDIR could not be removed. The directory PTFDIR
would have been created in a previous run of ptfpkg that was not
successful for ptf PTF. The directory either must not exist or be
removable by ptfpkg.
"Cannot repackage PTF, cannot remove PTF from FILE"
"on creation of temporary file TMPFILE"
The temporary file TMPFILE could not be created.
"Cannot repackage PTF, copy of temporary file TMPFILE"
"to FILE for PTF failed"
The temporary file TMPFILE could not be copied to file FILE.
"processPtf failed on PTF"
"No support for special case PTFs"
The current version of processPtf tool does not support special
case PTFs.
"Skipping LPP"
"Cannot find PTF_PKG"
The file PTF_PKG could not be found for the current LPP.
"Sort of FILE failed"
The sort of file FILE failed. There should be a error message
from the sort command.
"USR_LIBLPPA or DATA_LIBLPPA do not exist for PTF."
One of the two files listed must exist. These archives are sources
for files used to create the PTF. This error will be the result of
a failure during the packaging phase of the build or not running
with the UPDATE environment variables set during the packaging
phase.
Fatal Errors - Fatal Error messages are produced when ptfpkg encounters
a error that cannot be recovered from.
Return code will be nonzero and the status file entry for
LPP currently being processed will be set to failure.
"Cannot backup PTF_PKG into PTF_PKG_BACK"
The file PTF_PKG_BACK could not be created.
"Cannot open LPP list file LPPLIST"
The file LPPLIST cannot be opened.
"Cannot open abstracts file ABSTRACTS"
The file ABSTRACTS cannot be opened.
"Cannot find any defectapars files in DIRECTORY"
There are no defectapars in the directory DIRECTORY.
"Cannot open ptfoptions file PTFOPTIONS"
This file PTFOPTIONS cannot be opened. This files is created
and updated by subptf.
"Could not create TMPFILE while removing valid PTFs from PTF_PKG"
The temporary file TMPFILE could not be created to hold
PTFS that have not be created successfully.
"Failed to copy TMPFILE into PTF_PKG"
Could not copy the temporary file TMPFILE containing the PTFS
that have not been created successfully into the file PTF_PKG.
"Failed to generate boot information"
Could not generate the list of files that if modified require
a system reboot. This error is a result of failing to sort one
or more of the files used to generate the boot list.
"subptf has not run successfully"
A successful completion has not been entered into the status file
by subptf. Subptf must run successfully before ptfpkg can be run.
Examples
1. Generate a bff image and a ccss image for the ptf and copy into the
/ptf.images directory. Mediatype will default to single update "S".
ptfpkg -b -c -d /ptf.images
2. Call ptfpkg setting the mediatype to packaging update "P". Generate
only a bff image in the ptf directory (no output directory specified).
ptfpkg -m P -b
Input/Output Files
#include "cumsList.man"
#include "ptf_pkg.man"
#include "ptfsList.man"
Input Files
#include "abstracts.man"
#include "install_forced_prereq.man"
#include "forced_root.man"
#include "golden_ptfs.man"
#include "lpplist.man"
#include "pkgptf.name.man"
#include "ptfoptions.man"
Output Files
$TOP/UPDATE/<option>/<subsystem>/PTF.bff:
The PTF image in back/restore format.
#include "good_ptfs.man"
#include "ptf_pkg_back.man"
Prerequisite Information
This command will run only after subptf has successfully completed.
Related Information
$ODE_TOOLS/usr/bin/subptf This command generates data used by
ptfpkg.