Software: Apache. PHP/8.3.27 uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364) Safe-mode: OFF (not secure) /usr/share/doc/debian-policy/ drwxr-xr-x | |
| Viewing file: Select action/file-type: version 4.6.0.1 Copyright © 1999, 2001 Raphaël Hertzog, Brendan O'Dea These are the copyright dates of the original Debian Perl Policy. Since then, this document has been updated by many others. No comprehensive collection of copyright notices for subsequent work exists. This manual is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
A copy of the GNU General Public License is available as
2021-08-18 Abstract This document describes the packaging of Perl within the Debian distribution and the policy requirements for packaged Perl programs and modules. Table of Contents List of Tables
This document is distributed as the Table of Contents
At any given time, the package
Only one package may contain the
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 Section 4.4.2, “Binary and Other Architecture Dependent Modules”).
The
In order to provide a minimal installation of Perl for use by
applications without requiring the whole of Perl to be installed,
the
As Perl has been part of the essential set for some time and is
used without dependencies by such things as package maintainer
scripts,
Note that the
Perl searches several different locations for modules, referred to
in this document as
The module search path (
In each of the directory pairs above, the
The POD files and manual pages which do not refer to programs may
be split out into a separate Manual pages distributed with packages built from the perl source package must be installed into the standard directories:
The extensions used for manual pages distributed with module packages are different. See Section 4.1, “Vendor Directories”. [1] see the
[2] @INC contains other paths which should be considered internal to the implementation of the perl packaging [3] Build systems based on
[4] For example, to include the multiarch triplet [5] Build systems based on
[6] Build systems based
on Table of Contents
The Perl packages must provide a mechanism for the local
administrator to install modules under
Modules should be installed to the directories described above in
Section 2.3, “Module Path” as Table of Contents
The installation directory for Debian modules must be different
from that for
The current Perl packaging uses the
The Perl distribution includes many modules available separately
from CPAN which may
have a newer version. The intent of the
Module packages must install manual pages into the standard
directories (see Section 2.4, “Documentation”) using the extensions
Perl module packages should be named for the primary module
provided. The naming convention is to lowercase the Perl module
name, prepend, Table 4.1. Module to package mappings
Packages which include multiple modules may additionally include provides for the additional modules using the same convention.
A module should use the following lines in the
perl Makefile.PL INSTALLDIRS=vendor $(MAKE) OPTIMIZE="-O2 -g -Wall" and this one to install the results into the temporary tree: $(MAKE) install DESTDIR=$(CURDIR)/debian/<tmp>
Architecture-independent modules which require
Modules which contain explicit
Binary modules must specify a dependency on either
Rather than hard-coding the dependencies into the control file,
using a substitution such as
Packages built with debhelper may use
dh_perl(1)
to generate this substitution automatically. This additionally
requires a versioned [7]
The environment variable [8] Replace <tmp> with the appropriate directory (nominally just tmp) [9] Please note that dependencies caused by versioned uses and on separately packaged modules are not included in this variable and must be explicitly included. Table of Contents
All packaged perl programs should start with
Programs which require
Programs which contain explicit As with modules, packages using debhelper may use dh_perl(1) to automatically generate dependencies (see Section 4.4.3, “Automating Perl Dependencies”). Table of Contents
Programs which embed a perl interpreter must declare a
The default linker options produced by perl -MExtUtils::Embed -e ldopts
will link against the dynamic
Dependencies for programs linking against the shared Perl library
will be automatically created by
dpkg-shlibdeps. Note however that the shared
perl library package only suggests
Starting from It is suggested that such packages include an appropriate section in their postinst to handle the trigger by restarting relevant daemons or notifying users of further action. The current stable upstream version at the time of this writing is 5.6.0. There is currently work in progress on the next major revision, although the specifications have yet to be finalised.
It is anticipated that when Perl 6 is released it will initially be
packaged as /usr/lib/perl6 /usr/share/perl6
This will allow Perl 5 and 6 packages and modules (which should be
packaged as
At some stage in the future when Perl 6 is sufficiently mature, the
package naming may be reversed such that the |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.041 ]-- |