]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - policy.sgml
Replaced non-standard names of dpkg states by normalised ones.
[debian/debian-policy.git] / policy.sgml
index 628d8dfd27609bd174538ed63ec79d3ddc56b0de..b27aecf52b9fa482cbaac628d4d835594c68517c 100644 (file)
          distributed in some other way or is intended for local use
          only.
        </p>
+
+       <p>
+         udebs (stripped-down binary packages used by the Debian Installer) do
+         not comply with all of the requirements discussed here.  See the
+         <url name="Debian Installer internals manual"
+         id="http://d-i.alioth.debian.org/doc/internals/ch03.html"> for more
+         information about them.
+       </p>
       </sect>
 
       <sect>
@@ -1322,9 +1330,9 @@ zope.
          The package installation scripts should avoid producing
          output which is unnecessary for the user to see and
          should rely on <prgn>dpkg</prgn> to stave off boredom on
-         the part of a user installing many packages.  This means,
-         amongst other things, using the <tt>--quiet</tt> option on
-         <prgn>install-info</prgn>.
+         the part of a user installing many packages. This means,
+         amongst other things, not passing the <tt>--verbose</tt>
+         option to <prgn>update-alternatives</prgn>.
        </p>
 
        <p>
@@ -1908,7 +1916,8 @@ zope.
        <p>
          The following targets are required and must be implemented
          by <file>debian/rules</file>: <tt>clean</tt>, <tt>binary</tt>,
-         <tt>binary-arch</tt>, <tt>binary-indep</tt>, and <tt>build</tt>.
+         <tt>binary-arch</tt>, <tt>binary-indep</tt>, <tt>build</tt>,
+         <tt>build-arch</tt> and <tt>build-indep</tt>.
          These are the targets called by <prgn>dpkg-buildpackage</prgn>.
        </p>
 
@@ -3961,8 +3970,7 @@ Checksums-Sha256:
          Programs called from maintainer scripts should not normally
          have a path prepended to them. Before installation is
          started, the package management system checks to see if the
-         programs <prgn>ldconfig</prgn>,
-         <prgn>start-stop-daemon</prgn>, <prgn>install-info</prgn>,
+         programs <prgn>ldconfig</prgn>, <prgn>start-stop-daemon</prgn>,
          and <prgn>update-rc.d</prgn> can be found via the
          <tt>PATH</tt> environment variable. Those programs, and any
          other program that one would expect to be in the
@@ -4362,7 +4370,7 @@ fi
                  <item>
                      Otherwise, if the package had some configuration
                      files from a previous version installed (i.e., it
-                     is in the "configuration files only" state):
+                     is in the "Config-Files" state):
                      <example compact="compact">
 <var>new-preinst</var> install <var>old-version</var>
                      </example>
@@ -4387,7 +4395,7 @@ fi
                       If the error-unwind fails, the package is in a
                       "Half-Installed" phase, and requires a
                       reinstall. If the error unwind works, the
-                      package is in a not installed state.
+                      package is in the "Not-Installed" state.
                  </item>
                 </enumlist>
            </item>
@@ -4525,7 +4533,7 @@ fi
                  </item>
                  <item>
                      It is noted in the status database as being in a
-                     sane state, namely not installed (any conffiles
+                     sane state, namely "Not-Installed" (any conffiles
                      it may have are ignored, rather than being
                      removed by <prgn>dpkg</prgn>).  Note that
                      disappearing packages do not have their prerm
@@ -4588,7 +4596,7 @@ fi
        <p>
          No attempt is made to unwind after errors during
          configuration. If the configuration fails, the package is in
-         a "Failed Config" state, and an error message is generated.
+         a "Half-Configured" state, and an error message is generated.
        </p>
 
        <p>
@@ -5399,7 +5407,7 @@ Depends: foo-data (&gt;= 1.2-3)
            <prgn>dpkg</prgn> does not know of any files it still
            contains, it is considered to have "disappeared".  It will
            be marked as not wanted on the system (selected for
-           removal) and not installed.  Any <tt>conffile</tt>s
+           removal) and "Not-Installed".  Any <tt>conffile</tt>s
            details noted for the package will be ignored, as they
            will have been taken over by the overwriting package.  The
            package's <prgn>postrm</prgn> script will be run with a
@@ -6735,7 +6743,7 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1)
                    The <file>shlibs</file> control files for all the
                    packages currently installed on the system.  These are
                    normally found
