Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sd(4) — HP-UX 10.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

swpackage(4)

sd(5)

swacl(1M)

swagent(1M)

swagentd(1M)

swcluster(1M)

swconfig(1M)

swcopy(1M)

swgettools(1M)

swinstall(1M)

swjob(1M)

swlist(1M)

swmodify(1M)

swpackage(1M)

swpackage(4)

swreg(1M)

swremove(1M)

swverify(1M)

update(1M)

sd(4)  —  Hewlett-Packard Company

NAME

sd − SD objects, attributes, and storage formats

Remarks:

SD-UX commands are included with the HP-UX Operating System and manage software on the local host only.  To install and manage software simultaneously on multiple remote hosts (including PCs) from a central controller, you must purchase the HP OpenView Software Distributor (HP Prod. No. B1996AA) which provides extended software management, multi-site software distribution capabilities and distribution to PCs.  While most of the information in this manual page applies to both SD-UX commands and the OpenView product, some applies only to the OpenView product. Where this is the case, you will see:

The following xxx applies only to HP OpenView Software Distributor

DESCRIPTION

The SD commands create, install, distribute and manage software objects (bundles, products, sub-products, and filesets).  In addition, they define and manage other objects in support of the software administration tasks which users perform.  This manual page describes the SD software object classes, their attributes, and the file formats used to store their definitions. 

The objects described here conform to the layout_version=1.0 of the POSIX 1387.2 Software Administration standard.  The previous SD layout_version=0.8 is also supported. (In that version, the vendor object is handled in a slightly different manner and a small number of keywords have different names).  What layout_version the SD commands write is controlled by the layout_version option for swpackage, swmodify, swcopy, and swlist. 

For an overview of all Software Distributor commands, see the sd(5) manual page by typing:

man 5 sd

OBJECT CLASSES

The SD object classes are:

host A host at which software is installed, will be installed, or is being managed.  A host contains one or more roots (installed filesystems) and zero or more depots.

depot A directory location which contains software products or bundles that are available for installation. It is a customizable source of software used for direct installation. It can also represent a distribution media (e.g.  tape or CD-ROM) which contains products or bundles available for installation. A bundle is NOT a superset of products. 

media When a depot is located on 1 or more media, a unique sequence number identifies each medium. 

root A set of installed software objects, usually the operational software installed in the primary root filesystem, "/".  It also represents also the set of software objects installed into an alternate root directory. 

vendor The vendor who packaged and distributed a product or bundle. It is an optional component of a product or a bundle.

bundle A bundle is a way of encapsulating products, subproducts and filesets into a single software object. More than one bundle can contain the same software objects.  A bundle can be thought of as a particular "configuration" of software.  It is a convenient way to group software objects together for easy selection. 

product A software object which vendors package and distribute, and which users purchase and install.  A product contains one or more filesets and zero or more subproducts. A product can also contain zero or more control scripts.

subproduct A subset or partitioning of a software product.  It is an optional component of a product. and contains one or more filesets.

fileset A grouping of one or more files contained in a product or sub-product. It groups a subset of a product’s files into a manageable unit. A fileset can also contain zero or more control scripts.

file The actual files that make up a fileset that get installed, configured, and removed. 

control script
The scripts developed by vendors to perform product- or fileset-specific operations during various software management tasks.

OBJECT ATTRIBUTES

The following tables summarize the valid attributes for each software object class.  A subset of these attributes can be defined for an object when creating products or bundles with swpackage.  See swpackage(4) for details on this subset. (When packaging PC software with the HP OpenView Software Distributor, a reduced subset of attributes will be defined for an object, as described below.)

The value types for each attribute are defined after the attribute tables. 

Host Attributes

 

Attribute Type Size Example
name one_line_string 64 newdist.fc.hp.com
machine_type uname_string 32 9000/720
os_name uname_string 32 HP-UX
os_release uname_string 32 A.09.01
os_version uname_string 32 C
contained list of depot

depots objects

name The official name of the network host. 

