patchcompile - Patch Compile

Note: This tool is called from lawappinstall and is normally not run directly.

patchcompile is a Perl script that scans the install.log file created by lasetup for the files updated by an installation, and determines which programs must be compiled. patchcompile generates and submits the programs that need to be compiled to qcompile, or optionally creates a script file containing this information. Using patchcompile eliminates unnecessary or duplicate compilation jobs, and automates the compile step. When Form Rule or Object Rule files are affected by an installation, patchcompile will also execute srgen.

Run patchcompile to compile programs affected by the installation.

To run patchcompile, specify this information:

perl path/patchcompile [-a] [-p] [-l listfile] [-s scriptfile] [-u] [-e] [-n] [-A] productline Patch#...

Consider the following options.

Option Description
a Compile all production programs.
p Preview mode - read preview.log instead of install.log.
l listfile Enables output of a list of files affected by the installation to the file named listfile. This file can be used for compilation or other purposes.
s scriptfile

Enables output of a script to compile programs affected by the installation to the file named scriptfile. This file can be run later to submit the compiles.

Note: When the -s option is used, the compiles are not submitted by patchcompile.
u Enables detailed logging of programs that use wslib and pdlib files updated in an installation.
e Abort on srgen errors, rather than submitting compiles.
n Turn off logging.
A If the product line is in staged mode, compile to the stage directory rather than the runtime production environment.

A log file is created by patchcompile, and can be found in the following directory.

$LAWDIR/productline/Admin

patchcompile.log

The patchcompile.log file displays a list of the files that have been compiled. It also serves as a cumulative log of the parameters and options submitted or running, the objects updated and their type, the affected programs, pdlibs using affected wslibs, programs using pdlibs, and the output of srgen and qcompile commands. Any errors that occur during the patchcompile process of lawappinstall will be listed in patchcompile.log.

The following is an example of the patchcompile.log file.

08/31/2021 00:03:56  patchcompile started
   command line = 'E:/LSFENV/gen/bin/patchcompile patch10 PATCH123795.2805'.
   productline: PATCH10

  reading E:/LSFENV/law/patch10/Admin/install.log for patches: PATCH123795.2805
  Patches found:
    PATCH123795.2805 installed 08/31/2021 0:00:53
the following commands are being executed now
    srgen patch10 2>&1
Processing E:\LSFENV\law\patch10\acsrc\AC.or
Processing E:\LSFENV\law\patch10\adsrc\AD.or
Processing E:\LSFENV\law\patch10\amsrc\AM.or
Processing E:\LSFENV\law\patch10\apsrc\AP.or
Processing E:\LSFENV\law\patch10\arsrc\AR.or
Processing E:\LSFENV\law\patch10\blsrc\BL.or
Processing E:\LSFENV\law\patch10\bnsrc\BN.or
……
    qcompile -q -Q PATCH10 HR LT11
    qcompile -q -Q PATCH10 HR LT22

  Compiles have been submitted, log is in:
    E:/LSFENV/law/patch10/Admin/patchcompile.log

Tue Aug 31 00:05:13 2021 patchcompile completed