diff options
| -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 | ||
