X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=perl-policy.sgml;h=54e97d36bef4c03ba4b653064f1b5ca482603400;hb=a455d2387d8ef592eca042366eed6247ab0d587d;hp=7c3744647f5dff6dd94e0fefd8040937c33ecf8c;hpb=0d65a4ba82455a61736b541944a081c63ed60b13;p=debian%2Fdebian-policy.git diff --git a/perl-policy.sgml b/perl-policy.sgml index 7c37446..54e97d3 100644 --- a/perl-policy.sgml +++ b/perl-policy.sgml @@ -22,7 +22,7 @@ This document describes the packaging of Perl within the Debian - GNU/Linux distribution and the policy requirements for packaged + distribution and the policy requirements for packaged Perl programs and modules. @@ -44,7 +44,7 @@

A copy of the GNU General Public License is available as - /usr/share/common-licenses/GPL in the Debian GNU/Linux + /usr/share/common-licenses/GPL in the Debian distribution or on the World Wide Web at . @@ -96,7 +96,8 @@ perlapi-abiname for all released package versions it is compatible with. The choice of abiname is arbitrary, but if it differs from - $Config{version}, it must be specified in + $Config{version}see the + Config module, it must be specified in $Config{debian_abi}.

@@ -149,8 +150,7 @@ /usr/local/share/perl/version Where version indicates the current Perl - version ($Config{version}see the - Config module). + version ($Config{version}).

vendor @@ -168,9 +168,11 @@

Modules included in the core Perl distribution. -/usr/lib/perl/version -/usr/share/perl/version +/usr/lib/perl/shortversion +/usr/share/perl/shortversion + Where shortversion indicates the current Perl major + version (for example 5.18).

site (old) @@ -197,8 +199,8 @@ package.

- Manual pages distributed with Perl packages must be installed - into the standard directories: + Manual pages distributed with packages built from the perl + source package must be installed into the standard directories: Programs @@ -217,6 +219,8 @@

+ The extensions used for manual pages distributed with module + packages are different. See .

@@ -298,10 +302,17 @@ make install Module Package Names

Perl module packages should be named for the primary module - provided. The naming convention for module Foo::Bar - is libfoo-bar-perl. Packages which include - multiple modules may additionally include provides for those - modules using the same convention. + provided. The naming convention is to lowercase the Perl module + name, prepend, lib, change all occurrences + of :: to -, and append -perl. For + example: + +Foo::Bar libfoo-bar-perl +Foo::Bar::Baz libfoo-bar-baz-perl +Foo::BarBaz libfoo-barbaz-perl + + Packages which include multiple modules may additionally include + provides for the additional modules using the same convention.

@@ -454,6 +465,26 @@ perl -MExtUtils::Embed -e ldopts package must depend upon it explicitly.

+ + + Perl Package Upgrades +

+ Starting from perl 5.12.3-2, a dpkg trigger + named perl-major-upgrade will be triggered by the + postinst of the perl package during major + upgrades. Some examples of things which constitute a major upgrade + are an upgrade which would change the value of versioned + directories in @INC, or one which changes abiname. + Any package may declare an interest in the trigger, especially + packages including long-running daemons which would stop working + until restart. +

+

+ 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. +

+