Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > S

sd(4)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

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: man 5 sd

The objects described here conform to layout_version 1.0 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 layout_version 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 customizable source of software used for direct installation. It can also represent a distribution medium (e.g. tape or CD-ROM) which contains products or bundles available for installation. Depot corresponds to the distribution class defined in POSIX.

media

Vehicle for software delivery. When a depot is located on one or more media in layout_version=1.0, 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 installed_software 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 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_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 swpackage. See swpackage(4) for details on this subset.

The attribute value types are defined in the next section, VALUE TYPES.

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 swpackage or swcopy. (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 swmodify. These attributes can be listed with swlist.

Host Attributes

AttributeValue TypeSizeExample
machine_type uname_string329000/[78]*
  ia64 hp server g4000
name one_line_string64dist.hp.com
os_name uname_string32HP-UX
os_release uname_string32B.11.11
os_version uname_string32C
contained depots list of depot  
objects  
contained roots list of root  
directories  

machine_type

The host's machine and architecture designation. (See output of the model command.)

name

The official name of the network host.

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.

contained roots

The root filesystems registered on this system.

Depot Attributes

AttributeValue TypeSizeExample
copyrightmulti_line_string8K"This depot ..."
data_model_revisionrevision_string642.40
descriptionmulti_line_string8K"This depot ..."
dfiles tag_string64dfiles
layout_versionrevision_string641.0
mod_dateone_line_string64Tue Jun 22 12:52:09
  2001
mod_timeunsigned_integer 740774837
name_maxunsigned_integer 255
numberone_line_string64B2358-13601
path_maxunsigned_integer 1023
pfiles tag_string64pfiles
tagtag_string64APPLICATIONS_CD
title one_line_string256Applications Software
uuidone_line_string6425CA7C86-6F0C-9353
contained bundleslist of bundle  
objects  
contained productslist of product  
objects  
contained mediamedia object  
contained vendorsvendor objects  
contained categoriescategory objects  

copyright

The copyright information for the depot or tape.

data_model_revision

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

description

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

dfiles

The name of a directory that contains any attributes that must be stored as files.

layout_version

The version of the IEEE Standard 1387.2 (1.0 or 0.8) to which the HP-specific data_model_revision conforms.

mod_date

The string format of the mod_time.

mod_time

The time of the last operation performed on the depot.

name_max

The maximum length of file basenames in the depot.

number

The part or manufacturing number of the depot/tape.

path_max

The maximum length of file pathnames in the depot.

pfiles

The name of a directory that contains any product control_files or any product attributes that must be stored as files.

tag

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

title

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

uuid

The depot's Universal Unique Identifier (UUID).

contained bundles

The bundles available from the depot.

contained products

The products available from the depot.

contained media

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

contained vendors

The objects defining a vendor object that is associated with subsequent bundle and product objects that define a vendor_tag attribute.

contained categories

The objects defining a category object that is associated with subsequent software objects and define a category_tag attribute.

Media Attributes

Generated by swpackage.

AttributeValue TypeSizeExample
sequence_numberone_line_string641

sequence_number

For a multiple tape distribution, this attribute defines the unique sequence_number of each medium.

Root Attributes

AttributeValue TypeSizeExample
data_model_revisionrevision_string642.40
descriptionmulti-line_string2048"This root is ..."
dfiles tag_string64dfiles
layout_versionrevision_string641.0
mod_dateone_line_string64Mon Jun 14 13:01:19
  2001
mod_timeunsigned_integer 740774837
pathone_line_string256/xx/xx/xx
pfiles tag_string64pfiles
root_typeone_line_string256shared
contained bundleslist of bundle  
objects  
contained productslist of product  
objects  
contained vendorsvendor objects  
contained categoriescategory objects  

data_model_revision

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

description

A multi-line description of the root.

layout_version

The version of the IEEE Standard 1387.2 (1.0 or 0.8) to which the HP-specific data_model_revision conforms.

mod_date

The string format of the mod_time.

mod_time

The time of the last operation performed on the root.

path

The path to the root.

root_type

The type of root: shared, private or none.

contained bundles

The bundles installed into the root.

contained products

The products installed into 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.

contained category

The object defining a category object that is associated with subsequent software objects that define a category_tag attribute.

Vendor Attributes

AttributeValue TypeSizeExample
description multi_line_string8K"This vendor ..."
title one_line_string256Hewlett-Packard Company
tag tag_string64HP
uuid one_line_string641234567-CDEF-0123-4569

description

The multi-paragraph description of the 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.

title

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

uuid

The vendor's Universal Unique Identifier (UUID).

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).

