Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

POLYCENTER Software Installation Utility Developer's Guide


Previous Contents Index

2.9 A Word About Input and Output Versions of Files

Although you provide the product description file (PDF) and product text file (PTF) as input to the package operation, they also exist in modified (output) form in the kit you create. You need to be aware that two versions of these files do exist and perform specific tasks.

Basically, you create the input version as input to the package operation, and the POLYCENTER Software Installation utility creates the output version for its own use.

The package operation changes the format of the output PTF file. For more information, see Section 4.2.

The output PDF is in the same format as the input PDF, but the package operation may modify statements in the output PDF. For example, the package operation adds the size option to file statements in the output PDF.


Chapter 3
Creating the Product Description File

The product description file (PDF) is a required component of any software product kit that you create using the POLYCENTER Software Installation utility. The PDF:

3.1 General Guidelines

The POLYCENTER Software Installation utility is intended to simplify the job of system managers, making products quick and easy to install and manage. Use the following guidelines when writing PDFs:

3.2 Defining Your Environment

To define the environment for your product, use the following checklist. (Chapter 7 of this guide describes each PDL statement.)

3.3 PDF File Naming Conventions

You supply the PDF as input to the PRODUCT PACKAGE command. The PDF can have any valid OpenVMS file name and file type. Compaq recommends that you give the input PDF file the extension .PCSI$DESC.


TEST.PCSI$DESC 

When you execute the PRODUCT PACKAGE command, it creates an output PDF. (See Section 2.9 for the distinction between input and output files.)

The output PDF file format is the same as the input PDF; that is, a sequential file containing PDL statements. The contents of the output PDF, however, may differ slightly from that of the input PDF. For example, the POLYCENTER Software Installation utility adds the size option to every file statement and supplies the actual size of the file in disk blocks.

The name of the output PDF consists of the product's stylized file name and a file type of .PCSI$DESCRIPTION:


producer-base-product-version-kit_type.PCSI$DESCRIPTION. 

For example:


ABC_CO-AXPVMS-BLACKJACK-V0201-17-1.PCSI$DESCRIPTION 
See Section 2.3 for a description of the product naming syntax.

3.4 Structure of a PDF

A PDF is a text file that contains a sequence of PDL statements. A PDF must begin with a product statement and end with an end-product statement. The product statement uniquely identifies the product and specifies the type of kit to build (full, partial, patch, and so forth). Each file that is part of the product material must be specified with a file statement. The following example shows a complete PDF for a product that places one file named test.exe in SYS$COMMON:[SYSEXE].


product dec vaxvms test v1.0 full ; 
    file [sysexe]test.exe ; 
end product ; 

3.4.1 Overview of PDL Statements

The product description language consists of statements that are defined in Chapter 7 of this manual. As an overview, these statements are listed below in classes according to their main function.

Many software products require only the use of a small subset of these PDL statements to create their PDF. Commonly used statements are as follows:

3.4.2 PDL Statement Syntax

A PDL statement consists of:

Additional Syntax Rules

3.4.3 PDL Function Syntax and Expressions

Certain PDL statements have a function form that tests for a condition in the execution environment and returns a Boolean value of true or false. A function is syntactically similar to its corresponding statement except that a function is enclosed in left and right angle brackets (<...>) instead of being terminated by a semicolon (;).

The following statements have corresponding functions:

The logical name function does not have a corresponding statement form.

Expressions are used in if statements to produce a Boolean value for the if-condition test. An expression is delimited by opening and closing parentheses ((...)). It contains one or more functions and, optionally, one or more of the keywords AND, OR, and NOT, which are used as logical operators.

An expression has one of the following forms, where each term is either another expression or a function:

The following example shows an if statement using a compound expression:


if ( (not <hardware device MUA0:>) and 
     (<software ABC VAXVMS TEST version below 2.0>) ) ; 
    . 
    . 
    . 
end if ; 

3.4.4 PDL Data Types and Values

The PDL has several base data types that you must use when passing parameters to the PDL statements listed in Chapter 7. Table 3-1 describes the PDL base data types and their values. PDL statements may restrict the range of values that can be used as parameters.

Table 3-1 Base Data Types and Values
Data Type Values
Boolean The number 0 (false), the number 1 (true), the keywords false, true, no, and yes.
String A sequence of 0 to 255 ISO Latin-1 characters. In the context of PDF language statements,
  • abc is an unquoted string.
  • "abc" is a quoted string.
  • ""double_quoted_string"" is a quoted string that maintains original quotation marks.

You must use the quoted string form if the string contains any PDL delimiters (open/close parenthesis, comma, open/close angle brackets, and semicolons) or lexical element separators (double hyphen, space, horizontal tab, form feed, or vertical tab). For example, "/privilege=(tmpmbx, netmbx)".

Table 3-2 lists the additional constraints on PDL strings.

Signed integer Specifies a positive, negative, or zero integral value in the range of -2147483648 to 2147483647.
Unsigned integer Specifies a zero or positive integral value in the range of 0 through 4294967295.
Version identifier See the description in Section 2.3.
Text module name Specifies a unique name for a text module using the printable ISO Latin-1 characters, excluding horizontal tab, space, exclamation point, and comma. The name can be from 1 to 31 characters in length.

Table 3-2 describes additional constraints on the string data type.

Table 3-2 String Data Type Constraints
String Type Values Examples
Unconstrained None; any character may appear in any position.  
Access control entry (ACE) Specifies an ACE for a directory or file. "(IDENTIFIER=[KM],ACCESS=READ)"
Command Specifies an operating system command that you want to execute during a specific operation. @PCSI$DESTINATION:[SYSTEST]
PROD$IVP.COM
Device name Specifies the name of a hardware device. DUB6:
File name Specifies a file name (without a device or directory specification). STARTUP.DAT
Identifier name Specifies a rights identifier. DOC
Module name Specifies the name of a module in a library. FMSHELP
Processor model name Specifies the model identification of a particular computer system. 7
Relative directory specification Specifies the directory name and, if necessary, the directory path, relative to the root directory specification. [MY_PRODUCT]
Relative file specification Specifies the directory path and file name, relative to the root directory path. [MY_PRODUCT]DRIVER.DAT
Root directory specification Specifies the directory name and a trailing period (.). If you specify a directory name and omit the period, it is inserted. If necessary, you can add the device name. [TEST.]
SYS$SYSDEVICE:[VMS$COMMON.]


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
5952PRO_002.HTML