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>
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>
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
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
<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>
<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.
+ See <manref name="deb" section="5"> and <ref id="pkg-controlarea">.
</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.
- </p>
-
-
<sect id="pkg-bincreating"><heading>Creating package files -
<prgn>dpkg-deb</prgn>
</heading>
</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>