-                   in <file>/var/lib/dpkg/info/*.symbols</file>, but
+                   in <file>/var/lib/dpkg/info/*.shlibs</file>, but
                    packages should not rely on this and instead should
                    use <tt>dpkg-query --control-path <var>package</var>
                    shlibs</tt> if for some reason these files need to be
@@ -10489,18 +10497,23 @@ name ["<var>syshostname</var>"]:
 
        <p>
          The <prgn>install-info</prgn> program maintains a directory of
-         installed info documents in <file>/usr/share/info/dir</file> for
-         the use of info readers.<footnote>
-           It was previously necessary for packages installing info
-           documents to run <prgn>install-info</prgn> from maintainer
-           scripts.  This is no longer necessary.  The installation
-           system now uses dpkg triggers.
-         </footnote>
-         This file must not be included in packages.  Packages containing
-         info documents should depend on <tt>dpkg (>= 1.15.4) |
-         install-info</tt> to ensure that the directory file is properly
-         rebuilt during partial upgrades from Debian 5.0 (lenny) and
-         earlier.
+         installed info documents in <file>/usr/share/info/dir</file> for the
+         use of info readers.  This file must not be included in packages
+         other than <package>install-info</package>.
+       </p>
+
+       <p>
+         <prgn>install-info</prgn> is automatically invoked when
+         appropriate using dpkg triggers.  Packages other than
+         <package>install-info</package> <em>should not</em> invoke
+         <prgn>install-info</prgn> directly and <em>should not</em>
+         depend on, recommend, or suggest <package>install-info</package>
+         for this purpose.
+       </p>
+
+       <p>
+         Info readers requiring the <file>/usr/share/info/dir</file> file
+         should depend on <package>install-info</package>.
        </p>
 
        <p>
@@ -10896,25 +10909,9 @@ END-INFO-DIR-ENTRY
       <heading>Binary packages (from old Packaging Manual)</heading>
 
       <p>
-       The binary package has two main sections.  The first part
-       consists of various control information files and scripts used
-       by <prgn>dpkg</prgn> when installing and removing.  See <ref
-       id="pkg-controlarea">.
-      </p>
-
-      <p>
-       The second part is an archive containing the files and
-       directories to be installed.
-      </p>
-
-      <p>
-       In the future binary packages may also contain other
-       components, such as checksums and digital signatures. The
-       format for the archive is described in full in the
-       <file>deb(5)</file> man page.
+       See <manref name="deb" section="5"> and <ref id="pkg-controlarea">.
       </p>
 
-
       <sect id="pkg-bincreating"><heading>Creating package files -
       <prgn>dpkg-deb</prgn>
        </heading>
@@ -11216,55 +11213,7 @@ END-INFO-DIR-ENTRY
          </heading>
 
          <p>
-           <prgn>dpkg-buildpackage</prgn> is a script which invokes
-           <prgn>dpkg-source</prgn>, the <file>debian/rules</file>
-           targets <tt>clean</tt>, <tt>build</tt> and
-           <tt>binary</tt>, <prgn>dpkg-genchanges</prgn> and
-           <prgn>gpg</prgn> (or <prgn>pgp</prgn>) to build a signed
-           source and binary package upload.
-         </p>
-
-         <p>
-           It is usually invoked by hand from the top level of the
-           built or unbuilt source directory.  It may be invoked with
-           no arguments; useful arguments include:
-           <taglist compact="compact">
-             <tag><tt>-uc</tt>, <tt>-us</tt></tag>
-             <item>
-               <p>
-                 Do not sign the <tt>.changes</tt> file or the
-                 source package <tt>.dsc</tt> file, respectively.</p>
-             </item>
-             <tag><tt>-p<var>sign-command</var></tt></tag>
-             <item>
-               <p>
-                 Invoke <var>sign-command</var> instead of finding
-                 <tt>gpg</tt> or <tt>pgp</tt> on the <prgn>PATH</prgn>.
-                 <var>sign-command</var> must behave just like
-                 <prgn>gpg</prgn> or <tt>pgp</tt>.</p>
-             </item>
-             <tag><tt>-r<var>root-command</var></tt></tag>
-             <item>
-               <p>
-                 When root privilege is required, invoke the command
-                 <var>root-command</var>.  <var>root-command</var>
-                 should invoke its first argument as a command, from
-                 the <prgn>PATH</prgn> if necessary, and pass its
-                 second and subsequent arguments to the command it
-                 calls.  If no <var>root-command</var> is supplied
-                 then <var>dpkg-buildpackage</var> will use
-                 the <prgn>fakeroot</prgn> command, which is sufficient
-                 to build most packages without actually requiring root
-                 privileges.</p>
-             </item>
-             <tag><tt>-b</tt>, <tt>-B</tt></tag>
-             <item>
-               <p>
-                 Two types of binary-only build and upload - see
-                 <manref name="dpkg-source" section="1">.
-               </p>
-             </item>
-           </taglist>
+           See <manref name="dpkg-buildpackage" section="1">.
          </p>
        </sect1>
 
@@ -12099,6 +12048,11 @@ END-INFO-DIR-ENTRY
        there is a time, after it has been diverted but before
        <prgn>dpkg</prgn> has installed the new version, when the file
        does not exist.</p>
+
+      <p>
+       Do not attempt to divert a conffile, as <prgn>dpkg</prgn> does not
+       handle it well.
+      </p>
     </appendix>
 
   </book>