[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Commands Reference, Volume 1

adeinv command

Purpose

Generates the apply list, inventory file, tcb file, xref file and size files necessary for a product install and creates the lpp.acf file for library updates.

Syntax

adeinv -i Inslist -s Ship_Path1:Ship_Path2:... -l PackageName -u LPPFileName [ -t TableFileName ] [ -r ] [ -D ] [ -L ] [ -d OutputDir ] [ -U V.R.M.F ] [ -Y ] [ -v ]

Description

The adeinv command reads the inslist file specified with the -i flag and produces the following output files:

Option.al (apply list file)
Contains a list of all files, directories, and links that are to be restored from distribution media during installation. The pathnames are defined relative to the root directory. This file is necessary for a product installation using the installp command.
Option.inventory (inventory file)
Contains information about each file and directory that makes up an option after the installation or update is complete (that is, any file that is not temporary to the installation process). This file is an ASCII text file in stanza format. The inventory information is put into the Vital Products Database (VPD). For Trusted Computing Base (TCB) files this data is also included in the security database. This file is necessary for a product installation using the installp command.
Option.tcb (Trusted Computing Base file)
Contains information in stanza format about files and directories that are part of the Trusted Computing Base. This file is necessary for a product installation using the installp command.
Option.xref (cross reference file)
Data file used only for update creation. This file is not used to generate an install image.
Option.size (size file)
Contains a list of unique directories and the amount of filesystem blocks (4096 bytes each) required to store the files for the directory. This file is necessary for a product installation using the installp command.
lpp.acf
Identifies which members of a shared library need to be replaced during an update. This file is generated only for library updates, and is used by the installp command.

The prefix for the output file names is determined from the contents of the -u LPPFileName file. The first non-blank, non-comment line of this file contains the prefix. For the following line in the LPPFileName file:

bosdev.sendmail.obj N U En_US Berkeley sendmail #comment

the prefix for the adeinv output files would be bosdev.sendmail.obj.

You can provide additional size entry information using the option.insize file.

Input Files

lppname.insize Optional file used to modify or override size values calculated for the .size file. Relative values (+ or -) will add to or subtract from calculated size values. For absolute values, the larger value between the insize and the calculated size will be included in the .size file. An example format of an .insize file:

			
/usr/lib/ps/ditroff.font +4096 10 
/usr/lib/font +2560 
/usr/bin/psplot 500

This .insize file specifies the following adjustments to the default size information:

  • add 4096 blocks to the size value calculated by the adeinv command for the /usr/lib/ps/ditroff.font directory, and allocate 10 blocks during the installation for temporary processing space.
  • add 2560 blocks to the size value calculated for the /usr/lib/font directory.
  • The larger value between the regular size value calculated for /usr/bin/psplot and 500 will be reflected in the .size file.

Note: Relative (+ or -) values in the insize file may be negative, in which case the value is subtracted from the calculated size.
TableFileName (-t flag) Optional file used to add to or supersede user and group id data for the system. The format of this file is:

   
uid user_name gid group_name

For example:

dbadmuser 200 dbadmgroup 300

For any entries in the inslist file with owner id 200 or group id 300, the option.inventory file reflect:

owner = dbadmuser 
group = dbadmgroup
lppname.lp (-u flag) The input lpp_name file is required. It contains user-supplied information prior to the build process. Sample input lpp_name file:

bos.rte  N  B  En_US   Base Operating System Runtime   #comments 

The fields in this file are:

[option name] [quiesce char] [content] [language] [product description] [comments]

where:

option name
full name of the option that this file represents
quiesce char
indicates whether the subsystem must be stopped before updating this option. Valid values are:
  • Y - Must stop subsystem; do not invoke bosboot.
  • N - Do not need to stop subsystem; do not invoke bosboot.
  • B - Must stop subsystem; must invoke bosboot and reboot.
  • b - Do not need to stop subsystem; must invoke bosboot and reboot.
content
indicates the contents of this option and is used to determine which SWVPD will be updated. Valid values are:
  • U - /usr code only
  • B - /usr and / (root) code
  • H - /usr/share code only
  • D - microcode language indicates the language used for the default messages for this option description the formal description of this option comments optional comments
inslist Required input file containing a list of file names as they should be found in the ship tree. The format of an inslist file entry is:

type uid gid mode fileName

For example:

 F 2 2 555       /usr/bin/grep

The format of a symlink entry in the inslist is:

type uid gid mode linkName targetFile

For example:

S 2 2 777	/usr/bin/fgrep /usr/bin/grep

Hard link entries (type h or H) should immediately follow the inslist entry of their target file. Hard links are considered attributes of the target file in the inventory database because they share the same inode as the target file. An example of an inslist entry with hard links is:

F 2 2 555 /usr/bin/awk 
H 2 2 555 /usr/bin/nawk /usr/bin/awk

Flags

-i Inslist Specifies a fully qualified path name to the Inslist file.
-s Ship_Path1:Ship_Path2:... Specifies one or more path names to the ship trees. Multiple path names should be separated by a colon (:). The first occurrence of an inslist file in one of the ship tree paths is used for size information.
-l PackageName Specifies the name of the LPP package. This is used during usr processing to calculate the name of the /usr/lpp/lppname install directory.
-u LPPFileName Specifies the fully qualified path name to the fileset.lp file.
-t TableFileName Specifies a fully qualified path name to the user provided table file that contains a mapping of user/group IDs to user/group names. This table overrides the default ID to name mapping provided by the system (/etc/group and /etc/passwd files).
-r Tells adeinv to process only root entries. Root entries are lower case type file entries in the inslist file.
-D Indicates a share data option. The object repository directory (the location where share data product information is stored) for these options is /usr/share/lib/objrepos.
-L Tells adeinv to write symlink and hardlink information to the apply list. By default links are not written to the apply list. The sysck command creates links from the inventory file during installation.
-d OutputDir Specifies the directory location for the output files.
-U V.R.M.F Indicates update mode. The V.R.M.F (version, release, modification, fix) level is used to put the root files for the update in the /usr/lpp/lppname/option/inst_V.R.M.F/inst_root directory.
-Y Indicates that adeinv should not return an error (non-zero return code) if one or more of the files from the inslist are not found in the ship trees. When this flag is specified, entries are not included in the inventory file or the apply list for the package. This allows an install for the package to complete for all of the files that are found in the ship trees and included on the media. This flag is intended for development purposes only and should not be used for product level packages.
-v Use verbose messages.

Exit Status

Examples

  1. To process the inslist file for the bos_net.tcp.server product where the ship tree paths are /project/ship1 and /project/ship2, type:

    adeinv -s /project/ship1:/project/ship2 -l bos_net.tcp.server \
    -i /project/src/bos.net.tcp.server.il -u bos_net.tcp.server.lp
  2. To process root entries for bos_net.tcp.server using the /tmp/user.table file to determine user names and group names from the ids listed in the inslist, type:

    adeinv -s /project/ship1:/project/ship2 -l bos_net.tcp.server \
    -i /project/src/bos.net.tcp.server.il -t /tmp/user.table -r \
    -u bos_net.tcp.server.lp

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]