blob: 8eecaa9ed4bf9e60206f2032d70d86b29c9dc7fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="chapter_special_features">
<title>Special features</title>
<section id="special_debian_naming">
<title>Debian package naming <anchor id="debian" /></title>
<screen>INHERIT += "debian"</screen>
<para>Placing the above line into your <emphasis>${DISTRO}.conf</emphasis>
or <emphasis>local.conf</emphasis> will trigger renaming of packages if
they only ship one library. Imagine a package where the package name
(<command>PN</command>) is foo and this packages ships a file named
<command>libfoo.so.1.2.3</command>. Now this package will be renamed to
<command>libfoo1</command> to follow the Debian package naming
policy.</para>
</section>
<section id="special_shlibs">
<title>Shared Library handling (shlibs) <anchor id="shlibs" /></title>
<para>Run-time Dependencies (<command>RDEPENDS</command>) will be added
when packaging the software. They should only contain the minimal
dependencies to run the program. OpenEmbedded will analyze each packaged
binary and search for <command>SO_NEEDED</command> libraries. The
libraries are absolutely required by the program then OpenEmbedded is
searching for packages that installs these libraries. these packages are
automatically added to the <command>RDEPENDS</command>. As a packager you
don't need to worry about shared libraries anymore they will be added
automatically.</para>
<remark>NOTE: This does not apply to plug-ins used by the
program.</remark>
</section>
<section id="special_bitbake_collections">
<title>BitBake Collections <anchor id="collections" /></title>
<para>This section is a stub, help us by expanding it</para>
<para><screen>
BBFILES := "${OEDIR}/openembedded/packages/*/*.bb ${LOCALDIR}/packages/*/*.bb"
BBFILE_COLLECTIONS = "upstream local"
BBFILE_PATTERN_upstream = "^${OEDIR}/openembedded/packages/"
BBFILE_PATTERN_local = "^${LOCALDIR}/packages/"
BBFILE_PRIORITY_upstream = "5"
BBFILE_PRIORITY_local = "10"
</screen></para>
</section>
<section id="special_task_base">
<title>Task-base <anchor id="task-base" /></title>
<para>Task-base is new way of creating basic root filesystems. Instead of
having each machine setting a ton of duplicate variables, this allow a
machine to specify its features and <command>task-base</command> builds it
a customised package based on what the machine needs along with what the
distro supports.</para>
<para>To illustrate, the distro config file can say: <screen>
DISTRO_FEATURES = "nfs smbfs ipsec wifi ppp alsa bluetooth ext2 irda pcmcia usbgadget usbhost"
</screen> and the machine config: <screen>
MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget"
</screen> and the resulting <command>task-base</command> would support pcmcia
but not usbhost.</para>
<para>Task-base details exactly which options are either machine or distro
settings (or need to be in both). Machine options are meant to reflect
capabilities of the machine, distro options list things distribution
maintainers might want to add or remove from their distros images.</para>
</section>
<section id="special_overrides">
<title>Overrides <anchor id="overrides" /></title>
<para>This section is a stub, help us by expanding it</para>
</section>
</chapter>
|