machine_type
The host’s machine and architecture designation. (uname -m field). 

os_name
The host’s operating system name. (uname -s). 

os_release
The host’s operating system release. (uname -r). 

os_version
The host’s operating system version. (uname -v). 

contained depots
The depots registered at the host.

(For HP OpenView Software Distributor PC hosts, the os_name, os_release, and os_version attributes do not apply.) 

Depot Attributes

 

Attribute Type Size Example
layout_version revision_string 32 1.0
data_model_revision revision_string 32 2.00
tag tag_string 16 APPLICATIONS_CD
title one_line_string 80 Applications Software
description multi_line_string 8K "This depot ..."
copyright multi_line_string 8K "This depot ..."
number tag_string 16 B2358-13601
uuid hex_string 40 25CA7C86-6F0C-9353
mod_time unsigned_integer 740774837
mod_date one_line_string 64 Tue Jun 22 12:52:09
1993
path_max unsigned_integer 1023
name_max unsigned_integer 255
media_sequence_ unsigned_integer 1
number


contained media media object

contained vendor vendor object

contained list of bundle

bundles objects

contained list of product

products objects

layout_version
The version of the POSIX 1387.2 standard to which the HP specific data_model_revision conforms to.

data_model_revision
The HP specific format revision used to store the depot definition.

tag The identifier (short name) for the distribution depot/tape. 

title
The full name (one-line description) of the distribution depot/tape.

description
The multi-paragraph description of the distribution depot/tape.

copyright
The copyright information for the depot/tape;

number
The part or manufacturing number of the depot/tape.

uuid The depot’s Universal Unique Identifier (UUID). 

mod_time
The time of the last operation performed on the depot.

mod_date
The string format of the mod_time. 

path_max
The maximum length of file pathnames in the depot.

name_max
The maximum length of file basenames in the depot.

media_sequence_number
For a multiple tape distribution, this attribute provides a way to list the sequence_number of each media. 

contained media
The object defining the sequence number used to identify each medium.

contained vendor
The object defining a vendor object that is associated with subsequent bundle and product objects that define a vendor_tag attribute matching the tag of this vendor. 

contained bundles
The bundles available from the depot.

contained products
The products available from the depot.

(For HP OpenView Software Distributor PC depots, the title, description, copyright, and number attributes do not apply.) 

Root Attributes

 

Attribute Type Size Example
layout_version revision_string 32 1.0
data_model_revision revision_string 32 2.00
mod_time unsigned_integer 740774837
mod_date one_line_string 64 Mon Jun 14 13:01:19
path one-line_string 80 /xx/xx/xx
root_type one-line_string 80 shared
description multi-line_string 2048 "This root is ..."
contained vendor vendor object

contained list of bundle

bundles objects

contained list of product

products objects

layout_version
The version of the POSIX 1387.2 standard to which the HP specific data_model_revision conforms to.

data_model_revision
The HP specific format revision used to store the root definition.

mod_time
The time of the last operation performed on the root.

mod_date
The string format of the mod_time. 

path The path to the root. 

root_type
The type of root - shared, private or none.

description
A multi-line description of the root.

contained vendor
The object defining a vendor object that is associated with subsequent bundle and product objects that define a vendor_tag attribute matching the tag of this vendor. 

contained bundles
The bundles installed into the root.

contained products
The products installed into the root.

(For HP OpenView Software Distributor PC hosts, the root class does not apply.) 

Vendor Attributes

 

Attribute Type Size Example
tag tag_string 16 HP
uuid hex_string 40 1234567-CDEF-0123-4569
title one_line_string 80 Hewlett-Packard Company
description multi_line_string 8K "This vendor ..."

tag The identifier (short name) for the vendor.  Used to associate a vendor object with subsequent product or bundle objects having a vendor_tag attribute of the same value. 

uuid The vendor’s NetLS Universal Unique Identifier (UUID). 

title
The full name (one-line description) for the vendor.

description
The multi-paragraph description of the vendor.

