Setup Package Concepts

Introduction

This page explains what Grid Packaging Technology (GPT) setup packages are and how they are used to manage software localizations.

Localization

It is rare that software can be installed on a system and work without any modifications. Well designed software isolate these modifications in configuration files which are then read by the software when it starts. The specifics of localizations are discussed here.

Local Modifications and the Packaging System

The necessity of these modifications introduces complexity to a packaging system. Here are some examples of this complexity:
  1. The packaging tools work with a set of packages. Installing/Uninstalling them in one operation. Setups of individual packages are often require interaction with the user during installation.
  2. The packaging tools have to assume a static filelist for a package so that the package leaves no residual files when it is uninstalled. On the other hand, setup operations often require modifications to files by a user. These modifications will disappear after the next uninstall or upgrade of the package.
  3. From a packaging perspective, all installed files are "owned" by one package. This causes the file to be install/uninstalled when the user does an operation on its package. On the other hand, various organizations can distribute setup packages which have the same filelists and fulfill the same purpose but differ in content.

Setup Packages and Software Packages

With GPT, software packages that require localization have a special dependency to packages called a setup packages. The dependency can be fulfilled by any number of different setup packages as long as they provide the needed configuration files. This relationship is shown in the following diagram. Here are multiple setup packages that can fulfill the setup dependency for software package Foo. This arrangement provides the flexibility needed to handle the complications discussed previously. Package Foo is seperated from its configuration files so that either can be upgraded seperately. The dependency to the setup package is abstracted so that organizations can package different configuration schemes to fulfill the requirement.

Setup Package Contents

Setup packages can contain different types of content depending on where and how the localizations are implemented. Here are some examples of setup package contents: The packages can contain one or more of these content types. As an example consider this diagram:
Item Description
Site Localization DataDatabase or other data stor that contains site or organization localization data.
Packaging ToolTool that creates setup packages from localized data
User InterviewsTools that prompt software installers for input.
Host Machine Localization DataDatabase or other data store that contains host specific localization data.
Data ScriptsScripts that modify configuration files based on host local data
Probing Configuration ScriptsScripts which perform tests to determine host local data
Installed Configuration FilesFiles used by installed software to read in localization information

Packaging Strategies

So how would this diagram be packaged? Here are some possiblities:

Summary

Setup packages are straight forward when considered individually. The complexity appears when collections of packages are localized, distributed and installed as a set. We tackle that subject here,
Last modified: Mon Mar 18 20:02:50 Central Standard Time 2002