Whole document tree
    

Whole document tree

Debian Perl Policy - Perl Packaging
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ A ] [ next ]

Debian Perl Policy
Chapter 1 - Perl Packaging


1.1 Versions

At any given time, the package perl should represent the current stable upstream version of Perl revision 5 (see Perl 6, Appendix A).

Only one package may contain the /usr/bin/perl binary and that package must either be perl or a dependency of that package (see Base Package, Section 1.2).

Where possible, Perl should be compiled to provide binary compatibility to at least the last released package version to allow a grace period over which binary module packages may be re-built against the new package (see Binary Modules, Section 3.4.2).

The perl-base package must provide perlapi-version for all released versions it is compatible with.


1.2 Base Package

In order to provide a minimal installation of Perl for use by applications without requiring the whole of Perl to be installed, the perl-base package contains the binary and a basic set of modules.

As Perl is currently used by such things as update-alternatives and some package maintainer scripts, it must be priority required and marked as essential.

Note that the perl-base package is intended only to provide for exceptional circumstances and the contents may change. In general only packages which form part of the base system should declare a dependency on perl-base rather than perl.


1.3 Module Path

Perl searches three different locations for modules, referred to in this document as core in which modules distributed with Perl are installed, vendor for packaged modules and site for modules installed by the local administrator.

The module search path (@INC) in the Debian packages has been ordered to include these locations in the following order:

site (current)
Modules installed by the local administrator for the current version of Perl (see Locally Installed Modules, Chapter 2).
     /usr/local/lib/perl/version
     /usr/local/share/perl/version

Where version indicates the current Perl version ($Config{version}[1]).

vendor
Packaged modules (see Packaged Modules, Chapter 3).
     /usr/lib/perl5
     /usr/share/perl5
core
Modules included in the core Perl distribution.
     /usr/lib/perl/version
     /usr/share/perl/version
site (old)
site directories (as above) for modules installed with previously released perl packages for which the current package is binary compatible are included if present.

In each of the directory pairs above, the lib component is for binary (XS) modules, and share for architecture-independent (pure-perl) modules.


1.4 Documentation

The POD files and manual pages which do not refer to programs may be split out into a separate perl-doc package.

Manual pages distributed with Perl packages must be installed into the standard directories:

Programs
Manual pages for programs and scripts are installed into /usr/share/man/man1 with the extension .1.
Modules
Manual pages for modules are installed into /usr/share/man/man3 with the extension .3perl.

[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ A ] [ next ]

Debian Perl Policy

version 1.20
Raphaël Hertzog hertzog@debian.org
Brendan O'Dea bod@debian.org