]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - perl-policy.sgml
Switch appendix section for dpkg-buildpackage into a stub
[debian/debian-policy.git] / perl-policy.sgml
index 4f34758e8f458aeb0248f575dd4a548dccb4523b..626c5144bc4124fbde9cbba8fcbedbc60405e5db 100644 (file)
@@ -1,4 +1,8 @@
-<!doctype debiandoc system>
+<!doctype debiandoc system [
+<!-- include version information so we don't have to hard code it
+     within the document -->
+<!entity % versiondata SYSTEM "version.ent"> %versiondata;
+]>
 
 <debiandoc>
   <book>
        <name>The Debian Policy mailing list</name>
        <email>debian-policy@lists.debian.org</email>
       </author>
-      <version>version 1.20</version>
+      <version>version &version;, &date;</version>
 
       <abstract>
        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.
       </abstract>
 
@@ -40,7 +44,7 @@
        </p>
        <p>
          A copy of the GNU General Public License is available as
-         <tt>/usr/share/common-licenses/GPL</tt> in the Debian GNU/Linux
+         <tt>/usr/share/common-licenses/GPL</tt> in the Debian
          distribution or on the World Wide Web at 
          <url id="http://www.gnu.org/copyleft/gpl.html"
          name="The GNU Public Licence">.
          package.
        </p>
        <p>
-         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:
          <taglist>
            <tag>Programs</tag>
            <item>
              </p>
            </item>
          </taglist>
+         The extensions used for manual pages distributed with module
+         packages are different.  See <ref id="vendor_dirs">.
        </p>
       </sect>
     </chapt>
@@ -294,10 +300,17 @@ make install
        <heading>Module Package Names</heading>
        <p>
          Perl module packages should be named for the primary module
-         provided.  The naming convention for module <tt>Foo::Bar</tt>
-         is <package>libfoo-bar-perl</package>.  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, <tt>lib</tt>, change all occurrences
+         of <tt>::</tt> to <tt>-</tt>, and append <tt>-perl</tt>.  For
+         example:
+         <example>
+Foo::Bar        libfoo-bar-perl
+Foo::Bar::Baz   libfoo-bar-baz-perl
+Foo::BarBaz     libfoo-barbaz-perl
+         </example>
+         Packages which include multiple modules may additionally include
+         provides for the additional modules using the same convention.
        </p>
       </sect>
 
@@ -450,6 +463,26 @@ perl -MExtUtils::Embed -e ldopts
          package must depend upon it explicitly.
        </p>
       </sect>
+
+      <sect id="perl_upgrades">
+        <heading>Perl Package Upgrades</heading>
+        <p>
+          Starting from <package>perl</package> 5.12.3-2, a dpkg trigger
+          named <var>perl-major-upgrade</var> will be triggered by the
+          postinst of the <package>perl</package> 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 <tt>@INC</tt>, or one which changes <tt>abiname</tt>.
+          Any package may declare an interest in the trigger, especially
+          packages including long-running daemons which would stop working
+          until restart.
+        </p>
+        <p>
+          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.
+        </p>
+      </sect>
     </chapt>
 
     <appendix id="perl6">