When listing the attributes of a vendor associated with the specified product or bundle using swlist, the option -a vendor lists all of the vendor attributes.  The option -a vendor.attribute can be used to list specific vendor attributes (e.g.  -a vendor.title). 

(For PC products, the vendor class does not apply.) 

Bundle and Product Attributes

Note: Attributes marked with a "+" apply only to product class and those marked with a "-" apply only to the bundle class.  Attributes marked with a * determine the uniqueness of a product or bundle object.  Their values may also be of type version_component when used in a version component of a software specification. 

 

Attribute Type Size Example
* tag tag_string 16 SD
* revision revision_string 32 2.0
* architecture one_line_string* 80 HP-UX_A.09.00_700
* vendor_tag tag_string 16 HP
data_model_revision revision_string 32 2.00
title one_line_string 80 Software Distributor
description multi_line_string 8K "This product ..."
copyright multi_line_string 8K "This product ..."
number tag_string 16 J2326AA
category tag_string 16 systems_management
category_title one_line_string 80 Systems Management
instance_id unsigned_integer 1
control_directory path_string 255 SD
size unsigned_integer 14638872
mod_time unsigned_integer 740084479
mod_date one_line_string 64 Mon Jun 14 13:01:19
install_date one-line string 16 199402241212.34
install_source one-line_string 1024 zook.com:/depot
install_type one-line_string 16 physical

 

Attribute Type Size Example
share_link one-line_string 80 "sbin"
+ readme multi_line_string 1024K < README
+ job_file one-line_string 80 <pcjob
+ directory path_string 1024 /
+ is_locatable boolean 5 false
+ location path_string 1024 /
machine_type uname_string 64 9000/7*|9000/8*
os_name uname_string 32 HP-UX
os_release uname_string 32 ?.09.*
os_version uname_string 32 [A-Z]
software_spec software_spec SD,r=2.0
- contents repeatable list of 8K foo.bar,r=1.0,a=,v=HP
software_specs x.y,r=2.0,a=,v=
+ all_filesets one-line list of commands agent data man
tag_string values

+ contained list of fileset

filesets objects

+ contained list of subproduct

subproducts objects

+ contained list of control

control scripts script objects

tag The identifier (short name) for the product. 

revision
The revision (release number, version number) of the product.

architecture
The target system(s) on which the product will run.

vendor_tag
Associates this product or bundle with the last defined vendor object if that object has a matching tag attribute. 

data_model_revision
The format revision used to store the product definition.

title
The full name (one-line description) of the product.

description
The multi-paragraph description of the product.

copyright
The copyright information for the product.

number
The part or order number for the product.

category
The term or phrase that categorizes the product.

category_title
The full name (one-line description) of the category. 

instance_id
The secondary identifier for products which have the same tag (or truncated tag) value. 

control_directory
The relative pathname to the product catalog (within the depot/root catalog).

size The size of the product in bytes. 

mod_time
The time of the last operation performed on the product.

mod_date
The string format of the mod_time. 

install_date
The installation date of the product or bundle.

install_source
The source from which the product was installed.

install_type
The type of installation - "physical" or "NFS_mount"

share_link
Sharing point(s) for product.

readme
The README information for the product.

job_file
For HP OpenView Software Distributor PC products, this indicates the existence of the pcjob control file.

directory
The default pathname in which the product’s files will be installed.

is_locatable
Defines whether (or not) the product can be installed into a arbitrary directory.

location
The installed pathname of the product.

machine_type
The machine(s) on which the product will run.

os_name
The operating system(s) on which the product will run.

os_release
The operating system release(s) on which the product will run.

os_version
The operating system versions(s) on which the product will run.

contents
The list of fully qualified software_specs for a bundle. (Applies to bundles only).

all_filesets
All the filesets originally packaged into the product.

software_spec
The fully qualified software specification for the bundle or product.

contained filesets
The fileset defined for the product.

contained subproducts
The subproducts defined for the product.

contained control scripts
The scripts defined for the product.