Note that the vendor specification is not the same as vendor-defined attributes described in the Vendor-Defined Attributes section. Vendor specification describes who is providing the software. Vendor-defined attributes associate extra miscellaneous data with the software.

Category Attributes

AttributeValue TypeSizeExample
description multi_line_string8Knormal patches
revision revision_string640.0
tag tag_string64normal_patch
title one_line_string256patches for normal use

description

A more detailed description of the category.

tag

A short name identifying the category. Each category must have a unique tag. This attribute has no default value. The category tag patch is reserved. When is_patch is set to true for a software object, a built-in category_tag attribute of value patch is automatically included.

title

A longer name of the category used for presentation purposes.

revision

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 category_tag. The category definition with the higher revision is maintained.

Bundle and Product Attributes

  • Attributes marked with a + apply only to the product class.

  • Attributes marked with a - apply only to the bundle class.

  • Attributes marked with a * determine the uniqueness of a product or bundle object instance. Their values may also be of the type version_component when used in a version component of a software specification.

AttributeValue TypeSizeExample
+ all_filesets one-line list of commands agent
tag_string values data man
* architecture one_line_string*64HP-UX_B.11.11_32/64
category_tag tag_string64normal
- contents repeatable list of8Kfoo.bar,r=1.0,a=,v=HP
software_specs x.y,r=2.0,a=,v=
control_directory path_string255SD
copyright multi_line_string8K"This product ..."
create_date one_line_string64Mon Jun 14 13:01:19
create_time unsigned_integer 740084479
data_model_revisionrevision_string642.40
description multi_line_string8K"This product ..."
directory path_string1024 
install_date one_line_string16200102241212.34
install_source one_line_string1024zook.com:/depot
install_type one_line_string16physical
instance_id tag_string641
is_locatable boolean8true
is_patch boolean8true
layout_version revision_string641.0
* location path_string1024/
machine_type uname_string649000/7*|9000/8*
  ia64*
mod_date one_line_string64Mon Jun 14 13:01:19
  2001
mod_time unsigned_integer 740084479
number one_line_string64J2326AA
os_name uname_string64HP-UX
os_release uname_string64?.11.*
os_version uname_string64[A-Z]
+ postkernel path_string255/usr/bin/kernel_build
qualifier one_line_string64"My product"
+ readme multi_line_string1024K< README
* revision revision_string642.0
share_link one_line_string256"sbin"
size unsigned_integer 14638872
software_spec software_spec SD,r=2.0
* tag tag_string64SD
title one_line_string256Software Distributor
* vendor_tag tag_string64HP
+ contained control list of control  
scripts script objects  
+ contained list of fileset  
filesets objects  
+ contained list of subproduct  
subproducts objects  

all_filesets

All the filesets originally packaged into the product.

architecture

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

category_tag

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 patch if the is_patch attribute is set to true. The category tag patch is reserved.

Like vendor_tag, this attribute associates this product or bundle with a category object containing additional information about the category (for example, a one-line title definition and a description of the category).

contents

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).

control_directory

The relative pathname to the product catalog directory within the depot/root catalog that contains control scripts for the product.

copyright

The copyright information for the product.

create_date

The string format of the create_time.

create_time

The time at which the bundle or product was created.

data_model_revision

The format revision used to store the product definition.

directory

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

description

The multi-paragraph description of the product.

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".

instance_id

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

is_locatable

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

is_patch

Identifies a software object as a patch. The default value is false. When set to true, a built-in category_tag attribute of value patch is automatically included.

layout_version

The version of the IEEE Standard 1387.2 (1.0 or 0.8) to which the HP-specific data_model_revision conforms.

location

The installed pathname of the product.

machine_type

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

mod_date

The string format of the mod_time.

mod_time

The time of the last operation performed on the product.

number

The part or order number for the product.

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.

postkernel

The path to a script that is run after kernel filesets are installed.

qualifier

A user-specified name that identifies a product or set of product versions. Can be set using swmodify and used in software_specs with other commands.

