The packaging process is guided by a set of rules based on a packaging instruction. The packaging instruction is in the form of a Smalltalk class; the packager interacts with the instruction by sending messages to determine the exact contents of the packaged image. You interact with the packaging instruction through the Packager Control Panel.
IBM provides a number of packaging instructions to assist you in building a packaged application image. When packaging for another platform, you will use a passive image. You can use a single passive image and have multiple packaging instructions within it or you can have multiple passive images that each have one or more packaging instructions. Your saved image will grow dramatically if you maintain a lot of passive images.
For cross development it is important to note that the packaging instruction responds to messages from the packager. That is, the packaging instruction can be run. Because the passive image does not support execution, the packaging instruction must reside in the development image. Within the cross development environment, the runtime code must be loaded into the passive image while the packaging instruction must be loaded into the development image.
When porting packaging instructions that were initially developed for the traditional packager, ensure that you re-save the instruction from the Packager Control Panel to automatically convert any direct class references within the packaging instruction to the symbolic references required to handle both the development and passive image.
There are certain methods you can code into your applications that provide information to the packager. The following are two of the most common methods used. See IBM Smalltalk User's Guide for more information.
For OS/390 applications, IBM supplies a set of packaging instructions for your use during packaging. The set includes packaging instructions for single images, base image components, and dependent image components.
These packaging instructions are provided in the image shipped with VisualAge Smalltalk Server. If you want to use your own packaging instruction, you should create it as a subclass of an IBM-supplied instruction, both to inherit the behavior and to ensure that it is displayed during packaging.