man SystemInstaller::Package () - Interface to packaging for SystemInstaller
NAME
SystemInstaller::Package - Interface to packaging for SystemInstaller
SYNOPSIS
use SystemInstaller::Package;
$location= "<package file location>"; $root= "<image root location>"; $arch= "<image architecture>"; @filename= "<package list filenames>";
unless (&pkg_install($location,$root,$arch,@filename) { printf "install failed\n"; }
DESCRIPTION
SystemInstaller::Package provides an interface to package installation for SystemInstaller.
ARGUMENTS
- $location
- The location (directory) that contains the package install files.
- $root
- The directory that will contain the image.
- $arch
- The target architecture for the image.
- @filename
- A list of package list files.
Module API specification
SystemInstaller::Package uses Perl modules to provide the actual functions for specific package types. In order to add support for a new package type the following must be provided in a perl module file named <pkgtype>.pm in the Package subdirectory of the SystemInstaller library. Additionally, the module name must be added to the CW@PKGMODS array in the Package.pm module. The order of the modules in the array determines the heirarchy. The Rpm module should remain last as the default. Finally, a use statement must be added for the new module in the Package.pm library.
THIS API IS NOT YET FINAL!!! It may (and probably will) change somewhat in the near future.
- sub files_find($class,$path,$arch,@pkglist)
- Find the best files for the given packages. CW$path contains the location of the package files, CW$arch is the desired image architecture, CW@pkglist contains the names of the desired packages. Returns: list of filenames (without leading directories) or 0 on failure.
- sub files_pre_install($class,$imgpath,$path)
- Perform any required pre-installation action in the image. CW$imgpath contains the root directory for the image, CW$path contains the location of package files. Returns: 1 on success, 0 on failure.
- sub files_install($class,$imgpath,$path,@filelist)
- Install the package files into the image. CW$imgpath contains the root directory for the image, CW$path contains the location of package files, CW@filelist contains the list of filenames as returned from &files_find. Returns: 1 on success, 0 on failure.
- sub files_post_install($class,$imgpath,$path)
- Perform any required post-installation action in the image. CW$imgpath contains the root directory for the image, CW$path contains the location of package files. Returns: 1 on success, 0 on failure.
- sub footprint($class,$mode,$path,$imgpath);
- Determine if this modules subroutine for the specific mode should be used. CW$path contains the location of the package files. CW$imgpath is the location of the image and is only available for post_install and kernel modes. Returns: 1 if this module's subroutine is to be used, 0 if not. Valid modes are:
- files
- Finding the best files to use, the &files_find subroutine.
- pre_install
- Before the packages are installed, the &files_pre_install subroutine.
- install
- Installing the packages, the &files_install subroutine.
- post_install
- After the packages are installed, the &files_post_install subroutine.
AUTHOR
Michael Chase-Salerno <mchasal@users.sourceforge.net>
SEE ALSO
SystemInstaller::Package::Rpm SystemInstaller::Package::Deb SystemInstaller::Package::Suse SystemInstaller::Package::Turbo mksiimage