=head1 NAME PPM::ppd - PPD (Perl package descriptor) file format =head1 DESCRIPTION A file format for PPD data files and a class structure to be able to access and maniuplate them. PPD data files are an extended version of the OSD file format. Being a derivative of OSD, PPD files are XML documents. This document will describe the extensions that have been added for PPD as well as show some examples of what these files will contain. Extensions have been added in through the use of XML namespaces. As part of PPM, this module will use the PPM::xml module for parsing the PPD files themselves. For information on what limitations are imposed by that module and how PPD files differ from XML documents, please refer to the PPM::xml documentation. =head1 FILE FORMAT The following tags have been added as PPD extensions to OSD: B The FILELIST element is used to list the files that are present for the given package and state where they should be copied. The file list itself can either be given as an attribute ('HREF') of the element, or as the data contained within the element. The format for the file list is: from/over/here to/over/here Each file that is to be copied 'from' will be the name of the file contained within the archive. The path of the file within the archive should be given. The destination of where the file is to be copied to should be given as a directory local to the LIB directory for this given Perl installation. Only one FILELIST element may be present for a given IMPLEMENTATION. Required. =over 4 =item Attributes HREF= - URL pointing to the document which is the file list =item Child of IMPLEMENTATION =back B The INSTALLSCRIPT element is used to define how to install a given package of software once it has been obtained and files have been copied to their appropriate locations. The INSTALLSCRIPT element is to be used for packages that require some other form of installation beyond simply a file copy. For those packages where copying of files is sufficient, an INSTALLSCRIPT is not required. Note that the INSTALLSCRIPT will be run by PPM B files have been copied to their appropriate locations. The script required for installation can either be given as an attribute ('HREF') of the element, as the data contained within this element, or as the name of a file contained within the element for this installation. Only one INSTALLSCRIPT element may be present for a given implementation. Optional. =over 4 =item Attributes HREF= - URL to the script used for installation of this package. (optional) EXEC= - Shell/program to use to execute the script. (required) CODEBASEFILE= - File to use as an installation script, which is to be found inside the file. =item Child of IMPLEMENTATION =back B The UNINSTALLSCRIPT element is used to define how to un-install a given package of software after it has already been installed. The UNINSTALLSCRIPT element is to be used for packages that require some other form of uninstallation beyond simply removing the appropriate files. For those packages where removal of files is sufficient, an UNINSTALLSCRIPT is not required. Note that the UNINSTALLSCRIPT will be run by PPM B any files are removed. The script required for this removal can either be given as an attribute ('HREF') of the element, as the data contained within this element, or as the name of a file contained within the element for this installation. Only one UNINSTALLSCRIPT element may be present for a given implementation. Currently unsupported. =over 4 =item Attributes HREF= - URL to the script used for installation of this package. (optional) EXEC= - Shell/program to use to execute the script. (required) CODEBASEFILE= - File to use as an installation script, which is to be found inside the file. =item Child of IMPLEMENTATION =back B The AUTHOR element is used to provide the name and e-mail address of the author of the package. This information is required when working with signed packages. Multiple AUTHOR elements may be present for a given package. =over 4 =item Attributes NAME= - Full name of author. (required) EMAIL= - E-mail address of author. (required) =item Child of SOFTPKG =back =head1 EXAMPLE PPM::ppm Perl package manager file format rm PPM/ppm.pm =head1 DTD