Software Package Builder 1.0 User’s Guide for HP-UX 11i v1 and 11i v2 Edition 2 Manufacturing Part Number : 5187-4494 December 2003 United States © Copyright 2002-2003 Hewlett-Packard Development Company, L.P. All rights reserved.
Legal Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material.
Publication History The manual publication date and part number indicate its current edition. The publication date will change when a new edition is released. The manufacturing part number will change when extensive changes are made. • Software Package Builder 1.0 Users Guide for HP-UX 11i v1 and 11i v2: December 2003, 5187-4494 • Software Package Builder 1.
http://software.hp.com/products/SPB/ Typographic Conventions We use the following typographical conventions. 4 mxtool (4) HP-UX manual page. mxtool is the name and (4) is the section. From the command line, you can enter “man mxtool” or “man 4 mxtool” to view the manpage. See man (1). Book Title Title of a book. On the Web and on the Instant Information CD, it may be a hot link to the book itself. Command Command name or qualified command phrase. ComputerOut Text displayed by the computer.
Contents 1. Introduction to Software Package Builder Software Package Builder Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Software Package Builder and HP-UX Software Distributor. . . . . . . . . . . . . . . . . . . . 9 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Installation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Validating from the CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Incorporating SPB into Automated Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5. Advanced Features Managing Fileset Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 Introduction to Software Package Builder The following topics are covered in this chapter: Chapter 1 • “Software Package Builder Overview” on page 8 • “System Requirements” on page 11 • “Installation Overview” on page 12 • “Starting Software Package Builder” on page 13 7
Introduction to Software Package Builder Software Package Builder Overview Software Package Builder Overview Software Package Builder (SPB) provides a visual method to create and edit software packages using the HP-UX Software Distributor (SD-UX) package format. Once software is packaged, it can easily be transferred to a distribution medium, mass produced, and installed by administrators.
Introduction to Software Package Builder Software Package Builder Overview Features Benefits Open source software can be packaged in SD-UX format Easy to repackage software from various formats into SD-UX, allowing you to manage software with the SD-UX software management toolset. User-specified rules files Allows you to specify the rules file you want to validate your PSF against.
Introduction to Software Package Builder Software Package Builder Overview creating the PSF, its software elements, attributes, and structure, as well as automatically validating the PSF against packaging policy rules. SPB provides a default set of packaging policies that validate your PSF, however, you can also customize your own packaging policies.
Introduction to Software Package Builder System Requirements System Requirements Table 1-1 identifies the hardware and software requirements for Software Package Builder (SPB). Table 1-1 SPB Requirements Operating System • HP-UX 11i v1 (B.11.11) • HP-UX 11i v2 (B.11.23) Software Java 1.4 runtime environment (JRE) or later Free Disk Space • 6 MB minimum in the /opt directory • 1 MB minimum recommended for data RAM 256 MB For the latest system requirements, go to: http://software.hp.
Introduction to Software Package Builder Installation Overview Installation Overview Accessing the software SPB is available as a selectable application with the release of HP-UX 11i v2 (B.11.23) and 11i v1 (B.11.11) and can also be downloaded from the Web. To download SPB from the Web Step 1. Go to the following URL: http://software.hp.com/products/SPB/download.html Step 2. Download the SPB product software. Installation SPB is packaged in SD-UX format and can be installed with the swinstall command.
Introduction to Software Package Builder Starting Software Package Builder Starting Software Package Builder To launch SPB from the command line, enter: /opt/spb/bin/spb The SPB GUI will launch and by default, the application will use the packaging policy rules file appropriate for the HP-UX release version you are running on your system. The packaging policy rules file is an Extensible Markup Language (XML) formatted file which describes the legal PSF syntax and any field value constraints for your PSF.
2 Software Packaging If you are new to software packaging, this chapter provides an overview of the software packaging process and basic concepts. If you are already an experiences packager, you may want to use this chapter as a review or move to Chapter 3, “Software Package Builder Features”.
Software Packaging Software Packaging Overview Software Packaging Overview Application software is delivered in units called software packages. A software package is a collection of files and directories required to install a software product. Generally, a software package is designed and built by the application developer after completing the development of the application code.
Software Packaging Software Packaging Overview Software Packaging Lifecycle The software packaging lifecycle is displayed in Figure 2-1. Figure 2-1 Software Packaging Lifecycle 1. Identify the software package contents - Determine what files and directories you want to include in your software package. Your software package can consist of products, filesets, files, and other, optional software elements as discussed in “Software Elements” on page 20. 2.
Software Packaging Software Packaging Overview 3. Create a Product Specification File (PSF) - Use SPB to create a PSF to define the software package. SPB provides a GUI for creating the PSF. 4. Validate the PSF - Determine that the PSF is valid prior to creating the software package. SPB uses a packaging policy rules file to validate the PSF. 5. Create the software package - Use the SD-UX swpackage command to create your software package. 6.
Software Packaging Software Package Structure Software Package Structure A software package is created from a hierarchy of software elements. The hierarchy provides the structure needed by the filesystem to logically identify packaged files. A software package also contains metadata specific to each software element. The metadata is generated by setting attribute values. This is all accomplished through the creation of a product specification file (PSF) which defines the software package.
Software Packaging Software Package Structure • Group related files in the source filesystem that will directly translate to the destination filesystem. Software Elements A software package is created from a hierarchy of software elements, which are structured and defined in a PSF. The SPB-specific software elements are as follows: 20 File A file is the lowest level of software element that can be contained in a software package. Files are grouped together to create filesets.
Software Packaging Software Package Structure Chapter 2 Bundle A bundle is a reference to filesets, subproducts and/or products. Bundles may reference collections of filesets that belong to several different products. Creating bundles consisting of multiple filesets allows you to treat several filesets as a single entity. By specifying a bundle, all filesets under the bundle are included in the operation.
Software Packaging Software Package Structure Software Package Hierarchy The software package hierarchy provides the structure needed by the filesystem to identify packaged files. Figure 2-2 provides a graphical representation of the hierarchical structure to which a valid PSF must adhere. Figure 2-2 Software Package Hierarchy Containment vs. Reference There are two types of relationships that exist within the hierarchical structure of a software package: containment and reference.
Software Packaging Software Package Structure The difference between a containment relationship and a reference relationship can be illustrated by the notion that a bundle can be removed without actually removing the software elements that it references. However, removing a product always removes the filesets it contains, and the files contained in the filesets. Table 2-1 provides a summary of a software package's structural elements, their functions, and their relationship to other elements.
Software Packaging Software Package Structure Table 2-1 Structural Elements: Functions and Relationships (Continued) Structural Element File (7) 24 Function Files serve as the building blocks for a software package. Relationship Files are contained in one or more filesets.
Software Packaging Product Specification File Product Specification File The product specification file (PSF) maps files in your source filesystem area to create the destination filesystem on a customer's system. In addition, the PSF can direct the appropriate installation for the customer by filtering on operating system (OS) and/or machine type attributes that are defined in the PSF. A PSF defines the structure of a software package.
Software Packaging Product Specification File Each of the software element classes has its own set of attributes, and each attribute has a value that defines it. Most attributes are optional; however, there are a few required attributes. Assigning valid attributes to software elements provides more control and precision when the software package is installed, updated, and removed. Table 2-2 provides a list of attributes that are required for a valid PSF.
Software Packaging Packaging Policies Packaging Policies Packaging policies are a set of rules that must be consistently followed to create a valid software package. Packaging policies help ensure that the software package you create in SPB is consistently named and structured. SPB validates your PSF against packaging policies, eliminating the need for you to learn the intricacies of software package structuring.
3 Software Package Builder Features This chapter introduces you to the graphical user interface (GUI) and its features.
Software Package Builder Features Introduction Introduction The SPB GUI is designed to simplify the process of creating a software package by providing a visual method for creating the PSF, its software elements, attributes, and structure, as well as automating validation of the PSF against packaging policy rules. Figure 3-1 displays the main window in the SPB GUI and the regions it contains.
Software Package Builder Features Screen Regions Screen Regions The SPB GUI is comprised of the following main screen regions. Package Structure The Package Structure displays a navigable hierarchy of the software elements contained in the PSF. From the Package Structure, you can manage and build your PSF.
Software Package Builder Features Screen Regions • File Browser - For specifying a file’s path and name. Messages Tab The Messages tab displays the messages that are generated during validation. Corresponding information displays in the Policy Help tab to assist you in correcting errors.
Software Package Builder Features Screen Regions Select a software element from the Package Structure for which you are interested in viewing the PSF syntax and select the PSF View tab to display the PSF syntax.
Getting Started with Software Package Builder 4 Getting Started with Software Package Builder This chapter provides tasks to introduce you with the features of SPB using the graphical user interface (GUI) and the command line interface (CLI).
Getting Started with Software Package Builder Getting Started Using the SPB GUI Getting Started Using the SPB GUI Get started using SPB by familiarizing yourself with how to create a PSF, add a product and filesets, manage fileset content, validate a PSF, and set attributes. This procedure walks you through the steps required to create a valid PSF. Creating a New PSF To create a PSF Step 1. Launch the SPB GUI. /opt/spb/bin/spb Step 2. From the main menu, select File > New PSF. Step 3.
Getting Started with Software Package Builder Getting Started Using the SPB GUI Step 5. To save and exit, click OK once all filesets have been added to the product. Managing Fileset Content Step 1. From the Package Structure, highlight the fileset to which you want to add files. Step 2. From the Structure menu, select Add Element(s) > Files. The Manage Fileset Content dialog appears. To create a destination filesystem Step 1. Click Add Directory.
Getting Started with Software Package Builder Getting Started Using the SPB GUI Step 4. Click Add. The directory or file(s) are added to the selected directory in the Destination Filesystem. Step 5. Repeat this process until you have mapped all the appropriate source files to the Destination Filesystem. Step 6. From the Destination Filesystem, select the directory you want to map files into. To set file (or directory) permissions Step 1.
Getting Started with Software Package Builder Getting Started Using the SPB GUI The results of the validation process appear on the Messages tab. If the PSF is valid, the message Validation Status: PSF Passed Validation appears. If it is invalid, you should debug the PSF as directed by the information provided in the Policy Help tab. Setting Attributes Most attributes are optional; however, there are a few required attributes.
Getting Started with Software Package Builder Getting Started Using the SPB GUI NOTE 40 Remember, you are able to validate your PSF in real-time. Every time you enter new data into the PSF, SPB re-validates the file.
Getting Started with Software Package Builder Using the SPB Command Line Interface Using the SPB Command Line Interface From the command line interface, you can perform the following tasks: • Edit a PSF • Validate a PSF • Specify a user-defined packaging policy rules file Editing from the CLI You can make edits to a PSF from the command line.
Getting Started with Software Package Builder Using the SPB Command Line Interface Example To validate the PSF file located in /opt/SPB/demo/demo1, you would type the following: spb -f /opt/SPB/demo/demo1 -V Incorporating SPB into Automated Processes For packagers with automated processes, the build process usually includes generating a PSF. To take advantage of SPB's validation capability, include the SPB validation command after the PSF generation step in the automated process.
Getting Started with Software Package Builder Additional Information Additional Information For more information about SPB, see the SPB Help system and Quick Start Tutorial.
5 Advanced Features If you are an experienced packager, you might want to use SPB to add advanced features to your PSF.
Advanced Features Managing Fileset Content Managing Fileset Content This section provides additional information on the Manage Fileset Content dialog box and its advanced features. Figure 5-1 highlights the regions and features.
Advanced Features Managing Fileset Content Figure 5-1 Manage Fileset Content Dialog Box The Manage Fileset Content dialog allows you to map source files and directories to the destination filesystem and exercise control over directory and file attributes.
Advanced Features Managing Fileset Content Regions and Features 1. Source Filesystem - Allows navigation of the Source Filesystem for selection of files and directories to be mapped to the Destination Filesystem. 2. Add button - Adds the files or directories selected from the Source Filesystem to the Destination Filesystem. Multiple files or directories may be selected for addition. If the Recursive checkbox is selected, all files or directories contained in the selected directory will be implicitly added.
Advanced Features Managing Fileset Content • Recursive - The recursive option adds the selected directory and all its contents recursively. Individual filenames are listed in the PSF. • File * - This option is similar to the Recursive option; however, all files are implicitly added and represented only by an asterisk ( * ). The individual filenames are not listed in the PSF using this option.
Advanced Features Managing Fileset Content To set the file * or include option Step 1. Click the Advanced Options button. The Advanced Options dialog box displays, as shown in Figure 5-2.
Advanced Features Managing Fileset Content Step 2. Select the file mapping option you want to enable by clicking in the check box. This will enable the mapping option and display a checkbox on the Manage Fileset Content main window., as shown in Figure 5-3. Figure 5-3 File Mapping Options Enabled Step 3. From the main window, select the appropriate file mapping option. Step 4. Once the source and destination directories have been selected, click Add. Step 5.
Advanced Features Managing Fileset Content • Specify - A Mode dialog box appears allowing you to set your own permissions. For Directory Attributes: • Directory (0755) • Inherit - File will inherit permissions from the directory. The default mode permission is Inherit. • Specify - A Mode dialog box appears allowing you to set your own permissions. To apply a mode to all files Step 1. Place the cursor in any of the file's Mode fields and right-click. A drop-down list appears. Step 2.
Advanced Features Managing Fileset Content To change the default representation of the Mode field The default representation for file mode access permissions is octal (e.g., 0644). However, you have the option to display the symbolic representation for permissions (e.g., rw-r--r--). Step 1. Select the Advanced Options button. The Advanced Options dialog box displays, as shown in Figure 5-4. Figure 5-4 Permissions Selections Step 2. Select Symbolic to change the mode permissions display.
Advanced Features Managing Fileset Content Step 3. Click OK. The Mode field now displays a symbolic representation, as shown in Figure 5-5.
Advanced Features Creating and Using a Subproduct Creating and Using a Subproduct Using subproducts provides a way for you to organize filesets into different groupings beyond that provided within a product. A subproduct is a reference to groups of logically related filesets. For example, you might create a subproduct that references a fileset grouping for the entire runtime configuration. It is important to remember that subproducts only reference filesets and do not physically contain them.
Advanced Features Creating and Using a Bundle Creating and Using a Bundle A bundle is a reference to filesets, products, and/or subproducts. Bundles may reference collections of filesets that belong to several different products. Creating bundles consisting of multiple filesets allows you to treat several filesets as a single entity. By specifying a bundle, all filesets under the bundle are included in an operation.
Advanced Features Creating and Using a Vendor or Category Creating and Using a Vendor or Category Adding a vendor or category to your PSF provides more detail about its contents. For example you can: • Add a vendor to display information regarding the PSF contents. The vendor’s information will display when using the swlist command. • Add a category to further identify the software package contents. To add a vendor or category Step 1.
Advanced Features Creating and Using Vendor Defined Attributes Creating and Using Vendor Defined Attributes Vendor Defined Attributes (VDAs) are optional but can be useful in providing additional information about a software package. A VDA may be created for any software element in the PSF. VDAs are noted during packaging modification with the swmodify command. You can list any attribute with the swlist command. To create a vendor defined attribute Step 1.
Advanced Features Overview of Software Specification Attributes Overview of Software Specification Attributes Software specification attributes are used to define a relationship or an assignment between a designated software element and other software element(s). Every attribute value in the PSF must use a designated value type, for software specification attributes this value type is software_specification.
Advanced Features Overview of Software Specification Attributes • An entire product Corequisites The corequisites attribute defines a fileset dependency that requires another fileset or product to be installed and configured in order for the dependent fileset to operate correctly. Multiple corequisites may be defined. Prerequisites The prerequisites attribute defines a fileset dependency that requires another fileset to be installed and/or configured correctly before it can be installed or configured.
Advanced Features Overview of Software Specification Attributes • Validate dependency attributes contained in an OR corequisites set or an OR prerequisites set SPB will not: • Resolve a software specification attribute that is external to the local PSF (e.g., in a depot on another system) • Import a software specification attribute that is external to the local PSF Software elements and their associated software specification attributes are displayed in the Package Structure.
Advanced Features Overview of Software Specification Attributes Multiple dependency attributes may be specified for a corequisites attribute or a prerequisites attribute. There are two types of relationships that can be used when defining multiple dependency attributes: NOTE • AND - Use the AND relationship to specify multiple dependency attributes, each of which must be satisfied. The AND relationship is the default.
Advanced Features Overview of Software Specification Attributes To add a dependency attribute using the OR relationship IMPORTANT Use the OR relationship when you need to specify multiple corequisites or prerequisites attributes in a set, where only one of the set must satisfy the dependency. An OR relationship is specified within an OR corequisites set (or OR prerequisite set).
Advanced Features Overview of Software Specification Attributes To add remote content as a dependency attribute For this procedure, you will use an existing corequisites attribute as a template for specifying remote content as a corequisites attribute. NOTE Step 17. From the Package Structure, select the fileset for which you want to add remote content. Step 18. Select Structure > Add Element(s) > Corequisites. The Corequisites dialog box appears. Step 19.
Advanced Features Using Control Scripts Using Control Scripts You can use control scripts to customize the behavior of your software package. SD-UX supports execution of both product and fileset control scripts. These shell scripts allow you to perform customized checks and operations as part of your regular software management tasks. The swinstall, swconfig, swverify, swask, and swremove commands can execute one or more of these scripts.
Advanced Features Using Control Scripts • Killing and/or starting daemons For more detailed information, refer to Chapter 11 "Using Control Scripts" in the Software Distributor Administration Guide located at the following Web site: http://www.software.hp.
Advanced Features Additional Information Additional Information For more information about SPB, see the SPB Help system and Quick Start Tutorial.
Glossary ancestor Glossary A-B ancestor An attribute that names a previous version of a fileset. This is used to match filesets on a target system. If the match_target option is set to true, SD-UX matches the ancestor fileset name to the new fileset name. and relationship The default relationship for specifying one or more dependency attributes (corequisites or prerequisites) where all dependencies must be satisfied.
Glossary multiple architecture D-E dependency A relationship between filesets in which one requires another in a specific manner. For example, before fileset A can be installed, it may require fileset B to be installed. SD-UX supports corequisite and prerequisite dependencies. dependent A fileset that has a dependency on another fileset. For example, if fileset A depends on fileset B, then B is a dependent or has a dependency on A.
Glossary optional attribute optional attribute An attribute whose inclusion in the product specification file is optional, will not effect the users ability to create a software package using swpackage. or dependency set Used to identify multiple corequisites or prerequisites attributes for a fileset where only one of the set must satisfy the dependency. or corequisites set See OR dependency set. or prerequisites set See OR dependency set.
Glossary tag root directory The directory on a target system in which all the files of the selected products will be installed. The default (/), can be changed to install into a directory that will eventually act as the root to another system. S SD-UX HP-UX Software Distributor. The format and syntax of SD-UX software in depots. software depot A SD-UX format structure that contains one or more software products that can be installed on other systems or copied to other depots.
Glossary unconfigure script unconfigure script An optional script associated with a fileset that is executed by swremove before the removal of filesets begins. vendor The vendor for the software being packaged. If a vendor specification is included in the PSF, the vendor and tag attributes are required for swpackage. vendor defined attribute An attribute you define to provide additional information about a software package.
Glossary unconfigure script Glossary 73
Index A adding remote content, 63 advanced options, 47 dialog box, 49, 52 ancestor attributes, 58 and dependency relationship, 61 attribute table, 31 attributes, 25 directory, 47 display, 39 file, 47 recommended, 26 required, 26 software specification, 58 B bundle, 21, 55 C category, 21, 56 command spb, 41 command line interface (CLI), 41 editing, 41 return values, 42 validation, 41 commands installation, 12 contents attributes, 58 control scripts, 64 corequisites attributes, 58 creating bundle, 55 category
Index mapping files, 37 menus, 33 messages error, 32 generation, 32 note, 32 selection, 32 messages tab, 32 O or corequisites set, 62 or dependency relationship, 61 or prerequisites set, 62 organizing filesystems, 19 P package structure, 31 packaging policies, 27 default rules file, 27 policy help tab, 32 specifying rules file, 13 policy help tab, 32 prerequisites attributes, 58 product, 20 creating, 36 product specification file (PSF), 25 creating, 36 PSF validation, 38 PSF view tab, 32 R recursive option,
Index PSF, 38 software specification attributes, 59 validation, 38 vendor, 21, 56 vendor defined attributes (VDAs), 57 76