(For HP OpenView Software Distributor PC products, the copyright, readme, number, category, category_title, vendor, install_date, install_source, install_type, share_link, os_name, os_release, os_version, and contained subproducts attributes do not apply.) 

(For HP OpenView Software Distributor PC depots, the bundle class does not apply.) 

Subproduct Attributes

 

Attribute Type Size Example
tag tag_string 16 Manager
title one_line_string 80 Management Utilities
description multi_line_string 8K "This subproduct ..."
size unsigned_integer 14638872
contents repeatable list commands data man
of tag_string values

software_spec software_specification Networking.Run,r=1.0

tag The identifier (short name) for the subproduct. 

title
The full name (one-line description) of the subproduct.

description
The multi-paragraph description of the subproduct.

size The size of the subproduct in bytes. 

contents
A list of the filesets that make up the subproduct.

software_spec
The full software specification for the subproduct.

(For HP OpenView Software Distributor PC products, the subproduct class does not apply.) 

Fileset Attributes

 

Attribute Type Size Example
tag tag_string 16 commands
data_model_revision revision_string 32 2.00
revision revision_string 32 2.15
title one_line_string 80 Commands
description multi_line_string 8K "This fileset ..."
instance_id unsigned_integer 1
control_directory path_string 255 SD
size unsigned_integer 14638872
state state_enumeration corrupt
mod_time unsigned_integer 740084479
mod_date one_line_string 64 Mon Jun 14 13:01:19
1993
install_date one-line string 16 199402241414.34
install_source one-line_string 1024 zook.com:/depot
is_kernel boolean 5 false
is_reboot boolean 5 false
is_packaged_in_place boolean 5 false
is_secure boolean 5 false
media_sequence_ unsigned_integer 1
number


 

Attribute Type Size Example
prerequisites repeatable list of SD.agent
software_specifications

corequisites repeatable list of SD.man
software_specifications

ancestor repeatable list ancestor oldprod.fs
of product.fileset ancestor prod.oldfs
software_specifications

software_spec software_specification Networking.Run,r=1.0
contained list of control

control scripts script objects

contained list of file

files objects

tag The identifier (short name) for the fileset. 

data_model_revision
The format revision used to store the fileset definition.

revision
The revision (release number, version number) of the fileset.

title
The full name (one-line description) of the fileset.

description
The multi-paragraph description of the fileset.

instance_id
The secondary identifier for filesets which have the same tag (or truncated tag) value. 

control_directory
The relative pathname to the fileset catalog (within the product catalog).

size The size of the fileset in bytes. 

state
The current state of the fileset (resulting from the most recent operation performed on it).

mod_time
The time of the last operation performed on the fileset.

mod_date
The string format of the mod_time. 

install_date
The date the fileset was installed.

install_source
The source from which the product was installed.

is_kernel
Defines whether (or not) the fileset contains kernel files.

is_reboot
Defines whether (or not) the fileset requires a reboot after install.

is_packaged_in_place
For a fileset within a depot, this attribute defines whether or not the fileset is packaged in place.  If true, then the fileset’s contents are actually references to the original source files used to construct the fileset. 

is_secure
Defines whether (or not) the fileset is encrypted on a CD-ROM media, requiring a codeword to install.

media_sequence_number
For a multiple tape distribution, defines the tape on which the fileset is archived.

prerequisites
A list of install-time dependencies on other software.

corequisites
A list of run-time dependencies on other software.

ancestor
A list of filesets that if installed on a target system, will match the current fileset if the match_target installation option is specified.

software_spec
The full software specification for the fileset.

contained control scripts
The scripts defined for the fileset.

contained files
The files defined for the fileset.

(For HP OpenView Software Distributor PC filesets, the install_date, install_source, is_kernel, is_reboot, is_secure, prerequisites, corequisites, and ancestor attributes do not apply.) 

Control Script Attributes

 

Attribute Type Size Example
tag tag_string 16 checkinstall
path path_string 255 checkinstall
result result_enumeration success

