Packaging your software applications

Removal of classes

Objects are removed class-by-class. Classes that exist for a package, but are not listed in the CLASSES parameter are removed last (for example, an object installed with the installf(ADM) command). Classes that are listed in the CLASSES parameter are removed in reverse order. The following steps outline the system actions that occur when a class is removed:

  1. pkgrm(ADM) creates a list of installed pathnames that belong to the indicated class. Pathnames referenced by another package are excluded from the list unless their ftype is e (the file can be edited upon installation or removal).

    If a pathname is referenced by another package, it will not be removed from the system. However, if it is of ftype e, it can be modified to remove information placed in it by the package being removed. The modification should be performed by the removal class action script.

  2. If there is no class action script, the pathnames are removed.

    If your package has no removal class action script for the class, all of the pathnames in the list generated by pkgrm(ADM) will be removed.

    NOTE: Always assign a class for files with an ftype of e (editable) and have an associated class action script for that class. Otherwise, they will be removed at this point, even if the pathname is shared with other packages.

  3. If there is a class action script, the script is executed.

    pkgrm(ADM) invokes the class action script with standard input containing the list generated in Step 1.

  4. pkgrm(ADM) performs an audit.

    Upon successful execution of the class action script, knowledge of the pathnames is removed from the system unless a pathname is referenced by another package.

Next topic: The special system classes
Previous topic: Installation of classes

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003