X-Git-Url: https://git.donarmstrong.com/?p=debian%2Fdebian-policy.git;a=blobdiff_plain;f=perl-policy.sgml;h=12cd82c136e46c7f88b38727f12e6687edf8c77b;hp=70c5bfcc7ab149b9a86fe2bbd4b03ad8aeea842c;hb=HEAD;hpb=fee1838470a56f3f5595dfd949ec01010e85c96e diff --git a/perl-policy.sgml b/perl-policy.sgml index 70c5bfc..12cd82c 100644 --- a/perl-policy.sgml +++ b/perl-policy.sgml @@ -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}.

@@ -145,22 +146,42 @@ Modules installed by the local administrator for the current version of Perl (see ). -/usr/local/lib/perl/version -/usr/local/share/perl/version +$Config{sitearch} (currently /usr/local/lib/perl/version) +$Config{sitelib} (currently /usr/local/share/perl/version) Where version indicates the current Perl - version ($Config{version}see the - Config module). + version ($Config{version}).

+

+ These locations, particularly $Config{sitearch}, + may change if the binary interface between the + Perl interpreter and compiled modules has to be + changed in an incompatible way without a change in + version. While this will only be done as a + last resort, packages should use $Config{sitelib} + and $Config{sitearch}, not hardcode the current + locations.Build systems based on + ExtUtils::MakeMaker and Module::Build + do this automatically. +

vendor

Packaged modules (see ). -/usr/lib/perl5 -/usr/share/perl5 +$Config{vendorarch} (currently /usr/lib/perl5) +$Config{vendorlib} (currently /usr/share/perl5) + These locations, particularly + $Config{vendorarch}, may change if + necessaryFor example, to include + the multiarch triplet. Packages + should use $Config{vendorlib} and + $Config{vendorarch}, not hardcode the current + locations.Build systems based on + ExtUtils::MakeMaker and Module::Build + do this automatically.

core @@ -168,9 +189,19 @@

Modules included in the core Perl distribution. -/usr/lib/perl/version -/usr/share/perl/version +$Config{archlib} (currently /usr/lib/perl/shortversion) +$Config{privlib} (currently /usr/share/perl/shortversion) + Where shortversion indicates the current Perl major + version (for example 5.18). +

+

+ These locations should be considered internal to the + perl source package. If necessary, packages should use + $Config{archlib} and $Config{privlib} instead of + hardcoding the current locations.Build systems based on + ExtUtils::MakeMaker and Module::Build + do this automatically.

site (old) @@ -197,8 +228,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 +248,8 @@

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

@@ -355,14 +388,15 @@ $(MAKE) install DESTDIR=$(CURDIR)/debian/<tmp> - Binary Modules + Binary and Other Architecture Dependent Modules

Binary modules must specify a dependency on either perl or perl-base with a minimum version of the perl package - used to build the module, and must additionally depend on - the expansion of - perlapi-$Config{debian_abi} using + used to build the module. Additionally, all binary modules + (regardless of their installation directory) and any other modules + installed into $Config{vendorarch} must depend on the + expansion of perlapi-$Config{debian_abi} using the Config module. If $Config{debian_abi} is empty or not set, $Config{version} must be used.