Control scripts can be defined for filesets and/or products. 

tag The identifier (short name) for the control script. 

path The relative pathname to the control script (same as the tag for SD 2.0). 

result
The result obtained from executing the control script.

File Attributes

 

Attribute Type Size Example
path path_string 255 /usr/sbin/swpackage
type file_type_enumeration f
mode unsigned integer 04555
owner tag_string 16 root
group tag_string 16 sys
uid unsigned_integer 0
gid unsigned_integer 0
mtime unsigned_integer 740084479
size unsigned_integer 2494464
cksum hex_string 8 18355158
revision revision_string 32 1.3
link_source path_string 1024 /usr/sbin/swinstall
source_path path_string 1024 /mfg/sbin/swinstall
is_volatile boolean 5 false
compression_state compression_enumeration compressed
compression_type tag_string gzip
compressed_cksum unsigned_integer false
compressed_size unsigned_integer false
file_attrs unsigned_integer 32

path The full pathname to the file. 

type The type of file. 

mode The file permission mode. 

owner
The name of the file’s owner.

group
The name of the file’s group.

uid The UID of the file’s owner. 

gid The GID of the file’s owner. 

mtime
The last modification time of the file.

size The size of the file in bytes. 

cksum
The 32-bit checksum of the file.

revision
The what(1) or ident(1) revision of the file.

link_source
The path to which a hard or symbolic points.

source_path
The full path to the source file for files which have been "packaged in place"; see swpackage(1M).

is_volatile
Defines whether the file can be modified or removed.

compression_state
The compression state of a file (compressed or not).

compression_type
The type of compression used to store the file.

compressed_cksum
The checksum of the compressed file.

compressed_size
The size of the compressed file.

The following PC information applies only to HP OpenView Software Distributor

file_attrs
The DOS file attributes (of a PC file).

(For HP OpenView Software Distributor PC files, the owner, group, uid, gid, revision, and link_source attributes do not apply.  For UNIX files, the file_attrs attribute does not apply.) 

Value Types

The value for each attribute must be of a specific type (as noted in the table above).  The types are:

tag_string
maximum length: 16 bytes
examples: HP, SD

Tag strings containing a subset of isascii(3) characters only. 
Requires one or more characters from: A-Z, a-z, 0-9, including the first character.
The isspace(3) characters are not allowed.
Metacharacters not allowed: .,=#
Shell metacharacters not allowed: ;&(){}|<>
Shell quoting characters not allowed: "‘’\
Directory path character not allowed: /

hex_string
maximum length: 40 bytes
examples: 01234567-CDEF-0123-4569ABCDEF

Uuids composed of 32 hexadecimal digits separated by dashes. 
Represents an unsigned integer. (Each hex digit represents 4 bits of the unsigned integer.)
Allows hexadecimal digits: 0-9, A-F
Allows separator characters: -

one_line_string
maximum length: 80 bytes
examples: Hewlett-Packard Company

One-line strings support a subset of isascii(3) characters only. 
No isspace(3) characters, except for space and tab, are allowed. multi_line_string maximum length: 8K, or 1024K bytes

Multi-line strings support all isascii(3) characters.  They represent one or more paragraphs of text.  They are usually specified in-line, surrounded by double-quotes.  (The product readme is stored in a file, and specified using the "< filename" format). 

revision_string
maximum length: 32 bytes
examples: 2.0, A.09.00

Revision strings contain zero or more dot-separated one_line_strings (above). 

boolean
maximum length: 5 bytes
examples: true, false

One of the values "true" or "false". 

path_string
maximum length: 255 bytes for tapes, 1024 bytes for depots
examples: /usr, /mfg/sd/scripts/configure

An absolute or relative path to a file. 

uname_string
maximum length: 32 or 64 bytes
examples: 9000/7*|9000/8*, HP-UX, ?.09.*, [A-Z]

Uname strings containing a subset of isascii(3) characters only. 
No isspace(3) characters are allowed.
Shell pattern matching notation allowed: []*?!
Patterns can be "or’ed" together using the separator: |

