Perl Package Distribution

Wed Nov 12 11:25:56 2003

Table of Contents

I. Prolog
SOFTPKG -
II. Elements
ABSTRACT -
AUTHOR -
CODEBASE -
DEPENDENCY -
IMPLEMENTATION - describe a particular implementation of the Perl Package
INSTALL - provide either a reference to an installation script
LANGUAGE -
LICENSE -
OS - the operating system required for this implementation
OSVERSION - the required version of the operating system
PERLCORE - the minimum version of the Perl core distribution
PROCESSOR -
SOFTPKG - root element of a description of a software package
TITLE - state the title of the Perl Package
UNINSTALL - provide either a reference to an uninstallation script
III. Examples
Example sample.ppd -


Prolog

Table of Contents

SOFTPKG -


SOFTPKG

Name

SOFTPKG — —

Synopsis

Name | System
SOFTPKG | ppd.dtd

Description

The DTD for PPD documents is available from the ActiveState website and the latest version can be found at http://www.ActiveState.com/PPM/DTD/ppd.dtd


Elements

Element tree

  • SOFTPKG

    • IMPLEMENTATION

      • INSTALL

      • CODEBASE

      • OSVERSION

      • LANGUAGE

      • UNINSTALL

      • DEPENDENCY

      • OS

      • PROCESSOR

      • PERLCORE

    • LICENSE

    • ABSTRACT

    • TITLE

    • AUTHOR

Table of Contents

ABSTRACT -
AUTHOR -
CODEBASE -
DEPENDENCY -
IMPLEMENTATION - describe a particular implementation of the Perl Package
INSTALL - provide either a reference to an installation script
LANGUAGE -
LICENSE -
OS - the operating system required for this implementation
OSVERSION - the required version of the operating system
PERLCORE - the minimum version of the Perl core distribution
PROCESSOR -
SOFTPKG - root element of a description of a software package
TITLE - state the title of the Perl Package
UNINSTALL - provide either a reference to an uninstallation script


ABSTRACT

Name

ABSTRACT — —

Synopsis

