diff options
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/poky-ref-manual/ref-classes.xml | 87 |
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> ‐ 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> ‐ 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> ‐ 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> ‐ 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 | ||