software_specification
maximum length: none
examples: SD.agent or  SD,r=2.0,a=HP-UX_A.09.00_700

An SD software specification is of the form:

bundle[.product[.subproduct][.fileset]][,version]
or

product[.subproduct][.fileset][,version]

For version component, see below. 

Valid specifications for bundles are:

• bundle,

• bundle.product,

• bundle.product.fileset,

• bundle.product.subproduct and

• bundle.product.subproduct.fileset. 

Valid forms for products are:

• product,

• product.subproduct and

• product.fileset. 

Specifying bundle.  (bundle dot) signifies an empty bundle (wrapper) which is processed without reference to its contents. This allows a bundle to be operated upon without affecting its contents. 

Fully qualified software specs include the r=, a=, and v=, version components even if they are empty strings. 

version_component
maximum length: none

The version component has the form:

[,r <op> revision][,a <op> arch][,v <op> vendor] [,c <op> category]
or
[instance_id] (numerical only)

where <op> (relational operator) can be of the form: ==, >=, <=, <, >, or != which performs individual comparisons on dot-separated fields.  For example, r>=BB.10.00 means to choose all revisions that are greater than or equal to BB.10.00. The system will compare each dot-separated field to find matches. Software will only be selected when matches within each field are satisfied. Wildcards are not allowed with these operators. 

The = (equals) relational operator is also allowed. It provides the shell pattern matching notations []*?! or wildcards to specify selections as opposed to comparing dot-separated fields. 

All version components are repeatable within a single specification (e.g.  r>=AA.12, r<AA.20). If multiple components are used, the selection must match all components. 

No isspace(3) characters are allowed. 

unsigned_integer
maximum length: none

An integer in the range >= 0 and <= 2^32. 

state_enumeration
maximum length: none

One of the following fileset states: transient, corrupt, available, installed, or configured. 

result_enumeration
maximum length: none

One of the following control script results: none, error, warning, or success. 

file_type_enumeration
maximum length: none

One of the following file types: file, directory, hard link, or symbolic link. 

compression_enumeration
maximum length: none

One of the following file types: compressed or undefined. 

HOST OBJECT FORMAT

The file /var/adm/sw/host_object defines the software depots on the local host which have been registered with the swagentd daemon running on the host.  The file has this format:

host
    data_model_revision  2.00

    distribution           Defines a contained (registered) depot
        path directory

    distribution
        path directory

    ... 

DEPOT (DISTRIBUTION) FORMAT

A depot is formatted using the following directory structure:

catalog/ Catalog of depot’s contents
    INDEX Global index (table of contents)
    swlock Controls simultaneous modification
    dfiles/ Stores all depot-specific information
        INDEX Defines depot-specific attributes
        INFO Defines depot-specific files
        _ACL Access Control List (ACL) for the depot
        _OWNER Owner and group of the depot’s creator
        _LOCK_FILE Controls simultaneous ACL modification
        _PROD_DFLT_ACL Default ACL for new products
    product_directory/ Catalog for a product
        pfiles/ Stores all product-specific information
            INDEX Defines product attributes
            INFO Defines product files and scripts
            README The product’s README attribute
            scripts Zero or more product control scripts
            pcjob A PC product’s job file (HP OpenView Software Distributor only)
            _ACL ACL for the product
            _OWNER Owner and group of the product’s creator
            _LOCK_FILE Controls simultaneous ACL modification
        fileset_directory/ Catalog for a fileset
            INDEX Defines fileset attributes
            INFO Defines fileset files and scripts
            scripts Zero or more fileset control scripts
        fileset_directory/ Catalog for the next fileset
        ...
    product_directory/ Catalog for the next product
    ...


product_directory/ Contents of a product
    fileset_directory/ Contents of a fileset
    ... Contents of the next fileset
product_directory/ Contents of the next product
...

The format is divided into two areas:

• the catalog, which contains all the information which describes the products contained in the depot;