readme

The most recent information for the product.

revision

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

share_link

Sharing point(s) for product.

size

The size of the product in bytes.

software_spec

The fully qualified software specification for the bundle or product. This attribute can be used to identify a unique bundle or product.

tag

The identifier (short name) for the product.

title

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

vendor_tag

Associates this product or bundle with a vendor object containing additional attributes describing the vendor. The vendor object must have a matching tag attribute.

contained control scripts

The scripts defined for the product.

contained filesets

The fileset defined for the product.

contained subproducts

The subproducts defined for the product.

Subproduct Attributes

AttributeValue TypeSizeExample
contents repeatable list of commands data man
tag_string values commands data man
description multi_line_string8K"This subproduct ..."
size unsigned_integer 14638872
software_spec software_specification Networking.Run,r=1.0
tag tag_string64Manager
title one_line_string256Management Utilities

contents

A list of the filesets or subproducts that make up the subproduct.

description

The multi-paragraph description of the subproduct.

size

The size of the subproduct in bytes.

software_spec

The full software specification for the subproduct. This attribute can be used to identify a unique subproduct.

tag

The identifier (short name) for the subproduct.

title

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

Fileset Attributes

AttributeValue TypeSizeExample
ancestor repeatable list of oldprod.fs
software specs  
applied_patches software_spec product.fileset,
  version
architecture one_line_string64HP-UX_B.11.11
  _32/64
category_tag tag_string64patch_normal
control_directory path_string255SD
corequisites repeatable list of SD.man
software_specs  
create_date one_line_string64Mon Jun 14
  13:01:19 2001
create_time unsigned_integer 740084479
data_model_ revision_string642.40
revision    
description multi_line_string8K"This fileset ..."
exrequisites repeatable list of SD.man
software_specs  
install_date one-line string16200102241414.34
install_source one_line_string1024zook.com:/depot
instance_id tag_string 1
is_kernel boolean8false
is_locatable boolean8true
is_packaged_ boolean8false
in_place    
is_patch boolean8true
is_reboot boolean8false
is_secure boolean8false
is_sparse boolean8false
location path_string1024/
machine_type uname_string649000/[78]*
  ia64*
media_sequence_unsigned_integer 1
number    
mod_date one_line_string64Mon Jun 14
  13:01:19 2001
mod_time unsigned_integer 740084479
os_name uname_string64HP-UX
os_release uname_string64?.11.*
os_version uname_string64?
patch_state patch_state_string16applied
pose_as_os_name uname string64HP-UX:64
pose_as_os_ uname string64B.11.11
release    
prerequisites repeatable list of SD.agent
software_specs  
revision revision_string642.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_string64commands
title one_line_string256Commands
contained control list of control  
scripts script objects  
contained fileslist of file objects  

ancestor

A list of filesets that will match the current fileset when installed on a target system if the match_target installation option is specified. Also determines the base to which a patch is applied. (Note that an ancestor attribute is not the same as a corequisite, exrequisite, or prerequisite.)

applied_patches

Determines the list of patches that have been applied to a base fileset. This attribute applies to installed base (non-patch) software only.

architecture

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 uname(1) 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.

category_tag

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 patch if the is_patch attribute is set to true. The category tag patch is reserved.

Like vendor_tag, 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).

control_directory

The relative pathname to the fileset catalog directory in the product catalog that contains the control_scripts for the fileset.

corequisites

A list of dependencies on software that must be installed before this software is run.

data_model_revision

The format revision used to store the fileset definition.

description

The multi-paragraph description of the fileset.

exrequisites

A list of dependencies on software that may not be installed when this software is installed.

install_date

The date the fileset was installed.

install_source

The source from which the product was installed.

instance_id

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

is_kernel

Defines whether or not the fileset contains kernel files.

is_locatable

Defines whether or not the fileset can be installed into an arbitrary directory.

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_patch

Identifies a software object as a patch. The default value is false. When set to true, a built-in category_tag attribute of value patch is automatically included.

is_reboot

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

is_secure

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

is_sparse

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 false. If the is_patch attribute is true, is_sparse is also set to true for the fileset, although it can be forced to false.

location

The installed pathname of the fileset, derived from the product location.

machine_type

