Documentation Home
> Application Packaging Developer's Guide
Application Packaging Developer's Guide
Book Information
Preface
Chapter 1 Designing a Package
Where to Find Packaging Tasks
What Are Packages?
Package Components
Required Package Components
Optional Package Components
Package Information Files
Package Installation Scripts
Things to Think About Before Building a Package
Make Packages Installable Remotely
Optimize for Client-Server Configurations
Package by Functional Boundaries
Package Along Royalty Boundaries
Package by System Dependencies
Eliminate Overlap in Packages
Package Along Localization Boundaries
Packaging Commands, Files, and Scripts
Chapter 2 Building a Package
The Process of Building a Package Task Map
Package Environment Variables
General Rules on Using Environment Variables
Package Environment Variables Summary
Creating a pkginfo File
Defining a Package Instance
Defining a Package Abbreviation (PKG)
Specifying a Package Architecture (ARCH)
Specifying a Package Instruction Set Architecture (SUNW_ISA)
Specifying a Package Version (VERSION)
Defining a Package Name (NAME)
Defining a Package Category (CATEGORY)
How to Create a pkginfo File
Where to Go Next
Example--Creating a pkginfo File
Organizing a Package's Contents
How to Organize A Package's Contents
Where to Go Next
Creating a prototype File
The Format of the prototype File
The ftype Field
The class Field
The path Field
Collectively Relocatable Objects
Individually Relocatable Objects
Parametric Path Names
A Brief Word on an Object's Source and Destination Locations
The mode Field
The owner Field
The group Field
Creating a prototype File From Scratch
Creating a prototype File With the pkgproto Command
Fine-Tuning a prototype File Created With the pkgproto Command
Creating Object Entries With File Types v, e, x, and i
Using Multiple Class Definitions
Example--Fine-Tuning a prototype File Created Using the pkgproto Command
Adding Functionality to a prototype File
Defining Additional Objects to Be Created at Install Time
Creating Links at Install Time
Distributing Packages Over Multiple Volumes
Nesting prototype Files
Setting Default Values for the mode, owner, and group Fields
Providing a Search Path for the pkgmk Command
Set Environment Variables
How to Create a prototype File Using the pkgproto Command
Where to Go Next
Building a Package
Using the Simplest pkgmk Command
The pkgmap File
How to Build a Package
Where to Go Next
Example--Building a Package
Example--Specifying a Source Directory for Relocatable Files
Example--Specifying Different Source Directories for Information Files and Package Objects
Chapter 3 Enhancing the Functionality of a Package
Creating Information Files and Installation Scripts Task Map
Creating Information Files
Defining Package Dependencies
How to Define Package Dependencies
Where to Go Next
Example--compver File
Example--depend File
Writing a Copyright Message
How to Write a Copyright Message
Where to Go Next
Example--copyright File
Reserving Additional Space on a Target System
How to Reserve Additional Space on a Target System
Where to Go Next
Example--space File
Creating Installation Scripts
Script Processing During Package Installation
Script Processing During Package Removal
Package Environment Variables Available to Scripts
Obtaining Package Information for a Script
Exit Codes for Scripts
Writing a request Script
request Script Behaviors
Design Rules for request Scripts
How to Write a request Script
Where to Go Next
Example--Writing a request Script
Gathering Data With the checkinstall Script
checkinstall Script Behaviors
Design Rules for checkinstall Scripts
How to Gather File System Data
Where to Go Next
Example--Writing a checkinstall Script
Writing Procedure Scripts
Procedure Script Behaviors
Design Rules for Procedure Scripts
How to Write Procedure Scripts
Where to Go Next
Writing Class Action Scripts
Defining Object Classes
How Classes Are Processed During Installation
How Classes Are Processed During Removal
The Class Action Script
Class Action Script Behaviors
Design Rules for Class Action Scripts
The Special System Classes
The sed Class Script
The awk Class Script
The build Class Script
The preserve Class Script
How to Write Class Action Scripts
Where to Go Next
Chapter 4 Verifying and Transferring a Package
Verifying and Transferring a Package Task Map
Installing Software Packages
The Installation Software Database
Interacting with the pkgadd Command
Installing Packages on Standalones or Servers in a Homogeneous Environment
How to Install a Package on a Standalone or Server
Where to Go Next
Example--Installing Packages on Standalones and Servers
Installing Packages for Diskless Clients and AutoClient Systems on a Server
How to Add a Package to a Diskless or AutoClient System's Root File System
Where to Go Next
Example--Installing a Package to a Diskless Client's Root File System
Verifying the Integrity of a Package
How to Verify the Integrity of Your Package
Where to Go Next
Example--Verifying the Integrity of a Package
Displaying Additional Information About Installed Packages
The pkgparam Command
How to Obtain Information With the pkgparam Command
Where to Go Next
Example--Obtaining Information With the pkgparam Command
The pkginfo Command
The Default pkginfo Display
Customizing the Format of the pkginfo Display
Parameter Descriptions for the pkginfo Long Format
How to Obtain Information With the pkginfo Command
Where to Go Next
Removing a Package
How to Remove a Package
How to Remove a Package From a Diskless or AutoClient System
Where to Go Next
Example--Removing a Diskless Client's Package
Transferring a Package to a Distribution Medium
How to Transfer Your Package to a Distribution Medium
Where to Go Next
Chapter 5 Package Creation Case Studies
Soliciting Input From the Administrator
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The request Script
Creating a File at Installation and Saving It During Removal
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The space File
The i.admin Class Action Script
The r.cfgdata Removal Script
Defining Package Compatibilities and Dependencies
Techniques
Approach
Case Study Files
The pkginfo File
The copyright File
The compver File
The depend File
Modifying a File Using Standard Classes and Class Action Scripts
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The i.inittab Installation Class Action Script
The r.inittab Removal Class Action Script
The inittab File
Modifying a File Using the sed Class and a postinstall Script
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The sed Class Action Script (/sbin/inittab)
The postinstall Script
Modifying a File Using the build Class
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The Build File
Modifying crontab Files During Installation
Techniques
Approach
Case Study Files
The pkginfo Command
The prototype File
The i.cron Installation Class Action Script
The r.cron Removal Class Action Script
crontab File #1
crontab File #2
Installing and Removing a Driver With Procedure Scripts
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The request Script
The postinstall Script
The preremove Script
Installing a Driver Using the sed Class and Procedure Scripts
Techniques
Approach
Case Study Files
The pkginfo File
The prototype File
The sed Class Action Script (/etc/devlink.tab)
The postinstall Installation Script
The preremove Removal Script
The copyright File
Chapter 6 Advanced Package Creation Techniques
Specifying the Base Directory
The Administrative Defaults File
Becoming Comfortable With Uncertainty
Using the BASEDIR Parameter
Using Parametric Base Directories
Example--Using Parametric Base Directories
The pkginfo File
The pkgmap File
Managing the Base Directory
Accommodating Relocation
Walking Base Directories
Using the BASEDIR Parameter
The pkginfo File
The pkgmap File
Example--Analysis Scripts That Walk a BASEDIR
The request Script
The checkinstall Script
Using Relative Parametric Paths
The pkginfo File
The pkgmap File
Example--A request Script That Walks a Relative Parametric Path
Supporting Relocation in a Heterogeneous Environment
Traditional Approach
Relocatable Packages
Example-A Traditional Relocatable Package
The pkginfo File
The pkgmap File
Absolute Packages
Example-A Traditional Absolute Package
The pkgmap File
Composite Packages
Example-A Traditional Solution
The pkginfo File
The pkgmap File
Beyond Tradition
Another Look at Composite Packages
Making Absolute Path Names Look Relocatable
Example--Modifying a File
Description
Implementation
Example
Example--Creating a New File
Description
Implementation
Example
Example--A Composite Package
The pkginfo File
The pkgmap File
Making Packages Installable Remotely
Example--Installing to a Client
Example--Installing to a Server or Standalone
Example--Mounting Shared File Systems
Patching Packages
The checkinstall Script
The preinstall Script
The Class Action Script
The postinstall Script
The patch_checkinstall Script
The patch_postinstall Script
Upgrading Packages
The request Script
The postinstall Script
Glossary
Index
A
B
C
D
E
G
I
L
M
O
P
R
S
T
U
V
© 2010, Oracle Corporation and/or its affiliates