summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/poky-ref-manual/ref-classes.xml87
1 files changed, 32 insertions, 55 deletions
diff --git a/documentation/poky-ref-manual/ref-classes.xml b/documentation/poky-ref-manual/ref-classes.xml
index 14029559ce..8eb94c268b 100644
--- a/documentation/poky-ref-manual/ref-classes.xml
+++ b/documentation/poky-ref-manual/ref-classes.xml
@@ -6,14 +6,14 @@
6 6
7<para> 7<para>
8 Class files are used to abstract common functionality and share it amongst multiple 8 Class files are used to abstract common functionality and share it amongst multiple
9 <filename class="extension">.bb</filename> files. Any metadata usually found in a 9 <filename>.bb</filename> files. Any metadata usually found in a
10 <filename class="extension">.bb</filename> file can also be placed in a class 10 <filename>.bb</filename> file can also be placed in a class
11 file. Class files are identified by the extension 11 file. Class files are identified by the extension
12 <filename class="extension">.bbclass</filename> and are usually placed 12 <filename>.bbclass</filename> and are usually placed
13 in a <filename class="directory">classes/</filename> directory beneath the 13 in a <filename>classes/</filename> directory beneath the
14 <filename class="directory">meta*/</filename> directory or the directory pointed 14 <filename>meta*/</filename> directory or the directory pointed
15 by BUILDDIR (e.g. <filename class="directory">build/</filename>)in the same way as 15 by BUILDDIR (e.g. <filename>build/</filename>)in the same way as
16 <filename class="extension">.conf</filename> files in the <filename 16 <filename>.conf</filename> files in the <filename
17 class="directory">conf</filename> directory. Class files are searched for 17 class="directory">conf</filename> directory. Class files are searched for
18 in BBPATH in the same was as <filename>.conf</filename> files too. 18 in BBPATH in the same was as <filename>.conf</filename> files too.
19</para> 19</para>
@@ -28,7 +28,7 @@
28 <title>The base class - <filename>base.bbclass</filename></title> 28 <title>The base class - <filename>base.bbclass</filename></title>
29 29
30 <para> 30 <para>
31 The base class is special in that every <filename class="extension">.bb</filename> 31 The base class is special in that every <filename>.bb</filename>
32 file inherits it automatically. It contains definitions of standard basic 32 file inherits it automatically. It contains definitions of standard basic
33 tasks such as fetching, unpacking, configuring (empty by default), compiling 33 tasks such as fetching, unpacking, configuring (empty by default), compiling
34 (runs any Makefile present), installing (empty by default) and packaging 34 (runs any Makefile present), installing (empty by default) and packaging
@@ -94,54 +94,31 @@
94 94
95 <para> 95 <para>
96 Several programs can fulfill the same or similar function and 96 Several programs can fulfill the same or similar function and
97 they can be installed with the same name. For example the <command>ar</command> 97 be installed with the same name.
98 For example, the <filename>ar</filename>
98 command is available from the "busybox", "binutils" and "elfutils" packages. 99 command is available from the "busybox", "binutils" and "elfutils" packages.
99 This class handles the renaming of the binaries so multiple packages 100 The <filename>update-alternatives.bbclass</filename> class handles renaming the
100 can be installed which would otherwise conflict and yet the 101 binaries so that multiple packages can be installed without conflicts.
101 <command>ar</command> command still works regardless of which are installed 102 The <filename>ar</filename> command still works regardless of which packages are installed
102 or subsequently removed. It renames the conflicting binary in each package 103 or subsequently removed.
104 The class renames the conflicting binary in each package
103 and symlinks the highest priority binary during installation or removal 105 and symlinks the highest priority binary during installation or removal
104 of packages. 106 of packages.
105 107 </para>
108 <para>
106 Four variables control this class: 109 Four variables control this class:
107 </para> 110 </para>
108 111 <itemizedlist>
109 112 <listitem><para><filename>ALTERNATIVE_NAME</filename> &dash; The name of the
110 <variablelist> 113 binary that is replaced (<filename>ar</filename> in this example).</para></listitem>
111 <varlistentry> 114 <listitem><para><filename>ALTERNATIVE_LINK</filename> &dash; The path to
112 <term>ALTERNATIVE_NAME</term> 115 the resulting binary (<filename>/bin/ar</filename> in this example).</para></listitem>
113 <listitem> 116 <listitem><para><filename>ALTERNATIVE_PATH</filename> &dash; The path to the
114 <para> 117 real binary (<filename>/usr/bin/ar.binutils</filename> in this example).</para></listitem>
115 Name of binary which will be replaced (<command>ar</command> in this example) 118 <listitem><para><filename>ALTERNATIVE_PRIORITY</filename> &dash; The priority of
116 </para> 119 the binary.
117 </listitem> 120 The version with the most features should have the highest priority.</para></listitem>
118 </varlistentry> 121 </itemizedlist>
119 <varlistentry>
120 <term>ALTERNATIVE_LINK</term>
121 <listitem>
122 <para>
123 Path to resulting binary ("/bin/ar" in this example)
124 </para>
125 </listitem>
126 </varlistentry>
127 <varlistentry>
128 <term>ALTERNATIVE_PATH</term>
129 <listitem>
130 <para>
131 Path to real binary ("/usr/bin/ar.binutils" in this example)
132 </para>
133 </listitem>
134 </varlistentry>
135 <varlistentry>
136 <term>ALTERNATIVE_PRIORITY</term>
137 <listitem>
138 <para>
139 Priority of binary, the version with the most features should have the highest priority
140 </para>
141 </listitem>
142 </varlistentry>
143 </variablelist>
144
145 <para> 122 <para>
146 Currently, only one binary per package is supported. 123 Currently, only one binary per package is supported.
147 </para> 124 </para>
@@ -175,7 +152,7 @@
175 <para> 152 <para>
176 During staging Bitbake installs such scripts into the <filename 153 During staging Bitbake installs such scripts into the <filename
177 class="directory">sysroots/</filename> directory. It also changes all 154 class="directory">sysroots/</filename> directory. It also changes all
178 paths to point into the <filename class="directory">sysroots/</filename> 155 paths to point into the <filename>sysroots/</filename>
179 directory so all builds which use the script will use the correct 156 directory so all builds which use the script will use the correct
180 directories for the cross compiling layout. 157 directories for the cross compiling layout.
181 </para> 158 </para>
@@ -218,7 +195,7 @@
218 </para> 195 </para>
219 196
220 <para> 197 <para>
221 Result of their work are <filename class="directory">tmp/deploy/source/</filename> 198 Result of their work are <filename>tmp/deploy/source/</filename>
222 subdirs with sources sorted by <glossterm><link linkend='var-LICENSE'>LICENSE</link> 199 subdirs with sources sorted by <glossterm><link linkend='var-LICENSE'>LICENSE</link>
223 </glossterm> field. If recipe lists few licenses (or has entries like "Bitstream Vera") source archive is put in each 200 </glossterm> field. If recipe lists few licenses (or has entries like "Bitstream Vera") source archive is put in each
224 license dir. 201 license dir.
@@ -322,7 +299,7 @@
322 </para> 299 </para>
323 <para> 300 <para>
324 This means that each kernel module built is packaged separately and inter-module dependencies are 301 This means that each kernel module built is packaged separately and inter-module dependencies are
325 created by parsing the <command>modinfo</command> output. If all modules are 302 created by parsing the <filename>modinfo</filename> output. If all modules are
326 required then installing the "kernel-modules" package will install all 303 required then installing the "kernel-modules" package will install all
327 packages with modules and various other kernel packages such as "kernel-vmlinux". 304 packages with modules and various other kernel packages such as "kernel-vmlinux".
328 </para> 305 </para>
@@ -406,7 +383,7 @@
406 383
407 <para> 384 <para>
408 Only the most useful/important classes are covered here but there are 385 Only the most useful/important classes are covered here but there are
409 others, see the <filename class="directory">meta/classes</filename> directory for the rest. 386 others, see the <filename>meta/classes</filename> directory for the rest.
410 </para> 387 </para>
411</section> 388</section>
412 389