documentation/adt-manual/adt-package.xml: Initial file

This file is the initial XML file for the chapter on optionally
customizing the development packages installation.

(From OE-Core rev: 2e3d29d493d6a3be006e80e75e41a0ff9ad29564)

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 2011-03-15 08:08:29 -06:00 committed by Richard Purdie
parent 2f454213cd
commit ff51a3445b
1 changed files with 68 additions and 43 deletions

View File

@ -2,55 +2,80 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id='adt-package'> <chapter id='adt-package'>
<title>Optionally Customizing the Development Packages Installation</title>
<title>Yocto Project Kernel Architecture and Use Manual</title>
<section id='package'>
<title>Introduction</title>
<para> <para>
The Yocto Project presents the kernel as a fully patched, history-clean git Because the Yocto Project is suited for embedded Linux development it is
repository. likely that you will need to customize your development packages installation.
The git tree represents the selected features, board support, For example, if you are developing a minimal image then you might not need
and configurations extensively tested by Yocto Project. certain packages (e.g. graphics support packages).
The Yocto Project kernel allows the end user to leverage community Thus, you would like to be able to remove those packages from your sysroot.
best practices to seamlessly manage the development, build and debug cycles.
</para> </para>
<section id='package-management-systems'>
<title>Package Management Systems</title>
<para> <para>
This manual describes the Yocto Project kernel by providing information The Yocto Project supports the generation of root filesystem files using
on its history, organization, benefits, and use. three different Package Management Systems (PMS):
The manual consists of two sections: <itemizedlist>
<itemizedlist> <listitem><para><emphasis>OPKG</emphasis> A less well known PMS whose use
<listitem><para>Concepts - Describes concepts behind the kernel. originated in the OpenEmbedded and OpenWrt embedded Linux projects.
You will understand how the kernel is organized and why it is organized in This PMS works with files packaged in an <filename>.ipk</filename> format.
the way it is. You will understand the benefits of the kernel's organization See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more
and the mechanisms used to work with the kernel and how to apply it in your information about OPKG.</para></listitem>
design process.</para></listitem> <listitem><para><emphasis>RPM</emphasis> A more widely known PMS intended for GNU/Linux
<listitem><para>Using the Kernel - Describes best practices and "how-to" information distributions.
that lets you put the kernel to practical use. Some examples are "How to Build a This PMS works with files packaged in an <filename>.rms</filename> format.
Project Specific Tree", "How to Examine Changes in a Branch", and "Saving Kernel The Yocto Project currently installs through this PMS by default.
Modifications."</para></listitem> See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink>
</itemizedlist> for more information about RPM.</para></listitem>
</para> <listitem><para><emphasis>Debian</emphasis> The PMS for Debian-based systems
<para> is built on many PMS tools.
For more information on the kernel, see the following links: The lower-level PMS tool dpkg forms the base of the Debian PMS.
<itemizedlist> For information on dpkg see
<listitem><para><ulink url='http://ldn.linuxfoundation.org/book/1-a-guide-kernel-development-process'></ulink></para></listitem> <ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem>
<listitem><para><ulink url='http://userweb.kernel.org/~akpm/stuff/tpp.txt'></ulink></para></listitem> </itemizedlist>
<listitem><para><ulink url='http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/HOWTO;hb=HEAD'></ulink></para></listitem>
</itemizedlist>
<para>
You can find more information on Yocto Project by visiting the website at
<ulink url='http://www.yoctoproject.org'></ulink>.
</para>
</para> </para>
</section> </section>
<section id='configuring-the-pms'>
<title>Configuring the PMS</title>
<para>
Whichever PMS you are using you need to be sure that the
<filename>PACKAGE_CLASSES</filename> variable in the <filename>conf/local.conf</filename>
file is set to reflect that system.
The first value you choose for the variable specifies the package file format for the root
filesystem.
Additional values specify additional formats for convenience or testing.
See the configuration file for details.
</para>
<para>
As an example, consider a scenario where you are using OPKG and you want to add
the libglade package to sysroot.
</para>
<para>
First, you should generate the ipk file for the libglade package and add it
into a working opkg repository.
Use these commands:
<literallayout class='monospaced'>
$ bitbake libglade
$ bitbake package-index
</literallayout>
</para>
<para>
Next, source the environment setup script.
Follow that by setting up the installation destination to point to your
sysroot as <filename>&lt;sysroot dir&gt;</filename>.
Finally, have an opkg configuration file <filename>&lt;conf file&gt;</filename>
that corresponds to the opkg repository you have just created.
The following command forms should now work:
<literallayout class='monospaced'>
$ opkg-cl f &lt;conf file&gt; -o &lt;sysroot dir&gt; update
$ opkg-cl f &lt;conf file&gt;> -o &lt;sysroot dir&gt; --force-overwrite install libglade
$ opkg-cl f &lt;conf file&gt; -o &lt;sysroot dir&gt; --force-overwrite install libglade-dbg
$ opkg-cl f &lt;conf file&gt; -o &lt;sysroot dir&gt; --force-overwrite install libglade-dev
</literallayout>
</para>
</section>
</chapter> </chapter>
<!-- <!--
vim: expandtab tw=80 ts=4 vim: expandtab tw=80 ts=4