ref-manual: Edits to the bin_package class.

(From yocto-docs rev: 5261cb2b993150e929edcf8a298b54d543b1826c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-12-05 12:37:40 -06:00 committed by Richard Purdie
parent bbb9996af4
commit 4d3a713cd2
1 changed files with 80 additions and 80 deletions

View File

@ -153,65 +153,26 @@
</para>
</section>
<section id='ref-classes-update-alternatives'>
<title>Alternatives - <filename>update-alternatives.bbclass</filename></title>
<section id='ref-classes-bin-package'>
<title><filename>bin_package.bbclass</filename></title>
<para>
This class helps the alternatives system when multiple sources provide
the same command.
This situation occurs when several programs that have the same or
similar function are installed with the same name.
For example, the <filename>ar</filename> command is available from the
<filename>busybox</filename>, <filename>binutils</filename> and
<filename>elfutils</filename> packages.
The <filename>update-alternatives.bbclass</filename> class handles
renaming the binaries so that multiple packages can be installed
without conflicts.
The <filename>ar</filename> command still works regardless of which
packages are installed or subsequently removed.
The class renames the conflicting binary in each package and symlinks
the highest priority binary during installation or removal of packages.
</para>
<para>
To use this class, you need to define a number of variables:
<itemizedlist>
<listitem><para><link linkend='var-ALTERNATIVE'><filename>ALTERNATIVE</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_LINK_NAME'><filename>ALTERNATIVE_LINK_NAME</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_TARGET'><filename>ALTERNATIVE_TARGET</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_PRIORITY'><filename>ALTERNATIVE_PRIORITY</filename></link>
</para></listitem>
</itemizedlist>
These variables list alternative commands needed by a package,
provide pathnames for links, default links for targets, and
so forth.
For details on how to use this class, see the comments in the
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/classes/update-alternatives.bbclass'><filename>update-alternatives.bbclass</filename></ulink>.
</para>
<note>
You can use the <filename>update-alternatives</filename> command
directly in your recipes.
However, this class simplifies things in most cases.
</note>
</section>
<section id='ref-classes-update-rc.d'>
<title>Initscripts - <filename>update-rc.d.bbclass</filename></title>
<para>
This class uses <filename>update-rc.d</filename> to safely install an
initialization script on behalf of the package.
The OpenEmbedded build system takes care of details such as making sure the script is stopped before
a package is removed and started when the package is installed.
Three variables control this class:
<filename><link linkend='var-INITSCRIPT_PACKAGES'>INITSCRIPT_PACKAGES</link></filename>,
<filename><link linkend='var-INITSCRIPT_NAME'>INITSCRIPT_NAME</link></filename> and
<filename><link linkend='var-INITSCRIPT_PARAMS'>INITSCRIPT_PARAMS</link></filename>.
See the variable links for details.
The <filename>bin_package</filename> class is a
helper class for recipes that extract the contents of a binary package
(e.g. an RPM) and install those contents rather than building the
binary from source.
The binary package is extracted and new packages in the configured
output package format are created.
<note>
For RPMs and other packages that do not contain a subdirectory,
you should specify a "subdir" parameter.
Here is an example where <filename>${BP}</filename> matches the
subdirectory expected by the default value of
<link linkend='var-S'><filename>S</filename></link>:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/downloads/somepackage.rpm;subdir=${BP}"
</literallayout>
</note>
</para>
</section>
@ -243,29 +204,6 @@
</para>
</section>
<section id='ref-classes-bin-package'>
<title><filename>bin_package.bbclass</filename></title>
<para>
The binary package (<filename>bin_package</filename>) class is a
helper class for recipes that extract the contents of a binary package
(e.g. an RPM) and install those contents rather than building the
binary from source.
The binary package is extracted and new packages in the configured
output package format are created.
<note>
For RPMs and other packages that do not contain a subdirectory,
you should specify a "subdir" parameter.
Here is an example where <filename>${BP}</filename> matches the
subdirectory expected by the default value of
<link linkend='var-S'><filename>S</filename></link>:
<literallayout class='monospaced'>
SRC_URI = "http://example.com/downloads/somepackage.rpm;subdir=${BP}"
</literallayout>
</note>
</para>
</section>
<section id='ref-classes-blacklist'>
<title><filename>blacklist.bbclass</filename></title>
@ -2849,6 +2787,68 @@
</para>
</section>
<section id='ref-classes-update-alternatives'>
<title>Alternatives - <filename>update-alternatives.bbclass</filename></title>
<para>
This class helps the alternatives system when multiple sources provide
the same command.
This situation occurs when several programs that have the same or
similar function are installed with the same name.
For example, the <filename>ar</filename> command is available from the
<filename>busybox</filename>, <filename>binutils</filename> and
<filename>elfutils</filename> packages.
The <filename>update-alternatives.bbclass</filename> class handles
renaming the binaries so that multiple packages can be installed
without conflicts.
The <filename>ar</filename> command still works regardless of which
packages are installed or subsequently removed.
The class renames the conflicting binary in each package and symlinks
the highest priority binary during installation or removal of packages.
</para>
<para>
To use this class, you need to define a number of variables:
<itemizedlist>
<listitem><para><link linkend='var-ALTERNATIVE'><filename>ALTERNATIVE</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_LINK_NAME'><filename>ALTERNATIVE_LINK_NAME</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_TARGET'><filename>ALTERNATIVE_TARGET</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_PRIORITY'><filename>ALTERNATIVE_PRIORITY</filename></link>
</para></listitem>
</itemizedlist>
These variables list alternative commands needed by a package,
provide pathnames for links, default links for targets, and
so forth.
For details on how to use this class, see the comments in the
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/classes/update-alternatives.bbclass'><filename>update-alternatives.bbclass</filename></ulink>.
</para>
<note>
You can use the <filename>update-alternatives</filename> command
directly in your recipes.
However, this class simplifies things in most cases.
</note>
</section>
<section id='ref-classes-update-rc.d'>
<title>Initscripts - <filename>update-rc.d.bbclass</filename></title>
<para>
This class uses <filename>update-rc.d</filename> to safely install an
initialization script on behalf of the package.
The OpenEmbedded build system takes care of details such as making sure the script is stopped before
a package is removed and started when the package is installed.
Three variables control this class:
<filename><link linkend='var-INITSCRIPT_PACKAGES'>INITSCRIPT_PACKAGES</link></filename>,
<filename><link linkend='var-INITSCRIPT_NAME'>INITSCRIPT_NAME</link></filename> and
<filename><link linkend='var-INITSCRIPT_PARAMS'>INITSCRIPT_PARAMS</link></filename>.
See the variable links for details.
</para>
</section>
<section id='ref-classes-others'>
<title>Other Classes</title>