Defines the machine(s) on which the product will run if a fileset architecture has been defined. (If not specified, swpackage 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 model command on the supported target machine(s).

media_sequence_number

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

mod_date

The string format of the mod_time.

mod_time

The time of the last operation performed on the fileset.

os_name

Defines the operating system(s) on which the product will run if a fileset architecture has been defined. (If not specified, swpackage 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 uname -s on the supported target system(s).

os_release

Defines the operating system release(s) on which the product will run if a fileset architecture has been defined. (If not specified, swpackage 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 uname -r on the supported target system(s).

os_version

Defines the operating system version(s) on which the product will run if a fileset architecture has been defined. (If not specified, swpackage assigns a value of "*", meaning the fileset runs on all versions.) If there are multiple operating system versions, use wildcards or the '|' character to identify them. This attribute should pattern match to the value of uname -v on the supported target system(s).

patch_state

Lists the current state of an installed patch, either applied, committed, or superseded. Applies to installed patches only.

pose_as_os_name

Overrides the existing os_name uname attribute of any target to which the given fileset is being installed. Used for filesets that define a new OS.

pose_as_os_release

Overrides the existing os_version uname attribute of any target to which the given fileset is being installed. Used for filesets that define a new OS.

prerequisites

A list of dependencies on software that must be installed before this software can be installed.

revision

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

size

The size of the fileset in bytes.

state

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

software_spec

The full software specification for the fileset. Used to identify a unique fileset.

superseded_by

Lists what patch superseded this patch. Applies to installed patches only.

supersedes

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".

tag

The identifier (short name) for the fileset.

title

The full name (one-line description) of the fileset tag (or truncated tag) value.

contained control scripts

The scripts defined for the fileset.

contained files

The files defined for the fileset.

Control_File Attributes

AttributeValue TypeSizeExample
interpreter path_string /usr/package/scripts
path path_string255checkinstall
result result_enumeration success
tag tag_string16checkinstall

Control_files can be defined for filesets and products.

interpreter

The name of an interpreter used to execute control_files. By default, SD interprets scripts with a POSIX shell ( sh). You can define a different interpreter, for example:

interpreter ksh

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.

path

The relative pathname to the control_script in the control_directory.

result

The result obtained from executing the control_script.

tag

The identifier (short name) for the control_script.

File Attributes

AttributeValue TypeSizeExample
cksum unsigned_integer 18355158
compressed_cksum unsigned_integer false
compressed_size unsigned_integer false
compression_state compression_enumeration compressed
compression_type tag_string64gzip
gid unsigned_integer 0
group tag_string64sys
is_volatile boolean8false
link_source path_string1024/usr/sbin/swinstall
mode unsigned integer 04555
mtime unsigned_integer 740084479
owner tag_string64root
path path_string255/usr/sbin/swpackage
revision revision_string641 .3
size unsigned_integer 2494464
source path_string1024/mfg/sbin/swinstall
type file_type_enumeration f
uid unsigned_integer 0

cksum

The 32-bit checksum of the file.

compressed_cksum

The checksum of the compressed file.

compressed_size

The size of the compressed file.

compression_state

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

compression_type

The type of compression used to store the file.

gid

The GID of the file's owner.

group

The name of the file's group.

is_volatile

Defines whether the file can be modified or removed.

link_source

The path to which a hard or symbolic link points. (Note that the INFO file contains the only representation of a symbolic link.)

mode

The file permission mode.

mtime

The last modification time of the file.

owner

The name of the file's owner.

path

The full pathname to the file.

revision

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

size

The size of the file in bytes.

source

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

type

The type of file.

uid

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:

true

false

compression_enumeration

Maximum length: none

One of the following values:

compressed

uncompressed

not_compressible

file_type_enumeration

Maximum length: none

One of the following values:

a

archive

b

blank special device

c

character special device

d

directory

f

file

h

hard link

p

named pipe (FIFO)

s

symbolic link

multi_line_string

Maximum length: 8K (1 Mbyte for readme)

Multi-line strings support all isascii() 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).

one_line_string

Maximum length: 256 bytes

Examples: Hewlett-Packard Company

One-line strings support a subset of isascii() characters only.

No isspace() characters, except for space and tab, are allowed.

patch_state_string

Maximum length: 16

One of the following values:

applied

committed

superseded

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.

result_enumeration

Maximum length: none

One of the following values:

none

error

warning

success

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 selections. The next section describes software specification syntax.

state_enumeration

Maximum length: none

One of the following fileset states:

transient

corrupt

available

installed

configured

tag_string

Maximum length: 64 bytes

Examples: HP, SD

Tag strings containing a subset of isascii() characters only.

Requires one or more characters from: A-Z, a-z, 0-9, including the first character.

The isspace() 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 isascii() characters only.

No isspace() 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:

[,r <op> revision][,a <op> arch][,v <op> vendor] [,c <op> category][,q=qualifier][,l=location] [,fr <op> revision][,fa <op> arch]

  • The = (equals) relational operator lets you specify selections with the following shell wildcard and pattern-matching notations:

    • [ ], *, ?

    For example, *man selects all bundles and products with tags that end with "man".

  • Bundles and subproducts are recursive. Bundles can contain other bundles and subproducts can contain other subproducts; for example:

    • bun1.bun2.prod.sub1.sub2.fset,r=1.0

    or (using expressions):

    • bun[12].bun?.prod.sub*,a=HP-UX

  • The \* software specification selects all products. Use this specification with caution.

The version component has the form:

[,r <op> revision][,a <op> arch][,v <op> vendor] [,c <op> category][,l=location][,fr <op> revision] [,fa <op> arch]

  • location applies only to installed software and refers to software installed to a location other than the default product directory.

  • fr and fa apply only to filesets.

  • r , a , v , c , and l apply only to bundles and products. They are applied to the leftmost bundle or product in a software specification.

  • The <op> (relational operator) component can be of the form:

    • ==, >=, <=, <, >, or !=

    which performs individual comparisons on dot-separated fields.

    For example, r>=B.11.00 chooses all revisions greater than or equal to B.11.00. The system compares each dot-separated field to find matches. Shell patterns are not allowed with these operators.

  • The = (equals) relational operator lets you specify selections with the shell wildcard and pattern-matching notations:

    • [ ], *, ?, !

    For example, the expression r=1[01].* returns any revision in version 10 or version 11.

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

  • Fully qualified software specs include the r=, a=, and v= version components even if they contain empty strings. For installed software, l= is also included.

  • No space or tab characters are allowed in a software selection.

  • The software instance_id can take the place of the version component. It has the form:

    • [instance_id]

    within the context of an exported catalog, where instance_id is an integer that distinguishes versions of products and bundles with the same tag.

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.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
INDEXGlobal index (table of contents)
swlockControls simultaneous modification
dfiles/Stores all depot-specific information
INDEXDefines depot-specific attributes
INFODefines depot-specific files
_ACLAccess Control List (ACL) for the depot
_OWNEROwner and group of the depot's creator
_LOCK_FILEControls simultaneous ACL modification
_PROD_DFLT_ACLDefault ACL for new products
product_directory/Catalog for a product
pfiles/Stores all product-specific information
INDEXDefines product attributes
INFODefines product files and scripts
READMEThe product's README attribute
scriptsZero or more product control files
_ACLACL for the product
_OWNEROwner and group of the product's creator
_LOCK_FILEControls simultaneous ACL modification
fileset_directory/Catalog for a fileset
INDEXDefines fileset attributes
INFODefines fileset files and scripts
scriptsZero 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:

  • 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 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 tag 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 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) or cpio(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
INDEXGlobal index (table of contents)
swlockControls simultaneous modification
ifiles/Stores all root-specific information
INDEXDefines root-specific attributes
INFODefines root-specific files
_ACLAccess Control List (ACL) for the root
_OWNEROwner and group of the root's creator
_LOCK_FILEControls simultaneous ACL modification
product_directory/Catalog for a product
pfiles/Stores all product-specific information
INDEXDefines product attributes
INFODefines product files and scripts
READMEThe product's README attribute
scriptsZero or more product control files
fileset_directory/Catalog for a fileset
INDEXDefines fileset attributes
INFODefines fileset files and scripts
SAVEDefines file attributes for a fileset that
has been patched.
SAVEIPDDefines 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
scriptsZero 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 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.

Depot INDEX Format

distribution

tagtag_value
copyrightcopyright_value
data_model_revisionrevision_value
descriptiondescription_value
dfilesdfiles_value
layout_versionrevision_value
mod_datedate_value
mod_timetime_value
name_maxname_max_value
numbernumber_value
path_maxpath_max_value
pfilestag_value
titletitle_value
uuiduuid_value

media

sequence_numbersequence_number_value

No attributes are required.

Root INDEX Format

root

data_model_revisionrevision_value
descriptiondescription_value
dfilesdfiles_value
layout_versionrevision_value
mod_datedate_value
mod_timetime_value
pathpath_value
pfilestag_value
root_typeroot_value

No attributes are required.

Bundle or Product INDEX Format

NOTE:

  • The tag attribute is always required for all objects.

  • The contents attribute is required for subproducts and bundles.

  • Keywords marked with a + apply only to product INDEX format.

  • Keywords marked with a - apply only to bundle INDEX format.

vendor

tagtag_value
descriptiondescription_value
titletitle_value
uuiduuid_value

category

tagtag_value
descriptiondescription_value
revisionrevision_value
titletitle_value

product or bundle

tagtag_value
+ all_filesetsall_filesets_value
architecturearchitecture_value
category_tagtag_value
- contentscontents_value
control_directorycontrol_directory_value
copyrightcopyright_value
create_datedate_value
create_timetime_value
data_model_revisionrevision_value
descriptiondescription_value
directorydirectory_value
install_dateinstall_date_value
install_sourceinstall_source_value
install_typeinstall_type_value
instance_idid_value
is_locatableboolean_value
is_patchboolean_value
+ job_filejob_file_value
locationlocation_value
machine_typemachine_type_value
mod_datedate_value
mod_timetime_value
numbernumber_value
os_nameos_name_value
os_releaseos_release_value
os_versionos_version_value
+ postkernelpostkernel_value
qualifierqualifier_value
+ readmereadme_value
revisionrevision_value
share_linkshare_link_value
sizesize_value
software_specsoftware_specification_value
titletitle_value
vendor_tagvendor_tag_value

subproduct

tagtag_value
contentscontents_value
descriptiondescription_value
sizesize_value
software_specsoftware_specification_value
titletitle_value

Fileset INDEX Format

NOTE:

  • The tag attribute is always required.

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

  • Multiple definitions of ancestor, corequisites, exrequisites and prerequisites are allowed.

fileset

tagtag_value
ancestorancestor_value
applied_patchessoftware_specification_value
architecturearchitecture_value
category_tagtag_value
control_directorycontrol_directory_value
corequisitescorequisites_value
create_datedate_value
create_timetime_value
data_model_revisionrevision_value
descriptiondescription_value
exrequisitesexrequisites_value
install_datedate_value
install_sourceinstall_source_value
instance_idid_value
is_kernelboolean_value
is_locatableboolean_value
is_packaged_in_placeboolean_value
is_patchboolean_value
is_rebootboolean_value
is_secureboolean_value
is_sparseboolean_value
locationlocation_value
machine_typemachine_type_value
media_sequence_numbersequence_value
mod_datedate_value
mod_timetime_value
os_nameos_name_value
os_releaseos_release_value
os_versionos_version_value
patch_statepatch_state_value
pose_as_os_releaserelease_value
prerequisitesprerequisites_value
revisionrevision_value
sizesize_value
statestate_value
software_specsoftware_specification_value
superseded_bysoftware_specification_value
supersedessoftware_specification_value
titletitle_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 keyword syntax used in an INFO file.

Control File Format

control_file

tagtag_value
interpreterinterpreter_value
pathpath_value
resultresult_value

The path, and tag attributes are required.

File Format

file

cksumcksum_value
compressed_cksumcksum_value
compressed_sizesize_value
compression_statecompression_state_value
compression_typetype_value
file_attrsfile_attrs_value
gidgid_value
groupgroup_value
is_volatileboolean_value
link_sourcesource_value
modemode_value
mtimemtime_value
ownerowner_value
pathpath_value
revisionrevision_value
sizesize_value
source_pathsource_value
typefile_type_value
uiduid_value

The path, and type attributes are always required. The link_source 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:

# default_realm = host_name num_entries = count 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

Software Distributor was developed by the Hewlett-Packard Company. swagent, swcopy, swinstall, swlist, and swpackage 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).

Software Distributor Administration Guide, available at http://docs.hp.com.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.