Mixed Content Model
ABSTRACT ::=
( #PCDATA )
Attributes
None

Description

Used to provide a short description outlining the nature and purpose of the Perl Package. Only one instance should be present.

Parents

These elements contain ABSTRACT: SOFTPKG.


AUTHOR

Name

AUTHOR — —

Synopsis

Mixed Content Model
AUTHOR ::=
( #PCDATA )
Attributes
None

Description

Used to provide information about the author(s) of the Perl Package. Multiple instances are valid.

Parents

These elements contain AUTHOR: SOFTPKG.


CODEBASE

Name

CODEBASE — —

Synopsis

Content Model
CODEBASE ::=
EMPTY
Attributes

Name

Type

Default

FILENAME | CDATA | #IMPLIED
HREF | CDATA | #REQUIRED

Description

Indicating a location where an archive of the Perl Package can be retrieved. Multiple instances are valid, and can be used to indicate multiple possible locations where the same version of the Perl Package can be retrieved.

FILENAME

???

HREF

A reference to the location of the Perl Package distribution.

Parents

These elements contain CODEBASE: IMPLEMENTATION.


DEPENDENCY

Name

DEPENDENCY — —

Synopsis

Content Model
DEPENDENCY ::=
EMPTY
Attributes

Name

Type

Default

VERSION | CDATA | #IMPLIED
NAME | CDATA | #REQUIRED

Description

Used to indicate a dependency this Perl Package has on another Perl Package. Multiple instances are valid.

VERSION

Version number of the dependency, in comma-delimited format (e.g. ``1,0,0,0'').

NAME

Name of the package that this implementation is dependant upon.

Parents

These elements contain DEPENDENCY: IMPLEMENTATION.


IMPLEMENTATION

Name

IMPLEMENTATION — — describe a particular implementation of the Perl Package

Synopsis

Element Content Model
IMPLEMENTATION ::=
( CODEBASE | DEPENDENCY | LANGUAGE | OS | OSVERSION | PERLCORE |
  PROCESSOR | INSTALL | UNINSTALL )*
Attributes
None

Description

Used to describe a particular implementation of the Perl Package. Multiple instances are valid, and should be used to describe different implementations/ports for different operating systems or architectures.

Parents

These elements contain IMPLEMENTATION: SOFTPKG.

Children

The following elements occur in IMPLEMENTATION: CODEBASE, DEPENDENCY, INSTALL, LANGUAGE, OS, OSVERSION, PERLCORE, PROCESSOR, UNINSTALL.


INSTALL

Name

INSTALL — — provide either a reference to an installation script

Synopsis

Mixed Content Model
INSTALL ::=
( #PCDATA )
Attributes

Name

Type

Default

HREF | CDATA | #IMPLIED
EXEC | CDATA | #IMPLIED

Description

Used to provide either a reference to an installation script or a series of commands which can be used to install the Perl Package once it has been retrieved. If the EXEC attribute is not specified, the value is assumed to be one or more commands, separated by `;;'. Each such command will be executed by the Perl `system()'function. Only one instance should be present.

HREF

Reference to an external script which should be retrieved and run as part of the installation process. Both filenames and URLs should be considered valid.

EXEC

Name of interpreter/shell used to execute the installation script. If the value of EXEC is `PPM_PERL', the copy of Perl that is executing PPM itself ($^X) is used to execute the install script.

Parents

These elements contain INSTALL: IMPLEMENTATION.


LANGUAGE

Name

LANGUAGE — —

Synopsis

Content Model
LANGUAGE ::=
EMPTY
Attributes

Name

Type

Default

VALUE CDATA #REQUIRED

Description

Used to specify the language used within the given implementation of the Perl Package. Only one instance should be present.

VALUE

Parents

These elements contain LANGUAGE: IMPLEMENTATION.


LICENSE

Name

LICENSE — —

Synopsis

Content Model
LICENSE ::=
EMPTY
Attributes

Name

Type

Default

HREF CDATA #REQUIRED

Description

Indicating the location of the appropriate license agreement or copyright notice for the Perl Package. Only one instance should be present.

HREF

Required attribute. A reference to the location of the license agreement or copyright notice for this package.

Parents

These elements contain LICENSE: SOFTPKG.


OS

Name

OS — — the operating system required for this implementation

Synopsis

Content Model
OS ::=
EMPTY
Attributes

Name

Type

Default

VALUE CDATA #REQUIRED

Description

Used to outline the operating system required for this implementation of the Perl Package. Multiple instances are valid. Valid values can be taken from the OSD Specification and it's OS element.

VALUE

The name of the operating system required for this implementation of the Perl Package. This value should be obtained from Config.pm as 'osname'.

Parents

These elements contain OS: IMPLEMENTATION.


OSVERSION

Name

OSVERSION — — the required version of the operating system

Synopsis

Content Model
OSVERSION ::=
EMPTY
Attributes

Name

Type

Default

VALUE CDATA #REQUIRED

Description

Used to outline the required version of the operating system required for this implementation of the Perl Package. Only one instance should be present.

VALUE

The version of the operating system required for installation of this implementation of the package, in a comma-delimited format (e.g. ``3,1,0,0'').

Parents

These elements contain OSVERSION: IMPLEMENTATION.


PERLCORE

Name

PERLCORE — — the minimum version of the Perl core distribution

Synopsis

Content Model
PERLCORE ::=
EMPTY
Attributes

Name

Type

Default

VERSION CDATA #REQUIRED

Description

Used to specify the minimum version of the Perl core distribution that this Perl Package is to be used with. Only one instance should be present.

VERSION

Version of the Perl core that is required for this implementation of the Perl Package.

Parents

These elements contain PERLCORE: IMPLEMENTATION.


PROCESSOR

Name

PROCESSOR — —

Synopsis

Content Model
PROCESSOR ::=
EMPTY
Attributes

Name

Type

Default

VALUE CDATA #REQUIRED

Description

Outlining the cpu required for this implementation of the Perl Package. Only one instance should be present.

VALUE

CPU required for the installation of this implementation of the Perl Package. The following values are all valid according to the OSD Specification: x86 alpha mips sparc 680x0

Parents

These elements contain PROCESSOR: IMPLEMENTATION.


SOFTPKG

Name

SOFTPKG — — root element of a description of a software package

Synopsis

Element Content Model
SOFTPKG ::=
( ABSTRACT | AUTHOR | IMPLEMENTATION | LICENSE | TITLE )*
Attributes

Name

Type

Default

NAME | CDATA | #REQUIRED
VERSION | CDATA | #IMPLIED

Description

It's the root element of a description of a software package, in Perl Package Distribution (PPD) format which is an XML application.

HISTORY : v0.1 - Initial release

SEE ALSO : OSD Specification http://www.microsoft.com/standards/osd/

NAME

Name of the package (e.g. ``Foobar'').

VERSION

Version number of the package, in comma-delimited format (e.g. ``1,0,0,0'').

Children

The following elements occur in SOFTPKG: ABSTRACT, AUTHOR, IMPLEMENTATION, LICENSE, TITLE.


TITLE

Name

TITLE — — state the title of the Perl Package

Synopsis

Mixed Content Model
TITLE ::=
( #PCDATA )
Attributes
None

Description

Used to state the title of the Perl Package. Only one instance should be present.

Parents

These elements contain TITLE: SOFTPKG.


UNINSTALL

Name

UNINSTALL — — provide either a reference to an uninstallation script

Synopsis

Mixed Content Model
UNINSTALL ::=
( #PCDATA )
Attributes

Name

Type

Default

HREF | CDATA | #IMPLIED
EXEC | CDATA | #IMPLIED

Description

Used to provide either a reference to an uninstallation script or a raw Perl script which can be used to uninstall the Perl Package at a later point. Only one instance should be present.

HREF

Reference to an external script which should be retrieved and run as part of the removal process. Both filenames and URLs should be considered valid.

EXEC

Name of interpreter/shell used to execute the uninstallation script. If the value of EXEC is `PPM_PERL', the copy of Perl that is executing PPM itself ($^X) is used to execute the install script.

Parents

These elements contain UNINSTALL: IMPLEMENTATION.


Examples

Table of Contents

Example sample.ppd -


Name

Example sample.ppd —

Example sample.ppd

<?xml version="1.0"?>
<!DOCTYPE SOFTPKG SYSTEM "ppd.dtd">
<!-- The following is a sample PPD file describing the Math-MatrixBool module.
     Note that this may not be a current/proper description of this module
     and is for sample purposes only.
-->
 <SOFTPKG NAME="Math-MatrixBool" VERSION="4,2,0,0">
     <TITLE>Math-MatrixBool</TITLE>
     <ABSTRACT>Easy manipulation of matrices of booleans (Boolean Algebra)</ABSTRACT>
     <AUTHOR>Steffen Beyer (sb@sdm.de)</AUTHOR>
     <LICENSE HREF="http://www.ActiveState.com/packages/Math-MatrixBool/license.html" />
     <IMPLEMENTATION>
         <OS VALUE="WinNT" />
         <OS VALUE="Win95" />
         <PROCESSOR VALUE="x86" />
         <CODEBASE HREF="http://www.ActiveState.com/packages/Math-MatrixBool/Math-MatrixBool-4.2-bin-1-Win32.tar.gz" />
         <DEPENDENCY NAME="Bit-Vector" />
         <INSTALL>
         </INSTALL>
         <UNINSTALL>
         </UNINSTALL>
     </IMPLEMENTATION>

     <IMPLEMENTATION>
         <DEPENDENCY NAME="Bit-Vector" />
         <CODEBASE HREF="&amp;CPAN;/CPAN/modules/by-module/Math/Math-MatrixBool-4.2.tar.gz" />
         <INSTALL>
             system("make"); ;;
             system("make test"); ;;
             system("make install"); ;;
         </INSTALL>
     </IMPLEMENTATION>
 </SOFTPKG>