• the contents, which stores the actual files contained in each product (one product_directory per product.) 

Product and Fileset Directory Names

The product_directory and fileset_directory values are unique storage directories for a given product and fileset.  They have this syntax:

tag[.instance_id]

The tag component is the product or fileset tag attribute.  If more than one product with the same tag exists in the software depot, then the instance_id component is also necessary for all additional products with the same tag.  This component is the product or fileset.  instance_id attribute. 

On a short-filename filesystem, the tag component is truncated to the first 9 characters (if necessary).  All products with the same truncated tag will also have a unique storage directory based on the instance_id component. 

The following DOS information applies only to HP OpenView Software Distributor

On a DOS filesystem, the tag component is truncated to the first 4 characters (always).  All products with the same truncated tag will also have a unique storage directory based on the instance_id component. 

Distribution Tape Format

A distribution tape contains the depot format (above), archived to one or more tapes in tar(1) format.  The entire catalog precedes the depot contents on a distribution tape. 

If the distribution spans multiple tapes, then the first tape contains the entire catalog, and as many fileset contents directories as will fit on the tape.  Each additional tape contains only the catalog/INDEX followed by as many fileset contents directories as will fit on the tape. 

INSTALLED PRODUCTS DATABASE FORMAT

An Installed Products Database (IPD) describes the software installed in a primary or alternate root filesystem.  The format of an IPD is similar to the format of a software depot.  An IPD is formatted using the following directory structure:

var/adm/sw/products/ Catalog of root’s contents
    INDEX Global index (table of contents)
    swlock Controls simultaneous modification
    ifiles/ Stores all root-specific information
        INDEX Defines root-specific attributes
        INFO Defines root-specific files
        _ACL Access Control List (ACL) for the root
        _OWNER Owner and group of the root’s creator
        _LOCK_FILE Controls simultaneous ACL modification
    product_directory/ Catalog for a product
        pfiles/ Stores all product-specific information
            INDEX Defines product attributes
            INFO Defines product files and scripts
            README The product’s README attribute
            scripts Zero or more product control scripts
        fileset_directory/ Catalog for a fileset
            INDEX Defines fileset attributes
            INFO Defines fileset files and scripts
            scripts Zero or more fileset control scripts
        fileset_directory/ Catalog for the next fileset
        ...
    product_directory/ Catalog for the next product
    ...

Product and Fileset Directory Names

The product_directory and fileset_directory values are as described for the depot format above. 

INDEX FORMAT

An INDEX file describes all of the attributes (except for contained scripts and contained files) of a fileset, product, depot, or root.  In a depot, the fileset, product, and depot INDEX files are concatenated together to form the catalog/INDEX file.  In a root, the fileset, product, and root INDEX files are concatenated together to form the var/adm/sw/products/INDEX file. 

This section describes the keyword syntax used in an INDEX file.  The value for each keyword must meet the type restrictions described in the OBJECT ATTRIBUTES section. 

Fileset INDEX

fileset

tag tag_value
data_model_revision revision_value
revision revision_value
title title_value
description description_value
instance_id id_value
control_directory control_directory_value
size size_value
state state_value
mod_time time_value
install_source install_source_value
is_kernel boolean_value
is_reboot boolean_value
is_packaged_in_place boolean_value
is_secure boolean_value
media_sequence_number sequence_value
prerequisites prerequisite_value
corequisites corequisite_value
ancestor ancestor_value

The tag attribute is always required.  The media_sequence_number attribute is required for filesets within a multiple tape distribution. 

Multiple prerequisites and corequisites definitions are allowed.  Multiple ancestor definitions are also allowed. 

Bundle or Product INDEX

Note: Keywords marked with a + apply only to product INDEX files and those marked with a "-" apply only to bundle INDEX files. 

vendor

tag tag_value
uuid uuid_value
title title_value
description description_value

product or bundle

