swpkg(1M) swpkg(1M) NAME swpkg - SGI product packager USAGE swpkg [ -nofork nofork ] DESCRIPTION Swpkg is a Motif based tool used to package software for inst, the Silicon Graphics installation program. Swpkg provides an environment for creating and updating spec and idb files and running gendist(1M). A spec file defines the products that will be turned into a software distribution by gendist. It gives the names of the products, their images and subsystems, information about the contents of those subsystems, and the installation procedure and environment they require. Installation database (idb) files contain one line of information for every file, directory, link, and fifo in a product. Options: -nofork nofork Run in foreground rather than the background. The tab panel across the top of the main window controls the view: Create Product Hierarchy Tag Files Edit Permissions and Destinations Add Attributes Build Product The spec file is constructed in the first step, and gendist is run in the last. The other steps construct the idb file. Both files are saved to disk for gendist to read in the final step. The File pulldown menu on the upper left includes items for reading and writing spec and idb files: Open Read New Save SaveAs Quit The Quit menu item terminates the session. Selecting any of the other items cascades another menu from which you can select Spec, Idb, or Both. For example, Open->Both will bring up a file selection dialog for a spec file and then another dialog for identifying an idb file. By convention, spec filenames end in '.spec', and idb filenames end with '.idb'. Read appends an existing spec or idb, while Open replaces. New->Spec opens the default spec, and New->Idb clears the idb of all entries. So New->Both gets you back to the initial state. The Save and SaveAs items are for writing the in memory copies of the idb and spec files to disk. If you opened or saved previously, the Save operation writes to the file you identified. The SaveAs operation brings up a file selection dialog so you can identify an arbitrary pathname to save too. All of the file menu items log a message in the scrollable window below the tab panel. The number of lines of the log displayed are controlled using the sash (square button below the scrollbar). The View menu pane contains an item (Show Messages) which makes it possible to shrink the message area to nothing. When an important message is logged, the message area will reappear. The Help menu pane (on the far right) provides an interface to online help facilities. Selecting an item from this menu fires off the Insight help server if it is not already running, and provides access to the book which documents Swpkg if installed. The Click for Help item can be selected to turn the cursor into a question mark, which can be clicked on any widget for context sensitive help on a particular item in the interface. Alternatively, you can simply press <F1> while the normal cursor is over the widget you want information about. Create Product Hierarchy The initial view shows a graphical representation of a default spec file. The information related to the selected node in the three level (product.image.subsystem) hierarchy appears on the right. Alter the Product Name and Description fields and press the Apply arrow button to assign this information to the product node, which is selected initially. The Description field is what users of inst see when your product is presented for installation by inst. To select another node, click on it with the left mouse button. The Add pushbutton can be pressed to add a child to the currently selected node. If your on a first level (product) node, pressing Add will create a new second level (image) node. Similiarly, if an image node is selected, when you press the the Add pushbutton you create a new third level (subsystem) node. To add another product, click on the root (the area around the nodes), and then press the Add pushbutton. The Delete pushbutton will remove the subtree rooted at the selected node. So, for example, if there are no release notes for your product, you should click the left mouse button on the "relnotes" node, and press "Delete". Tag Files A file browser, and list of tags appear on the left, while the tags and source paths of each idb file entry appear on the right. The initial browsing directory is the current directory, provided it's within the source root directory (defaults to /). Entering ~ will take you to your $HOME directory. Entries in the browser list ending with / are directories. Double-clicking on a directory entry takes you there. A Single click on an entry selects it. Multiple contiguous entries can be selected by pressing and dragging the mouse before releasing the left button. You can select separate entries by holding down the <CTRL> key when pressing the left mouse button. To add the entries selected, press the Add arrow button. The entries will be associated with the current selection in the the Tags list. To Assign a different tag subsequently, select the entries in the idb file list, and the tag you want to associate with them, and press the Assign arrow button. Tags for each subsystem defined in the spec, and those defined in the current idb are included in the tags list. Below the tags list is a text field that can be used in conjunction with the buttons to edit the list. To add a new tag, type a value into the text field, and hit <Enter>, or press the Add pushbutton. Pressing Replace will replace the tag currently selected, and the Delete pushbutton will remove the current selection from the list. Double clicking on a tag selects the Idb file list items assoicated with that tag. Double clicking on an entry in the Idb file list selects the tag associated with that item. Edit Permissions and Destinations The Source Root and Destination Root appear framed with an associated Apply button on the upper left. Both default to /. Changing the source root directory limits the browsing area (in the Tag Files view) to the designated tree. The root is stripped from all pathnames added. If you have a tree of files users will install to a different destination, roots are handy. The final (Build Product) step includes a matching pair of textfields for convenience when your rebuilding with no changes to your spec or idb files. Note, the roots do not live in the spec or idb file, so they must be respecified each time you start a new session. When you Apply a new Source Root Directory value, it is first prepended to the source pathname of each Idb entry. If all entries are found, the new root is accepted. Otherwise, if the old root is valid (it can be prepended to all the entries), it is prepended and if the new root appears at the beginning of all entries it is accepted; the new root is stripped from all the source pathnames. When a new Source Root value is accepted, if the source and destination pathnames matched beforehand, the destination pathname is changed to reflect the new root too. So if you edited any destination pathnames prior to changing the source root, these will not be altered by the operation. Text fields for Mode, Owner, Group, Destination Directory, and Destination Filename appear on the left, while the same fields of the current Idb file entries are visible on the right. To edit, enter a value in one or more of the text fields, select the entries you want to affect in the Idb list, and press the Assign arrow button to initiate the change. Double clicking on an Idb file list item will load its values into the text fields. This is convenient when your changing a single entry (double click, alter, and Assign back). Add Attributes A list of attributes appears on the left, while the destination paths and any attributes are visible in the Idb file list. Each entry in the attribute list has a toggle button associated with it. When the Assign arrow button is pressed, all those entries whose toggle is set are assigned to the Idb file list items selected. Pre-existing attributes are deleted and the new ones added for each. Double clicking on an item in the Idb file list loads its attributes. Build Product In this view, the arguments to a gendist run appear on the left, along with buttons for the possible ways to run it. On the right, all the fields of each Idb file entry are visible. The Dry Run pushbutton will run gendist which reads the files, and check their validity, without writing anything. The Build All pushbutton creates the files in the Distribution Directory. These include binary versions of the idb and spec (a file for each subsystem), as well as an image: -rw-rw-r-- 1 kirke user 404 Jun 28 16:11 swpkg -rw-rw-r-- 1 kirke user 461 Jun 28 16:11 swpkg.idb -rw-rw-r-- 1 kirke user 8509 Jun 28 16:11 swpkg.man -rw-rw-r-- 1 kirke user 462834 Jun 28 16:11 swpkg.sw ENVIRONMENT VARIABLES SBASE Source Root RBASE Destination Root FILES ~/.Xdefaults /usr/lib/X11/app-defaults/Swpkg /usr/lib/X11/schemes/Base/Swpkg /usr/sbin/gendist /usr/dist SEE ALSO gendist(1M), inst(1M), showprod(1M), IRIX Interactive Desktop Integration Guide Page 5