sd(4) Kernel Interfaces Manual sd(4)
NAME
sd - all objects that Software Distributor (SD) uses, their attributes and storage formats
DESCRIPTION
The SD commands create, install, distribute and manage software objects (bundles, products, subproducts 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.
For an overview of all SD commands, see the sd(5) manual page by typing:
The objects described here conform to of the IEEE Standard 1387.2: Software Administration (POSIX). The previous SD layout_version 0.8 is
also supported. For more details, see swpackage(4) or the option in sd(5).
OBJECT CLASSES
The SD object classes are:
host A machine 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 customiza-
ble source of software used for direct installation. It can also represent a distribution medium (for example, tape or
CD-ROM) which contains products or bundles available for installation. Depot corresponds to the class defined in POSIX.
media Vehicle for software delivery. When a depot is located on one or more media in the unique sequence number identifying
each medium is in the media class.
root A set of installed software objects, usually the operational software installed in the primary root filesystem, "/". It
also represents the set of software objects installed into an alternate root directory. Root corresponds to the class
defined in POSIX.
vendor The vendor who packaged and distributed a product or bundle. It is an optional component of a product or a bundle.
category A classification for a product or bundle, such as "systems_management," "desktop," or "patch."
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. Bundle is NOT a superset of product.
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_files.
subproduct
A subset or partitioning of a software product. It is an optional component of a product. and contains one or more file-
sets.
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_files.
file The actual files that make up a fileset that get installed, configured, and removed.
control_files
The scripts developed by vendors to perform product- or fileset-specific operations during various software management
tasks. Often called control_scripts.
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 See swpackage(4) for details on this subset.
The attribute value types are defined in the next section,
Vendor-Defined Attributes
You can create your own software attributes when packaging software. Keywords in a product specification file that are not recognized by
SD are preserved, along with their associated values, by being transferred to the resulting INDEX or INFO files created by or (Refer to
swpackage(4) for more information on INDEX and INFO files.)
The keyword is a filename character string. The value associated with a keyword is processed as an attribute_value. It can be continued
across multiple input lines or can reference a file containing the value for the keyword.
Vendor-defined attributes are noted during packaging or when modified with These attributes can be listed with
Host Attributes
+------------------+------------------+---------+----------------------+
|Attribute | Value Type | Size | Example |
+------------------+------------------+---------+----------------------+
|machine_type | uname_string | 32 | 9000/[78]* |
| | | | ia64 hp server g4000 |
+------------------+------------------+---------+----------------------+
|name | one_line_string | 64 | dist.hp.com |
+------------------+------------------+---------+----------------------+
|os_name | uname_string | 32 | HP-UX |
+------------------+------------------+---------+----------------------+
|os_release | uname_string | 32 | B.11.11 |
+------------------+------------------+---------+----------------------+
|os_version | uname_string | 32 | C |
+------------------+------------------+---------+----------------------+
|contained depots | list of depot | | |
| | objects | | |
+------------------+------------------+---------+----------------------+
|contained roots | list of root | | |
| | directories | | |
+------------------+------------------+---------+----------------------+
+------------------+------------------+---------+----------------------+
The host's machine and architecture designation. (See output of the
command.)
The official name of the network host.
The host's operating system name.
The host's operating system release.
The host's operating system version.
The depots registered at the host.
The root filesystems registered on this system.
Depot Attributes
+---------------------+-------------------+------+-----------------------+
|Attribute | Value Type | Size | Example |
+---------------------+-------------------+------+-----------------------+
|copyright | multi_line_string | 8K | "This depot ..." |
+---------------------+-------------------+------+-----------------------+
|data_model_revision | revision_string | 64 | 2.40 |
+---------------------+-------------------+------+-----------------------+
|description | multi_line_string | 8K | "This depot ..." |
+---------------------+-------------------+------+-----------------------+
|dfiles | tag_string | 64 | dfiles |
+---------------------+-------------------+------+-----------------------+
|layout_version | revision_string | 64 | 1.0 |
+---------------------+-------------------+------+-----------------------+
|mod_date | one_line_string | 64 | Tue Jun 22 12:52:09 |
| | | | 2001 |
+---------------------+-------------------+------+-----------------------+
|mod_time | unsigned_integer | | 740774837 |
+---------------------+-------------------+------+-----------------------+
|name_max | unsigned_integer | | 255 |
+---------------------+-------------------+------+-----------------------+
|number | one_line_string | 64 | B2358-13601 |
+---------------------+-------------------+------+-----------------------+
|path_max | unsigned_integer | | 1023 |
+---------------------+-------------------+------+-----------------------+
|pfiles | tag_string | 64 | pfiles |
+---------------------+-------------------+------+-----------------------+
|tag | tag_string | 64 | APPLICATIONS_CD |
+---------------------+-------------------+------+-----------------------+
|title | one_line_string | 256 | Applications Software |
+---------------------+-------------------+------+-----------------------+
|uuid | one_line_string | 64 | 25CA7C86-6F0C-9353 |
+---------------------+-------------------+------+-----------------------+
|contained bundles | list of bundle | | |
| | objects | | |
+---------------------+-------------------+------+-----------------------+
|contained products | list of product | | |
| | objects | | |
+---------------------+-------------------+------+-----------------------+
|contained media | media object | | |
+---------------------+-------------------+------+-----------------------+
|contained vendors | vendor objects | | |
+---------------------+-------------------+------+-----------------------+
|contained categories | category objects | | |
+---------------------+-------------------+------+-----------------------+
The copyright information for the depot or tape.
The HP specific format revision used to store the depot definition.
The multi-paragraph description of the distribution depot/tape.
The name of a directory that contains any attributes that must be
stored as files.
The version of the IEEE Standard 1387.2
or to which the HP-specific data_model_revision conforms.
The string format of the
The time of the last operation performed on the depot.
The maximum length of file basenames in the depot.
The part or manufacturing number of the depot/tape.
The maximum length of file pathnames in the depot.
The name of a directory that contains any product
or any product attributes that must be stored as files.
The identifier (short name) for the
distribution depot/tape.
The full name (one-line description)
of the distribution depot/tape.
The depot's Universal Unique Identifier (UUID).
The bundles available from the depot.
The products available from the depot.
The object defining the sequence number used to identify each medium.
The objects defining a vendor object that is associated with subsequent
bundle and product objects that define a attribute.
The objects defining a category object that is associated with subsequent
software objects and define a attribute.
Media Attributes
Generated by
+----------------+-----------------+------+---------+
|Attribute | Value Type | Size | Example |
+----------------+-----------------+------+---------+
|sequence_number | one_line_string | 64 | 1 |
+----------------+-----------------+------+---------+
+----------------+-----------------+------+---------+
For a multiple tape distribution,
this attribute defines the unique of each medium.
Root Attributes
+---------------------+-------------------+------+---------------------+
|Attribute | Value Type | Size | Example |
+---------------------+-------------------+------+---------------------+
|data_model_revision | revision_string | 64 | 2.40 |
+---------------------+-------------------+------+---------------------+
|description | multi-line_string | 2048 | "This root is ..." |
+---------------------+-------------------+------+---------------------+
|dfiles | tag_string | 64 | dfiles |
+---------------------+-------------------+------+---------------------+
|layout_version | revision_string | 64 | 1.0 |
+---------------------+-------------------+------+---------------------+
|mod_date | one_line_string | 64 | Mon Jun 14 13:01:19 |
| | | | 2001 |
+---------------------+-------------------+------+---------------------+
|mod_time | unsigned_integer | | 740774837 |
+---------------------+-------------------+------+---------------------+
|path | one_line_string | 256 | /xx/xx/xx |
+---------------------+-------------------+------+---------------------+
|pfiles | tag_string | 64 | pfiles |
+---------------------+-------------------+------+---------------------+
|root_type | one_line_string | 256 | shared |
+---------------------+-------------------+------+---------------------+
|contained bundles | list of bundle | | |
| | objects | | |
+---------------------+-------------------+------+---------------------+
|contained products | list of product | | |
| | objects | | |
+---------------------+-------------------+------+---------------------+
|contained vendors | vendor objects | | |
+---------------------+-------------------+------+---------------------+
|contained categories | category objects | | |
+---------------------+-------------------+------+---------------------+
+---------------------+-------------------+------+---------------------+
The HP specific format revision used to store the root definition.
A multi-line description of the root.
The version of the IEEE Standard 1387.2
or to which the HP-specific data_model_revision conforms.
The string format of the
The time of the last operation performed on the root.
The path to the root.
The type of root: shared, private or none.
The bundles installed into the root.
The products installed into the root.
The object defining a vendor object that is associated
with subsequent bundle and product objects that define a attribute.
The object defining a category object that is associated with subsequent
software objects that define a attribute.
Vendor Attributes
+-------------+--------------------+--------+-------------------------+
|Attribute | Value Type | Size | Example |
+-------------+--------------------+--------+-------------------------+
|description | multi_line_string | 8K | "This vendor ..." |
+-------------+--------------------+--------+-------------------------+
|title | one_line_string | 256 | Hewlett-Packard Company |
+-------------+--------------------+--------+-------------------------+
|tag | tag_string | 64 | HP |
+-------------+--------------------+--------+-------------------------+
|uuid | one_line_string | 64 | 1234567-CDEF-0123-4569 |
+-------------+--------------------+--------+-------------------------+
+-------------+--------------------+--------+-------------------------+
The multi-paragraph description of the vendor.
The identifier (short name) for the vendor. Used to associate a
vendor object with subsequent product or bundle objects having a attribute of the same value.
The full name (one-line description)
for the vendor.
The vendor's
Universal Unique Identifier (UUID).
When listing the attributes of a vendor associated with the specified product or bundle using the option lists all of the vendor
attributes. The option can be used to list specific vendor attributes (for example,
Note that the vendor specification is not the same as vendor-defined attributes described in the section. Vendor specification describes
who is providing the software. Vendor-defined attributes associate extra miscellaneous data with the software.
Category Attributes
+-------------+---------------------+--------+-------------------------+
|Attribute | Value Type | Size | Example |
+-------------+---------------------+--------+-------------------------+
|description | multi_line_string | 8K | normal patches |
+-------------+---------------------+--------+-------------------------+
|revision | revision_string | 64 | 0.0 |
+-------------+---------------------+--------+-------------------------+
|tag | tag_string | 64 | normal_patch |
+-------------+---------------------+--------+-------------------------+
|title | one_line_string | 256 | patches for normal use |
+-------------+---------------------+--------+-------------------------+
+-------------+---------------------+--------+-------------------------+
A more detailed description of the category.
A short name identifying the category. Each category must
have a unique tag. This attribute has no default value. The category tag is reserved. When is set to for a software
object, a built-in attribute of value is automatically included.
A longer name of the category used for presentation purposes.
Determines which category object definition to maintain in a
depot when a definition being installed or copied does not match a definition already in the depot with the same The category
definition with the higher revision is maintained.
Bundle and Product Attributes
o Attributes marked with a apply only to the class.
o Attributes marked with a apply only to the class.
o Attributes marked with a determine the uniqueness of a product or bundle object instance. Their values may also be of the type
when used in a version component of a software specification.
+---------------------+---------------------+-------+-----------------------+
|Attribute | Value Type | Size | Example |
+---------------------+---------------------+-------+-----------------------+
|+ all_filesets | one-line list of | | commands agent |
| | tag_string values | | data man |
+---------------------+---------------------+-------+-----------------------+
|* architecture | one_line_string* | 64 | HP-UX_B.11.11_32/64 |
+---------------------+---------------------+-------+-----------------------+
| category_tag | tag_string | 64 | normal |
+---------------------+---------------------+-------+-----------------------+
|- contents | repeatable list of | 8K | foo.bar,r=1.0,a=,v=HP |
| | software_specs | | x.y,r=2.0,a=,v= |
+---------------------+---------------------+-------+-----------------------+
| control_directory | path_string | 255 | SD |
+---------------------+---------------------+-------+-----------------------+
| copyright | multi_line_string | 8K | "This product ..." |
+---------------------+---------------------+-------+-----------------------+
| create_date | one_line_string | 64 | Mon Jun 14 13:01:19 |
+---------------------+---------------------+-------+-----------------------+
| create_time | unsigned_integer | | 740084479 |
+---------------------+---------------------+-------+-----------------------+
| data_model_revision | revision_string | 64 | 2.40 |
+---------------------+---------------------+-------+-----------------------+
| description | multi_line_string | 8K | "This product ..." |
+---------------------+---------------------+-------+-----------------------+
| directory | path_string | 1024 | |
+---------------------+---------------------+-------+-----------------------+
| install_date | one_line_string | 16 | 200102241212.34 |
+---------------------+---------------------+-------+-----------------------+
| install_source | one_line_string | 1024 | zook.com:/depot |
+---------------------+---------------------+-------+-----------------------+
| install_type | one_line_string | 16 | physical |
+---------------------+---------------------+-------+-----------------------+
| instance_id | tag_string | 64 | 1 |
+---------------------+---------------------+-------+-----------------------+
| is_locatable | boolean | 8 | true |
+---------------------+---------------------+-------+-----------------------+
| is_patch | boolean | 8 | true |
+---------------------+---------------------+-------+-----------------------+
| layout_version | revision_string | 64 | 1.0 |
+---------------------+---------------------+-------+-----------------------+
|* location | path_string | 1024 | / |
+---------------------+---------------------+-------+-----------------------+
|machine_type | uname_string | 64 | 9000/7*|9000/8* |
| | | | ia64* |
+---------------------+---------------------+-------+-----------------------+
| mod_date | one_line_string | 64 | Mon Jun 14 13:01:19 |
| | | | 2001 |
+---------------------+---------------------+-------+-----------------------+
| mod_time | unsigned_integer | | 740084479 |
+---------------------+---------------------+-------+-----------------------+
| number | one_line_string | 64 | J2326AA |
+---------------------+---------------------+-------+-----------------------+
| os_name | uname_string | 64 | HP-UX |
+---------------------+---------------------+-------+-----------------------+
| os_release | uname_string | 64 | ?.11.* |
+---------------------+---------------------+-------+-----------------------+
| os_version | uname_string | 64 | [A-Z] |
+---------------------+---------------------+-------+-----------------------+
|+ postkernel | path_string | 255 | /usr/bin/kernel_build |
+---------------------+---------------------+-------+-----------------------+
| qualifier | one_line_string | 64 | "My product" |
+---------------------+---------------------+-------+-----------------------+
|+ readme | multi_line_string | 1024K | < README |
+---------------------+---------------------+-------+-----------------------+
|* revision | revision_string | 64 | 2.0 |
+---------------------+---------------------+-------+-----------------------+
| share_link | one_line_string | 256 | "sbin" |
+---------------------+---------------------+-------+-----------------------+
| size | unsigned_integer | | 14638872 |
+---------------------+---------------------+-------+-----------------------+
| software_spec | software_spec | | SD,r=2.0 |
+---------------------+---------------------+-------+-----------------------+
|* tag | tag_string | 64 | SD |
+---------------------+---------------------+-------+-----------------------+
| title | one_line_string | 256 | Software Distributor |
+---------------------+---------------------+-------+-----------------------+
|* vendor_tag | tag_string | 64 | HP |
+---------------------+---------------------+-------+-----------------------+
|+ contained control | list of control | | |
| scripts | script objects | | |
+---------------------+---------------------+-------+-----------------------+
|+ contained | list of fileset | | |
| filesets | objects | | |
+---------------------+---------------------+-------+-----------------------+
|+ contained | list of subproduct | | |
| subproducts | objects | | |
+---------------------+---------------------+-------+-----------------------+
All the filesets originally packaged into the product.
The target system(s) on which the product will run.
A repeatable tag-based attribute identifying a set of
categories of which the software object is a member. This is used as a selection mechanism and can be used independent of
patches. The default value is an empty list or if the attribute is set to The category tag is reserved.
Like this attribute associates this product or bundle with a category object containing additional information about the cat-
egory (for example, a one-line title definition and a description of the category).
The list of software_specs for a bundle. (Bundles can contain other
bundles.) Fully qualified software specs at the fileset level are recommended when defining packages. (Applies to bundles
only).
The relative pathname to the product catalog directory within the
depot/root catalog that contains scripts for the product.
The copyright information for the product.
The string format of the
The time at which the bundle or product was created.
The format revision used to store the product definition.
The default pathname in which the
product's files will be installed.
The multi-paragraph description of the product.
The installation date of the product or bundle.
The source from which the product was installed.
The type of installation - "physical" or "NFS_mount".
The secondary identifier for products which have the same
(or truncated tag) value.
Defines whether (or not) the product can be installed into an arbitrary directory.
Identifies a software object as a patch. The default value is
When set to a built-in attribute of value is automatically included.
The version of the IEEE Standard 1387.2
or to which the HP-specific data_model_revision conforms.
The installed pathname of the product.
The machine(s) on which the product will run.
The string format of the
The time of the last operation performed on the product.
The part or order number for the product.
The operating system(s) on which the product will run.
The operating system release(s) on which the product will run.
The operating system versions(s) on which the product will run.
The path to a script that is run after kernel filesets are installed.
A user-specified name that identifies a product or set of product
versions. Can be set using and used in software_specs with other commands.
The most recent information for the product.
The revision (release number, version number) of the product.
Sharing point(s) for product.
The size of the product in bytes.
The fully qualified software specification for the bundle or product.
This attribute can be used to identify a unique bundle or product.
The identifier (short name) for the
product.
The full name (one-line description)
of the product.
Associates this product or bundle with a vendor object containing
additional attributes describing the vendor. The vendor object must have a matching attribute.
The scripts defined for the product.
The fileset defined for the product.
The subproducts defined for the product.
Subproduct Attributes
+---------------+-------------------------+------+-----------------------+
|Attribute | Value Type | Size | Example |
+---------------+-------------------------+------+-----------------------+
|contents | repeatable list of | | commands data man |
| | tag_string values | | commands data man |
+---------------+-------------------------+------+-----------------------+
|description | multi_line_string | 8K | "This subproduct ..." |
+---------------+-------------------------+------+-----------------------+
|size | unsigned_integer | | 14638872 |
+---------------+-------------------------+------+-----------------------+
|software_spec | software_specification | | Networking.Run,r=1.0 |
+---------------+-------------------------+------+-----------------------+
|tag | tag_string | 64 | Manager |
+---------------+-------------------------+------+-----------------------+
|title | one_line_string | 256 | Management Utilities |
+---------------+-------------------------+------+-----------------------+
+---------------+-------------------------+------+-----------------------+
A list of the filesets or subproducts that make up the subproduct.
The multi-paragraph
description of the subproduct.
The size of the subproduct in bytes.
The full software specification for the subproduct. This attribute
can be used to identify a unique subproduct.
The identifier (short name) for the subproduct.
The full name (one-line description)
of the subproduct.
Fileset Attributes
+-------------------+----------------------+-------+--------------------+
|Attribute | Value Type | Size | Example |
+-------------------+----------------------+-------+--------------------+
|ancestor | repeatable list of | | oldprod.fs |
| | software specs | | |
+-------------------+----------------------+-------+--------------------+
|applied_patches | software_spec | | product.fileset, |
| | | | version |
+-------------------+----------------------+-------+--------------------+
|architecture | one_line_string | 64 | HP-UX_B.11.11 |
| | | | _32/64 |
+-------------------+----------------------+-------+--------------------+
|category_tag | tag_string | 64 | patch_normal |
+-------------------+----------------------+-------+--------------------+
|control_directory | path_string | 255 | SD |
+-------------------+----------------------+-------+--------------------+
|corequisites | repeatable list of | | SD.man |
| | software_specs | | |
+-------------------+----------------------+-------+--------------------+
|create_date | one_line_string | 64 | Mon Jun 14 |
| | | | 13:01:19 2001 |
+-------------------+----------------------+-------+--------------------+
|create_time | unsigned_integer | | 740084479 |
+-------------------+----------------------+-------+--------------------+
|data_model_ | revision_string | 64 | 2.40 |
|revision | | | |
+-------------------+----------------------+-------+--------------------+
|description | multi_line_string | 8K | "This fileset ..." |
+-------------------+----------------------+-------+--------------------+
|exrequisites | repeatable list of | | SD.man |
| | software_specs | | |
+-------------------+----------------------+-------+--------------------+
|install_date | one-line string | 16 | 200102241414.34 |
+-------------------+----------------------+-------+--------------------+
|install_source | one_line_string | 1024 | zook.com:/depot |
+-------------------+----------------------+-------+--------------------+
|instance_id | tag_string | | 1 |
+-------------------+----------------------+-------+--------------------+
|is_kernel | boolean | 8 | false |
+-------------------+----------------------+-------+--------------------+
|is_locatable | boolean | 8 | true |
+-------------------+----------------------+-------+--------------------+
|is_packaged_ | boolean | 8 | false |
|in_place | | | |
+-------------------+----------------------+-------+--------------------+
|is_patch | boolean | 8 | true |
+-------------------+----------------------+-------+--------------------+
|is_reboot | boolean | 8 | false |
+-------------------+----------------------+-------+--------------------+
|is_secure | boolean | 8 | false |
+-------------------+----------------------+-------+--------------------+
|is_sparse | boolean | 8 | false |
+-------------------+----------------------+-------+--------------------+
|location | path_string | 1024 | / |
+-------------------+----------------------+-------+--------------------+
|machine_type | uname_string | 64 | 9000/[78]* |
| | | | ia64* |
+-------------------+----------------------+-------+--------------------+
|media_sequence_ | unsigned_integer | | 1 |
|number | | | |
+-------------------+----------------------+-------+--------------------+
|mod_date | one_line_string | 64 | Mon Jun 14 |
| | | | 13:01:19 2001 |
+-------------------+----------------------+-------+--------------------+
|mod_time | unsigned_integer | | 740084479 |
+-------------------+----------------------+-------+--------------------+
|os_name | uname_string | 64 | HP-UX |
+-------------------+----------------------+-------+--------------------+
|os_release | uname_string | 64 | ?.11.* |
+-------------------+----------------------+-------+--------------------+
|os_version | uname_string | 64 | ? |
+-------------------+----------------------+-------+--------------------+
|patch_state | patch_state_string | 16 | applied |
+-------------------+----------------------+-------+--------------------+
|pose_as_os_name | uname string | 64 | HP-UX:64 |
+-------------------+----------------------+-------+--------------------+
|pose_as_os_ | uname string | 64 | B.11.11 |
|release | | | |
+-------------------+----------------------+-------+--------------------+
|prerequisites | repeatable list of | | SD.agent |
| | software_specs | | |
+-------------------+----------------------+-------+--------------------+
|revision | revision_string | 64 | 2.15 |
+-------------------+----------------------+-------+--------------------+
|size | unsigned_integer | | 14638872 |
+-------------------+----------------------+-------+--------------------+
|state | state_enumeration | | corrupt |
+-------------------+----------------------+-------+--------------------+
|software_spec | software_spec | | Networking.Run, |
| | | | r=1.0 |
+-------------------+----------------------+-------+--------------------+
|superseded_by | software_spec | | product.fileset, |
| | | | version |
+-------------------+----------------------+-------+--------------------+
|supersedes | software_spec | | product.fileset, |
| | | | fr=revision |
+-------------------+----------------------+-------+--------------------+
|tag | tag_string | 64 | commands |
+-------------------+----------------------+-------+--------------------+
|title | one_line_string | 256 | Commands |
+-------------------+----------------------+-------+--------------------+
|contained control | list of control | | |
| scripts | script objects | | |
+-------------------+----------------------+-------+--------------------+
|contained files | list of file objects | | |
+-------------------+----------------------+-------+--------------------+
+-------------------+----------------------+-------+--------------------+
A list of filesets that will match the current fileset when installed
on a target system if the installation option is specified. Also determines the base to which a patch is applied. (Note
that an attribute is not the same as a
Determines the list of patches that have been applied to a base
fileset. This attribute applies to installed base (non-patch) software only.
Describes the target system(s) on which the fileset will run if
filesets for multiple architectures are included in a single product. Provides a human-readable summary of the four
attributes which define the exact target system(s) the fileset supports. Most filesets do not include an architecture; only
a product architecture need be defined.
A repeatable tag-based attribute identifying a set of
categories of which the software object is a member. This is used as a selection mechanism and can be used independent of
patches. The default value is an empty list or if the attribute is set to The category tag is reserved.
Like this attribute can be used as a pointer to a category object that contains additional information about the category
(for example, a one-line title definition and a description of the category).
The relative pathname to the fileset catalog directory in the product
catalog that contains the control_scripts for the fileset.
A list of dependencies on software that must be installed before this
software is run.
The format revision used to store the fileset definition.
The multi-paragraph
description of the fileset.
A list of dependencies on software that may not be installed when this
software is installed.
The date the fileset was installed.
The source from which the product was installed.
The secondary identifier for filesets which have the same
(or truncated tag) value.
Defines whether or not the fileset contains kernel files.
Defines whether or not the fileset can be installed into an arbitrary
directory.
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.
Identifies a software object as a patch.
The default value is When set to a built-in attribute of value is automatically included.
Defines whether or not the fileset requires a reboot after install.
Defines whether or not the fileset is encrypted on a CD-ROM media,
requiring a codeword to install.
Indicates that a fileset contains only a subset of files in the
base (ancestor) fileset and that the contents are to be merged with the base fileset. The default value is If the attribute
is is also set to for the fileset, although it can be forced to false.
The installed pathname of the fileset, derived from the product
location.
Defines the machine(s) on which the product will run if a fileset
architecture has been defined. (If not specified, assigns a value of "*", meaning the fileset runs on all machines.) If
there are multiple machine platforms, use wildcards or the '|' character to identify them. This attribute should pattern
match the output of the command on the supported target machine(s).
For a multiple tape distribution,
defines the tape on which the fileset is archived.
The string format of the
The time of the last operation performed on the fileset.
Defines the operating system(s) on which the product will run if a
fileset architecture has been defined. (If not specified, assigns a value of "*", meaning the fileset runs on all operating
systems.) If there are multiple operating systems, use wildcards or the '|' character to identify them. This attribute
should pattern match to the value of on the supported target system(s).
Defines the operating system release(s) on which the product will run
if a fileset architecture has been defined. (If not specified, assigns a value of "*", meaning the fileset runs on all
releases.) If there are multiple operating system releases, use wildcards or the '|' character to identify them. This
attribute should pattern match to the value of on the supported target system(s).
Defines the operating system version(s) on which the product will run
if a fileset architecture has been defined. (If not specified, assigns a value of "*", meaning the fileset runs on all ver-
sions.) If there are multiple operating system versions, use wildcards or the '|' character to identify them. This attribute
should pattern match to the value of on the supported target system(s).
Lists the current state of an installed patch, either
or Applies to installed patches only.
Overrides the existing
attribute of any target to which the given fileset is being installed. Used for filesets that define a new OS.
Overrides the existing
uname attribute of any target to which the given fileset is being installed. Used for filesets that define a new OS.
A list of dependencies on software that must be installed before this
software can be installed.
The revision (release number, version number) of the fileset.
The size of the fileset in bytes.
The current state of the fileset (resulting from the most recent
operation performed on it).
The full software specification for the fileset. Used to identify a
unique fileset.
Lists what patch superseded this patch. Applies to installed patches
only.
Used when a patch is replaced by (or merged into) a later patch.
The attribute indicates which previous patches are replaced by the patch being installed or copied. This attribute value is
a list of software specifications of other patches that this patch "supersedes".
The identifier (short name) for the fileset.
The full name (one-line description)
of the fileset (or truncated tag) value.
The scripts defined for the fileset.
The files defined for the fileset.
Control_File Attributes
+-------------+---------------------+-------+----------------------+
|Attribute | Value Type | Size | Example |
+-------------+---------------------+-------+----------------------+
|interpreter | path_string | | /usr/package/scripts |
+-------------+---------------------+-------+----------------------+
|path | path_string | 255 | checkinstall |
+-------------+---------------------+-------+----------------------+
|result | result_enumeration | | success |
+-------------+---------------------+-------+----------------------+
|tag | tag_string | 16 | checkinstall |
+-------------+---------------------+-------+----------------------+
Control_files can be defined for filesets and products.
The name of an interpreter used to execute
control_files. By default, SD interprets scripts with a POSIX shell ( You can define a different interpreter, for example:
SD checks that the interpreter is available. If not, the script fails. If SD finds the interpreter, it processes the script
normally using the specified interpreter.
Control scripts can also define their own interpreter in the first line of the script.
The relative pathname to the
control_script in the control_directory.
The result obtained from executing the
control_script.
The identifier (short name) for the
control_script.
File Attributes
+-------------------+--------------------------+-------+---------------------+
|Attribute | Value Type | Size | Example |
+-------------------+--------------------------+-------+---------------------+
|cksum | unsigned_integer | | 18355158 |
+-------------------+--------------------------+-------+---------------------+
|compressed_cksum | unsigned_integer | | false |
+-------------------+--------------------------+-------+---------------------+
|compressed_size | unsigned_integer | | false |
+-------------------+--------------------------+-------+---------------------+
|compression_state | compression_enumeration | | compressed |
+-------------------+--------------------------+-------+---------------------+
|compression_type | tag_string | 64 | gzip |
+-------------------+--------------------------+-------+---------------------+
|gid | unsigned_integer | | 0 |
+-------------------+--------------------------+-------+---------------------+
|group | tag_string | 64 | sys |
+-------------------+--------------------------+-------+---------------------+
|is_volatile | boolean | 8 | false |
+-------------------+--------------------------+-------+---------------------+
|link_source | path_string | 1024 | /usr/sbin/swinstall |
+-------------------+--------------------------+-------+---------------------+
|mode | unsigned integer | | 04555 |
+-------------------+--------------------------+-------+---------------------+
|mtime | unsigned_integer | | 740084479 |
+-------------------+--------------------------+-------+---------------------+
|owner | tag_string | 64 | root |
+-------------------+--------------------------+-------+---------------------+
|path | path_string | 255 | /usr/sbin/swpackage |
+-------------------+--------------------------+-------+---------------------+
|revision | revision_string | 64 | 1 .3 |
+-------------------+--------------------------+-------+---------------------+
|size | unsigned_integer | | 2494464 |
+-------------------+--------------------------+-------+---------------------+
|source | path_string | 1024 | /mfg/sbin/swinstall |
+-------------------+--------------------------+-------+---------------------+
|type | file_type_enumeration | | f |
+-------------------+--------------------------+-------+---------------------+
|uid | unsigned_integer | | 0 |
+-------------------+--------------------------+-------+---------------------+
The 32-bit checksum of the file.
The checksum of the compressed file.
The size of the compressed file.
The compression state of a file (compressed or not).
The type of compression used to store the file.
The GID of the file's owner.
The name of the file's group.
Defines whether the file can be modified or removed.
The path to which a hard or symbolic link points. (Note that the INFO
file contains the only representation of a symbolic link.)
The file permission mode.
The last modification time of the file.
The name of the file's owner.
The full pathname to the file.
The or revision of the file.
The size of the file in bytes.
The full path to the source file for files which have been "packaged
in place"; see swpackage(1M).
The type of file.
The UID of the file's owner.
VALUE TYPES
The value for each attribute must be of a specific type. The types are:
boolean Maximum length: 8 bytes
Examples: true, false
One of the following values:
compression_enumeration
Maximum length: none
One of the following values:
file_type_enumeration
Maximum length: none
One of the following values:
archive
blank special device
character special device
directory
file
hard link
named pipe (FIFO)
symbolic link
multi_line_string
Maximum length: 8K (1 Mbyte for
Multi-line strings support all characters. They represent one or more paragraphs of text. They are usually specified in-
line, surrounded by double-quotes. (The product is stored in a file, and specified using the ``format).
one_line_string
Maximum length: 256 bytes
Examples: Hewlett-Packard Company
One-line strings support a subset of characters only.
No characters, except for space and tab, are allowed.
patch_state_string
Maximum length: 16
One of the following values:
path_string
Maximum length: 255 bytes for tapes, 1024 bytes for depots
Examples:
An absolute or relative path to a file.
result_enumeration
Maximum length: none
One of the following values:
revision_string
Maximum length: 64 bytes
Examples: 2.0, B.11.11
Revision strings contain zero or more dot-separated one_line_strings (above).
software_specification
Maximum length: none
Examples: SD.agent or SD,r=2.0,a=HP-UX_B.11.11_32/64
Software specifications specify software in dependencies, ancestors and other attributes, as well as command line selec-
tions. The next section describes software specification syntax.
state_enumeration
Maximum length: none
One of the following fileset states:
tag_string
Maximum length: 64 bytes
Examples: HP, SD
Tag strings contain a subset of characters.
The first character is restricted to: A-Z, a-z, 0-9
The characters are not allowed; see ctype(3C).
Metacharacters not allowed:
Shell metacharacters not allowed:
Shell quoting characters not allowed:
Directory path character not allowed:
uname_string
Maximum length: 64 bytes
Examples: 9000/7*|9000/8*, ia64*, HP-UX, ?.11.*, [A-Z]
Uname strings containing a subset of characters only.
No characters are allowed.
Shell pattern matching notation allowed:
Patterns can be "ORed" together using the separator:
unsigned_integer
Maximum length: none
An integer in the range >= 0 and <= 2^32.
SOFTWARE SPECIFICATION SYNTAX
The SD commands and attributes support the following syntax for each software_specification:
o You can specify selections with the following shell wildcard and pattern-matching notations:
For example, selects all bundles and products with tags that end with "man".
o Bundles and subproducts are recursive. Bundles can contain other bundles and subproducts can contain other subproducts; for
example:
or (using expressions):
o The software specification selects all products. Use this specification with caution.
The component has the form:
o location applies only to installed software and refers to software installed to a location other than the default product direc-
tory.
o and apply only to filesets.
o , , , , and apply only to bundles and products. They are applied to the leftmost bundle or product in a software specification.
o The <op> (relational operator) component can be of the form:
or
which performs individual comparisons on dot-separated fields.
For example, chooses all revisions greater than or equal to The system compares each dot-separated field to find matches. Shell
patterns are not allowed with these operators.
o The (equals) relational operator lets you specify selections with the shell wildcard and pattern-matching notations:
For example, the expression returns any revision in version 10 or version 11.
o All version components are repeatable within a single specification (for example, If multiple components are used, the selection
must match all components.
o include the and version components even if they contain empty strings. For installed software, is also included.
o No space or tab characters are allowed in a software selection.
o The software can take the place of the version component. It has the form:
[instance_id]
within the context of an exported catalog, where is an integer that distinguishes versions of products and bundles with the same
tag.
HOST OBJECT FORMAT
The file defines the software depots on the local host which have been registered with the daemon running on the host. The file has this
format:
host
data_model_revision 2.40
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 files
_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 files
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:
o the which contains all the information which describes the products contained in the depot;
o the which stores the actual files contained in each product (one product_directory per product.)
Product and Fileset Control Directory Names
The product.control_directory and fileset.control_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 attribute. If more than one product with the same tag exists in the software depot, the
instance_id component is necessary. 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 trun-
cated 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 or format. The entire 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 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 files
fileset_directory/ Catalog for a fileset
INDEX Defines fileset attributes
INFO Defines fileset files and scripts
SAVE Defines file attributes for a fileset that
has been patched.
SAVEIPD Defines file attributes for a fileset that
has been patched. To permit potential patch
rollback, SD saves copies of patched files
under /var/adm/sw/save/patch_name/fileset
scripts Zero or more fileset control files
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 file. In a root, the fileset, product, and root
INDEX files are concatenated together to form the file.
This section describes the keyword syntax used in an INDEX file. The value for each must meet the type restrictions described in the sec-
tion.
Depot INDEX Format
tag tag_value
copyright copyright_value
data_model_revision revision_value
description description_value
dfiles dfiles_value
layout_version revision_value
mod_date date_value
mod_time time_value
name_max name_max_value
number number_value
path_max path_max_value
pfiles tag_value
title title_value
uuid uuid_value
sequence_number sequence_number_value
No attributes are required.
Root INDEX Format
data_model_revision revision_value
description description_value
dfiles dfiles_value
layout_version revision_value
mod_date date_value
mod_time time_value
path path_value
pfiles tag_value
root_type root_value
No attributes are required.
Bundle or Product INDEX Format
NOTE:
o The attribute is always required for all objects.
o The attribute is required for
o Keywords marked with a apply only to INDEX format.
o Keywords marked with a apply only to INDEX format.
tag tag_value
description description_value
title title_value
uuid uuid_value
tag tag_value
description description_value
revision revision_value
title title_value
tag tag_value
+ all_filesets all_filesets_value
architecture architecture_value
category_tag tag_value
- contents contents_value
control_directory control_directory_value
copyright copyright_value
create_date date_value
create_time time_value
data_model_revision revision_value
description description_value
directory directory_value
install_date install_date_value
install_source install_source_value
install_type install_type_value
instance_id id_value
is_locatable boolean_value
is_patch boolean_value
+ job_file job_file_value
location location_value
machine_type machine_type_value
mod_date date_value
mod_time time_value
number number_value
os_name os_name_value
os_release os_release_value
os_version os_version_value
+ postkernel postkernel_value
qualifier qualifier_value
+ readme readme_value
revision revision_value
share_link share_link_value
size size_value
software_spec software_specification_value
title title_value
vendor_tag vendor_tag_value
tag tag_value
contents contents_value
description description_value
size size_value
software_spec software_specification_value
title title_value
Fileset INDEX Format
NOTE:
o The attribute is always required.
o The attribute is required for filesets within a multiple tape distribution.
o Multiple definitions of and are allowed.
tag tag_value
ancestor ancestor_value
applied_patches software_specification_value
architecture architecture_value
category_tag tag_value
control_directory control_directory_value
corequisites corequisites_value
create_date date_value
create_time time_value
data_model_revision revision_value
description description_value
exrequisites exrequisites_value
install_date date_value
install_source install_source_value
instance_id id_value
is_kernel boolean_value
is_locatable boolean_value
is_packaged_in_place boolean_value
is_patch boolean_value
is_reboot boolean_value
is_secure boolean_value
is_sparse boolean_value
location location_value
machine_type machine_type_value
media_sequence_number sequence_value
mod_date date_value
mod_time time_value
os_name os_name_value
os_release os_release_value
os_version os_version_value
patch_state patch_state_value
pose_as_os_release release_value
prerequisites prerequisites_value
revision revision_value
size size_value
state state_value
software_spec software_specification_value
superseded_by software_specification_value
supersedes software_specification_value
title title_value
INFO FORMAT
An INFO file describes all of the control scripts and other files contained within a fileset or product. This section describes the key-
word syntax used in an INFO file.
Control File Format
tag tag_value
interpreter interpreter_value
path path_value
result result_value
The and attributes are required.
File Format
cksum cksum_value
compressed_cksum cksum_value
compressed_size size_value
compression_state compression_state_value
compression_type type_value
file_attrs file_attrs_value
gid gid_value
group group_value
is_volatile boolean_value
link_source source_value
mode mode_value
mtime mtime_value
owner owner_value
path path_value
revision revision_value
size size_value
source_path source_value
type file_type_value
uid uid_value
The and attributes are always required. The attribute is required for hard link and symbolic link files.
NOTE: The INFO file contains the only representation of a symbolic link.
ACL FORMAT
An Access Control List (ACL) has this format:
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 are symbolic.
The file uses a subset of the ACL format. It contains an entry for the and 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 locking on the file
relative to the root directory (for example,
The commands which modify software in a depot are restricted from simultaneous modification using locking on the file
relative to the depot directory (for example,
All commands set read locks on roots and depots using the file mentioned above. When a read lock is set, it prevents other commands from
performing modifications (that is, from setting write locks).
The command is restricted from simultaneous modification of an ACL using read and write locks on the
associated with each ACL.
AUTHOR
Software Distributor was developed by the Hewlett-Packard Company. and were developed by the Hewlett-Packard Company and Mark H. Colburn
(see pax(1)).
SEE ALSO
swacl(1M), swagentd(1M), swask(1M), swconfig(1M), swcopy(1M), swinstall(1M), swjob(1M), swlist(1M), swmodify(1M), swpackage(1M), swreg(1M),
swremove(1M), swverify(1M), swpackage(4), sd(5).
available at
sd(4)