tag tag_value
data_model_revision revision_value
revision revision_value
title title_value
description description_value
copyright copyright_value
number number_value
category category_value
category_title category_title_value
instance_id id_value
control_directory control_directory_value
mod_time time_value
install_date install_date_value
install_source install_source_value
install_type install_type_value
share_link share_link_value
+ readme readme_value
+ job_file job_file_value
+ directory directory_value
+ is_locatable boolean_value
+ location location_value
architecture architecture_value
machine_type machine_type_value
os_name os_name_value
os_release os_release_value
os_version os_version_value
+ all_filesets all_filesets_value
vendor_tag vendor_tag_value
- contents contents_value
+ subproduct
+ tag tag_value
+ uuid uuid_value
+ title title_value
+ description description_value
+ contents contents_value

The tag attribute is always required. 

For subproducts, the tag and contents attributes are required.  Multiple subproduct definitions are allowed. 

For vendor, the tag attribute is required. 

Depot INDEX

distribution

tag tag_value
data_model_revision revision_value
title title_value
description description_value
copyright copyright_value
number number_value
uuid uuid_value
mod_time time_value
path_max path_max_value
name_max name_max_value
media
sequence_number sequence_number_value

No attributes are required. 

Root INDEX

root

data_model_revision revision_value
mod_time time_value
description description_value

No attributes are required. 

INFO FORMAT

An INFO file describes all of the control scripts and files contained within a fileset, product, depot, or root.  This section describes the keyword syntax used in an INFO file.  The value for each keyword must meet the type restrictions described in the OBJECT ATTRIBUTES section. 

Control Script Format

control_file

path path_value
tag tag_value
result result_value

The path, and tag attributes are required. 

File Format

file

path path_value
type file_type_value
mode mode_value
owner owner_value
group group_value
uid uid_value
gid gid_value
mtime mtime_value
size size_value
cksum cksum_value
revision revision_value
link_source source_value
source_path source_value
is_volatile boolean_value
compression_state compression_state_value
compression_type type_value
compressed_size size_value
compressed_cksum cksum_value
file_attrs file_attrs_value

The path, and type attributes are always required.  The link_source attribute is required for hard link and symbolic link files. 

ACL FORMAT

An Access Control List (ACL) has this format:

# default_realm = host_name
entry_type:[key:]permissions
entry_type:[key:]permissions
entry_type:[key:]permissions

See the swacl(1M) manual page for details on the fields in an ACL entry.  Note that the permissions of a stored ACL are literal octal strings, but the permissions displayed by swacl are symbolic. 

The _OWNER file uses a subset of the ACL format.  It contains an entry for the user and group names of the user who created the corresponding object. 

LOCKING

These commands use a common locking mechanism for reading and modifying both root directories and software depots. This mechanism allows multiple readers but only one writer on a root or depot. 

The commands which modify software in an (alternate) root directory are restricted from simultaneous modification using fcntl(2) locking on the file

var/adm/sw/products/swlock

relative to the root directory (e.g.  /var/adm/sw/products/swlock). 

The commands which modify software in a depot are restricted from simultaneous modification using fcntl(2) locking on the file

catalog/swlock

relative to the depot directory (e.g.  /var/spool/sw/catalog/swlock). 

All commands set fcntl(2) read locks on roots and depots using the swlock file mentioned above.  When a read lock is set, it prevents other commands from performing modifications (i.e. from setting write locks). 

The swacl command is restricted from simultaneous modification of an ACL using fcntl(2) read and write locks on the

_LOCK_FILE

associated with each ACL. 

AUTHOR

The Software Distributor was developed by the Hewlett-Packard Company. 

SEE ALSO

swpackage(4), sd(5), swacl(1M), swagent(1M), swagentd(1M), swcluster(1M), swconfig(1M), swcopy(1M), swgettools(1M), swinstall(1M), swjob(1M), swlist(1M), swmodify(1M), swpackage(1M), swpackage(4), swreg(1M), swremove(1M), swverify(1M), update(1M), and the HP OpenView Software Distributor Administrator’s Guide or Managing HP-UX Software with SD-UX manuals. 

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026