Query: swpackage
OS: hpux
Section: 4
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
swpackage(4) Kernel Interfaces Manual swpackage(4)NAMEswpackage - product specification file (PSF) formatDESCRIPTIONIntroduction The command packages software into: o a distribution directory (which can be accessed directly or copied onto a CD-ROM), o a distribution tape, such as DDS, nine-track or cartridge tapes. Both directory and tape distributions use the same format. SD can read both and tape depots. See sd(4) for details on tape format. The software is organized into a four-level hierarchy of software objects: and Bundles and subproducts are recursive: a bundle can contain other bundles, and a subproduct can contain other subproducts. The files that make up a software package are contained in filesets. File- sets are contained in subproducts and/or products. Currently, HP does not support customer creation of software bundles to contain the entire application. The attribute tables that follow show the attributes of each level of the software packaging hierarchy. A (PSF) defines how a product is structured and the attributes that apply to it. This manual page describes the syntax and semantics of a PSF. Layout Version SD object and attribute syntax conforms to the specification of the standard. The previous SD layout_version 0.8 is also supported. SD for HP-UX version 10.10 and later can read or write either layout version. SD commands still accept the keyword names associated with the older layout version, but you should use layout_version 0.8 only to create distributions readable by older versions of SD. What layout_version the SD commands write is controlled by the option for and The version used by can be also controlled by specifying the layout_version attribute in the PSF. However, if the layout_version attribute in the PSF is 1.0, the is_locatable attribute defaults to true in all cases, and must be explicitly set to false. For a full description of the command, see the swpackage(1M) manual page. Layout version 1.0 adds significant functionality not recognized by systems supporting only 0.8, including: o Category class objects (formerly the attributes within the bundle or product class). o Patch-handling attributes, including o The fileset attribute, which permits you to specify the architecture of the target system on which the product will run. In addition to adding new attributes and objects, layout_version 1.0 changes the following preexisting 0.8 objects and attributes as fol- lows: o Replaces the depot with the object with a attribute. o Replaces the definition within products and bundles with a attribute and a corresponding object defined outside the product or bundle. o Pluralizes the and fileset attributes (to and o Changes the attribute toPRODUCT SPECIFICATION FILE SYNTAXA PSF is structured as follows: [<distribution specification>] [<vendor specification>] [<category specification>] [<bundle specification>] ... <product specification> [<control script specifications>] [<subproduct specifications>] <fileset specification> [<control script specifications>] <file specifications> [<fileset specification>] ... [<vendor specification>] [<product specification>] ... In summary, the user can: o Specify one or more products. o For each product, specify one or more filesets. o For each fileset, specify one or more files. o (optional) Specify attributes for the target depot or tape. o (optional) Specify one or more bundles, defining the bundle contents. o (optional) Specify vendor information to be used with subsequent products and bundles. o (optional) For each product, specify one or more subproducts, defining the subproduct contents. o (optional) For each product or fileset, specify one or more control scripts. Each software object has user-defined attributes. Most attributes are optional. All objects and attributes are defined using a syntax. The is an identifier for the attribute. Some attributes allow multiple values. You can specify values with a keyword/list syntax: You can also use a list following the keyword: value1 value2 value3 ... Specific rules for each keyword are: o All keywords require one or more values, except as noted. If the value is missing an error is given. o Comments must be preceded by A comment can appear on a line by itself or following the keyword-value syntax within the PSF. o Use double quotes (") to define values that span multiple lines: o Double quotes (") are optional when defining a value that contains embedded whitespace. Attribute Table The following tables summarize the objects and attributes which can be defined in a PSF. These objects and attributes can appear in any order when defining a distribution, vendor, category, product, or bundle, except that the layout_version attribute must be first. Each object and attribute is identified by a keyword. Object keywords do not have associated values. Attribute keywords have one or more val- ues. o Attributes marked with a determine the uniqueness of a product, bundle, or fileset. Their values may also be of the type when used in a version component of a software specification. o can be defined within products or filesets or both. o You can define your own attributes. See for more information. +------------------+---------------------+---------+-----------------------+ |Keyword | Type | Size | Example | +------------------+---------------------+---------+-----------------------+ |distribution | | | | | layout_version | revision_string | 64 | 1.0 | | tag | tag_string | 64 | EXAMPLE_DEPOT | | copyright | multi_line_string | 8192 | < data/copyr.depot | | description | multi_line_string | 8192 | < data/descr.depot | | number | one_line_string | 64 | B2358-13601 | | title | one_line_string | 256 | Example packages | |end | | | | +------------------+---------------------+---------+-----------------------+ |vendor | | | | | tag | tag_string | 64 | HP | | description | multi_line_string | 8192 | < data/descr.hp | | title | one_line_string | 256 | Hewlett-Packard Co. | |end | | | | +------------------+---------------------+---------+-----------------------+ |category | | | | | tag | tag_string | 64 | patch_normal | | description | multi_line_string | 8192 | For normal problems | | revision | revision_string | 64 | 0.0 | | title | one_line_string | 256 | Category of Patches | |end | | | | +------------------+---------------------+---------+-----------------------+ |bundle | | | | |* tag | tag_string | 64 | SD | |* architecture | one_line_string | 64 | HP-UX_B.11.11_32/64 | | | | | HP-UX_B.11.23_IA/PA | | category_tag | one_line_string | 64 | OrderedApps | | contents | repeatable list | 8192 | pr.fs.r=1.0,a=,v= | | copyright | multi_line_string | 8192 | <data/copyr.sd | | description | multi_line_string | 8192 | <data/descr.sd | | layout_version | revision_string | 64 | 1.0 | | machine_type | uname_string | 64 | 9000/[78]?? | | | | | ia64* | | number | one_line_string | 64 | B2001A | | os_name | uname_string | 64 | HP-UX | | os_release | uname_string | 64 | ?.11.* | | os_version | uname_string | 64 | * | | revision | revision_string | 64 | A.01.00 | | title | one_line_string | 256 | Software Distributor | | vendor_tag | tag_string | 64 | HP | |end | | | | +------------------+---------------------+---------+-----------------------+ +------------------+---------------------+---------+-----------------------+ Attribute Table (continued) +------------------+---------------------+---------+------------------------+ |Keyword | Type | Size | Example | +------------------+---------------------+---------+------------------------+ |product | | | | |* tag | tag_string | 64 | SD | |* architecture | one_line_string | 64 | HP-UX_B.11.11_32/64 | | | | | HP-UX_B.11.23_IA/PA | | category_tag | one_line_string | 64 | OrderedApps | | contents | repeatable list | 8192 | pr.fs.r=1.0,a=,v= | | copyright | multi_line_string | 8192 | <data/copyr.sd | | description | multi_line_string | 8192 | <data/descr.sd | | directory | path_string | 1024 | / | | is_locatable | boolean | 9 | false | | is_patch | boolean | 9 | false | | layout_version | revision_string | 64 | 1.0 | | machine_type | uname_string | 64 | 9000/[78]?? | | | | | ia64* | | number | one_line_string | 64 | B2001A | | os_name | uname_string | 64 | HP-UX | | os_release | uname_string | 64 | ?.11.* | | os_version | uname_string | 64 | * | | postkernel | path_string | 255 | /usr/bin/kernel_build | | readme | multi_line_string | 1024 | <data/README.sd | | revision | revision_string | 64 | A.01.00 | | title | one_line_string | 256 | Software Distributor | |* vendor_tag | tag_string | 64 | HP | | control_files | | | | |end | | | | +------------------+---------------------+---------+------------------------+ |subproduct | | | | | tag | tag_string | 64 | Manager | | contents | one-line list of | | commands agent data | | | tag_string values | | data man | | description | multi_line_string | 8192 | < data/desc.mgr | | title | one_line_string | 256 | Management Utilities | |end | | | | +------------------+---------------------+---------+------------------------+ +------------------+---------------------+---------+------------------------+ Attribute Table (continued) +-----------------+----------------------+---------+-------------------------+ |Keyword | Type | Size | Example | +-----------------+----------------------+---------+-------------------------+ |fileset | | | | |* tag | tag_string | 64 | commands | | ancestor | repeatable list | | product.oldfileset | | | of product.fileset | | oldproduct.fileset | | architecture | one_line_string | 64 | HP-UX_B.11.11_32/64 | | | | | HP-UX_B.11.23_IA/PA | | category_tag | tag_string | 64 | patch_normal | | corequisites | software_spec | | SD.man,r>=2.0 | | description | multi_line_string | 8192 | < data/descr.cmd | | dynamic_module | one_line_string | 256 | ipf pfil | | exrequisite | software_spec | | SD.man,r>=2.0 | | is_kernel | boolean | 9 | false | | is_locatable | boolean | 9 | false | | is_patch | boolean | 9 | false | | is_reboot | boolean | 9 | false | | is_sparse | boolean | 9 | false | | machine_type | uname_string | 64 | 9000/[78]?? | | | | | ia64* | | os_name | uname_string | 64 | HP-UX | | os_release | uname_string | 64 | ?.11.* | | os_version | uname_string | 64 | ? | | prerequisites | software_spec | | SD.agent,r>=2.0 | |* revision | revision_string | 64 | 2.42 | | supersedes | software_spec | 8192 | product.fileset, | | | | | fr=revision | | title | one_line_string | 256 | SD Commands | | control_files | | | | | directory | path_mapping_string | | ./commands = /usr/sbin | | file_permis_ | permission_string | | -u 0222 -o root -g sys | | sions | permission_string | | -u 0222 -o root -g sys | | file | file_specification | | -m 04555 bin/swinstall | | | | | (or) * | |end | | | | +-----------------+----------------------+---------+-------------------------+ Control File Attributes Control files can be defined within filesets and/or products. +-----------------+----------------+---------+--------------------------+ |Keyword | Type | Size | Example | +-----------------+----------------+---------+--------------------------+ | checkinstall | path_string | 1024 | ./scripts/checkinstall | | checkremove | path_string | 1024 | ./scripts/checkremove | | configure | path_string | 1024 | ./scripts/configure | | control_file | path_string | 1024 | ./scripts/subscripts | | postinstall | path_string | 1024 | ./scripts/postinstall | | postremove | path_string | 1024 | ./scripts/postremove | | preinstall | path_string | 1024 | ./scripts/preinstall | | preremove | path_string | 1024 | ./scripts/preremove | | request | path_string | 1024 | ./scripts/request | | unconfigure | path_string | 1024 | ./scripts/unconfigure | | unpreinstall | path_string | 1024 | ./scripts/unpreinstall | | unpostinstall | path_string | 1024 | ./scripts/unpostinstall | | verify | path_string | 1024 | ./scripts/verify | +-----------------+----------------+---------+--------------------------+ 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 (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 As always, use caution in constructing your Product Specification File. If you misspell a standard keyword, SD may mistake the keyword for a vendor-defined attribute.VALUE TYPESThe value for each attribute must be of a specific type. The types are: 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: 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. Maximum length: 8192 bytes (1 Mb for Multi-line strings support all characters. They represent one or more paragraphs of text. They can be specified in-line, surrounded by double-quotes. They can also be stored in a file, and specified using the ``format. Maximum length: 64 bytes Examples: 2.0, B.11.11 Revision strings contain zero or more dot-separated one_line_strings (above). Maximum length: 8 bytes Examples: true, false One of the values "true" or "false". Maximum length: 255 bytes for tapes, 1024 bytes for depots Examples: An absolute or relative path to a file. Many attributes of this type are restricted to 255 bytes in length. This restriction is due to the command, which requires a file's be <= 100 bytes, and a file's to be <= 155 bytes. (Some imple- mentations of enforce < and not <=.) Maximum length: 64 bytes Examples: 9000/7*, 9000/8*, ia64*, HP-UX, ?.11.* 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: Maximum length: none Examples: A value of the form: ``where the source defines the directory in which subsequently defined files are located. The optional destination maps the source to a destination directory in which the files will actually be installed. Maximum length: none Examples: or * (to denote all files and directories) Explicitly specifies a file or directory to be packaged, using the format: The source and destination can be paths relative to source and destination directories specified in the path_map- ping_string. You can also use to include all files below the source directory specified by a keyword. Maximum length: none Examples: A value of the form: where each component defines a default permissions value for each file and directory defined in a fileset. The default values can be overridden in each file's specific definition. The owner and group fields are of type tag_string. The uid and gid fields are of type unsigned integer. To specify a numeric username on systems that support numeric usernames for owners, you must specify both the numeric owner username and the uid. Similarly, to specify a numeric groupname, you must specify both the numeric group groupname and the gid. If only one value is supplied for owner/group, it will be inter- preted as an id if the value is numeric. Otherwise, it will be interpreted as a name. The mode and umask are unsigned integers, but only supports the octal character set: "0"-"7". Maximum length: none Examples: SD.agent or SD,r=2.0,a=HP-UX_B.11.23_IA/PA Software specifications are used to specify software in dependencies, ancestors and other attributes, as well as command line selections. 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 subprod- ucts, for example: or (using expressions): o The software specification selects all products. Use this specification with caution. The version component has the form: o location applies only to installed software and refers to software installed to a location other than the default prod- uct directory. 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 spec- ification. 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.PRODUCT SPECIFICATION FILE SEMANTICSThe following sections describe the attributes which can be defined. Distribution (Depot) Specification The following is an example of a distribution specification: [<vendor specification>] [<bundle specification>] <product specification> [<product specification>] Keyword that begins the distribution specification. Each keyword defines an attribute of the distribution depot or tape itself. All keywords are optional, even if a distribution spec- ification is included in a PSF. Defines the semantics to use when parsing the PSF. To ensure IEEE Standard 1387.2 semantics, define a of as the first attribute. Defines the identifier (short name) for the distribution depot or tape. Defines the copyright information for the distribution depot or tape; the value is either the text itself (within double-quotes) or a pointer to the filename containing the text. Defines the multi-paragraph description of the distribution depot or tape; the value is either the text itself (within double-quotes) or a pointer to the file- name containing the text. If a distribution specification is included in the PSF, requires only the keyword plus one or more contained product definitions. The keyword can also be used in place of Defines the part or manufacturing number of the distribution depot (for example, CD-ROM or tape). Defines the full name (one-line description) of the distribution depot or tape. Ends the distribution specification. This keyword is optional. Vendor Specification The defined for the PSF file determines how vendor specifications are associated with products and bundles. If a is not defined or is defined as vendor specifications will be associated with all subsequent products and bundles that define a matching attribute. If a of is specified, all subsequent products and bundles will automatically be assigned a from the last vendor object defined at the dis- tribution level, if any, or from a vendor object defined within a product or bundle, unless a is explicitly defined. Note that the vendor specification is not the same as vendor-defined attributes described in the "Vendor-Defined Attributes" section. The following is an example of a vendor specification: Each keyword defines an attribute of a vendor object. If a vendor specification is included in the PSF, requires the and keywords. Keyword that begins the vendor specification. Defines the identifier (short name) for the vendor. Defines the full name (one-line description) for the vendor. Defines the multi-paragraph description of the vendor; the value is either the text itself (within double-quotes) or a pointer to the filename containing the text. Ends the vendor specification. This keyword is optional. Category Specification The following is an example of a category specification. Keyword that begins the category specification. Defines the identifier (short name) for the category. Defines the full name (one line description) for the category. A more detailed description of the category. 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 Ends the category specification. This keyword is optional. Bundle Specifications The following are examples of a bundle specification: Product Specifications The following are examples of a product specification: Products are assumed to be locatable unless they explicitly define the is_locatable attribute to Non-locatable products must define this attribute. + [<control script specifications>] + [<subproduct specifications>] + <fileset specification> + [<fileset specification>] + [<control script specifications>] + [<subproduct specifications>] + <fileset specification> + [<fileset specification>] Each keyword defines an attribute of a product or bundle object. For each product specified, requires only the and keywords, plus one or more contained definitions. For each bundle specified, requires the and keywords. Required keyword that begins the product specification. Defines the identifier (short name) for the product or bundle. Describes the target system(s) on which the product or bundle will run. Provides a human-readable summary of the four attributes which define the exact target system(s) the product supports. Required keyword that begins the bundle specification. 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 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). Note that the category tag is reserved. When is set to a built-in attribute of value is automatically included. NOTE: You can only change the value by performing a operation or by using to change the value of the attribute. The list of (all version-distinguishing attributes included) for the bundle contents. The contents should also be at the fileset level and include all dependencies. More general software_specs are also supported, including bundles containing other bundles, but the bundle contents might vary between invocations. Defines the copyright information for the product or bundle; the value is either the text itself (within double-quotes) or a pointer to the filename containing the text. Defines the multi-paragraph description of the product or bundle; the value is either the text itself (within double-quotes) or a pointer to the filename containing the text. Defines the default, absolute pathname to the directory in which the product's files will be installed (that is, the root directory of the product). If this attribute is not specified, assigns a value of "/". Defines whether the product or bundle can be installed into any directory, or whether it must be installed into a specific directory. If this attribute is not specified, assigns a value of "true". 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 to which the HP-specific data_model_revision conforms. Possible values are (the default value) or Defines the machine(s) on which the product will run. (If not specified, assigns a value of "*", meaning the product runs on all machines.) If there are multiple machine platforms, use wildcards or use the '|' character to separate them. This attribute should pattern match to the output of the command on the supported target machine(s). Defines the part or order number for the product. Defines the operating system(s) on which the product will run. (If not specified, assigns a value of "*", meaning the product runs on all operating systems.) If there are multiple operating sys- tems, use wildcards or use the '|' character to separate 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 not specified, assigns a value of "*", meaning the product runs on all releases.) If there are multiple operating system releases, use wildcards or use the '|' character to separate 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 not specified, assigns a value of "*", meaning the product runs on all versions.) If there are multiple operating system versions, use wildcards or use the '|' character to separate them. This attribute should pattern match to the value of on the supported target system(s). Defines a kernel build script to be executed when kernel filesets are loaded. (Kernel filesets have the attribute set to The default kernel script is (See mk_kernel(1M) for more information.) The default script executes when the attribute is not specified. Only one kernel build script is allowed per product, and the script executes only once, even if defined for multiple filesets. Defines the README information for the product or bundle; the value must be a pointer to the filename containing the text. Defines the revision (release number, version number) of the product or bundle. Defines the full name (one-line description) of the product or bundle. Associates this product or bundle with the last defined vendor object, if that object has a matching attribute. Ends the product or bundle specification. This keyword is optional. Subproduct Specification The following is an example of a subproduct specification: Each keyword defines an attribute of a subproduct object. If a subproduct is specified, requires the and keywords. Keyword that begins the subproduct specification. Defines the identifier (short name) for the subproduct. Defines the filesets or subproducts that make up a subproduct. (Subproducts can contain other subproducts.) The value is a whitespace separated list of fileset or subproduct values. In the PSF, fileset definitions are not contained within subproduct definitions. The keyword is used to assign filesets to sub- products. Defines the multi-paragraph description of the subproduct; the value is either the text itself (within double-quotes) or a pointer to the filename con- taining the text. Defines the full name (one-line description) of the subproduct. Ends the subproduct specification. This keyword is optional. Fileset Specification The following are examples of a fileset specification: [<control file specifications>] [<dependency specifications>] [<file specifications>] [<control file specifications>] [<dependency specifications>] [<file specifications>] Each keyword defines an attribute of a fileset object. For each fileset specified, requires the fileset and tag keywords, plus zero or more file specifications. You can define additional disk space requirements for the fileset using a control_file. (See the section for more information.) Keyword that begins fileset specification. Defines the identifier (short name) for the fileset. Describes the target system(s) on which the fileset will run if filesets for multiple architecture are included in a single product. Provides a human-readable summary of the four attributes which define the exact target system(s) the product supports. Many filesets do not include an architecture; only a product architecture need be defined. 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. 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 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). Note that the category tag is reserved. When is set to a built-in attribute of value is automatically included. You can only change the value by performing a operation or by using to change the value of the attribute. Defines the multi-paragraph description of the fileset; the value is either the text itself (within double-quotes) or a pointer to the filename contain- ing the text. A space-separated list of strings specifies the list of dynamic_modules (DLKMs) packaged into the fileset. For 11.23 and newer releases, the dynamic modules themselves must be delivered to If the dynamic_module attribute is ommitted, no DLKMs may be delivered in the fileset. When a dynamic module is packaged, it is customary to include a call to the control_util mod_systemfile in a postinstall script to link the module to the kernel. If a state of static is specified in the mod_systemfile call, the attributes is_kernel and is_reboot must also be set to true. In addition, if a system reboot is needed to activate the module, the is_reboot attribute must be set to true. A value of "true" defines the fileset as being a contributor to the operating system kernel; the target system(s) kernel build process will be invoked after the fileset is installed. If this attribute is not specified, assumes a default value of "false". Defines whether the fileset can be installed into any directory, or whether it must be installed into a specific directory. If this attribute is not specified, assigns a value of Identifies a software object as a patch. The default value is When set to a built-in attribute of value is automatically included. A value of "true" declares that the fileset requires a system reboot after installation. If this attribute is not specified, assumes a default value of "false". 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. Defines the machine(s) on which the files will run if a fileset architecture has been defined. (If not specified, assigns a value of "*", meaning the files run on all machines.) If there are multiple machine platforms, use wildcards or use the '|' character to separate them. This attribute should pattern match the output of the command on the supported target machine(s). Defines the operating system(s) on which the files will run if a fileset architecture has been defined. (If not specified, assigns a value of "*", meaning the files run on all operating systems.) If there are multiple operating systems, use wildcards or use the '|' character to separate 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 files will run. (If not specified, assigns a value of "*", meaning the files run on all releases.) If there are multiple operating system releases, use wildcards or use the '|' character to separate 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 files will run. (If not specified, assigns a value of "*", meaning the files runs on all versions.) If there are multiple operating system versions, use wildcards or use the '|' character to separate them. This attribute should pattern match to the value of on the supported target system(s). Defines the revision (release number, version number) of the fileset. 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". Defines the full name (one-line description) of the fileset. Ends the fileset specification. This keyword is optional. Dependency Specification You can add optional dependency information to a fileset definition if installation or execution of a fileset depends on the presence or absence of another fileset: A list of software that must be installed before the current fileset can be installed. A list of software that can be installed at the same time as the current fileset but must be present before the current fileset can be run. A list of software that may not be installed before or at the same time the current fileset is installed. If a dependency is not met, SD prevents the fileset from being installed. The following is an example of a dependency specification: Each keyword/value defines a dependency relationship on another software object. The object can be within the same product as the depen- dent fileset, or it can be within another product. Multiple dependency specifications are allowed. You can use them to define AND relationships between the dependencies. (The AND relation- ship is implied because all dependencies must be satisfied.) You can also define OR relationships using the '|' character. White spaces are not allowed around the OR character, and OR dependencies are resolved from left to right. For example: Note that if you specify a dependency for a fileset and the fileset is superseded by another fileset as part of a patch, SD will still rec- ognize the dependency. Control Script Specification Control scripts are often referred to as control_files, although control_files may include non-script files such as space files, INDEX files, and INFO files. Control_file syntax is: source[=tag][filename] Where tag is the script name. You can also list each item on a separate line: The following is an example of control script specifications: For control scripts: o Each script specification defines a control script object. The value of each keyword is the source filename for the control file. o Control scripts are optional. If present, copies the specified source filename into the depot's storage directory for the asso- ciated product or fileset. o You can use the keyword to define scripts or subscripts. If the basename of the source path is a standard keyword, then SD exe- cutes that script. For example: scripts/script1=checkinstall scripts/script2=configure o You can define the physical name of a control script in a depot. This lets you define a control file with a filename different than its tag, lets multiple control scripts point at the same file, and lets a single script contain steps for all scripts. (The environment variable tells the script which tag is being executed.) For example, the following specification defines the same file for use by multiple scripts: scripts/myscript common scripts/myscript common scripts/myscript=preinstall common scripts/myscript=configure common SD supports the following types of control scripts: Defines the installation check script executed by This script is executed during the analysis of each target, and it checks that the installation can be attempted. If the product or fileset check script returns 1 the product or fileset (respectively) will not be installed. If it returns 11 no products will be installed. Defines the remove check script executed by This script is executed during the analysis of each target, and it checks that the remove can be attempted. If the check script returns 1 (ERROR), the product or fileset will not be removed. Defines an arbitrary control file to be included with the product or fileset and stored alongside the named control files. It is used to include a subscript called by the named scripts or a data file read by these scripts. If the optional component of the value is not specified, uses the of the source as the for the control file. Otherwise, the value is used. Defines the configuration script executed by and This script configures the target host for the product or fileset (and the product or fileset for any required informa- tion about the target host). Defines the fix script run by to correct and report problems on installed software. The fix script can create missing directories, correct file modifica- tions (mode, owner, group, major, and minor), and recreate symbolic links. Defines the installation post-load script executed by A fileset script is executed immediately after the fileset files are loaded. A product script is executed after all filesets for that product have been installed. Defines the post-remove script executed by A fileset script is executed immediately after the fileset files are removed. A product script is executed after all filesets for that product have been removed. Defines the installation pre-load script executed by A fileset script is executed immediately before the fileset files are loaded. A product script is executed before any file- sets for that product have been installed. Defines the pre-remove script executed by A fileset script is executed immediately before the fileset files are removed. A product script is executed before any file- sets for that product have been removed. The only script that may be interactive. This script may be run by or after selection and before the analysis phase in order to request information from the administrator that will be needed for the configure_script when that script is run later. The request_script writes all information into the response_file, which the scripts can then use. A data file to define additional disk space requirements. See Space_Files for more information. Defines the un-configuration script executed by and This script unconfigures the target host for the product or fileset, undoing the configuration performed by the script. Defines the installation pre-restore script executed by A fileset script is executed immediately before the fileset files are restored if there is an error and the option is set to true. Note that scripts are supported for filesets only. It should undo the steps taken by the script. Defines the installation post-restore script executed by A fileset script is executed immediately after the fileset files are restored if there is an error and the option is set to true. A product script is executed after all filesets for that product have been restored. It should undo the steps taken by the scripts. Defines the verification script executed by This script verifies the configuration performed by the script. Space Files The control_file is not a script. It lets you define additional disk space requirements for the filesets and notes positive disk space impact on any directory or file that results from the actions of control scripts. Each fileset or product may contain a space file. Comments are allowed starting with # character. The space file lists a path and a byte size for each path: For each directory or file path listed in the space file, adds the size in bytes to the disk space requirements. The size reflects the maximum transient or permanent disk space required for the install. Script Interpreter By default, SD interprets scripts with a POSIX shell Control scripts can also define their own interpreter in the first line of the script. You can use the keyword to define a different interpreter for specific scripts. The syntax is: 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. You can use a checkinstall script to verify the existence of any script interpreters that you specify. Environment Variables for Scripts The following environment variables affect scripts: Holds the path to the Installed Products Database (IPD), relative to the path in the environment variable. Note that you can specify a path for the IPD using the default option. Defines the current directory of the script being executed, either a temporary catalog directory, or a directory within in the Installed Products Database (IPD). This variable tells scripts where other control scripts for the software are located (for example, subscripts). Holds the tag name of the control_file being executed. When packaging software, you can define a physical name and path for a control file in a depot. This lets you define the control_file with a name other than its tag and lets you use multiple control file definitions to point to the same file. A control_file can query the variable to determine which tag is being executed. Defines the location of the product, which may have been changed from the default product directory. When combined with the this variable tells scripts where the product files are located. A variable which defines a minimum set of commands available for use in a control script (for example, Defines the root directory in which the session is operating, either or an alternate root directory. This variable tells control scripts the root directory in which the products are installed. A script must use this directory as a prefix to to locate the product's installed files. The configure script is only run when is Contains the pathname of a file containing the value of every option for a particular command, including software and target selections. This lets scripts retrieve any command options and val- ues other than the ones provided explicitly by other environment variables. For example, when the file pointed to by is made available to a request script, the targets option contains a list of software_collection_specs for all targets specified for the command. When the file pointed to by is made available to other scripts, the targets option contains the single soft- ware_collection_spec for the targets on which the script is being executed. This variable contains the fully qualified software specification of the current product or fileset. The software specification allows the product or fileset to be uniquely identified. File Specification Within a fileset specification, the user can specify the following file types to be packaged into the fileset by control file directory hard link regular file symbolic link An error results if you specify a recognized but unpackageable type or an unrecognized type. The command supports these mechanisms for specifying the files contained in a fileset: Default permission specification For some or all of the files and directories in the fileset, the user can define a default set of permissions. Directory mapping The user can point at a source directory in which the fileset's files are located. In addition, the user can map this source directory to the appropriate (destination) directory in which this subset of the product's files will be located. Explicit file specification For some or all of the files and directories in the fileset, the user can name each source file and destination location. Recursive (implicit) file specification If a directory mapping is active, the user can tell to include all files and directories in the fileset (recursively) below the specified directory. These mechanisms can all be used in combination with the others. Directory Mapping The keyword defines a directory under which subsequently listed files are located. In addition, the user can map the directory to a direc- tory under which the packaged files will be installed. For example, the definition: causes all files from the directory to have the prefix when installed. The directory must be a located within the attribute, if defined. (This attribute is defined by the keyword in the product specification.) The destination directory must be an absolute pathname. The keyword is optional. Recursive File Specification The keyword directs to recursively include every file (and directory) within the current source directory in the fileset. (Partial wild- carding is not supported-- for example, to indicate all files starting with "dm".) The keyword must have been previously specified before the specification can be used. All attributes for the destination file object are taken from the source file, unless a keyword is active (this keyword is described below). The user can specify multiple pairs to gather files from different source directories into a single fileset. Explicit File Specification Instead of, or in addition to, the recursive file specification, the user can explicitly specify the files and directories to be packaged into a fileset. The user can use the directory keyword to define a source (and destination) for explicitly specified files. If no directory keyword is active, then the source path and the absolute destination path must be specified for each file. (See the section for sample file specifications.) An explicit file specification uses this form: Specifies an existing file or directory (perhaps within the currently active source directory) to include in the fileset. Defines the relative or absolute path to the source file. If this is a relative path, will search for it relative to the source directory set by the directory keyword. If no source directory is active, will search for it relative to the current working directory in which the command was invoked. All attributes for the destination file object are taken from the source file, unless a keyword is active, or the or options are also included in the file specification. Defines the destination path at which the file will be installed. If is a relative path, the active destination directory set by the keyword will be prefixed to it. If it is a relative path, and no destination directory is active, generates an error. If the destination is not specified, the source is used as the destination, with the appropriate mapping done with the active destination directory (if any). Defines the (octal) mode of a file or directory. Defines the destination file's owner name and/or or uid. If only the owner is specified, the owner and uid attributes are set for the destination file object, based on the packaging host's If only the uid is specified, it is set as the uid attribute for the destination object and no owner name is assigned. If both are specified, each sets the corresponding attribute for the file object. To specify a numeric username on systems that support numeric user names for owners, you must specify both the numeric owner username and the uid. If only one value is supplied for owner, it will be interpreted as an id if the value is numeric. Otherwise, it will be interpreted as a name. During an installation, the owner attribute is used to set the owner name and uid, unless the owner name is not defined in the target system's In this case, the uid attribute is used to set the uid. Defines the destination file's group name and/or or gid. If only the group is specified, the group and gid attributes are set for the destination file object, based on the packaging host's If only the group is specified, and it contains digits only, it is interpreted as the gid, and is set as the gid attribute for the destination object; no group name is assigned to the object. If both are specified, each sets the corresponding attribute for the file object. To specify a numeric groupname on systems that support numeric group names for groups, you must specify both the numeric group groupname and the gid. If only one value is supplied for group, it will be interpreted as an id if the value is numeric. Otherwise, it will be interpreted as a name. During an installation, the group attribute is used to set the group name and gid, unless the group name is not defined in the target system's In this case, the gid attribute is used to set the gid. Defines a file of type d (directory), h (hard link), or s (symbolic link). Caution, some releases of swpackage do not work correctly with type, see section for details. If only source is specified, it is used as the destination path at which the directory will be created, and nothing is accessed on the packaging system. If source and filename are specified, source is used to retrieve the attributes for the directory to be created at filename, unless redefined by mode_options. Both source and filename must be specified. The source path must be the installed location of a regular file elsewhere in the fileset. At install time the hard link will be created at filename. Nothing is accessed on the packaging system. Both source and filename must be specified. At install time the symbolic link will be created at filename to point to source. The source string can be a relative or absolute path, and that string is not modified in any way before being used as the path pointed to by the installed symbolic link. Nothing is accessed on the packaging system. Marks the file as volatile, meaning it can be modified (that is, deleted) after installed without impacting the fileset. When processing existing files in a source directory, a number of problems may be encountered. Errors or warning messages are printed for each problem. (The command terminates when errors are encountered in reading the PSF or accessing the source files.) Default Permission Specification By default, a destination file object will inherit the mode, owner, and group of the source file. The keyword can be specified to set a default permission umask/mode, owner, and group for all the files being packaged into the fileset. This includes files specified by that do not exist before packaging. (See the section for sample permission specifications.) Applies only to the fileset it is defined in. Multiple can be specified, later definitions simply replace previous definitions. Defines a default (octal) mode for all file objects. Instead of specifying an octal mode as the default, the user can specify an octal value which gets "subtracted" from an existing source file's mode to generate the mode of the destination file. By specifying a the user can set a default mode for executable files, non-executable files, and directories. (A specific mode can be set for any file, as described above.) Defines the destination file's owner name and/or or uid (as defined above). Defines the destination file's group name and/or or gid (as defined above). Defines the destination file's type (as defined above). Caution, some releases of swpackage do not work correctly with type, see section for details. PSF Extensions A PSF can contain extended file definitions. SD currently supports and files. Exclude files let you explicitly exclude files that would otherwise be included in the PSF. The syntax is: An exclude file can only be specified after a file definition. The file listed after the keyword is excluded from the current context (for example, from a recursive file definition or wildcard). If the filename specifies a directory, then all files below that directory are excluded. Include files let you include file definitions from a separate file. The syntax is: The include file must be separated from the keyword by a less than signEXAMPLESThis example illustrates a typical PSF. Example File Specifications The following examples illustrate the use of the and keywords: Include all files under to be rooted under Include only certain files under and to be rooted under and Explicitly list files and directories, no directory mapping specified: Use all specification types to include files: Redefine specific files previously defined using (for example, to set explicit attributes): Example Permission Specifications The following examples illustrate the use of the file_permission keyword. Set a read only 444 mode for all file objects (requires override for every executable file and directory): Set a read mode for non-executable files, and a read/execute mode for executable files and for directories: Set the same mode defaults, plus an owner and group: Set the same mode defaults, plus a uid and gid: Set the same mode defaults, plus owner/uid and group/gid combinations: Set the same mode defaults, plus numeric owner/uid and numeric group/gid combinations: Set the owner write permission's in addition to the above: If the user defines no file_permissions, uses the default value: for destination file objects based on existing source files. (Meaning the mode, owner/uid, group/gid are set based on the source file, unless specific overrides are specified for a destination file.)WARNINGSSome releases of do not work correctly with the -t type construct in a PSF. The program in the HP-UX 11i v1 (11.11) PHCO_34295 patch, 11i v1 (11.11) OEUR available after the patch, 11i v2 (11.23) March 2006 OEUR, and newer releases work correctly with all -t type usages. If a specific use of -t type creates packages that are correct, all releases of other Software Distributor commands such as swlist, swcopy, swinstall, etc, can be used with those packages.AUTHORwas developed by the Hewlett-Packard Company and Mark H. Colburn (see pax(1)).SEE ALSOswpackage(1M), sd(4), sd(5). available at SD customer web site at swpackage(4)
Similar Topics in the Unix Linux Community |
---|
sos about swpackage AND swinstall |