/usr/share/doc/debian-policy/perl-policy.html/ch-perl.html is in debian-policy 3.9.3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Debian Perl Policy - Perl Packaging</title>
<link href="index.html" rel="start">
<link href="ch1.html" rel="prev">
<link href="ch-site.html" rel="next">
<link href="index.html#contents" rel="contents">
<link href="index.html#copyright" rel="copyright">
<link href="ch1.html" rel="chapter" title="1 About this document">
<link href="ch-perl.html" rel="chapter" title="2 Perl Packaging">
<link href="ch-site.html" rel="chapter" title="3 Locally Installed Modules">
<link href="ch-module_packages.html" rel="chapter" title="4 Packaged Modules">
<link href="ch-programs.html" rel="chapter" title="5 Perl Programs">
<link href="ch-embed.html" rel="chapter" title="6 Programs Embedding Perl">
<link href="ap-perl6.html" rel="appendix" title="A Perl 6">
<link href="ch-perl.html#s-versions" rel="section" title="2.1 Versions">
<link href="ch-perl.html#s-base" rel="section" title="2.2 Base Package">
<link href="ch-perl.html#s-paths" rel="section" title="2.3 Module Path">
<link href="ch-perl.html#s-docs" rel="section" title="2.4 Documentation">
<link href="ch-site.html#s-site_dirs" rel="section" title="3.1 Site Directories">
<link href="ch-site.html#s-site_install" rel="section" title="3.2 Site Installation">
<link href="ch-module_packages.html#s-vendor_dirs" rel="section" title="4.1 Vendor Directories">
<link href="ch-module_packages.html#s-package_names" rel="section" title="4.2 Module Package Names">
<link href="ch-module_packages.html#s-vendor_install" rel="section" title="4.3 Vendor Installation">
<link href="ch-module_packages.html#s-module_deps" rel="section" title="4.4 Module Dependencies">
<link href="ch-programs.html#s-hash_bang" rel="section" title="5.1 Script Magic">
<link href="ch-programs.html#s-program_deps" rel="section" title="5.2 Program Dependencies">
<link href="ch-embed.html#s-build_embedded" rel="section" title="6.1 Building Embedded Programs">
<link href="ch-embed.html#s-embedded_deps" rel="section" title="6.2 Embedded Perl Dependencies">
<link href="ch-embed.html#s-perl_upgrades" rel="section" title="6.3 Perl Package Upgrades">
<link href="ch-module_packages.html#s-indep_modules" rel="subsection" title="4.4.1 Architecture-Independent Modules">
<link href="ch-module_packages.html#s-binary_modules" rel="subsection" title="4.4.2 Binary Modules">
<link href="ch-module_packages.html#s-dh_perl" rel="subsection" title="4.4.3 Automating Perl Dependencies">
</head>
<body>
<p><a name="ch-perl"></a></p>
<hr>
<p>
[ <a href="ch1.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ 2 ]
[ <a href="ch-site.html">3</a> ]
[ <a href="ch-module_packages.html">4</a> ]
[ <a href="ch-programs.html">5</a> ]
[ <a href="ch-embed.html">6</a> ]
[ <a href="ap-perl6.html">A</a> ]
[ <a href="ch-site.html">next</a> ]
</p>
<hr>
<h1>
Debian Perl Policy
<br>Chapter 2 - Perl Packaging
</h1>
<hr>
<h2><a name="s-versions"></a>2.1 Versions</h2>
<p>
At any given time, the package <code>perl</code> should represent the current
stable upstream version of Perl revision 5 (see <a href="ap-perl6.html">Perl 6,
Appendix A</a>).
</p>
<p>
Only one package may contain the <code>/usr/bin/perl</code> binary and that
package must either be <code>perl</code> or a dependency of that package (see
<a href="#s-base">Base Package, Section 2.2</a>).
</p>
<p>
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 <a
href="ch-module_packages.html#s-binary_modules">Binary Modules, Section
4.4.2</a>).
</p>
<p>
The <code>perl-base</code> package must provide
<code>perlapi-<var>abiname</var></code> for all released package versions it is
compatible with. The choice of <var>abiname</var> is arbitrary, but if it
differs from <samp>$Config{version}</samp>, it must be specified in
<samp>$Config{debian_abi}</samp>.
</p>
<hr>
<h2><a name="s-base"></a>2.2 Base Package</h2>
<p>
In order to provide a minimal installation of Perl for use by applications
without requiring the whole of Perl to be installed, the <code>perl-base</code>
package contains the binary and a basic set of modules.
</p>
<p>
As Perl has been part of the essential set for some time and is used without
dependencies by such things as package maintainer scripts,
<code>perl-base</code> must be priority <em>required</em> and marked as
<em>essential</em>.
</p>
<p>
Note that the <code>perl-base</code> 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 use only the facilities of
<code>perl-base</code> rather than declaring a dependency on <code>perl</code>.
</p>
<hr>
<h2><a name="s-paths"></a>2.3 Module Path</h2>
<p>
Perl searches three different locations for modules, referred to in this
document as <var>core</var> in which modules distributed with Perl are
installed, <var>vendor</var> for packaged modules and <var>site</var> for
modules installed by the local administrator.
</p>
<p>
The module search path (<samp>@INC</samp>) in the Debian packages has been
ordered to include these locations in the following order:
</p>
<dl>
<dt><var>site</var> (current)</dt>
<dd>
<p>
Modules installed by the local administrator for the current version of Perl
(see <a href="ch-site.html">Locally Installed Modules, Chapter 3</a>).
</p>
<pre>
/usr/local/lib/perl/<var>version</var>
/usr/local/share/perl/<var>version</var>
</pre>
<p>
Where <var>version</var> indicates the current Perl version
(<samp>$Config{version}</samp>[<a href="footnotes.html#f1" name="fr1">1</a>]).
</p>
</dd>
</dl>
<dl>
<dt><var>vendor</var></dt>
<dd>
<p>
Packaged modules (see <a href="ch-module_packages.html">Packaged Modules,
Chapter 4</a>).
</p>
<pre>
/usr/lib/perl5
/usr/share/perl5
</pre>
</dd>
</dl>
<dl>
<dt><var>core</var></dt>
<dd>
<p>
Modules included in the core Perl distribution.
</p>
<pre>
/usr/lib/perl/<var>version</var>
/usr/share/perl/<var>version</var>
</pre>
</dd>
</dl>
<dl>
<dt><var>site</var> (old)</dt>
<dd>
<p>
<var>site</var> directories (as above) for modules installed with previously
released <code>perl</code> packages for which the current package is binary
compatible are included if present.
</p>
</dd>
</dl>
<p>
In each of the directory pairs above, the <code>lib</code> component is for
binary (XS) modules, and <code>share</code> for architecture-independent
(pure-perl) modules.
</p>
<hr>
<h2><a name="s-docs"></a>2.4 Documentation</h2>
<p>
The POD files and manual pages which do not refer to programs may be split out
into a separate <code>perl-doc</code> package.
</p>
<p>
Manual pages distributed with packages built from the perl source package must
be installed into the standard directories:
</p>
<dl>
<dt>Programs</dt>
<dd>
<p>
Manual pages for programs and scripts are installed into
<code>/usr/share/man/man1</code> with the extension <samp>.1</samp>.
</p>
</dd>
</dl>
<dl>
<dt>Modules</dt>
<dd>
<p>
Manual pages for modules are installed into <code>/usr/share/man/man3</code>
with the extension <samp>.3perl</samp>.
</p>
</dd>
</dl>
<p>
The extensions used for manual pages distributed with module packages are
different. See <a href="ch-module_packages.html#s-vendor_dirs">Vendor
Directories, Section 4.1</a>.
</p>
<hr>
<p>
[ <a href="ch1.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch1.html">1</a> ]
[ 2 ]
[ <a href="ch-site.html">3</a> ]
[ <a href="ch-module_packages.html">4</a> ]
[ <a href="ch-programs.html">5</a> ]
[ <a href="ch-embed.html">6</a> ]
[ <a href="ap-perl6.html">A</a> ]
[ <a href="ch-site.html">next</a> ]
</p>
<hr>
<p>
Debian Perl Policy
</p>
<address>
version 3.9.3.1, 2012-03-13<br>
<br>
Raphaël Hertzog<br>
Brendan O'Dea<br>
The Debian Policy mailing list <code><a href="mailto:debian-policy@lists.debian.org">debian-policy@lists.debian.org</a></code><br>
<br>
</address>
<hr>
</body>
</html>
|