Compare commits

..

1370 Commits

Author SHA1 Message Date
Scott Rifenbark
8886aee5b9 documentation: Updated Manual Revision Tables for 1.1.2
Updated the tables for the adt, bsp, dev, kernel, and ref manuals
so the release date is "July 2012".

(From yocto-docs rev: fc4cb441031bca79f09203f9268f0528078fb652)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
2e99dcc03a documentation/adt-manual/adt-prepare.xml: Added text about host gcc
It is important that the environment uses a host gcc when running the
adt installer.  I put some text in noting that.

(From yocto-docs rev: a443743133aa6ae1ec647949ad7045e13a3a84e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
1f53e5a96a documentation/dev-manual/dev-manual-kernel-appendix.xml: Added note
The example that changes the kernel configuration by enabling multiple
processor support failed.  The reason is because of bug 2256.
This bug was discovered during Release 1.2.  Apparently it also
affects 1.1.2.  I have added the Note explaining the bug.

(From yocto-docs rev: 6a0af8103b24a0b24ffd0e29873feeb685e1cf5e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
bf46fa7d50 documentation/dev-manual/dev-manual-kernel-appendix.xml: Fix example
The exmample that sets up poky-extras was not putting the user
in the proper directory.  I updated the cd command to place them
in poky-extras before checking out the branch.

(From yocto-docs rev: 4860ddacc1fc593e0c5b48b399638ab1ecdb1f94)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
35d25f853c documentation/dev-manual/dev-manual-bsp-appendix.xml: Example fixes
Two items were wrong in the BSP example.  The first was the reference
to the kernel being used in the source repositories.  It was 3.0 when
it should have been 3.0-1.1.x.  The second was the inclusion of the
$HOME/poky/meta-intel path in the bblayers.conf file.  This change
is post edison.  I removed it.

(From yocto-docs rev: d6a16fb4052207b809c19c3393f5e0bac3175a70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
ccc2918ef7 documentation/poky.ent: Changed the POKYVERSION variable to 6.0.2.
(From yocto-docs rev: a8575b135bdd4d7e2b53250bbeac55523218fb3f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:27 +01:00
Scott Rifenbark
c47f892526 documentation/adt-manual/adt-intro.xml: Fixed broken link.
(From yocto-docs rev: 43b8ae535808b30012c5bee03e09eab1837eb194)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
3635f0ce53 documentation/adt-manual/style.css: Applied styles.
(From yocto-docs rev: 7f0ed8913ed9883393e58cd29c4e9d7142928bc0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
678f6ee437 documentation/adt-manual/adt-prepare.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also updated
text as needed.

(From yocto-docs rev: 3472d1c2e7c69e0b544a223204830c0d000033f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
7ce46066a5 documentation/adt-manual/adt-package.xml: Applied poky.ent variables.
(From yocto-docs rev: 6d5a53feae97cdb4c7bd95dc2788c08e463d931a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
d3e51cea0f documentation/adt-manual/adt-manual.xml: Applied poky.ent variables.
(From yocto-docs rev: 4fa1ee9b3e377f232300d6e744e94ed98221fe14)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
fb2d503992 documentation/adt-manual/adt-intro.xml: Applied poky.ent variables.
(From yocto-docs rev: 2cff9735f2ba0d3611d91cdc237a38fd5b562656)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
ad050e2912 documentation/adt-manual/adt-eclipse.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also corrected
text as needed.

(From yocto-docs rev: 1eecf5e4f706db5abbee7d819e612002f2425d6e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
ec385088c4 documentation/adt-manual/adt-command.xml: Applied poky.ent variables.
(From yocto-docs rev: 96b4dd4903d1e32cb8c669440c98f56e444341e9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
aee274f5fa documentation/bsp-guide/bsp.xml: Removed a dead link.
(From yocto-docs rev: ffa2dc3fc3f4bc9ce94fa1159bdc9bbb5e464d10)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
74b0cafd65 documentation/bsp-guide/bsp.xml: Fixed some links.
Some areas didn't checkout with the first pass of applying the
poky.ent variables.  I cleaned these up.

(From yocto-docs rev: 9a3b82b8801ce70d2cc22e7dc5630d06f603d2ea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:26 +01:00
Scott Rifenbark
9622701c00 documentation/bsp-guide/style.css: Added styles.
(From yocto-docs rev: 7f0c5c81ed137d1705f96fe9465cecd2b76bc02a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
7e3332c3cc documentation/bsp-guide/bsp-guide.xml: 1.1.2 variables
Implemented the poky.ent variables.

(From yocto-docs rev: 714019b44bf859be1602c10b663c920807b4adee)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
99e39f6c12 documentation/bsp-guide/bsp.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also made
some text additions.

(From yocto-docs rev: 648f01785fefacbce653473d64e0467bbdaebfde)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
c0433b3b94 documentation/dev-manual: Minor 1.1.2 updates
The second pass through the manual testing against the variables
put in during the first pass.  Minor changes and few links not
right.  One thing of note is the tarball used for the BSP appendix
example for Crown Bay.  The tarball I have in there is the
release 1.1 version with poky 6.0.0.

(From yocto-docs rev: 3839c0b0a063fd240b129c745ee95047a6e23cb8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
28989f2d04 documentation/poky.ent: Changed POKYVERSION from 6.0 to 7.0
(From yocto-docs rev: 96c7b749734c071adfaffb423005b2e806828b94)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
d088fac872 documentation/dev-manual/style.css: Updated styles
(From yocto-docs rev: e95f2b89a486dc1a9294f51c8769d2e89db95316)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
9f915d46be documentation/dev-manual/dev-manual-start.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also changes
text where appropriate.

(From yocto-docs rev: a9f31065ee0261d82fcac1f3db3ad98587418c15)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
a6f25334ec documentation/dev-manual/dev-manual-newbie.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also changed some
selected areas of text.

(From yocto-docs rev: 1e46573591037ce446bacd2096228dff4e4987c9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:25 +01:00
Scott Rifenbark
ed26c02ac6 documentation/dev-manual/dev-manual-model.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also updated text
in spots.

(From yocto-docs rev: bd91876ea4aa06088f43951e7c988d7445e46de0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
860acfbdaa documentation/dev-manual/dev-manual-kernel-appendix.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also changed text
in cases where it was not specific to the example.

(From yocto-docs rev: a44657aac3a801483ea1ab3ff66fa6444438842d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
470fd8de07 documentation/dev-manual/dev-manual-intro.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also updated some
text areas.

(From yocto-docs rev: 2d6263c5a8c93b140a7527f38dc356abb6ca0a23)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
7082a56c95 documentation/dev-manual/dev-manual-bsp-appendix.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also, changed text
in areas to better match what is in master.  I left any example specific
stuff alone for the most part.

(From yocto-docs rev: 2b5d3ba8ee877eb55b9c052e0f194b37aa68c76a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
4919821572 documentation/poky.ent: Changed DISTRO to "edison"
(From yocto-docs rev: 21381d5d8ed3e8416a654176eed43a40f25115be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
a8289a9943 documentation/dev-manual/dev-manual.xml: 1.1.2 variables
First pass at implementing the poky.ent variables.

(From yocto-docs rev: f9410c86a969e328c692584125b44d14ae378a46)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
8b72a3c863 documentation/kernel-manual/kernel-how-to.xml: Removed dead link.
(From yocto-docs rev: 46c0b47d87bf2d6a0e65c3bc27a869cec3bf55eb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
7315ac6e8f documentation/kernel-manual/style.css: Updated styles
(From yocto-docs rev: bf692e60c87082bb0c175b3924fd4d37276ddeea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
522b5864e9 documentation/kernel-manual/kernel-manual.xml: 1.1.2 variables
First pass at implementing the poky.ent variables.

(From yocto-docs rev: be017dc7bedcbfbfb558e418485ab2d0d1c70b59)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
c11f65a290 documentation/kernel-manual/kernel-how-to.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also, made some
changes to text.

(From yocto-docs rev: de0e74de2b69e4e92b3c1404fef83509a1165e83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:24 +01:00
Scott Rifenbark
b2ec918b67 documenation/kernel-manual/kernel-doc-intro.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also made some text
changes as needed.

(From yocto-docs rev: de1f4acd9037a95b1e8bbcc2bf804f8885770348)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
4cd83a91fb documentation/kernel-manual/kernel-concepts.xml: 1.1.2 variables and updates
First pass of implementing the the poky.ent variables.  Also made
corrections to text in various places.

(From yocto-docs rev: a7ccdf1a2664e64d6b2a72381d9eb8db2eddcd9c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
953ad50a27 documentation/poky-ref-manual: Various minor link and formatting changes
This is the second pass through the manual after applying initial
poky.ent variables and various fixes.  These changes here were found
and made during a QA of the made manual.

(From yocto-docs rev: a1551b5233a33f5fec6815c64e784212a7d02c4b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
fcf7db01c0 documentation/poky-ref-manual/extendpoky.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also corrected
some text ares.

(From yocto-docs rev: fa1714d3ebf569b19d48667c592126b6c4b445c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
c8fc8aa4ae documentation/poky-ref-manual/technical-details.xml: Fixed broken link.
Removed the link since there is not target.

(From yocto-docs rev: 16acd0b9db39f217043ad94ab98ad1ff647b327c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
e50f5673e2 documentation/yocto-project-qs/style.css: Style updates
Applied more recent styles.

(From yocto-docs rev: 5acc92e172c5864613c0a9366f2468777829114a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
0cb1be9fae documentation/poky-ref-manual/usingpoky.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also made some
text corrections.

(From yocto-docs rev: bbc29ec49291ac592708155a165bea16d20aa992)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
565d5abd87 documentation/poky-ref-manual/technical-details.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also corrected and
updated some text areas.

(From yocto-docs rev: a81007b29ece7a4edcebaebdb999f42de72f0ebf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
fee19b3dda documentation/poky-ref-manual/style.css: Applied new styles
Updated with styles for the new notes look.

(From yocto-docs rev: d95328515b8603e323a3ec9de2749b7474b0d9e0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
eb1ed1f02a documentation/poky-ref-manual/resources.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also updated
some areas of text.

(From yocto-docs rev: 76bba871dbbda3c74a32673a08d0def6d05dfe0a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:23 +01:00
Scott Rifenbark
664c12885b documentation/poky-ref-manual/ref-varlocality.xml: 1.1.2 variables
First pass at implementing the poky.ent variables.

(From yocto-docs rev: 11dab5f08d6a784b82c23b58ba387ea33586aa16)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
22fa92fa14 documentation/poky-ref-manual/ref-variables.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also, made some
corrections to text.

(From yocto-docs rev: c1e7fe4413a611ed4d4a727432a1a4763d308bb3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
a717c33e5d documentation/poky-ref-manual/ref-structure.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also updated minor
text changes.

(From yocto-docs rev: a72317d4ce7759d45320bd2b7142edb43c371578)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
d39f8db69e documentation/poky-ref-manual/ref-images.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also, updates some
text for some of the images.

(From yocto-docs rev: f77669c55b789372f89028d888192bcf771a24d9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
efd4cb0ddf documentation/poky-ref-manual/ref-features.xml: 1.1.2 Updates
First pass at implementing the poky.ent variables.

(From yocto-docs rev: ace3fc608170befda8dec006706b06d11e954a27)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
61e550b462 documentation/poky-ref-manual/ref-classes.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also made obvious
typo fixes.

(From yocto-docs rev: 048265f93c661e0034ab37fbf7f768e62b64994a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
4b72728755 documentation/poky-ref-manual/ref-bitbake.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Made some obvious
typo corrections as well.

(From yocto-docs rev: 4773e7703d88456b272c13dc197c94bd7b09d59e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
1cc3056b3a documentation/poky-ref-manual/poky-ref-manual.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.

(From yocto-docs rev: 06eb67f5a22c5491a390c84699a81c7a70e8fccf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
27e5be1709 documentation/poky-ref-manual/introduction.xml: 1.1.2 variables and updates
First pass at implementing the poky.ent variables.  Also made any
obvious typo fixes.

(From yocto-docs rev: 21045c9776183bfe78f5aa3f9ca6b58900b5f30c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
6c9c0f1f45 documentation/poky-ref-manual/faq.xml: 1.1.2 variables and updates
First pass of implementing the poky.ent variables.  Also, applied
obvious type fixes.

(From yocto-docs rev: 5f5d3735bea5db12847dc9b9fa01aee0f5dc2b41)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:22 +01:00
Scott Rifenbark
8650364e50 documentation/poky-ref-manual/development.xml: 1.1.2 variables and updates
First pass of implementing the poky.ent variables.  Also, folded in
obvious typo fixes.

(From yocto-docs rev: 198bb34e21ba49fe4f858b9d00e60a9b717e06b9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:21 +01:00
Scott Rifenbark
450913f388 documentation/poky.ent: Added file for variablization
(From yocto-docs rev: d242891c14741600a1b85be9d22e2d813de64514)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:21 +01:00
Scott Rifenbark
de01c5c217 documentation/yocto-project-qs/yocto-project-qs.xml: 1.1.2 updates
Initial pass to variablize this file and fold in various minor
corrections discovered since 1.1.1 released.

(From yocto-docs rev: 163c58f7f19d769adfacc963705c2063fe47c606)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:21 +01:00
Scott Rifenbark
d5a5f63867 documentation: Placeholder manual history entries added
Five entries added for the 1.1.2 release in the manual revision
history table.  No firm date but the placeholder is now there.

(From yocto-docs rev: 071044ec6f9c69574c5c6db263e3293e697147cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 14:59:21 +01:00
Elizabeth Flanagan
06072024be poky.conf: Flipping for edison point release
Prior to final build, we need to flip DISTRO_* and SDK_VERSION
to new values.

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-06-21 13:07:09 -07:00
Robert Yang
107ec95659 apt 0.7.14: do_compile failed with gcc 4.7
apt do_compile failed with gcc 4.7:

deb/deblistparser.cc: In member function 'virtual short unsigned int debListParser::VersionHash()':
deb/deblistparser.cc:212:13: error: redeclaration of 'char* I'
deb/deblistparser.cc:202:22: error: 'const char** I' previously declared here

Backport the patch from the upstream would fix the problem, both target and
native apt need it.

[YOCTO #2488]

(From OE-Core rev: 80c1ab1248ff38ba97cf5780fc05ff1321e14e10)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 12:04:39 +01:00
Richard Purdie
af3e5039e8 apt: Fix parallel make race
I was just going to turn off parallel make but ended up fixing this properly.

(From OE-Core rev: 440a6d5aacf7807536feee5d09484712ba34ca80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 12:04:30 +01:00
Richard Purdie
08d70734d5 apt: Fix locale header and hardcoded libname issues
apt wasn't building on modern libc/compiler combinations due to missing
header includes.

The libcpp version was also being hardcoded, this patch generates it
dynamically to work on different host systems which no longer have
this.

(From OE-Core rev: 4bcffbcd05c86903fbdf47bb46bf1a52b888dfeb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21 12:04:16 +01:00
Yi Zhao
164a4d1bac scripts/qemuimage-testlib: fix typos
(From OE-Core rev: 30c6ec403e1696b5fd94b92328ef9edec535a57a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:18:51 +01:00
Richard Purdie
7e0dd59e30 ghostscript-native: Ensure the sys/time/h fix is applied for native builds
On my system, the sys/time.h header is in a subdir off /usr/include
which causes a build failure. Apply the target CFLAGS fix to native
builds as well to address this.

(From OE-Core rev: 8968db5fcc99c6580de91f9d6c55478c735ca375)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-14 11:18:40 +01:00
Lianhao Lu
aca161f8a0 bitbake/persist_data: Reconnect when DB is locked
[YOCTO #1761]
Reconnect to the backend Sqlite DB in 'database is locked' exception so
the timeout can be leveraged in each time retry.

(Bitbake rev: b310382764367b573c84f33d847c6eb821266f9e)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-31 13:16:41 -07:00
Richard Purdie
94c8d01eba runqueue.py: Add inter setscene task dependency handling
This is being added to resolve setscene race issues where we do have
particular dependencies required between setscene tasks. This allows
specific dependencies to be specified. This allows us to fix the races
in sstate with the useradd class in OE-Core.

Any tasks being depended upon have their reverse dependencies cleared to
ensure we don't have circular references.

(Bitbake rev: e1b157d26374a70e6274edcb4c0b9f3bc48f765c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-31 13:16:41 -07:00
Richard Purdie
e1e0dd932b runqueue.py: Fix missing setscene dependencies
When constructing the setscene inter-dependencies, we need to account for all task,
not just the last one found. This patch corrects this oversight and ensures all
dependencies are added, not just the first one found.

(Bitbake rev: b9b5b5129d066e1ff7d3effda116afc3c6657beb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-05-31 13:16:41 -07:00
Richard Purdie
6c335846d9 populate_sdk_ipk.bbclass: Ensure the correct environment is setup for postinstalls
Without this, various postinstalls get run with incorrect environments
leading to various failures when building the toolchains.

This adds some duplication and some variables we'd be better off
removing. It does unbreak the SDK ipk code for now though. This needs
revisiting.

(From OE-Core rev: c5e6a533eab2f5af4a52d22f8efe5b49b77cd26c)

(From OE-Core rev: ab2a4591c4c3926a960f18fa7e848f5d41255e14)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:47 +01:00
Beth 'pidge' Flanagan
774f93e8d3 common-licenses: Adding/updating to current
[YOCTO #2230]

1.1+ had some incorrect license text. This corrects that text and
adds licenses that didn't exist in 1.1+.

(From OE-Core rev: 43bd89eb195f56afef12e52ed58a2f0cad9c73db)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:47 +01:00
Joshua Lock
535cfa538b icon-naming-utils-native: add SRC_URI checksums
[YOCTO #1866] reported errors with fetching icon-naming-utils. This turned out
to be an issue with upstream which was impaired by the recipe not containing
checksums.

Without a checksum failure we were trying to decompress the error page we
received from upstream.

(From OE-Core rev: 0af0591e25b35beb9dd10f9d5de8bc2e63f7731e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:47 +01:00
Joshua Lock
ac63b3f8ef zlib: install pc file
Joshua Immanuel reported, and provided a patch to fix, that our custom
autotooling for zlib does not install the pc file.

Fixes [YOCTO #1983]

Patch-from: Joshua Immanuel <josh@hipro.co.in>
(From OE-Core rev: 37fbe2e1a706af634f400213b9fb4c6f0670c15e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:46 +01:00
Scott Garman
4039b5b97c package_rpm.bbclass: ensure base-passwd and shadow get installed first
When generating images, we need to make sure that base-passwd and
shadow get installed before other packages, which might need to create
custom user accounts.

Thanks to Richard Purdie for the initial version of this fix.

This fixes [YOCTO #2127]

(From OE-Core rev: 3d2d3cb379608301b17ce57787d324c2f06bf4f9)

(From OE-Core rev: f35902844c5c1de06c9a1b2111abf0d8b5687a9b)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:46 +01:00
Richard Purdie
67334bfb26 sstate.bbclass: Remove possibility of file corruption and make package writing atomic
There is currently a race window when creating sstate packages since we don't
atomically write the files to SSTATE_DIR. This change ensures we do so by writing
to a temporary file and then doing an atomic move.

(From OE-Core rev: 52bf113e786a57123a9da98f64442afbc2f1471e)

(From OE-Core rev: d527f68bdf167b4a3dcc035968da59677abb70bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:46 +01:00
Richard Purdie
36e13dd42f sstate.bbclass: Add support for sstate preinst functions
(From OE-Core rev: f2b0a71b3100a0d2ceb80300d7f3823a31eb907a)

(From OE-Core rev: 8ca7387ff2dd788221a16021ec98b4aee946a187)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:46 +01:00
Richard Purdie
de485f4973 sstate: Add SSTATE_SCAN_FILES
We process all files in the native/cross cases for finding and
fixing relocation issues. In the target case we've only processed
.la and binconfig files. Since there are other files which are
in need of this processing, this change allows recipes to specify
files that may be outside the normal set. This means hardcoded
paths that need to be fixmepathed to work correctly are handled
and addresses some sstate relocation bugs that have been seen.

Based on a patch from Saul Wold <sgw@linux.intel.com>

(From OE-Core rev: 6ffdcd9120b572fa41659029c3bda7bf00ebcb77)

(From OE-Core rev: c6148b8dde3e0fddc4135b48fd6d01e2de662919)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:45 +01:00
Darren Hart
56310cbc4c syslinux: Avoid using linux.ext2_fs.h if possible
Fixes [YOCTO 2236]

With recent Linux kernel headers, such as 3.3 in Fedora 16, the linux/ext2_fs.h
header has been removed. This causes compile failures for syslinux-native.
Backport a fix to address this from syslinux-4.06-pre3.

(From OE-Core rev: d61c5fc67780b552fcf3d78ebcf9bd3888af4e0a)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Ross Burton <ross.burton@intel.com>
CC: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:45 +01:00
Scott Garman
68cd8deadc useradd.bbclass: retry useradd/groupadd commands to avoid lock race issues
A race condition can occur when adding users and groups to the
passwd and group files, causing errors like the following:

 ERROR: Function 'useradd_sysroot' failed
 Tried to access "/etc/group" but this was locked.

This fix will cause the useradd code to retry the useradd and
groupadd commands up to 10 times (with a 1s sleep in between
attempts) before failing.

This fixes [YOCTO #1794]

(From OE-Core rev: 68c589f1b5ee36f0aff151b728447ffdae14622c)

(From OE-Core rev: fb9f5feaa49b78d03d25d96254a5ce04079ce594)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:45 +01:00
Zhai Edwin
b2a0243f05 shadow-sysroot: Fix for multilib
Fix following error in multilib build:
"ERROR: Task do_package_setscene depends upon nonexistant task
poky/meta/recipes-extended/shadow/shadow-sysroot_4.1.4.3.bb:do_populate_sysroot_setscene"

>From richard.purdie@linuxfoundation.org

(From OE-Core rev: 5de2c22fb42c12783abc090a81f10db9eb39732f)

(From OE-Core rev: 8a8b1a49e3c7f96d76f6457a1f9a14e1eb4d5302)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:45 +01:00
Otavio Salvador
a99b7d39dc useradd.bbclass: override USERADDSETSCENEDEPS to empty when building cross packages
(From OE-Core rev: 5650eb44ea28c87f2f87ea3c5a557b9f08d58775)

(From OE-Core rev: fa0f0052b49b7809b9b55df6049a0dfedbc94560)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:44 +01:00
Otavio Salvador
755508c423 useradd.bbclass: skip processing on virtclass-cross extended packages
(From OE-Core rev: 4308acbbd43e6b8b37123d95df6675233007dae4)

(From OE-Core rev: 4a338c552d989d37a26eb6cc0c1da95a6928af9f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:44 +01:00
Richard Purdie
adbf38414e useradd.bbclass: Fix missing quote
(From OE-Core rev: d7b13cd42ab8d5f44f97e119b73ec2e363677d26)

(From OE-Core rev: 6e21a379542ef5428d6005782f1ad4a8c764eb47)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:44 +01:00
Richard Purdie
c3be61e204 useradd: Ensure dependencies are only added for target recipes, not native or nativesdk
(From OE-Core rev: 63d006b2d3fc2223c74f81b91f70f5c841108c80)

(From OE-Core rev: d6c43fdc815347a0adfee590da56f8b332540da6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:44 +01:00
Richard Purdie
490753f440 useradd.bbclass: Add explict setscene dependencies to ensure correct ordering of setscene tasks
(From OE-Core rev: ffc7bbcf0011de3f1f6e8d95f1de0b8f7164fa51)

(From OE-Core rev: a9aae582a6068a946cf177ce33e54cb0aee6c6e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:43 +01:00
Richard Purdie
f3fc5e1e3f useradd.bbclass: Ensure pseudo can load in the pseudo unloaded case
In the do_populate_sysroot_setscene case, pseudo has been unloaded and we need
to reload it. This code change ensures all the pseudo options are specified
so pseudo loads correctly.

It also improves some of the comments so all the different contexts are listed.

(From OE-Core rev: 76345cd61c9523ce6755ef8e923dec37800b7a98)

(From OE-Core rev: 6f25ede827ee469464ca2db72bf05c75fa7c11f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:43 +01:00
Richard Purdie
e2c5e5a513 useradd.bbclass: Execute user addition code before do_package_setscene, not after do_populate_sysroot_setscene
The user addition needs to happen before the do_package files are extracted
by do_package_setscene since those are the ones we need to preserve the file
ownership information for. This patch ensures this happens.

(From OE-Core rev: 34282c1b996ef008384af456735692d66ddabc13)

(From OE-Core rev: b571766ffc7ec5aa78035557c25a0e8b244c17c8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:43 +01:00
Richard Purdie
c5a9efca96 useradd: Ensure -native recipes don't depend on target recipes
Without this change, dbus-native can end up depending upon base-passwd
for example. This change mirrors the existing nativesdk code.

Based on a patch from Henning Heinold <heinold@inf.fu-berlin.de>
but with some additions from me.

(From OE-Core rev: eba81d1c606ec29ffb793c1cb3cfed9562d552bc)

(From OE-Core rev: b325378930655beeec03bbc5ce6ccf2b29f408fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:11:43 +01:00
Saul Wold
15905aec48 grub: Add SRC_URI Checksums for sanity
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:53:38 +01:00
Saul Wold
2b92d9f6d3 image.bbclass: add check for live and convert to ext3
The live image type depends on ext3 which has it's own
dependencies, while the live type has none, this is a
backport change to fix [YOCTO #2246]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:53:27 +01:00
Richard Purdie
bfa48c3c09 dosfstools: Add patch to disable fat32 autoselection and behave as 2.10
It appears msdos image population and fat32 images are incompatible.
This reverts to the 2.10 behaviour of defaulting to fat16 instead of
using fat32 for large images, allowing image generation to work
correctly. This is a workaround and a proper fix is really needed.

(From OE-Core rev: c2de8d41236cf1293db9e6c69d69e8d14f55ffd1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:12:08 +01:00
Otavio Salvador
ef6062981b dosfstools: update native to 2.11
This unify recipes for target and native builds and also drops the the
already merged patches.

(From OE-Core rev: 3a401ddce55e185c8ccfdc43c1440fd77daff9ae)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:12:04 +01:00
Scott Garman
f57eca6f28 dosfstools: add Upstream-Status to patches
(From OE-Core rev: 735a3e5d3399e29e4d6fa82dabbdd1687eaa29e9)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:12:00 +01:00
Saul Wold
885ebdae10 dosfstools: Add SRC_URI Checksum
(From OE-Core rev: a19bfc10e60ddc7e9317654ca7565d39acbc3987)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:11:56 +01:00
Darren Hart
33561a5417 bootimg: Do not force FAT32 on all images, it violates the FAT specification
Fixes [YOCTO #1940]

do_bootimg was performing the FAT overhead calculations assuming FAT32 and then
forcing the use of FAT32 with "-F 32" to mkdosfs. The FAT specification is clear
on cluster count being the determining factor for FAT size (even if the fs
string is set to FAT32, go figure). Syslinux follows this spec, and rightly so,
resulting in a failure on core-image-minimal:

	syslinux: zero FAT sectors (FAT12/16)

Drop the "-F 32" from mkdosfs to allow it to select the appropriate FAT size
based on cluster count. Leave the FAT overhead calculation in FAT32. This will
result in a little extra padding for really small images, but not enough extra
to justify recalculating for FAT12 and FAT16.

Tested with a core-image-minimal build for atom-pc. do_bootimg completed
successfully, and the resulting image was FAT16.

(From OE-Core rev: 634137704dd1a205e377a1131ef708f1c981f6b2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backported to edison by Darren Hart.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:11:51 +01:00
Darren Hart
bb31c819be bootimg: Fix a math thinko in the block count calculation
Fixes [YOCTO #1852] ... again.

The conversion from sectors to blocks was multiplying by 2 instead
of dividing by 2. Blocks are 1024 bytes, sectors are 512 bytes. The
result was images being much larger than intended.

Reported-by: Tom Zanussi <tom.zanussi@intel.com>
(From OE-Core rev: b35384fa3ca96b31c63d764322215abced2066e4)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backported to edison by Darren Hart.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:11:43 +01:00
Darren Hart
d1c5de9ccb bootimg: Account for FAT filesystem overhead in image size
Fixes [YOCTO #1852]

The bootimg class wasn't accounting for non-trivial amount of space
required by the directory entries and FATs for the FAT filesystem.

This patch attempts to make an accurate prediction of FAT overhead and
adjusts the image size accordingly. It assumes no more than 16 directory
entries per directory (which fit in a single sector). It also assumes
8.3 filenames. With the ceiling functions rounding up to full sectors
and tracks, these assumptions seem reasonable.

In order to ensure the calculations are accurate, this patch forces the
FAT size to 32, rather than allowing mkdosfs to automatically select 12,
16, or 32 depending on the image being built.

Tested by setting BOOTIMG_EXTRA_SPACE=0 and building core-image-minimal
and core-image-sato for fri2-noemgd from meta-intel.

(From OE-Core rev: 68aa18609c10a3ae2f738930c933fa2a95ce8959)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backported to edison by Darren Hart.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:11:38 +01:00
Darren Hart
4274ebdd00 bootimg: Use mcopy to construct the hddimg
Fixes [YOCTO 2138]

The initial directory support (-d) added to mkdosfs has proven to be incomplete
and non-compliant with FAT. Rather than continue to maintain this feature and
work around the various issues, we can use mcopy to construct the image.

bootimg.bbclass already depends on mtools-native (although it may not have
needed to previously). No new dependencies are introduced. The image created
passes dosfsck cleanly. Remove the call to dosfsck.

mcopy reported an error with the image we were creating:
Total number of sectors (107574) not a multiple of sectors per track (32)!

Add some logic to ensure the total sector count is an integral number of sectors
per track, including forcing the logical sector size to 512 in the mkdosfs
command.

The du -bks arguments are contradictory, -b is equivalent to "--apparent-size
--block-size=1" and -k is --block-size=1K. If reordered, -kbs will report the
disk usage in bytes insteadk of 1k blocks. Eliminate the ambiguity by using:
du --apparent-size -ks

(From OE-Core rev: 92d2ea1a306354c6565a1b05b51b5719e481840f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Nitin A. Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Backported to poky edison by Darren Hart.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-14 23:10:49 +01:00
Elizabeth Flanagan
0fbd6a1615 poky.conf: Bumping SKD_VERSION
SDK_VERSION needs a bump for 1.1.1 release

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-03-14 15:49:33 -07:00
Scott Rifenbark
bda8a084f5 documentation: Updated copyright dates and release dates.
All six manuals updated.

(From yocto-docs rev: 753e3eb80b1fa6148e12f9eb93d23f4613b6be05)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 22:34:57 +00:00
Beth Flanagan
939ec1ca1e distro.conf: Bump for edison 1.1.1 release build
In preparation for edison 1.1.1, we need to bump DISTRO
and DISTRO_VERSION

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
2012-03-05 14:28:36 -08:00
Richard Purdie
69b307523c gnu-config: Only apply path transformations in the non-native/non-nativesdk case
The BUILD_ARCH != TARGET_ARCH check isn't a safe one to detect native builds
and doesn't cover the nativesdk case. This converts the recipe to use PN
instead which is more accurate and ensures the correct entries making it
into the correct packages.

(From OE-Core rev: 4a601314604e8428d9dace95c32a71a57eacaaf5)

(From OE-Core rev: 4066c7a3940df2740ad40b21e3ad517a9af20690)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:39:04 -08:00
Joshua Lock
6482c0e20d m4-native: explicitly set an empty BBCLASSEXTEND
The BBCLASSEXTEND from the included target results in an
m4-native-nativesdk which causes problems when running a
universe fetch.

(From OE-Core rev: 8bd88113ec7b962b570cdc90efa9f8b405730677)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:38:48 -08:00
Saul Wold
ac9c62c907 eds-tools: Convert from BZR to GIT Repo
(From OE-Core rev: b83e4e1aeed115a2b495e54b0122ccf76b4d2eed)

(From OE-Core rev: b6b0fe6747453b57fe8cab666727a650639c3a6e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:38:36 -08:00
Saul Wold
806c23ef2e libgpg-error: add BBCLASSEXTEND native for libgcrypts and gnutls-native
(From OE-Core rev: 3094a844f1ceb77153ac1a733623e6aca770b64b)

(From OE-Core rev: df48313f74e36c190cc2c25b6bdd98544acd2a28)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:38:22 -08:00
Saul Wold
4c496a970f libgcrypt: add BBCLASSEXTEND native for gnutls-native
(From OE-Core rev: 796b06e7bd4c336a5d256d54d1d16a1a9058144c)

(From OE-Core rev: d4803a9e6e661fe50da03ac04ab024cbe84a5541)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:38:09 -08:00
Richard Purdie
fa6eb32a5a binutils-cross-canadian: Clear BBCLASSEXTEND as a native version of this recipe makes no sense
(From OE-Core rev: 5980cd6af7b5260558cb234288a426c091b5de2a)

(From OE-Core rev: 3611bbe4eb7b851c4d2275e9507785d734651777)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:37:44 -08:00
Joshua Lock
eaec7e9624 sudo: backport patch to address CVE 2012-0809
This is a format string vulnerability "that can be used to crash
sudo or potentially allow an unauthorized user to elevate privileges."

(From OE-Core rev: 286cdd5db60b4f668e75cd9e05efb97acb08b7a6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:59:58 +00:00
Wenzong Fan
e6ea83fece task-sdk-host-nativesdk: add autotools nativesdk to meta-toolchain
Add automake-nativesdk and autoconf-nativesdk to meta-toolchain for
fixing the configure issue:
    WARNING: unrecognized options: --with-libtool-sysroot

This will allow user to run 'autoreconf' under their projects and
process the libtool m4 macros correctly.

[YOCTO #1603]

(From OE-Core rev: d1aabea25aa7ac46a7693acb52ccfe465c63f9bf)

(From OE-Core rev: 660f7ea484d503a49fc8bdf870398ae346304b05)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:56:28 +00:00
Nitin A Kamble
613e985811 autoconf: fix nativesdk rdepends
Fixes this build error:

| error: Failed dependencies:
| 	m4 is needed by autoconf-nativesdk-2.68-r4.x86_64
| 	gnu-config is needed by autoconf-nativesdk-2.68-r4.x86_64
NOTE: package meta-toolchain-1.0-r6: task do_populate_sdk: Failed
ERROR: Task 8 (.../meta/recipes-core/meta/meta-toolchain.bb,
do_populate_sdk) failed with exit code '1'

(From OE-Core rev: df8d88e864fb6bdecf5c82b25c0252c3d54157ad)

(From OE-Core rev: )

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:56:08 +00:00
Wenzong Fan
b900d54f57 autoconf: Extend to provide nativesdk recipe
As the same reason with automake, extend autoconf to provide
nativesdk recipe too.

This patch was only used for autoconf that running on target:
    * path_prog_fixes.patch: replace '@PERL@' with '@bindir@/env perl'

It's unavailable for autoconf-native and autoconf-nativesdk, so
exclude it for those two recipes.

(From OE-Core rev: a16cf1b67f6559b182e6bb31abc1371162b04428)

(From OE-Core rev: 0b30e122e40472f5f1609cd9a513e6c4d198ac35)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:55:58 +00:00
Wenzong Fan
83e5279d62 automake: Extend to provide nativesdk recipe
We will provide autotools nativesdk in meta-tookchain for reconfigure
any autotools supported projects, as a part of the plan we should extend
their recipes first.

(From OE-Core rev: 2074285e84267f9f929ed6424f35cc4b2a00c335)

(From OE-Core rev: 4450aa5f0f757a3694db6123f6afe57a833ae986)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:55:49 +00:00
Wenzong Fan
b36cde2308 m4: Extend to provide nativesdk recipe
We need to provide autoconf-natviesdk in meta-toolchain, the
m4-nativesdk is required by it.

Both extend the m4 recipes for GPLv2 and GPLv3.

(From OE-Core rev: 3e0a0db3559ee9b15a99a95dd3b0c343dca4b2ec)

(From OE-Core rev: 139f0171432eddf67039dde3bfad402cba3cc1a6)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:55:41 +00:00
Wenzong Fan
c1a2249c96 gnu-config: Extend to provide nativesdk recipe
We need to provide autoconf-natviesdk in meta-toolchain, the
gnu-config-nativesdk is required by it.

(From OE-Core rev: 5e134b60773fa948c586dae777a6e75dce29d27d)

(From OE-Core rev: 378b9b5a9c8cda30c13bb1681fa9f0b02ef95655)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-28 14:55:32 +00:00
Joshua Lock
e3afb1ebc8 linux-tools: don't build perf when GPLv3 in INCOMPATIBLE_LICENSE
As binutils is required by perf to build and is GPLv3 licensed adding
GPLv3 to INCOMPATIBLE_LICENSE will cause linux-yocto to be skipped.

Long term we should look at moving perf to a separate recipe but as a
short term solution this patch will ensure that when GPLv3 is in
INCOMPATIBLE_LICENSE perf is not built and it's dependencies are not
added to build.

Fixes [YOCTO #1879]

(From OE-Core rev: ce61f9031b54067bffa304dab90c31278631dcdf)

(From OE-Core rev: 8c1a2fa)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:39:59 +00:00
Saul Wold
686345f1d0 ed: Fix EXTRA_OECONF to ensure right compiler is found
(From OE-Core rev: b23ab297906d7241d737f7c5e81c674deca45e32)

(From OE-Core rev: f46d9423499c2474f935728df8906d8d7346dad7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:21:58 +00:00
Saul Wold
7b15a9372c ed: remove unsupported option
(From OE-Core rev: 65fa6a9039043a59a236d28aacce3c424a734158)

(From OE-Core rev: 05349e9323df0094904b6f4aa159e79124301d6e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-24 17:21:47 +00:00
Saul Wold
b52792d84d ed: Add SRC_URI Checksums for GPLv2
(From OE-Core rev: c30c89c8dc449cf7642565f2e35c7b1a922fcc33)

(From OE-Core rev: 7ad2af875e1d1c2d17d66c9e59d6bb85471ad2eb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 17:16:57 +00:00
Nitin A Kamble
a684aa1df4 site/ix86-common: fix an error
Fixed this line
ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_int=1}

as this line
ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1}

This issue was causing guile recipe to compile-fail for x86 target.

(From OE-Core rev: d71df3cc2ff2504d61078c578c0e73bbf53b6651)

(From OE-Core rev: 69ac1ad415634e125d9c366efc91353624225ad2)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23 17:16:47 +00:00
Matthew McClintock
69a3fba2aa distutils.bbclass: override LDSHARED so we use the linker for this build and not the one used in sstate-cache
Without this fix, when packages are being built using distutils and
the python packages were deployed from sstate-cache is it possible
that the LD command will contain an invalid sysroot override.

We can fix this by always exported LDSHARED, which is the env var
that distutil looks for to override creating shared libraries.

(From OE-Core rev: 3f6b859a29ba7f570b9dae3b5bb7ab4bd7b8cee4)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 17:10:17 +00:00
Jessica Zhang
c6ec5a0d9e Fix the issue that adt-installer tar ball is not regenerated if sstate is on, and other minor bug fixes
(From OE-Core rev: 61da952fdc2996c27c56234c36116a69a23a378d)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:

	meta/recipes-devtools/installer/adt-installer_1.0.bb
2012-02-10 17:10:08 +00:00
Lianhao Lu
de68393270 adt-installer: install autoconf(/automake)-nativesdk
[YOCTO #1909]
Install autoconf-nativesdk and automake-nativesdk to host.

(From OE-Core rev: 0b3842f5c3c1587d25e70bc8223e2b144b9043cb)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-10 17:10:03 +00:00
Richard Purdie
12e5797e51 fetch2/git: Add workaround for clone using alternates problem
To quote my report of this to the git mailing list:
"""

I have a problem with git clone commands using alternates failing by
mixing up different repositories. I have a situation where I could end
up with both:

/srv/mirrors/repo
/srv/mirrors/repo.git

as bare clones.

I then try cloning "repo" with alternates with the command:

$ git clone -s -n /srv/mirrors/repo /tmp/foo
Cloning into /tmp/foo...
done.

$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo.git/objects

Note how I'm now referencing repo.git, not repo. This doesn't work as
expected giving some very bizarre results when actually using the
repository.

I appreciate this is a rather bizarre corner case but its one that is
breaking the build system I work with. Ideally people would use a
consistent URL for the same repository but we have an example where they
haven't and this really shouldn't break like this.

Looking at the code, the cause seems to be

clone.c:get_repo_path():
        static char *suffix[] = { "/.git", ".git", "" };

since its looking in order for:
 repo/.git (fails)
 repo.git (suceeds, incorrect)
 repo (never looked at)

I'm not sure what would break if that order were to change, swapping the
last two options.

I can "force" the issue by running:

git clone -s -n /srv/mirrors/repo/ /tmp/foo

but this results in the slightly odd looking:

$ cat /tmp/foo/.git/objects/info/alternates

/srv/mirrors/repo//objects

which does at least work.
"""

This patch adds the trailing slash to ensure the correct repository is
referenced at the expense of some ugliness in the alternates file.

(Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:42:14 +00:00
Bruce Ashfield
6c65263f8d linux-yocto: bump kver to v3.0.18
Updating the kernel SRCREVs to pickup the stable 3.0.18 release.

(From OE-Core rev: b1a4d1a912af39dc3be7433a1e2ed4c48d5ffb93)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:49:49 +00:00
Joshua Lock
32f0a45c33 multilib.conf: add missing entry for shadow-sysroot
(From OE-Core rev: 31aff4c3db9ce985313ff9b4fc7fbe8015973749)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:49:48 +00:00
Jean-François Dagenais
726f3bce5a buildstats: tolerate absence of /proc/diskstats
In OpenVZ containers (and probably lx containers as well),
the diskstats entry is not even present. Use the "NoLogicalDrive"
introduced by Elizabeth Flanagan in such case.

This allows the bitbaking to occure within such containers.

(From OE-Core rev: 16e09b850dcb44cb1afe411439e40a4bae7e8002)

(From OE-Core rev: 84bd443d82d8022027180b6ef1f7b7cfc7d06420)

Signed-off-by: Jean-François Dagenais <jeff.dagenais@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:49:48 +00:00
Saul Wold
75f253d7d2 openssl-0.9.8: Update to 0.9.8s
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4108

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4109

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4576

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4577

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4619

[YOCTO #1904]

(From OE-Core rev: 980ba5e77438c3a22c295f56ffb71f1d290db50a)

(From OE-Core rev: 3e93af369d70d20a53bd7849a62b177b910e6a36)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:49:48 +00:00
Wolfgang Denk
a5c04850e6 clutter-1.6: make build for armv4t
GCC will define __ARM_ARCH_4T__ when building with "-march=armv4t" so
we can check this to turn off the use of 'clz' instructions, which
otherwise would cause compile errors like "selected processor does
not support ARM mode `clz r3,r0'".

(From OE-Core rev: 6859e3fc34269620146d26eeecc9b93c3a9d7055)

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:51 +00:00
Joshua Lock
cef4500611 linux-tools: add binutils to perf DEPENDS
We have witnessed non-deterministic failures of perf for some platforms
whilst looking for bfd.h, a header provided by binutils.

(From OE-Core rev: ab56f27d96cbd2c79ca16d12333687ca9720934c)

(From OE-Core rev: eb014a992e0f3e6ddb4eee8e1287d28ac2f09e00)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:51 +00:00
Saul Wold
df2da07184 intltool: remove XML::Parser check
Add Patch to disable the XML::Parser check in the target
intltool.m4, this check will find the host (not native)
XML::Parser if it's installed possibly causing Host
contamination, but will also fail configuration if XML::Parser
is not installed on the host.

Since we know that XML::Parser is installed on the image, we don't
really need this check, so comment it out.

From RP in mail thread:
> If the recipe needs perl for
> some other reason than intltool, it needs perlnative but it if only
> needs perl for intltool, we shouldn't need the dependency. The .m4 macro
> checks are well intended but don't fit the way we use perl. I really
> don't want to end up in a position where intltool automatically means we
> have to add perlnative as a dependency and we've previously seen many
> problems related to that.

(From OE-Core rev: 264fb6c5a4875cd8969a24a9f0301ed916ab827b)

(From OE-Core rev: 085c76298891dc0b0e2207ef929569672c9cb254)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:51 +00:00
Matthew McClintock
77912d65c7 rpm_5.4.0.bb: Build rpm without xz
This fixes the following issue:

Log data follows:
| NOTE: Creating RPM package for perf-dbg
| NOTE: Creating RPM package for perf
| NOTE: Creating EMPTY RPM Package for kernel
| NOTE: Creating EMPTY RPM Package for kernel-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-image-3.0.9-00348-gec4b357
| NOTE: Creating RPM package for kernel-dev
| NOTE: Creating RPM package for kernel-vmlinux
| NOTE: Not creating empty RPM package for kernel-misc
| NOTE: Creating RPM package for kernel-devicetree
| NOTE: Creating RPM package for kernel-module-libcrc32c
| NOTE: Creating RPM package for kernel-module-crc-itu-t
| NOTE: Creating RPM package for kernel-module-sctp
| NOTE: Creating RPM package for kernel-module-pcbc
| NOTE: Creating RPM package for kernel-module-crc32c
| NOTE: Creating RPM package for kernel-module-binfmt-misc
| NOTE: Creating RPM package for kernel-module-nfsd
| NOTE: Creating RPM package for kernel-module-exportfs
| NOTE: Creating RPM package for kernel-module-msdos
| NOTE: Creating RPM package for kernel-module-nls-utf8
| NOTE: Creating RPM package for kernel-module-udf
| NOTE: Creating RPM package for kernel-module-isofs
| NOTE: Creating RPM package for kernel-module-usbhid
| NOTE: Creating RPM package for kernel-module-scsi-wait-scan
| NOTE: Creating EMPTY RPM Package for kernel-modules
| /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/sysroots/x86_64-linux/usr/bin/rpmbuild.real: error while loading shared libraries: liblzma.so.5: cannot open shared object file: No such file or directory
| ERROR: Function 'BUILDSPEC' failed (see /local/home/mattsm/git/fsl-local-sdk/build_p4080ds_release/tmp/work/p4080ds-fsl-linux/linux-qoriq-sdk-3.0.6-r2/temp/log.do_package_write_rpm.18943 for further information)

(From OE-Core rev: 1f55b31bdc8cf1da04ef29f4e44c1be6c0286ee2)

(From OE-Core rev: 3b0239ab2c36d7227ec4e81d2aaf93c273cdc292)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Saul Wold
878425f147 coreutils: ensure --color works so DEPEND on libcap
[YOCTO #1860]

(From OE-Core rev: 6abf6054ac5a464cfa6f1040bb166765558a1eb8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Richard Purdie
fa9ad15e41 which: Disable iberty since its not listed in DEPENDS
(From OE-Core rev: 4d6420d0aa1d6e8aecc8ec0526144f9c4396a822)

(From OE-Core rev: 778330071bcab83baff8ec8f22367f5dd0a71d35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Nitin A Kamble
961f75d11b site/x86_64-linux: add cvs config variables
configure of cvs packages was failing on the meta-toolchain for a x86_64 target.

Configure error reported:
checking whether printf supports %p... configure: error: cannot run test program while cross compiling

This fixes [YOCTO #1781]

(From OE-Core rev: 061818adbea1af9e98fe0fdf81b21f1e7f210c00)

(From OE-Core rev: 5e0e0cf5b9d380120187d368683e9f95c1b8f6d1)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Matthew McClintock
60c5ef3508 Nothing uses USERNAME, remove it - can cause sstate-cache conflicts
USER is the correct variable to use, also this can affect sstate
cache as well.

(From OE-Core rev: 898bf0294d01172b0990d218ecc5fecdba962711)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Matthew McClintock
e5e7a913c2 Remove EGLIBPARALLELISM from deps for EXTRA_OEMAKE
Without this simply changing the number of threads via
PARALLEL_MAKE can invalidate sstate-cache

(From OE-Core rev: b2411e12f9ea32012af20ecee1e09d95db129b75)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:50 +00:00
Richard Purdie
165e39a0bb bitbake.conf Exclude MACHINE from MACHINEOVERRIDE variable dependencies
(From OE-Core rev: 362512b83775ad7020e5870a594f0e7ca9ef83ba)

(From OE-Core rev: 3ef7e82a8b0121e2b7200179176e39ef4315971d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:49 +00:00
Khem Raj
09d5966e46 gcc-4.6: Fix gcc ICE on qt4-x11-free/armv7-a
Backport fix for PR 47551 fixes the ICE seen on armv7-a/qt4-x11-free
Bump up SRCREV past gcc 4.6.2 release

(From OE-Core rev: dd2fdf9f5a3923c37e4ea2e46e347bb0657c2f5b)

(From OE-Core rev: 320f6b71e502d65421a01a2f280c9e2c8f046619)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:49 +00:00
Richard Purdie
0bd433ebf5 opkg: Fix installation order in feeds with mutiple providers of packages
If two packages were available of differing priority, this would confuse
opkg and it was ignoring the dependency in the new dependency ordering
code. This changes it not to ignore these cases by setting the badly
named 'quiet' parameter accordingly.

(From OE-Core rev: c38693f78c968ab5f4bb557c20d1c8c55393ed6b)

(From OE-Core rev: 4c75318b75c4776cc469cc2c6511596bc7befbb4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:49 +00:00
Richard Purdie
c2e003ecd5 populate_*.bbclass: Correct INSTALL variable name after recent multilib changes
(From OE-Core rev: 379c77d1516fe8fdbd1cd7063f709b5266872b03)

(From OE-Core rev: a300e9e45f4570f0aa47fb3fabcee95433ffad99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:49 +00:00
Richard Purdie
9f51e226dc populate_*.bbclass: Drop pointless fakeroot attribute (fakeroot is at the task level)
(From OE-Core rev: 2cac20439d4eb0b3a21ce37e2fa670941e6356c4)

(From OE-Core rev: f070a2bf7e689345ea6d9386f7298bf5d36d576f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:48 +00:00
Richard Purdie
681499ebfe scripts/runqemu-ifup: Ensure netmask is set correctly
Without this the command will add a route for the subnet 192.168.7.0 which
means multiple qemu instances can't operate correctly since all but the last
one will be masked out.

(From OE-Core rev: 9e00d6b343120496ec0dd72240c7b04e0a8b7eaa)

(From OE-Core rev: f5bcd56dcca7daad6aa6b4371d4e331d8ffd11eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:48 +00:00
Richard Purdie
5d96094939 opkg: Drop the offlineroot_varname patch
This break things for on target opkg usage since $D must remain
unset there.

(From OE-Core rev: 746ae269a475857ae57095b1fd164fe195b3d051)

(From OE-Core rev: aa632292cc55b997a5b808b6c4a70ce33a3b9e7e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:48 +00:00
Richard Purdie
10d9e0805e opkg: Add logic to detect and creak circular dependencies
This addresses some of the concerns about the previous opkg changes
allowing it to break out of circular dependency loops with just a notice
in the logs rather than effectively going OOM.

(From OE-Core rev: 5a2b67b8faad3dd5417ba89d8e82ca564753ccc9)

(From OE-Core rev: 29f77f865434cc956e6bbccaee81ff458492ec46)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:48 +00:00
Richard Purdie
c1c6613ddd opkg: Update svn 625 -> 633 and fix preinst issues
There is a major issue with opkg images at the moment as preinst
functions are not being executed before their dependencies are installed
and this is leading to corruption of images containing avahi/dbus in
particular.

There are various changes in upstream opkg in the last 8 revisions which
make changes in this area but sadly these aren't enough to get things
working for us. I've updated to the latest svn revision with this patch
since it makes sense to pull in those changes first and then supplement
them with the attached patches.

There is a full description of the patches in the patch headers but in
summary they:

a) Ensure preinst functions execute with their dependencies installed.
   This is a pretty invasive change as it changes the package install
   ordering in general.
b) Ensure opkg sets $D, not $PKG_ROOT which we don't use
c) Change opkg to allow execution of postinstall functions which fail
   resulting in execution on the target device as rootfs_ipk.bbclass
   currently does manually.

The remaining changes interface this with the rest of the OE build
infrastructure, adding in the option to tell opkg to run the preinst and
postinst functions, ensure the correct environment is present for the
postinst scripts and removing the now unneeded rootfs_ipk class code
which opkg now does itself.

[YOCTO #1711]

(From OE-Core rev: 2feba313c991170747381c7cf821a45c2cd04632)

(From OE-Core rev: b7e2eff8c18bc59605fb711ac4540985c71f155a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:48 +00:00
Richard Purdie
5db4eaac2d update-alternatives: Various fixes
dpkg-native's update-alternatives is broken for offline work so
don't install it.

Also list update-alternatives in the multiprovider whitelist to
avoid unwanted multiple provider warnings when multiple package
backends are enabled.

(From OE-Core rev: 300336fc4a310ed16a14ad041744708d54aae189)

(From OE-Core rev: c90b1faa34e908c7f63e1a64027873858e6d7e8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:47 +00:00
Richard Purdie
f99f36f637 package_rpm: Set _tmppath to avoid races over tmp files
Occasionally we keep seeing "unable to open temp file" messages during
do_package_write_rpm tasks. This appears to happen when multiple
processes are writing rpm files and is likely due to using the
shared system temp directory. This patch changes the tmp path
to the package work directory meaning conflicts should become
a non-issue.

(From OE-Core rev: b2ef543284c8c8d0d3badb2e1bcadad1106982d2)

(From OE-Core rev: 018442ed2cd251f85212dfa1d03c0b24a0750bfa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:47 +00:00
Jiajun Xu
7705d9a8cc sanitytest: remove rpm/zypper tests if PACKAGE_CLASSES does not set package_rpm
If PACKAGE_CLASSES does not set package_rpm as the first item, the root filesystem
will not be generated based on rpm. We need remove rpm/zypper tests against
non-rpm filesystem.

[YOCTO #1757]

(From OE-Core rev: 43adb8dcf4461b68a7ce0ba9d8acdb2012a70416)

(From OE-Core rev: f541517be97e27951157e1dd10256e132c31ab1f)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:47 +00:00
Richard Purdie
bcec98bf1c package.bbclass: Ensure paths to rpmmarcos and rpmpopt are set
If rpm-native was built in an alternative location, it may not relocate correctly
unless the rpmpopt and macros paths are explicitly specified.

This fixes errors seen on the Yocto autobuilder where pkgconfig
"provides" entries could disappear leading to image dependency failures.

(From OE-Core rev: fb01bd81197057e62106aac966f9ebc4c5054f97)

(From OE-Core rev: 15f50ab3ee454dc3510801d61bb09bf37d78d1af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:47 +00:00
Matthew McClintock
0d9809c4ec populate_sdk.bbclass: remap packages when generating sdk tarball
This fixes the issue below:

| Generating solve db for /local/home/mattsm/git/poky/build_p4080ds_release/tmp/deploy/rpm/all...
|    total:               1      0.000000 MB      0.093784 secs
|    fingerprint:         9      0.000012 MB      0.000252 secs
|    install:             3      0.000000 MB      0.039092 secs
|    dbadd:               3      0.000000 MB      0.034837 secs
|    dbget:              12      0.000000 MB      0.000062 secs
|    dbput:               3      0.009532 MB      0.002731 secs
|    readhdr:            31      0.019160 MB      0.000084 secs
|    hdrload:            15      0.027924 MB      0.000116 secs
|    hdrget:            494      0.000000 MB      0.000691 secs
| Processing task-core-standalone-sdk-target...
| Processing glib-2.0...
| Unable to find package glib-2.0 (glib-2.0)!
| ERROR: Function 'do_populate_sdk' failed (see /local/home/mattsm/git/poky/build_p4080ds_release/tmp/work/ppce500mc-fsl-linux/fsl-toolchain-1.0-r6/temp/log.do_populate_sdk.16975 for further information)

If you have:

TOOLCHAIN_TARGET_TASK += "glib-2.0"

The package name was not getting remapped correctly for the do_populate_sdk
case.

(From OE-Core rev: 0b803ac3627c238aa7d19a23b7621f55779f2557)

(From OE-Core rev: e1a07a5fcba93b3ab127c7c6588cab5799a5df45)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:46 +00:00
Saul Wold
dcf64630f8 bitbake.conf: remove texinfo-native from ASSUME_PROVIDED
We need to build texinfo-native to get and install the makedoc tool

[YOCTO #1664]

(From OE-Core rev: 8899f4840787ef043d952f8ea2ce5d78e5cc41ab)

(From OE-Core rev: 8e802c0ed491967cd254dce1555a960382a79247)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:46 +00:00
Saul Wold
fa610f7f20 texinfo: fix compile failure due target makedoc binary being used
Need to have the texinfo-native build and install a host sysroot makedoc
binary and then patch the target build to use this binary. This requires
that we don't ASSUME_PROVIDED texinfo-native any longer since we need to
install this makedoc tool which is not part of the normal distrubtion.

[YOCTO #1664]

(From OE-Core rev: 9fa98de54a73465f06484ba863eccf1e07cc1e2a)

(From OE-Core rev: 007bbb23808cc5b036829915e3dfa04f590a05d8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:46 +00:00
Paul Eggleton
d97ad36d90 qemu: for native, do not fail if kvm is unavailable
When building qemu-native, if the linux kvm header is unavailable (as
it is on CentOS 5.x 32-bit) then do not pass the --enable-kvm switch to
the configure script, thus avoiding failed do_configure.

(From OE-Core rev: 8c21c71f005b601f58925e9912f2cf44127e291d)

(From OE-Core rev: 44d9e208c97ec1e3c5ba0a8dc6c10cef12dc270d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:46 +00:00
Paul Eggleton
de7377a170 scripts/bitbake: add a version >= 2.6 check
Unfortunately we now have code in BitBake which is parsed before the
current version check and is incompatible with Python < 2.6. Rather than
fixing this and being eternally vigilant for >= 2.6 feature usage, just
add a version check to the wrapper script.

(From OE-Core rev: 9b8a48efa3b80fea34efa51de44d10ff2b1e3193)

(From OE-Core rev: c3ba7e8f7aca8b49739b3b92aec723c5f3375bc0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:45 +00:00
Paul Eggleton
c471ec56b4 scripts/runqemu: show an error if /dev/net/tun is unusable
If /dev/net/tun is either not present or is not writable by the
user, then show an appropriate error message. (QEMU needs access to this
device in order to enable networking; it may be missing if it is not
enabled or loaded into the kernel, and some distributions such as CentOS
5.x set restrictive permissions upon it.)

(From OE-Core rev: a00b94900d437828f25debce1c30ffcc0bbf29e9)

(From OE-Core rev: b66fa6238a8f9c0972a60932941997517826ff03)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:45 +00:00
Mei Lei
9d55534cc7 rpm: Flush old logs by change the DB_CONFIG
Fixes [YOCTO #1174]

Rpm logs will grow indefinitely, so change the config to flush those old logs.

(From OE-Core rev: e2c4dff079722f256ddcab9630b5b3f8f6421cc9)

(From OE-Core rev: f235c7a320c401fea70a578186c5cf80dd597fcd)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:45 +00:00
Richard Purdie
54f4e9b66c package.bbclass: Ensure we tell rpmdeps where to find its magic file
Without this, if rpmddeps came from a sstate package which was relocated
it might not find its magic file and if that happens, requires/provides
in packages could get corrupted. This leads to failures at rootfs time
during builds with messages like:

libdbus-1.so.3 is needed by libdbus-glib-1-2-0.92-r1.armv5te

since the provides would be missing in the dbus package.

(From OE-Core rev: abe2a948905a997314c61a8fcd35e2b42a3f4408)

(From OE-Core rev: 5ee145ebbb32824e3870b6dd689ce2b3f9bf3f17)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:45 +00:00
Zhai Edwin
3e783002b3 matchbox-wm: Fix variable type in _NET_WORKAREA setting
According to XChangeProperty doc, array of "long" should be used when format is
32. Wrong _NET_WORKAREA parameter caused blank screen in matchbox-desktop on 64
bit platform.

[YOCTO #1689] got fixed.

(From OE-Core rev: 381c7857a5b303bf9eadd7fffc39d17a2b8e31f2)

(From OE-Core rev: 869601da9aa43d77564c37d291d9072b9896d3e6)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:44 +00:00
Martin Jansa
935678cbe1 bitbake.conf: add default PRINC 0 to be able to increment it
(From OE-Core rev: 656793c706d84460f397b10ceb23ebb721ed3960)

(From OE-Core rev: 32f0ad32d901ae5a97d912d8d36d4d9a2b502919)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:44 +00:00
Matthew McClintock
ee75b5020b openjade-native_1.3.2.bb: remove CONFIGUREOPTS as vardep for do_configure
This variable was being expanded immediately and pulling in
paths to the variable dependecies which causes it's sstate-cache
to never be reused

(From OE-Core rev: ddb8d3de34f809b9c72eb3a2223a74f75eff7911)

(From OE-Core rev: 8f616810b868a30fc01550c017f9fc14220ae7d8)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:44 +00:00
Richard Purdie
5f21a24580 dpkg-native: Fix perl path
The path to the native perl was incorrect leading to rootfs failures. This
patch corrects that problem.

(From OE-Core rev: 044324465bd54d53ae768f3c1e7468ae0e0c6200)

(From OE-Core rev: 8fa40eb1c2a32782b8a74bee70fa81b2c3e5cbaf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:44 +00:00
Richard Purdie
100002e4c6 bitbake.conf: We only care about the absolute value of baselib
The value of baselib can be constructed in several different ways
and from a sstate perspective we don't care how it was made up,
we only care what the final value is. This uses the new functionality
in bitbake to ensure we only include the value of baselib and not
any intermediate dependencies.

[YOCTO #1583]

(From OE-Core rev: c38567894ebc31ac977f2bc89a076d0380bddcf8)

(From OE-Core rev: 8b70cfe7a1768b8bf1e5b7e390276518e16f14af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:44 +00:00
Richard Purdie
71824019fb eglibc-initial: Ensure symlinks point to the correct location when built from sstate cache
If the sstate files are installed into a sysroot from the sstate cache,
the directory to the main sysroot can change and the symlinks aren't
adjusted to account for this. This is a problem specific to the toolchain
bootstrap process. This patch adds up a function to recreate the
symlinks, hence ensuring they always point at the correct location.

(From OE-Core rev: ad0baa7d2f33a865011e0c6afe29f22aa1beea32)

(From OE-Core rev: bc8a384c49c60feab9d01f8277e92ac0603c8f93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:43 +00:00
Matthew McClintock
3400b3d2df patch.bbclass: Add PATCHRESOLVE to excluded vars for generating sstate-cache
The method of resolving the patch should not effect the sstate-cache
signature.

(From OE-Core rev: b64cbe0b511de8d8943ce34cbb4901239d9f0cb0)

(From OE-Core rev: 896bd7d1442dcd3f080dc741a72f50ab95d7c38f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:43 +00:00
Richard Purdie
745d83f968 sstate.bbclass: Ensure we expand stamp-extra-info
Without this change we can end up looking for <stamp>.${MACHINE}
instead of the expected expanded value.

(From OE-Core rev: 9f743b5033177216fe0e1d3e43ba831f356df08e)

(From OE-Core rev: de9f47b09d5434642ba925182ae21a8e77e7e429)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:43 +00:00
Richard Purdie
340a680de2 sstate: No need to spew out a debug message per file, summarise instead
(From OE-Core rev: c7b02c6e80819e30a0818282ab8d960243a2d0e8)

(From OE-Core rev: 6df929c8b58daa19423e5994bbf8bb68c912707f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:43 +00:00
Matthew McClintock
3048bd79b3 sudo_1.8.1p2.bb: Pull patch from upstream to fix parallel build issue
(From OE-Core rev: 255588da1834b45325cf6677906aef2687a3b5f6)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:42 +00:00
Michael Brown
ef37926f31 gcc-4.6: fix toolchain build for SH4
(From OE-Core rev: da7bf75bcdd5759a0f551dcb7a0326aa2f40921c)

(From OE-Core rev: 3c9fd383965f883129cf35d0e307d3bbbd5d4908)

Signed-off-by: Michael Brown <Michael_E_Brown@dell.com>

Port patch from base openembedded. Since 4.6 already has fixes for config.gcc,
the fix only requires a one line change to gcc-cross4.inc.

The patch was imported from the OpenEmbedded git server
(git://git.openembedded.org/openembedded) as of commit id
3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.

gcc-4.5: Fix toolchain builds for SH4/SH3

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:42 +00:00
Richard Purdie
4c30bcfbfe libconvert-asn1-perl/libtimedate-perl: Convert to use allarch
Both these recipes generate architecture independent packages.
They can safely use the allarch class to ensure they really
are indepentent from the target compiler and so forth and
hence ensure sstate packages with good dependencies.

[YOCTO #1075]

(From OE-Core rev: 2856d3f6aca0c20acd40f7f8970ec8590e4889a8)

(From OE-Core rev: 676a5c44fb621ae428f8ac1fc466469914cbc864)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:42 +00:00
Phil Blundell
709ad80662 libnss-mdns: avoid race condition in postinst
Writing to "/tmp/nsswitch.conf" leads to a race condition if two
copies of the postinst are running simultaneously.  Fix this by
modifying /etc/nsswitch.conf in place using sed -i.  Also make the
same change to the prerm for consistency although the race will not
occur here in practice.

(From OE-Core rev: 689884653938b98899fb3ba791221fdbe2f40e7f)

(From OE-Core rev: 2a2741c12196c34c5e6127488a8eeec7118b2952)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:42 +00:00
Martin Jansa
08a834a08a alsa-lib: use PKGSUFFIX for every package to resolve multiple runtime providers from target and nativesdk
(From OE-Core rev: 60738953f6fee24de447cd0f9cf81cce6f8966a5)

(From OE-Core rev: 4c2a9e410c46fbf52f3d64767baf06c7146d001e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:41 +00:00
Martin Jansa
6c3dd24e59 webkit-gtk: force arm mode to work around binutils segfault
* this is just work around, would be better to fix in toolchain

(From OE-Core rev: 2df59dad90f31aa48113ad8afe1af084b71a6a2c)

(From OE-Core rev: 3648cf8f02601ac57787f81cb199677434970b34)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:41 +00:00
Martin Jansa
66d6c031b0 aspell: force ARM mode
* this is just work around for ICE, better fix would be to fix gcc
| ./common/fstream.hpp:23:9: note: the mangling of 'va_list' has changed in GCC 4.4
| modules/speller/default/typo_editdist.cpp: In function 'short int aspeller::typo_edit_distance(acommon::ParmString, acommon::ParmString, const aspeller::TypoEditDistanceInfo&)':
| modules/speller/default/typo_editdist.cpp:77:3: internal compiler error: in gen_thumb_movhi_clobber, at config/arm/arm.md:5937
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://gcc.gnu.org/bugs.html> for instructions.
| make[1]: *** [modules/speller/default/typo_editdist.lo] Error 1
| make[1]: *** Waiting for unfinished jobs....
| make[1]: Leaving directory `/OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/aspell-0.60.6.1-r0/aspell-0.60.6.1'

(From OE-Core rev: eff532ea13a270c0e4ffaf4ab059403d612a3197)

(From OE-Core rev: 9fa76ebe080ec729af429cf2a77b4aba814c2b61)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:41 +00:00
Martin Jansa
957882caef pulseaudio-0.9.23: force ARM mode
* this is just work around, should be tested again after upgrade to
  pulseaudio-1.1
* otherwise build for armv4t (om-gta02) fails with this:
| /bin/sh ../arm-oe-linux-gnueabi-libtool  --tag=CC   --mode=compile
arm-oe-linux-gnueabi-gcc  -march=armv4t -mthumb -mthumb-interwork
-mtune=arm920t --sysroot=/OE/shr-core/tmp/sysroots/om-gta02 -std=gnu99
-DHAVE_CONFIG_H -I. -I..    -I../src -I../src -I../src/modules
-I../src/modules -I../src/modules/rtp -I../src/modules/rtp
-I../src/modules/gconf -I../src/modules/gconf -I../src/modules/bluetooth
-I../src/modules/bluetooth -I../src/modules/oss -I../src/modules/oss
-I../src/modules/alsa -I../src/modules/alsa -I../src/modules/raop
-I../src/modules/raop -I../src/modules/x11 -I../src/modules/x11
-I../src/modules/jack -I../src/modules/jack -I../src/modules/echo-cancel
-I../src/modules/echo-cancel -pthread -D_POSIX_PTHREAD_SEMANTICS
-DPA_BUILDDIR=\"/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src\"
-DPA_DLSEARCHPATH=\"/usr/lib/pulse-0.9.23/modules\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\"
-DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\"
-DPA_SYSTEM_CONFIG_PATH=\"/var/lib/pulse\"
-DPA_SYSTEM_STATE_PATH=\"/var/lib/pulse\" -DAO_REQUIRE_CAS
-DPULSE_LOCALEDIR=\"/usr/share/locale\"
-DPA_MACHINE_ID=\"/var/lib/dbus/machine-id\"
-DPA_ALSA_PATHS_DIR=\"/usr/share/pulseaudio/alsa-mixer/paths\"
-DPA_ALSA_PROFILE_SETS_DIR=\"/usr/share/pulseaudio/alsa-mixer/profile-sets\"
-O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wextra -pipe
-Wno-long-long -Winline -Wvla -Wno-overlength-strings
-Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
-Wsign-compare -Wformat-security -Wmissing-include-dirs
-Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
-Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -c -o
libbluetooth_sbc_la-sbc.lo `test -f 'modules/bluetooth/sbc.c' || echo
'./'`modules/bluetooth/sbc.ci

| arm-oe-linux-gnueabi-libtool: compile:  arm-oe-linux-gnueabi-gcc
-march=armv4t -mthumb -mthumb-interwork -mtune=arm920t
--sysroot=/OE/shr-core/tmp/sysroots/om-gta02 -std=gnu99 -DHAVE_CONFIG_H
-I. -I.. -I../src -I../src -I../src/modules -I../src/modules
-I../src/modules/rtp -I../src/modules/rtp -I../src/modules/gconf
-I../src/modules/gconf -I../src/modules/bluetooth
-I../src/modules/bluetooth -I../src/modules/oss -I../src/modules/oss
-I../src/modules/alsa -I../src/modules/alsa -I../src/modules/raop
-I../src/modules/raop -I../src/modules/x11 -I../src/modules/x11
-I../src/modules/jack -I../src/modules/jack -I../src/modules/echo-cancel
-I../src/modules/echo-cancel -pthread -D_POSIX_PTHREAD_SEMANTICS
-DPA_BUILDDIR=\"/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src\"
-DPA_DLSEARCHPATH=\"/usr/lib/pulse-0.9.23/modules\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\"
-DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\"
-DPA_SYSTEM_CONFIG_PATH=\"/var/lib/pulse\"
-DPA_SYSTEM_STATE_PATH=\"/var/lib/pulse\" -DAO_REQUIRE_CAS
-DPULSE_LOCALEDIR=\"/usr/share/locale\"
-DPA_MACHINE_ID=\"/var/lib/dbus/machine-id\"
-DPA_ALSA_PATHS_DIR=\"/usr/share/pulseaudio/alsa-mixer/paths\"
-DPA_ALSA_PROFILE_SETS_DIR=\"/usr/share/pulseaudio/alsa-mixer/profile-sets\"
-O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wextra -pipe
-Wno-long-long -Winline -Wvla -Wno-overlength-strings
-Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op
-Wsign-compare -Wformat-security -Wmissing-include-dirs
-Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self
-Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes
-Wstrict-prototypes -Wredundant-decls -Wmissing-declarations
-Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align
-Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math
-Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option -c

modules/bluetooth/sbc.c  -fPIC -DPIC -o .libs/libbluetooth_sbc_la-sbc.oi
| modules/bluetooth/sbc.c: In function 'sbc_synthesize_four':
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:553:18: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:565:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c: In function 'sbc_synthesize_eight':
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:595:29: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: declaration of 'tmp' shadows a previous local [-Wshadow]
| modules/bluetooth/sbc.c:611:40: warning: shadowed declaration is here [-Wshadow]
| {standard input}: Assembler messages:
| {standard input}:6997: Error: selected processor does not support Thumb mode `mla r3,r0,ip,r3'
| {standard input}:7012: Error: selected processor does not support Thumb mode `mla r3,r1,ip,r3'
| {standard input}:7026: Error: selected processor does not support Thumb mode `mla r3,ip,r0,r3'
| {standard input}:7215: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7230: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7241: Error: selected processor does not support Thumb mode `mla r3,r0,r7,r3'
| {standard input}:7256: Error: selected processor does not support Thumb mode `mla r3,r0,r7,r3'
| {standard input}:7267: Error: selected processor does not support Thumb mode `mla r3,r7,r0,r3'
| {standard input}:7287: Error: selected processor does not support Thumb mode `mla r3,r7,r6,r3'
| {standard input}:7301: Error: selected processor does not support Thumb mode `mla r3,r6,r5,r3'
| {standard input}:7319: Error: selected processor does not support Thumb mode `mla r3,r0,r5,r3'
| {standard input}:7327: Error: selected processor does not support Thumb mode `mla r3,r1,r0,r3'
| {standard input}:7594: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7604: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7614: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7624: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7634: Error: selected processor does not support Thumb mode `mla r3,r5,r6,r3'
| {standard input}:7647: Error: selected processor does not support Thumb mode `mla r3,r2,r5,r3'
| {standard input}:7657: Error: selected processor does not support Thumb mode `mla r3,r2,r5,r3'
| {standard input}:7815: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7837: Error: selected processor does not support Thumb mode `mla r3,r9,r0,r3'
| {standard input}:7853: Error: selected processor does not support Thumb mode `mla r3,r9,r0,r3'
| {standard input}:7875: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7891: Error: selected processor does not support Thumb mode `mla r3,r9,r7,r3'
| {standard input}:7908: Error: selected processor does not support Thumb mode `mla r3,r0,r6,r3'
| {standard input}:7931: Error: selected processor does not support Thumb mode `mla r3,r6,r5,r3'
| {standard input}:7952: Error: selected processor does not support Thumb mode `mla r3,r0,r5,r3'
| {standard input}:7960: Error: selected processor does not support Thumb mode `mla r3,r2,r0,r3'
| make[4]: *** [libbluetooth_sbc_la-sbc.lo] Error 1
| make[4]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[3]: *** [all-recursive] Error 1
| make[3]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23/src'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/pulseaudio-0.9.23'
| make: *** [all] Error 2
| + die 'oe_runmake failed'
| + bbfatal 'oe_runmake failed'
| + echo 'ERROR: oe_runmake failed'
| ERROR: oe_runmake failed
| + exit 1
| ERROR: Function 'do_compile' failed (see /OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/pulseaudio-0.9.23-r6/temp/log.do_compile.3404 for further information)

(From OE-Core rev: 31a20d50124344dc708ade282677b2c7dda171b0)

(From OE-Core rev: 4eaf22dc67c3de9025bae3f24837f569aba91fff)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:41 +00:00
Khem Raj
8781450256 pulseaudio: inherit perlnative
manpage generatition uses xmltoman utility
which inturn uses xml-parser. So we add
libxml-parser-perl-native to DEPENDS and also
inherit perlnative so it does not use the one
from build host

(From OE-Core rev: 51f6a683ec1d740adf09d808671c7098dc3f83e2)

(From OE-Core rev: 1c5cdc8ee9edeafe86ef0fd955ee067ab67c7aa9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:41 +00:00
Martin Jansa
9d23f215a0 libatomics-ops: force ARM mode
* otherwise ie spitz (armv5te) build fails with:
| make[3]: Entering directory `/OE/shr-core/tmp/work/armv5te-oe-linux-gnueabi/libatomics-ops-1.2-r5/libatomic_ops-1.2/src'
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops.c
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops_stack.c
| arm-oe-linux-gnueabi-gcc  -march=armv5te  -mthumb -mthumb-interwork  -mtune=xscale --sysroot=/OE/shr-core/tmp/sysroots/spitz -DHAVE_CONFIG_H -I.    -fPIC -O
2 -pipe -g -feliminate-unused-debug-types -DNDEBUG -c atomic_ops_malloc.c
| atomic_ops_malloc.c: In function 'msb':
| atomic_ops_malloc.c:223:2: warning: right shift count >= width of type [enabled by default]
| rm -f libatomic_ops_gpl.a
| ar cru libatomic_ops_gpl.a atomic_ops_stack.o atomic_ops_malloc.o
| arm-oe-linux-gnueabi-ranlib libatomic_ops_gpl.a
| {standard input}: Assembler messages:
| {standard input}:286: Error: selected processor does not support Thumb mode `swp r1,r2,[r3]'
| {standard input}:329: Error: selected processor does not support Thumb mode `swp r0,r1,[r3]'

* this is just work around, proper fix proposed by Henning Heinold
  hm we should think of reworking this recipe now. Because since gcc 4.5
  pulseaudio for arm can use the gcc internal atomicstuff and in oe-core
  and meta-oe we have 4.5 or 4.6 only. The lib is
  only needed for mips and it is still the old release, on cvs
  is a much better version, which supports thumb too, if
  remember correctly.

(From OE-Core rev: 2d34fc0ce21fe06ff97208c8ffb65a718b444de9)

(From OE-Core rev: 6b403ff01863cf3788b696a2b45e56cfaca56512)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:40 +00:00
Richard Purdie
2c1a0b7d32 dpkg/update-alternatives: Fix dpkg version of update-alternatives to be usable
The version of dpkg the updates-alternatives-dpkg recipe pointed
at no longer used a perl script but a compiled binary. This meant
the "all" architecture field was invalid, as as the sed operation
during do_patch. All things considered the separate recipe was
pretty pointless.

This patch moves update-alternatives back to being built as part
of the dpkg recipe. It also moves various functionalty to the .inc
file which it belongs and fixes building and packaging of the dpkg
perl modules.

(From OE-Core rev: fad496c759066d53bebf9b8cebc63e6478c91d19)

(From OE-Core rev: 467af9ae45ce54d6e50041d5134af889ac7cf4d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:40 +00:00
Richard Purdie
9e52c53a5d base-passwd: Move update-passwd into a separate package
update-passwd is the only user of the passwd/group.master files
and was never used by OE since it wasn't run.

This patch packages this separately and adds an appropriate postinst
to make the package useful so people can include it as they wish.

(From OE-Core rev: 77ab0f09546c5f6217a8e2f1bc30cf3d4306e3fa)

(From OE-Core rev: c26d37b65e0ad69a36e799c56f3c4426ea18f17e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:40 +00:00
Richard Purdie
f812a2c912 base-passwd: Fix the broken preinst/postinstall
The preinst accesses file which may not yet have been unpacked.
The postinst is too late for the creation of these files
for at least the opkg backend.

This patch therefore encodes the file contents into the preinst,
resolving the various issues once and for all.

(From OE-Core rev: fc708d88f97e40a5bf929e4e02ed805fb3684ffe)

(From OE-Core rev: 0f4156c0735e28812c3f8ab27075d3de5360badb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:40 +00:00
Richard Purdie
d3c848094f opkg: Ensure we use the uname/gname fields when extracting tarballs
When extracting packages onto the target system in particular, we
really want to ensure the name fields in the tarball are used over
and above the numerical uid/gid values. This patch adds this
functionality to opkg and ensures package upgrades work correctly
permission wise.

(From OE-Core rev: f2316ff39670ed99382411e15ac035550360fbdd)

(From OE-Core rev: 56800b9906cf228331083256664407947f831185)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:39 +00:00
Richard Purdie
37d694ae80 rootfs_ipk.bbclass: Ensure bad recommendations persist in the status file
Currently bad recommendations are added to the status file with status
"ok". After a single opkg command, whilst it will ignore the recommendation,
the status changes to "installed" even if the recommended package was not
installed. Whilst this is likely a glitch in opkg's logic, the correct
way to persist the information in the status file is to set the status
to "hold" as deinstall packages with that status remain. With this change
the bad recommendations persist accross multiple opkg runs and the system
behaves as expected.

[YOCTO #1758]

(From OE-Core rev: 215ff6b2e9676c8c7dd8acfd696151bcd0f1490f)

(From OE-Core rev: 525743f5513feff67fb8fd2e4c7a1a05ae22ddc9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:39 +00:00
Otavio Salvador
e391e1a200 xinit: rdepends on util-linux-mcookie to avoid brining whole util-linux
(From OE-Core rev: a8ed4fcd79f6283c1d45f347dce894d784183900)

(From OE-Core rev: 7fc9855421222eb671e414ef7bc190f53521e914)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:39 +00:00
Otavio Salvador
199f985754 util-linux: split mcookie into a package
(From OE-Core rev: 3e5b9ddaf3f9492e34967146c42369bcd76ddf03)

(From OE-Core rev: 66ac20ea171a5f823b4810975570885c8138d930)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:39 +00:00
Paul Eggleton
395ffa8930 util-linux: split out mkfs into its own package
For those external tools such as Webmin that call mkfs to do formatting
operations, it is useful to have it in its own package to avoid dragging
in the rest of util-linux.

(From OE-Core rev: cceee30de96b2389209fc2c9c474ebbd863ff64a)

(From OE-Core rev: d5841bc9559d9de4ca1a063ecf40571688d0d147)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

[Merged with head]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:38 +00:00
Matthew McClintock
90920546e4 Add new util-linux-chkdupexe package to avoid making perl a dependecy for all of util-linux
(From OE-Core rev: 57def2a05f4cff77f014c6dfb93c2dcc1b9db61b)

(From OE-Core rev: 115f49b2b4b13884be7a4fffc4261cbcb884d428)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:38 +00:00
Koen Kooi
1d9ec42166 util-linux 2.19.1: split blkid out into its own subpackage
Recent udev versions require blkid from u-l, not from e2fsprogs. In general all the non fsck related binaries from e2fsprogs are deprecated.

(From OE-Core rev: eb048308ae80d779e904951b032dba5b780898e5)

(From OE-Core rev: d9afc91bd5bce889dfbcba13b6b59ea07f288cc7)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:38 +00:00
Koen Kooi
57481984c9 util-linux: split fsck* into its own subpackage
This will allow systemd to run /sbin/fsck without dragging in all of util-linux

(From OE-Core rev: 4c95779fe1297b06adc705de30dca4e3570084ae)

(From OE-Core rev: 8b3beaddb5d44efcaa88ea173081c6e0558908ad)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:38 +00:00
Mark Hatle
05051d864d sudo: Avoid post install scripts
The post install script was removed, and the install_append updated
to ensure the permissions are set correctly.

(From OE-Core rev: 463e44ae159da2e03369f9ac14843b479de2e43d)

(From OE-Core rev: 52dac3a309f3f1d6a4ee7269b16ca381fd0cdd38)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:38 +00:00
Mark Hatle
48ee7e9b3a shadow: Generate the shadow files at rootfs construction
With the recent changes to the shadow-native package support "--root",
we can now convert the passwd/group files to their shadow forms while
doing the rootfs install, instead of waiting to run on the target.

(From OE-Core rev: 662431ace246e9bb35ad8d0ddd0510193f93517d)

(From OE-Core rev: 03c366bb36145f7bc1679307e578bb2cf44e3737)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:37 +00:00
Mark Hatle
1278cee687 wpa-supplicant: Avoid blocking the post install script at cross rootfs time.
We only want to reload dbus, if we're install on the target -- not on the host.

(From OE-Core rev: 1ce23fe7d7c33c196af3ba25b4e97496718328d1)

(From OE-Core rev: e9dc54d5c31ef50fa2f929d552e2f61533426dcc)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:37 +00:00
Mark Hatle
b5195d2739 rootfs_rpm.bbclass: Turn off script debugging
Disable script debugging, as the log files become huge and take a
long time to process during the log check step.  This results in a
performance improvement.

(From OE-Core rev: a7e70227bac72c4f7d3419f94f6915da4c7e3f43)

(From OE-Core rev: 9b6ecd1fd2f6870ace033362e3bb86fd98935bc9)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:37 +00:00
Mark Hatle
7561770d43 rootfs_rpm.bbclass: Enable pre and post install scripts
[YOCTO #1755]

We change the want the RPM rootfs install works to install pre and post install
scripts.  The new method uses a script helper that is invoked by RPM outside
of the normal chroot.

The wrapper is dynamically generated prior to the install starting.  It will
check the return code of the script.  If the script fails, it will store a copy
to be executed on the first system boot.  This is similar to the previous
mechanism.

In addition, a line of debug was added to the scripts as written by package_rpm
to list which package and which script for later debugging, if necessary.

(From OE-Core rev: 3e7120d6a9fd5e46214673d0a6e1085a7314ff42)

(From OE-Core rev: 5d74a2bbe036cf586b76aef0d9907ecb3d4a5f1d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:43:01 +00:00
Paul Menzel
03fbfe7cf1 xinit: Fix startx looking for mcookie in sysroot
`startx` run on a system based on the demo systemd image [1] and `opkg`-installed packages fails with the following error.

	/usr/bin/startx: line 139: /OE/tentacle/build/tmp-angstrom_2010_x/sysroots/x68_64-linux/usr/bin/mcookie: No such file or directory

Applying commit 443bcc07 [1] from OE-classic

        Author: Tom Rini <tom_rini@mentor.com>
        Date:   Thu Apr 7 10:36:43 2011 -0700

            xinit: Fix mcookie / util-linux-ng dependency

            xinit just needs to know the runtime path of mcookie so we need to
            RDEPEND on util-linux-ng and pass the runtime path in via EXTRA_OECONF

            (From OE-Core rev: 1053a6a8e15851ef139d8aa4683849fc2fc277e1)

(From OE-Core rev: a32d9dbc25fce5e8566681f0c7f606eedaaf3933)

Signed-off-by: Tom Rini <tom_rini@mentor.com>

fixes this issue. Commit 7f6cec6f [2]

        Author: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
        Date:   Sun Feb 21 18:11:30 2010 +0100

            xinit: add dependency on util-linux-ng

        […]

tried to address the same problem but apparently did not help, because Tom still had problems.

[1] http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-systemd-image-eglibc-ipk-v2011.11-core-beagleboard.rootfs.tar.bz2
[2] http://git.openembedded.org/openembedded/commit/443bcc0785bc004e471b3750a34d12d2fd2e5dad
[3] http://git.openembedded.org/openembedded/commit/7f6cec6f0adb6203a6dbaf8a43c67c2c4f8bf84e

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:16 +00:00
Darren Hart
9faa58ecdc ncurses: refactor configure to avoid configuring widec when disabled
The ENABLE_WIDEC variable can be used to disable ncurses wide character support
when your C library doesn't support it. Currently, the do_configure step
configures for both narrow and wide characters regardless and only checks
ENABLE_WIDEC during compilation. This leads to QA failures with host
contamination during configure if the C library doesn't support wide characters.

Refactor do_configure with a new ncurses_configure helper function and only
configure for wide character support if ENABLE_WIDEC is true.

Ensure that configure errors are propogated back through to do_configure.

Tested with ENABLE_WIDEC as true and false via an ncurses bbappend on i586,
including basic error injection.

V2: INC_PR bump

(From OE-Core rev: 8b995deb046469c1c713fa053510d2fe94454133)

(From OE-Core rev: 802cd855f1860ef0fbbbbf87b0af7c5dcdc35975)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:16 +00:00
Saul Wold
cc19812fb4 udev-extraconf: blacklist /dev/md
Do not mount /dev/md by default via udev, this resolved a problem
with the sanity test failing due to seeing the error while attempting
to mount /dev/md0

(From OE-Core rev: 07a2825c6f4ad3e5e3970cd1a89233bd795c68cf)

(From OE-Core rev: 8ea8e41ad7863f57a851f00154e133cd0e550ef8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:16 +00:00
Richard Purdie
110d499544 useradd: Add missing DEPEND on shadow
Without this rootfs generation fails as an RDEPENDS is added
but the package might not have bneen built.

(From OE-Core rev: bfe70c6446e6686f826f01040ba74c7d7d28bf42)

(From OE-Core rev: 30a1f1d3ec763b4929b052ab3388499dfb40b1fa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:16 +00:00
Scott Garman
7fe64f43f4 avahi: remove USERADDPN
USERADDPN is no longer used; remove it.

(From OE-Core rev: ed7e7a8e4d00cd45c74dc233c8b574d3978755d8)

(From OE-Core rev: 2a52444dd464f5dff43424ab18feae43435061ae)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:16 +00:00
Scott Garman
47007075d4 useradd-example.bb: update example documentation comments
Clarify that only packages listed in USERADD_PACKAGES will
include the user/group creation code.

(From OE-Core rev: 70aaac37968bf2b35d6a536c3f3f69fe3620255c)

(From OE-Core rev: 3d0649253cc99b658a2f6576b1d38661d65f3977)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:15 +00:00
Scott Garman
9dc2193d31 useradd.bbclass: do not modify -nativesdk packages
Exclude the addition of user/group code and RDEPENDS changes for
-nativesdk packages.

(From OE-Core rev: 2f057dd905ccb497890ce73ac4e4c256edcf0351)

(From OE-Core rev: 9acbe80fea3dbd5405030c95d8b6d411689c4911)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:15 +00:00
Scott Garman
403d5e0b7d useradd.bbclass: only modify packages in USERADD_PACKAGES
Previously we injected the user/group preinstall script into all
output packages. This fixes that so that only packages listed in
USERADD_PACKAGES get modified.

It also removes the USERADDPN variable, which is no longer needed.

(From OE-Core rev: 2f73466eb5018040a123ccb0e2af8c519525f958)

(From OE-Core rev: 424b6447ebce761c9027ffdaf68ecbcd6f28e4ec)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:15 +00:00
Paul Eggleton
5d9dfed5c4 busybox: add grep to temporary links during uninstall
In the busybox package prerm we set up some temporary links and modify
PATH so that certain utilities are provided for the purpose of running
update-alternatives; if grep is not among these then you get errors when
removing busybox, so add a temporary link for grep as well.

(From OE-Core rev: 013eca09c863862cc6b7ee3bc22923bf8fb42956)

(From OE-Core rev: a425305249cdd89ab481310b31ae04970c6ae3be)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:15 +00:00
Paul Eggleton
9924a6c72d classes/package_rpm: disable uninstall scripts for upgrades
Our current assumption (based on the behaviour of opkg) when writing
recipes is that prerm and postrm do not get called during an upgrade.
When using rpm however, these are mapped to the rpm "preun" and "postun"
events which occur after postinst for upgrades, and when these contain
removal type operations (such as update-alternatives --remove) this
causes problems.

This patch wraps each preun and postun script for rpm in a check that
determines whether or not the script is being called during an upgrade,
and skips the entire script if it is, which mimics the behaviour of opkg
under the same conditions.

Fixes [YOCTO #1760]

(From OE-Core rev: 1d3f37dc9a43ba6d6beb7b4530c077f239032b99)

(From OE-Core rev: 6e66ecd201760fe418a9884e3605b88a68208776)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:14 +00:00
Tom Zanussi
ccf6077d4e python: skip setup.py 'import check' when cross-compiling
build_extension() in setup.py, as part of the build process, does an
'import check' on the built extension.  The import check in turn
dlopen()'s the shared library associated with the extension, which
isn't something that makes sense if that library was cross-compiled
for a different architecture.

This was noticed with an x86_64 target that was compiled with avx
support, because it caused 'illegal instruction' exceptions:

| /bin/sh: line 1: 14575 Illegal instruction ... -E ./setup.py -q build

For other target architectures, it doesn't necessarily cause illegal
instruction exceptions, but still fails.  For example, on arm, the
failure pathway causes this warning:

*** WARNING: renaming "cmath" since importing it failed: .../cmath.so:
    wrong ELF class: ELFCLASS32

This patch to setup.py and the associated recipe changes allow the
whole 'import check' logic to be skipped when cross-compiling.

(From OE-Core rev: 25fae81538a92e15eab3fc169ebce44505f67839)

(From OE-Core rev: d83e4ac25cca788d2b102c2072ccb367c0cab284)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:14 +00:00
Tom Zanussi
38978dc0b8 libzypp: fix mishandling of hyphenated arches
Several hyphen-to-underscore translations were missing, causing
compiler errors trying to build arches with hyphens in their names.
This adds the missing translations.

(From OE-Core rev: 5be9785f344ec4d7580f7ec68e29dba9fceb0a0a)

(From OE-Core rev: 69f45c6e9f28aae2ba84aea87a6ed096800ed685)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:14 +00:00
Tom Zanussi
9152ef8b1d gmp_5.0.2: Set CC_FOR_BUILD to BUILD_CC
CC_FOR_BUILD was compiling the test programs using the target's
compile options and executing those on the host, causing errors such
as:

/bin/sh: line 1: 15032 Illegal instruction     ./gen-bases table 64 0 > mpn/mp_bases.c
/bin/sh: line 1: 15033 Illegal instruction     ./gen-bases header 64 0 > mp_bases.h

Export CC_FOR_BUILD using BUILD_CC to fix the problem.

(From OE-Core rev: 68cca5ca15cbdd53748ec130fb6f20cbb3fb5072)

(From OE-Core rev: 6ce3482c0f50b95d1d60d3c9250a9ab38fca76fe)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:14 +00:00
Otavio Salvador
4e4521b5bf files/device_table-minimal.txt: add /dev/kmsg
(From OE-Core rev: 1a340471694204937981513dee4cc24bc2dc6f7e)

(From OE-Core rev: 535f7e52b02b6434fca5265eba8d366f483ce33c)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:13 +00:00
Otavio Salvador
501211d4d5 libcap: fix sstate for native package
The 'lib' option needs to be given on target and native builds
otherwise it installs the binaries at ${libdir}64 when host is 64bit.

(From OE-Core rev: f768ef66c107410d4e81a69543d41910bbc6a26e)

(From OE-Core rev: 76be81b5b0f56536dd36e800bc3f597aeea6d8ef)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:13 +00:00
Eric Bénard
155aad308c useradd.bbclass: handle nativesdk case
* without this patch, building dbus-nativesdk leads to a missing
dependency on 'base-passwd-nativesdk'
This was added by commit 46e6c3fa8034b12d178d605f3f5d7efe69671a13
* this patch handle the nativesdk case in the class useradd
* close bug 1702 http://bugzilla.pokylinux.org/show_bug.cgi?id=1702
* v2 from Scott Garman with Richard Purdie's tricks

(From OE-Core rev: 140a3507fb5c14cd9bcebe4304f491aa1c5c47a2)

(From OE-Core rev: 79d5ce46b4d73e5ed39c509ce872e99e6bcb94ee)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:13 +00:00
Dongxiao Xu
11e383d24c multilib: Drop MULTILIB_IMAGE_INSTALL
There should just be a single IMAGE_INSTALL variable. If the package
backends need this split into different multilib components they should
be responsible for doing this, not the user.

This commit removes the MULTILIB_IMAGE_INSTALL variable.

[YOCTO #1564]

(From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2)

(From OE-Core rev: 4889865934d590bf18d9f8f8ec3b63ce992cd4c5)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:13 +00:00
Joshua Lock
aff0c68b0f contacts: fix packaging of icons
(From OE-Core rev: 1f4028337d5e288e239f44ef34e1d707b785273e)

(From OE-Core rev: 8bc45d72d3211df9ca846c775524176308027aea)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:12 +00:00
Joshua Lock
3b75e27536 gypsy: fix packaging
(From OE-Core rev: 3c272ce9df811281029d028e96ab6bc644645592)

(From OE-Core rev: 28c22b7d7cdbea39fca5867f14c22f75f7749183)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:12 +00:00
Joshua Lock
5f3b7a7616 libcanberra: add libvorbis to DEPENDS
(From OE-Core rev: 531151fdeba3779ba6f0976fc08aa8da483600f7)

(From OE-Core rev: 05f10a527099d22eb87614013e01c420bdafaf16)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:12 +00:00
Eric Bénard
fb8d219960 dbus: fix install for virtclass-nativesdk
* 46e6c3fa8034b12d178d605f3f5d7efe69671a13 changed do_install
which now fails for nativesdk (chown messagebus leads to no
such user)
* tested by building meta-toolchain-qte and running the generated
sdk

(From OE-Core rev: 5818a885df489f4bc9579d17c6b0efa7777f5ccc)

(From OE-Core rev: 7984cc2fec3179da2e1f8f3bbffca9e7e21a3788)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:12 +00:00
Scott Garman
ae88920dec useradd.bbclass: fix how RDEPENDS is setup
Fix bug where only packages named PN included base-passwd in
RDEPENDS.

This fixes [YOCTO #1727]

(From OE-Core rev: 2c55d51afd71d708a54afc8377e10c4f80f810e3)

(From OE-Core rev: 213d31f24d911a10132ddcd75f50363a80c4dc2e)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:11 +00:00
Martin Jansa
57c6f14828 libnl-2.0: add PE/PR bump for upgradable patch for meta-openembedded users
(From OE-Core rev: 2260b18590416940eec26aaf3d68e510ceff8d31)

(From OE-Core rev: 3aa933cf91cf788246f13966471a9be6e0bc1931)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:11 +00:00
Martin Jansa
bd9a5e1b88 libnl-2.0: split to more packages, as meta-openembedded does
(From OE-Core rev: 8720e063c7b43c278b3bb406b45390ed03f8ac96)

(From OE-Core rev: 0f495eca8737a71ade6e1b5ca0fcbddf3b22181a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:11 +00:00
Martin Jansa
8614fcf709 libnl-2.0: add patch from meta-openembedded to fix pkg-config file
(From OE-Core rev: 72227178bc74d6e2e24f8df6176c3d45b640e860)

(From OE-Core rev: 64aab9609e23cdaa662cf544a31de5e879958e31)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:11 +00:00
Martin Jansa
2202d845ab libnl-2.0: move fix-pktloc_syntax_h-race.patch to libnl-2.0 subdirectory and merge with fix-makefile.patch
(From OE-Core rev: a4882cd6f98c5b3df80ba96536d94d9f556f77a2)

(From OE-Core rev: 69701f7eaec6405fe2208d2412aebaf2db5ce606)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:11 +00:00
Koen Kooi
a55d8c6aa4 image_types bbclass: use 4k bytes per inode so we don't run out of space immediately
genext2fs only creates the minimum number of inodes, after this patch it will scale with the rootfs size

(From OE-Core rev: c31cb0bdc5a61d2d9f21a2cea34c3d8ac3b47cb9)

(From OE-Core rev: 41d1091e6b821404eeb73a7c363537c2835558d3)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Martin Jansa
b6312e2d51 libcense.bbclass: fix OpenSSL mapping
[YOCTO #1712]

(From OE-Core rev: 56799ebcb5c55a7fc75458fc2be2e69a67e8fd21)

(From OE-Core rev: efb4527ff527d3e465df2a21fdfda110542b70b5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

Fixed YOCTO bug format and location

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Dmitry Cherukhin
5a41a612c9 tslib: fix the bug with loading libts-1.0.so
Touchpad did not work in the qtdemoE if the library libts-1.0.so was not loaded
manually using the LD_PRELOAD variable. This problem was fixed in the tslib mainline
https://github.com/kergoth/tslib after the 1.0 release. We just import the patch.

(From OE-Core rev: 0ba6d91dc527908740890c896b834e7216b0d2fb)

(From OE-Core rev: cf9fbfcb65c09d70613eb6ab87e0b9121cfcc34c)

Signed-off-by: Dmitry Cherukhin <dima_ch@emcraft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Kumar Gala
aaea770f1f udev-164: Update init script to do an explicit add action
With udev 152 or greater the default action for 'udevadm trigger' was
modified to be 'change' instead of 'add.

To ensure initial coldplug events at boot are seen be scripts the are
expecting them as 'add' events we invoke udevadm with an explicit
'--action=add'.

(From OE-Core rev: eacafd21999ab37b60af29dc3e626c441716ef66)

(From OE-Core rev: c90e1c91efc721eb6910cd3244b7671b63a341b6)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Elizabeth Flanagan
6e4607f23a buildstats: Fix for buildstats on tmpfs
tmpfs/encryptfs/(and most likely, but not confirmed)ramfs TMPDIRs
cause diskstats to choke. No device entry ends up in /proc/diskstats
for these fs types, which ends up causing the failure.

The short term solution is to exclude these fs types from diskstat
collection. Longer term we will want to see if we can collect
meaningful diskio for each of these, and other, use cases, but for
this cleans up Bug 1700.

[YOCTO #1700]

(From OE-Core rev: 2b14046c12855b6f484ba5bd6bc0a8022de6873e)

(From OE-Core rev: e0d26e0e1dfb9d35d71f20488c16f3cea3da862e)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>

Corrected YOCTO bug location and format

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Richard Purdie
5a192f85d9 bash: Ensure we fully reautoconf the recipes so site data is used
This ensures bug 487 (missing job control functionality) really gets fixed.

[YOCTO #487]

(From OE-Core rev: 08b78066bd5a9ff2819a42eb4263ee0a78cddb97)

(From OE-Core rev: cf9d3140a9dae5bdc6145ae04a729f4775ae66a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:10 +00:00
Koen Kooi
9ce56ec4ca rootfs_ipk bbclass: special-case base-passwd preinst to run first
Preinst are run alphabetically which breaks when e.g. avahi-daemon needs /etc/passwd present.

(From OE-Core rev: d6793165feb26c51b5f19ad1e6d1a4099878e879)

(From OE-Core rev: 0485c362ac6ee0a3e310de078d7a202b961fed11)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:09 +00:00
Koen Kooi
e47cfd447c avahi: fix useradd race condition
Avahi doesn't work at boot because of:

+ sh /OE/../rootfs/var/lib/opkg/info/avahi-daemon.preinst
Running useradd commands...
grep: /OE/../rootfs/etc/passwd: No such file or directory

That is due to:

Package: avahi-daemon
Version: 0.6.30-r9.0
 [..]
Depends: libavahi-core7 (>= 0.6.30), libdaemon0 (>= 0.14), libcap2 (>= 2.22), libavahi-common3 (>= 0.6.30), libdbus-1-3 (>= 1.4.12), sysvinit-pidof, libc6 (>= 2.12), libexpat1 (>= 2.0.1)

After this patch:

 Package: avahi-daemon
 Version: 0.6.30-r10.0
 [..]
 Depends: libavahi-core7 (>= 0.6.30), libdaemon0 (>= 0.14), libcap2 (>= 2.22), libavahi-common3 (>= 0.6.30), libdbus-1-3 (>= 1.4.12), sysvinit-pidof, libc6 (>= 2.12), shadow, libexpat1 (>= 2.0.1), base-passwd

This also changes ${PN}-daemon to avahi-daemon to be consistent with the PACKAGES/FILES lines below

(From OE-Core rev: f01fbc17b5d9bf9a227d64fe858014376cd19432)

(From OE-Core rev: 9d0b21f0723fda0e0d287788eb79d3a70b12f949)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:09 +00:00
Saul Wold
fc2433de1d dbus: ensure that the useradd shell is set to /bin/false
(From OE-Core rev: 899efe6bf17a31d842ff2f65704d4858892496d4)

(From OE-Core rev: 7d6ba259603ebcb1c08c1ac7b77f8b482e77b6d5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:09 +00:00
Saul Wold
8cf7c76ce1 connman: Use useradd to add the xuser for DBus
Connmand needs to start as the xuser as defined in the dbus
configuration and needs to share this with rootless X. Since
it's possible for connmand to run on a sytem without rootless
X we still need to create the user here.

Useradd will fail gracefully if the user already exists.

Fixes: [YOCTO #1699]

(From OE-Core rev: 8139ac9284031e00d6b268210b04b57670d9268a)

(From OE-Core rev: 835ab34adb6acf562e37db99a1dd24f7b8bd95ec)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:

	meta/recipes-connectivity/connman/connman_0.75.bb
2012-01-30 16:38:09 +00:00
Saul Wold
5d8269d28a xserver-nodm-init: Use useradd to add the xuser for rootless X
This also address an issue with dbus and connman, since connmand
needs to start as the xuser in the rootless X situation.

Fixes: [YOCTO #1699]

(From OE-Core rev: 6823a32035de5d0bcd82a3b41a6ad536aaddbc58)

(From OE-Core rev: 26573a84583793f64979100c2b89a95146d38dd1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:08 +00:00
Saul Wold
9f542cf856 avahi: use useradd to create avahi user for avahi-daemon
DBus was failing to start correct since the avahi user was
not setup.

Keep the dbus reload since this could still be installed
as a package an would require a dbus restart.

Fixes: [YOCTO #1699]

(From OE-Core rev: f0bfecc8a0af1c4c76a37a9c88f334ab6ae7e7ef)

(From OE-Core rev: 925c7cd5c3ff44a4d0f2c71d0029998bfd00db48)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:08 +00:00
Holger Hans Peter Freyther
398a0159a6 udev: Fix the packaging of libgudev
Make the libgudev so go to the libgudev package, this is already
fixed in meta-oe.

(From OE-Core rev: 43ac43d7c7245e9aa2bfc8572c2620074d1e2a25)

(From OE-Core rev: 3890186dda8db3978f18c05099a6f327c122cc1d)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:08 +00:00
Richard Purdie
8ce627f9b1 dbus: Ensure localstatedir is added to the package
(From OE-Core rev: dc0d004fd23f686591281eb1d700327ea15d1c54)

(From OE-Core rev: 3de19d01402aa7fdee28df2e1066987c14c17a78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:08 +00:00
Richard Purdie
a7e5ad1268 package.bbclass: Fix various problems
Before this change:

a) Ownership and permissions of files copied from packages to
   package-split could get lost during the copy process. This change
   ensures they are preserved.
b) Ownership and permissions of directories could also get lost.
   Most of the complexity in this patch is addressing this problem
   ensuring newly created directories match the source ones being
   copied.
c) There was no warning about directories being created but not
   shipped by any package.

This patch fixes all of the above issues.

(From OE-Core rev: 6021e309e69d823e1467648aee12a32182945569)

(From OE-Core rev: 5f9228b32c243ae499398763ce7c90b776dc9d24)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:08 +00:00
Richard Purdie
8223a46ca0 dbus: Use $D not ${D} in the postinstall
We need to do this as we don't want bitbake to expand the variable
but use the shell variable instead.

(From OE-Core rev: 509a8a9ea428debf3ff2115fcff0aa89d0239ced)

(From OE-Core rev: dcf118e9dfd15f7cf535c9918a6fcad9f9121ff4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:07 +00:00
Richard Purdie
1890a0f3b2 gnome-doc-utils: Add missing glib-2.0 dependency
(From OE-Core rev: c367a2d2f4b817211b6bd200e49b49355cd67fe2)

(From OE-Core rev: f4555a27bcc2174d30c1ea4ab7785325766b7c4e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:07 +00:00
Joshua Lock
2dbcd4154c lib/oe/terminal: add support for XFCE's terminal emulator
That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This
could get interesting!

(From OE-Core rev: 162b70a36388ac44fc1b39e172cd53579707bff3)

(From OE-Core rev: 149cc418dbcbe014225c86d16b5ef696496e3a39)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:07 +00:00
Saul Wold
0524f419cf libproxy: fix QA Packaging issues
(From OE-Core rev: d756b85565820f0caef17af4c4aee2bf29ea6794)

(From OE-Core rev: 58231521f9f20fb5606efc84f779612834225b7d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:07 +00:00
Saul Wold
a90c197e94 libatomics-ops: fix QA Packaging issues
(From OE-Core rev: dfddbffc48e86cb0a6d07da6727782e3b17535e1)

(From OE-Core rev: 33fe21a3d446f562fde9730e3755ae99fd50e1ae)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:06 +00:00
Saul Wold
21458bd419 mdadm: fix QA Packaging issues
(From OE-Core rev: b3840f88f004c9ef371a075f1800052c66c91759)

(From OE-Core rev: 5da0710659d671e7e9494feb546fbad950b0c644)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:06 +00:00
Saul Wold
7e96247751 man: fix QA Packaging issues
(From OE-Core rev: 2f597288c141c910b945e63e8b31436984ad536b)

(From OE-Core rev: cb3cdb9da4866539ac84df811076c4ddad89e47a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:06 +00:00
Saul Wold
07e2aa9b80 at: fix QA Packaging issues
(From OE-Core rev: f3487717ae3b7f9256a3e3cc78be331e424ec457)

(From OE-Core rev: e9b469fb19c69dffc0aedf777dc58d41f6e1815e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:06 +00:00
Saul Wold
5c37b7ea47 dbus-glib: fix QA Packaging issues
(From OE-Core rev: 1f55db4936b43e2fd3e50f99815b547e3c5e8010)

(From OE-Core rev: b84c1d5854052af3351f853f42c6a0e4b9918dd8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:05 +00:00
Joshua Lock
79081f46ec libxslt: Fix packaging of xsltConf.sh
xsltConf.sh is installed to libdir not bindir, fix pacakging.

(From OE-Core rev: 27b438df0b937180263346cbf68f1641abcdb068)

(From OE-Core rev: 82ff9739d7b95775636d1b9ac7aa4fb5576eccd9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:05 +00:00
Matthew McClintock
4f9e333b05 Add readline as dependecy for gdb-cross-canadian
Got errors that we were unable to find -lreadline, this fixed the
issue

(From OE-Core rev: ddc9a58b8553599d2328ac1c4449b41681ae45d1)

(From OE-Core rev: c50f8d83749d755e58fcd159b8e4dab33fbd9036)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:05 +00:00
Julian Pidancet
dc09c258f0 Give coreutils a chance to build the df utility
The coreutils configure script is unable determine how to get free
space from the Operating System when cross-compiling.
This changes caches the result of the "statfs2_bsize" test for the
coreutils configure script.
Both glibc and uclibc defines statfs as a two-argument function
and uses a struct statfs containing a f_bsize field. That's why
the fu_cv_sys_stat_statfs2_bsize variable has to be defined for
both libcs.

(From OE-Core rev: fa1eb21933a880aa20e4ca87574753b1ec272c3b)

(From OE-Core rev: 5be987aeb5e34bb1277f86a7f294607a6d935a19)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:05 +00:00
Khem Raj
5de0f305f9 pulseaudio: inherit perlnative
manpage generatition uses xmltoman utility
which inturn uses xml-parser. So we add
libxml-parser-perl-native to DEPENDS and also
inherit perlnative so it does not use the one
from build host

(From OE-Core rev: 51f6a683ec1d740adf09d808671c7098dc3f83e2)

(From OE-Core rev: c2ccc9a294cab3f41cab35eee64f8a464ac8ad9f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:05 +00:00
Khem Raj
52dc5edde3 gcc-4.6: Backport fix for PR32219
This fix is needed for gold to work. Otherwise
connman fails to build since it used hidden weak
symbols.

See

http://gcc.gnu.org/bugzilla/PR32219
http://www.cygwin.com/ml/binutils/2008-02/msg00239.html

The fix proposed to gcc had reviews which were not addressed hence the
patch is not yet
applied to gcc upstream.

connman can also have workaround by changing the visibility of these
symbols to be default
 __attribute__ ((weak, visibility("hidden")))

to

 __attribute__ ((weak, visibility("default")))

in include/plugin.h

(From OE-Core rev: 3cb2b003db7371b3a47d02c08352a262e1e419b4)

(From OE-Core rev: 9a160921a16c9c37e07e4b5cb30e37348ecd205b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:04 +00:00
Otavio Salvador
9d086cd151 dbus: use useradd class to allow use in read-only filesystems
Move creation of required user/groups to useradd class thus allowing
use with read-only filesystems and booting the initial boot.

(From OE-Core rev: 46e6c3fa8034b12d178d605f3f5d7efe69671a13)

(From OE-Core rev: a115b657ed3df1c9b26b016151881a6c9c26ac2b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:04 +00:00
Otavio Salvador
2edde1021f base-passwd: move initial criation of group and passwd to preinst
To allow use and manipulation of users and groups at rootfs building
time, the '/etc/passwd' and '/etc/group' needs to be available as soon
as possible.

(From OE-Core rev: 0395eba96d6f37f323f5b76564809a44d7ceb103)

(From OE-Core rev: 73452afe344b66c6dd8e4e120e61ac9fce8652e3)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:04 +00:00
Otavio Salvador
afc60481c7 useradd.bbclass: check if a group already exists manually
The use of groupadd -f makes much more difficult to figure when a
group is not add. This was the case of the class not working for our
usage and this being caused by the lack of '/etc/group' file but
unnoticed as groupadd wasn't failing according.

(From OE-Core rev: 82933a1ff921fd0836f03e6f379fd8536cdc0a30)

(From OE-Core rev: e3e8f15176107fa26248e878af548835692d3068)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:04 +00:00
Khem Raj
eb94ba9052 gcc-configure-sdk: Point sysroot to correct location
(From OE-Core rev: c9883733fed9267b1a936c08500a4caf8dc52d3d)

(From OE-Core rev: 1cffc4c39f897ae1db30825364ff809ce40f512b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:03 +00:00
Khem Raj
6fa445d50e binutils-cross-canadian: Point sysroot to correct location
(From OE-Core rev: b8dad4ab77f5516bc6929e2ed094fdc62a5a52db)

(From OE-Core rev: 065b65f8835304a0ba7fe751a132b684a41b08ae)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:03 +00:00
Anders Darander
795843df09 module.bbclass: add lock to prevent error bulding ext modules
When external modules are built, files in $STAGING_KERNEL_DIR/scripts/basic will/can get
rebuilt.
This raises a potential race condition. Prevent this by adding a lock around the
do_make_scripts() function. Further, make sure that the kernel has been installed
to the sysroot, prior to executing this new task.

(From OE-Core rev: 8681b82e8b466929205edde7ba479f3ac1a6143e)

(From OE-Core rev: 694e3016e25dff3f573291830d79982c8b8793a2)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:03 +00:00
Khem Raj
8a20492e8a gcc-4.6: Backport PR46934 fix
We have been hitting this issue on ARM/thumb and
have a workaround in place to compile samba
http://git.openembedded.org/openembedded/commit/recipes/samba/samba_3.2.15.bb?id=4ba7aa07c0dcd28f94515ff9927e2a04403fcf15
This backport should fix the gcc bug

(From OE-Core rev: 75f7269a7a1da2494768d4be63c44b12c5cfeeeb)

(From OE-Core rev: 446767c4c471b8ec932698a23af5a815d326a0be)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:

	meta/recipes-devtools/gcc/gcc-4.6.inc
2012-01-30 16:38:03 +00:00
Khem Raj
70ff3b6d98 gcc-4.6: Upgrade SRCREV to latest FSF 4.6 branch
(From OE-Core rev: b1af6951e14d645fe861f289011c91ab6f1b6865)

(From OE-Core rev: f6ba855e3d8b33591c14048cac68264e93a821e8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Lauri Hintsala
ba79e6f631 poky: fix broken ubifs link in deploy folder
Fix broken rootfs image link when ubifs is used.

Function runimagecmd is using image name "${IMAGE_NAME}.rootfs.${type}".
Let's use the same name in IMAGE_CMD_ubifs.

(From OE-Core rev: 766f6165471691f651584ebda004e1abb4ea9eb6)

(From OE-Core rev: 6c4276ee968bed7a5b3e74637183414a428facb8)

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Martin Jansa
071d5de3f3 fontconfig: fix fix-pkgconfig.patch
* missing $ is causing problems ie when building webkit-efl
* see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-June/003798.html
  for details

(From OE-Core rev: e31dd9b65f3b03f79cabab25eca157532de3bd9c)

(From OE-Core rev: 5deaf85c0c07105173e6791a7aafd03aa5b2e204)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Xiaofeng Yan
1fa324c533 lsb: Change link of ${baselib} to lib64 for 64bits system
Correct two faults:

1 Binaries of lsb test suite need ld-linux.so* in /lib64.
for example:
Target$ ./lsbcmdchk
-sh: ./lsbcmdchk: No such file or directory
Target$ strings lsbcmdchk | grep "ld-"
/lib64/ld-lsb-x86-64.so.3

"lsbcmdchk" from lsb test suite is a binary program.
A new modification to lsb_1.4.bb caused that binaries from lsb test suite can't run
because binaries of lsb test suite need ld-linux.so* in /lib64.
But the link is changed due to adding multilib. I changed this link again.

2 correct mandir
Waring will appear when running task task do_populate_sysroot

NOTE: package lsb-1.4-r2: task do_populate_sysroot: Succeeded
WARNING: For recipe lsb, the following files were installed but not shipped in any package:
WARNING:   /{datadir}/man/man1/lsb_release.1.gz

I changed mandir=${D}/man to mandir=${D}/${datadir}/man

(From OE-Core rev: f2dada2079b5f98e13d4888609368ba111967a60)

(From OE-Core rev: 9961c1e73e8f8ae426d7ac8c9ba35b05669cbffe)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Saul Wold
958c7f773f sysprof: remove duplicated patch
Apparently this pactch was duplicated by backported
patch, and needed to be applied more broaded than to
just ppc.

(From OE-Core rev: 182e4768b651e58de5b42f9fb55ae9816b57233b)

(From OE-Core rev: 62700be77386ba3388dc65b599cce9dfe5b802f6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Saul Wold
141240c409 libomxil: Fix QA Package Errors
(From OE-Core rev: ef786ef9abcd919c651c14004a1cb0a0dcad1bff)

(From OE-Core rev: 83cad4ce6b1e942c3c45d316cbec95db4e04bebf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:02 +00:00
Samuel Stirtzel
89e945be6a data.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 55a8382e460430dc5ff10755d235d637531d2ae7)

(From OE-Core rev: d08db11fcae91deca10d250430a6f77de47f9080)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:01 +00:00
Samuel Stirtzel
7d30c2df87 patch.py: fixed message domain errors
The dynamic message domain was introduced by Richard Purdie with the following patch:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a6c48298b17e6a5844b3638b422fe226e3b67b89

(From OE-Core rev: 2383e06c8ed7c15aa148b9dbe40445e7095b6f57)

(From OE-Core rev: d104367903478613123c64df8d2a5188775d1f9d)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:01 +00:00
Wenzong Fan
90a4f95d3d qt4-x11-free: Fix broken regexes in qt4-x11-free's recipe.
[YOCTO #1671]

qt4-x11-free's recipe includes a sed script to sanitize it's .prl files,
which are used by qmake to generate a list of libs and includes in the
Makefiles it generates. It however, fails to take into account the possibility
of trailing slashes, and thus leaves them in, and breaks gcc's syntax.
Update these regexes to account for them.

(From OE-Core rev: 8d580ed449c09a64483519d66e14a2e3b071806a)

(From OE-Core rev: 9f655fbf0f818e25fdbf247334881da07a29e815)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:01 +00:00
Tom Rini
53db004d24 libnl2: Fix a race on route/pktloc_syntax.h
At issue is that route/pktloc.c (not generated) depends on
route/pktloc_syntax.h (generated).

(From OE-Core rev: 7bec22c70598a5180f754bbbe2dfdd3db2843a64)

(From OE-Core rev: b992c9e631bfb4888a20a13b7ebf3b5acf59edb5)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:01 +00:00
Christopher Larson
f7d5b31d6c autotools: fix multi-word arguments for EXTRA_OECONF
This is needed to better support things like the following (with a
multi-word BUILD_CC):

    EXTRA_OECONF += '"ac_cv_prog_CC_FOR_BUILD=${BUILD_CC}"'

(From OE-Core rev: 38a394e7ffedccfabda085c97add8944718943c2)

(From OE-Core rev: 5c26de72b97a670a263428ef3a1846385683feeb)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:00 +00:00
Richard Purdie
35d3782099 flac: Add missing gettext dependency (requires iconv)
(From OE-Core rev: fd310c2d64dd2df62bf3a10e5dbad25492013ae2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:00 +00:00
Matthew McClintock
1080ef1105 Fix sysprof for powerpc64
__ppc64__ is not defined on powerpc64, rather __powerpc64__ is, this
uses a patch that is already upstream to fix builds for powerpc64

(From OE-Core rev: 4732222c46652951e66aae377631f4a361179d8f)

(From OE-Core rev: d4cc180e60da43f66618d130009ac5d4930b9228)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:00 +00:00
Matthew McClintock
7bd151a4f3 Fix mdadm for powerpc64
This takes an upstream fix for compiling on powerpc64

(From OE-Core rev: 1325f506972555d4c218c15090bfa3f63fb13473)

(From OE-Core rev: c6da1a4eb9ba6885b49b0240030dff9b234ab1ca)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:38:00 +00:00
Martin Jansa
e1f53370ed zlib: fix inverted LFS logic
(From OE-Core rev: 6dd3f5c2f300c9cb5b6dbe2afe67323fc6f44c3e)

(From OE-Core rev: bf7b5c6f6b8d27e64fcb169ec9a4c4ecf2047e58)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:59 +00:00
Martin Jansa
e708d0ab68 libglade: add gdk-pixbuf dependency
(From OE-Core rev: eb709fceacab3ec33f38694d6238b96cb0474848)

(From OE-Core rev: c0382636ee2cfc0ea74464904d94eb1178512700)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:59 +00:00
Julian Pidancet
e6e867558b Use useradd and update-rc.d classes in the OpenSSH recipe
The current sshd postinst and postrm scripts in the OpenSSH make the
package dependant of the adduser/addgroup scripts which may not be
available on all systems.

This patch replaces the sshd postinst and postrm scripts with proper
usage of the useradd and update-rc.d classes.

This patch had been modified from the previous proposed version to
use useradd long options for more clarity.

(From OE-Core rev: 6b7f399d595ef58e759dab211f4ece155119a680)

(From OE-Core rev: 058116f528bff27ca5a0e56bbf8070e94f934f32)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:59 +00:00
Julian Pidancet
ab81049f37 Fix the --root option in shadow-native programs
The add_root_cmd_options.patch that we apply to shadow-native allow the
various programs from the shadow utility package to chroot() so they can
be used to modify etc/passwd and etc/group if they are located in a
sysroot.

Some of the shadow programs (gpasswd, useradd and usermod) need to parse
the command line in two passes. But we can't use getopt_long() twice
because getopt_long() reorders the command line arguments, and
consequently corrupts the option parsing during the second pass.

This patch fixes this issue by replacing the first pass by a very simple
manual walk of the command line to handle the --root argument.

This change is a patch of another patch, I apologize if it is
difficult to read. But IMHO it wouldn't make sense to put the patch for
this issue in another separated file.

The --root options in groupadd and useradd are needed to make the
useradd class work, and this issue was preventing to use useradd and
groupadd long options while using the class.

(From OE-Core rev: 6e9e19b18597103d8fe09f258cfd9904bb5f1c27)

(From OE-Core rev: 533d99f28fab73503ed3ebaee63aaaeb23ad2a1c)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:59 +00:00
Jason Wessel
0b2f036a81 Allow user mode NFS server to run without rpcbind / portmap
and nfsroot mount without the need to talk to an RPC info
server as long as the port numbers for mountd and nfsd
are known in advance.

This patch updates the qemu startup scripts and the
user mode NFS server to have the ability to start
without the need to use rpcbind or portmap services.

(From OE-Core rev: 3b1346c607c41a2d592c48594457c32153cb2314)

(From OE-Core rev: 13899c6cd44a618276e1b8d236187eddcb98bc2c)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:58 +00:00
Richard Purdie
6ed9f0763b pkgconfig: Fix logic that was accidently leaving legacy pkg-config functionality enabled
(From OE-Core rev: aa816b0aaf39dc6f822114df0bd6d4dd62fce0b8)

(From OE-Core rev: d46496b814b9a75523b337202d53c2c6c198566b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:58 +00:00
Saul Wold
1e225af16e acl/attr: don't make symlink if base_libdir = libdir
(From OE-Core rev: 46cd3527217821a7e9a8223dc45a43294b6c5e8d)

(From OE-Core rev: c2d14090d6400f4d8cb140947ccb9b68f2086835)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:58 +00:00
Richard Purdie
385365f689 native.bbclass: Ensure native recipes have a deterministic baselib value
Changes to baselib by specific machine configuration were resulting
in sstate cache invalidation, particularly in multilib configurations.

This patch ensures this doesn't happen and native sstate cache files
are reusable.

(From OE-Core rev: d0915fb0a2cc80ad45b3fd526d3b29a91d99572c)

(From OE-Core rev: 4fe88a2a3c7cec3ad9ea13d39d71d317405c910a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:58 +00:00
Richard Purdie
dec4fb1bee sstate.bbclass: Ensure machine specific stamps are only wiped for the current task
sstate was being a little too ethusiastic about removing stamp files and
was removing stamp files for other machines when it shouldn't have been.

This patch teaches sstate about machine specific stamp extensions and
allows it to only remove the current task's stampfiles.

Based on a patch from Phil Blundell <philb@gnu.org> with some tweaks
from me.

(From OE-Core rev: 5e9488495401399d39fcb5012b86c313b6caca73)

(From OE-Core rev: e8efeedbc2ec1587b1c4d938c25cacd4e8611053)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:58 +00:00
Kumar Gala
ef1a8f21e0 scripts/oe-buildenv-internal: Add SOCKS5_{USER, PASSWD} to BB_ENV_EXTRAWHITE
If a SOCKS5 gateway is needed for a proxy access like git it might also
require authentication to the proxy via a password and username.  Adding
SOCKS5_USER & SOCKS5_PASSWD to BB_ENV_EXTRAWHITE allow for automation
of the authentication request to occur when something like a git fetch
is going through the proxy.

This patch requires the bitbake patch to add extra exportvars so
these variables get passed from Env -> bitbake -> fetcher

(From OE-Core rev: 9206ea0f7cd39d2ba6ff4b41cbeb17409d3ae5f1)

(From OE-Core rev: e0438a7ce3523c25d36d564ca85753f0931544e6)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:57 +00:00
Richard Purdie
0c1b16db4c mtools: Disable parallel make install, its broken
(From OE-Core rev: 6f64114f5825bf6f6ab8eaaf4bed24586e05ee57)

(From OE-Core rev: b7d7af9d54fee435df88ad5d81eb32ed27cf59c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:57 +00:00
Tom Zanussi
02c530f442 kexec-tools: fix architecture mismatch QA error
Building sato-sdk for an x86_64 target throws this QA error:

| ERROR: QA Issue: Architecture did not match (62 to 3) on /work/x86_64-poky-li\
nux/kexec-tools-2.0.2-r1/packages-split/kexec-tools/usr/lib/kexec-tools/kexec_t\
est

kexec_test uses 32-bit code for testing - add an INSANE_SKIP exception for it.

(From OE-Core rev: 0dbf91969bb16f4761f58426ff5b458139c4e235)

(From OE-Core rev: 4f4088ee53950f934b736488dbd265e27df9b033)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:57 +00:00
Dmitry Eremin-Solenikov
df2fddf9cb qt4: packaging fixup
Improve packaging:
* Add phrasebook packages to DYNAMIC_PACKAGES
* Correct phrasebook packages generation
* Include more files into -dbg packages
* Package fontdir and fonts README.

(From OE-Core rev: 4e3c29dd90f583cafe7a7fc863efb3720096d67b)

(From OE-Core rev: 8fbad61dc62bdd439a55bcca09601bed28fcd3af)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:57 +00:00
Martin Jansa
6f0c0167c6 hal-info: drop PACKAGE_ARCH all
RP: It would be better if we could find a way to patch out the compiler
checks in this package...
JaMa: drop PACKAGE_ARCH for now (nobody likes hal nowadays)

(From OE-Core rev: 870191c1c46e36f92c5d90a3eb049154b0597133)

(From OE-Core rev: 1f66c882937d11762916023f4233b63cc6645edc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:56 +00:00
Richard Purdie
47c5f1c3bc Improve handling of 'all' architecture recipes and their interaction with sstate
* Jansa: rebased on current master, added nocompiler patch also to
  font-alias, dropped allarch from linux-firmware, gnome-icon-theme, hal-info as
  those are checking compiler (ie in intltool check) and better to build
  them as default arch instead of rebuilding after every machine
  change.
* this is also part of [BUGID# 1075]

(From OE-Core rev: 85d8362e0c443f11fe8d3fd0fba55d1bd4983613)

(From OE-Core rev: bfb58bf95f1796deebc9759da6d22949d62e7070)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:56 +00:00
Otavio Salvador
29a5cc693c qt4: Fix translation support
The translation support was disable in build. The
fix-translation.patch was imported from OpenEmbedded to fix a linking
issue in phonon translation support.

(From OE-Core rev: 8d5a5d78f9e83c64ebddcecd7c4fd89cc1264163)

(From OE-Core rev: 23d72a8066233c592503fda4460c309adc27706a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:56 +00:00
Denis Carikli
c3a1b97511 qt4(embedded and x11): Disable neon for armv6-vfp
Without the -no-neon flag, neon is "autodetected"
by looking if the compiler is capable of compiling
a neon test, and succeed, and neon is then enabled
during the compilation.

(From OE-Core rev: 026b59180fe3fbeb43cfd143f053ef33f482ef0c)

(From OE-Core rev: e53987e52a362e9a66c0007bfe1ff17a1d5ba2da)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:56 +00:00
Eric Bénard
f1369ae9fe qt4: fix generated sdk
- qt4-tools-nativesdk : actually the qmake binary which gets installed
comes from the native recipe. This patch fix this problem by launching
configure twice : once to compile qmake using the right toolchain for
nativesdk, and a second time using the native qmake to compile all the
other tools for the nativesdk. Then we install the right qmake.

- mkspec : the link actually created in qt4-tools-nativesdk's
do_install point to nowhere so remove it and generate the link in
meta-toolchain-qte as it's the only place where we have all the variable
to create it.

- toolchain_create_sdk_env_script_append : we need to add OE_QMAKE_CFLAGS,
OE_QMAKE_CXXFLAGS and OE_QMAKE_LDFLAGS else the sdk won't find these
variables that are inserted by qmake in the Makefiles.

- with this patch, oe-core generates a working meta-toolchain-qte which
can compile a small example and is properly recognized by qtcreator (this
brings oe-core's meta-toolchain-qte to oe-dev's functional state).

(From OE-Core rev: 5f6fb92b939147d2d6aa7790a378d4b7cce3ada5)

(From OE-Core rev: d86d55aea57966e1aaffe913c745a648c21f6c24)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:55 +00:00
Matthew McClintock
8620d997d4 Fix lttng-ust for powerpc64
(From OE-Core rev: a75683a815343a481b3612c35e1ab79071343187)

(From OE-Core rev: 6af6e862a3f000ada27c8d7f3440821187494421)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:55 +00:00
Matthew McClintock
7d06a71c02 Update gitignore to ignore all meta-* directories
meta-XYZ directories have been manually added in the past, instead
always ignore them unless they are explicitly added

(From OE-Core rev: 3c6e85c653ce176fd2cb5a570e63c8e5da5a4e48)

(From OE-Core rev: ad5f076bee5f43c035499aa0b873ccf683e4e79e)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:55 +00:00
Richard Purdie
7c5028614b base.bbclass: Drop unneeded dependency
patch depends on unpack
configure depends on patch

We simply don't need a configure dependency on unpack. This simplifies
the dependencies of every recipe slightly and should make bitbake
slightly faster at resovling dependency graphs.

It also makes the .dot dependency graphs slightly more readable by
removing noise.

(From OE-Core rev: c54c1280fc0d06a53e23339c3913ec88eead13d9)

(From OE-Core rev: a5b205090d3244cd578d611fd45f2e2f4818b284)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:55 +00:00
Matthew McClintock
6844fac9d5 Fix flac build on e500mc cores
This core does not have altivec, so we disable it in the build,
also reestablish the config option to enable/disable building
with altivec

If SPE is not detected we always build with altivec which is wrong. This
will check to make sure altivec is enabled and pass build options
through accordingly

(From OE-Core rev: 96241de59fdf548ae0f80cc9e4668f9ba11924ef)

(From OE-Core rev: a7237f2be949aef19eedad5a4f34b91641f1660f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:54 +00:00
Saul Wold
41b5ca8582 python: fix sqlite RPATH issue
(From OE-Core rev: 9f9612d15acc6ee3b71f52bdb3f1ec4cb56b1a17)

(From OE-Core rev: 98acff46d777a5a0931a80a33e9c9d148a0f69a6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:54 +00:00
Matthew McClintock
7a1504dfe8 Add proper deps for nfs-utils, util-linux, and strace
These packages need these deps for the RPM generation stage:

 error: Failed dependencies:
| 	/usr/bin/python is needed by nfs-utils-1.2.3-r2.ppce5500
| 	/usr/bin/perl is needed by util-linux-2.19.1-r4.ppce5500
| 	/usr/bin/perl is needed by strace-4.5.20-r2.ppce5500

(From OE-Core rev: 9c9ea24b115a9bb87df1323b5f185ce426262aec)

(From OE-Core rev: 42acc3337ef40b3ef693000c27e6efdb79e39351)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:54 +00:00
Matthew McClintock
062623f6ef Fix sysklogd build on e500v2 cores
(From OE-Core rev: 5035097bb369dc1740b817734b92bcfa40d95d22)

(From OE-Core rev: 235ec938cdb01918df659a52711da63d3ff7441f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:54 +00:00
Matthew McClintock
62ad5b81cb Add udev patch to compile against newer kernels
This patch is needed to compile against newer kernels which have
changed their API

(From OE-Core rev: 60b04097c7aeca2c4d529b2f23343a507fa68ea6)

(From OE-Core rev: 64ab24d5338120e7d1a1feba966269a885306a63)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:54 +00:00
Matthew McClintock
ada8ebb116 Fix HAL on newer kernels without header file
(From OE-Core rev: 3d421ecaef966b47bec49aa2feb3ccc9833d041f)

(From OE-Core rev: 4a6599a01a6dd2b856656d93e82f1411b7d352ed)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:53 +00:00
Matthew McClintock
f1f2cbbc0d Fix ghostscript on powerpc64
This adds pregenerated files for powerpc64

(From OE-Core rev: 30b91a530e7dbabc4cef24525691aa2c34ecf47b)

(From OE-Core rev: 4bef884ae1fe52916849045e4e3dca6396ee7fb3)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:53 +00:00
Matthew McClintock
c434795edf Add autoconf cache for screen on powerpc64
Screen can not run tests for the target and depends on the aotuconf
cache for information about the target system

(From OE-Core rev: 946cd8df49a8873ff93ef5ec1e3cc745a21e2a8f)

(From OE-Core rev: 3c004856e460656e16739d6b68f5189ecf0746a7)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:53 +00:00
Matthew McClintock
25330d9f38 Fixup kexec-tools compatible host for powerpc
kexec does infact work and build on powerpc, enable the compatible
host for these machines

(From OE-Core rev: 1ccc1ec56bc50cee121c03ae8bb8ccacd32b8560)

(From OE-Core rev: c7afacf05deb8ca77818aa33ee13ec3a8c5d983f)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:53 +00:00
Richard Purdie
c1c5eb6866 util-linux: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: 18ad3a84dacc0d6c107b56874bb23d2a3c0a429f)

(From OE-Core rev: a20e75a83cd5998d7ed6ea7c0c4ea7039c22160a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:52 +00:00
Richard Purdie
51e089403a mc: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: feff6030091d519a0738e2a5db47654dcd13ef13)

(From OE-Core rev: 077a85c4fa376b5e7ee826589bbd4fe6776a326f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:52 +00:00
Richard Purdie
058ef489a0 openssl: Ensure perl scripts reference the correct perl
Without this change the perl path from the build system is used.

(From OE-Core rev: 1ed8fb66c51ce584c13e592176a69a61bae01f2e)

(From OE-Core rev: bc7da81942aa5676010d513407a2731bd385a165)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:52 +00:00
Khem Raj
3eb7e626d0 gcc-4.6: Update to tip of FSF gcc-4_6-branch
(From OE-Core rev: ed7deecb9503420fbf8071445e077c32beda8dc4)

(From OE-Core rev: 90e3aee700b8fff6d94f84850dfc00091b3777c9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:52 +00:00
Andrew Gabbasov
386e75b7f0 apmd: use ${HOST_SYS}-libtool
libtool-cross uses ${HOST_SYS}- prefix while building and installing.
In some cases that may be different from ${TARGET_PREFIX}, that is currently
used in apmd recipe. It's better to have them consistent.

(From OE-Core rev: 5f1fac618fa099f6fc78cbc98f18d1c0ab792abf)

(From OE-Core rev: eda6005d2dfcf163f12e3c5cc447ea3ad495a0bb)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:51 +00:00
Andrew Gabbasov
f72a801d51 apr: use ${HOST_SYS}-libtool
libtool-cross uses ${HOST_SYS}- prefix while building and installing.
In some cases that may be different from ${TARGET_PREFIX}, that is currently
used in apr recipe. It's better to have them consistent.

(From OE-Core rev: 61cedb87446a27ddaaa880a5f3296399def441df)

(From OE-Core rev: 170d1fe5158eeb316009b2920b009da2c2dedae2)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:51 +00:00
Andrew Gabbasov
4ffc32566a libpam: add flex-native to DEPENDS
flex-native is required for building libpam. Although this dependency
is now fulfilled indirectly through bison recipe, having an explicit one
would be preferable.

(From OE-Core rev: 14018608277fe62e2a662711ff6177c93e9bc153)

(From OE-Core rev: 3a8ca44cbd31411934b6c873f75f1fb49167f93c)

Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:51 +00:00
Paul Eggleton
3f692305dc scripts/oe-setup-rpmrepo: use setup_tmpdir from runqemu
Update the internal copy of setup_tmpdir in the oe-setup-rpmrepo script
to be the same as the one in the runqemu script.

(From OE-Core rev: 4a23c4dd5ab31d9642e5e49569d5c7ab77e97adf)

(From OE-Core rev: 2174746ca6f480eb6387d91f9b3faf2581e816d3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:51 +00:00
Paul Eggleton
4ff17dc89d scripts: use OE_TMPDIR instead of TMPDIR external variable
On OpenSUSE within an X session, TMPDIR is set to the system temporary
directory (/tmp) which is incorrect for these scripts. Thus, change
runqemu and oe-setup-rpmrepo to use OE_TMPDIR from the external
environment rather than TMPDIR.

Fixes [YOCTO #1530]

(From OE-Core rev: 4e24c10952c7a52af7f2447595fd484692d35534)

(From OE-Core rev: 354497bf3e3bf68374875caa97d9b4fdcad74789)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Saul Wold
1a506c5dfd rpm: fix QA Warning on installed but not shipped staticdev filesw
(From OE-Core rev: 62ce8f96626e061e03ca49896716bbb133721ee0)

(From OE-Core rev: 59f80f70c5ff6c62143b7bad5a67d5508b388d29)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Simon Busch
84865e45ea meta: qt4: fix postprocessing of pkg-config files
When building qt4-embedded the generated and cleaned pkg-config files for qt are wrong.
The Cflags variable contains something like ${includedir}/qtopia/QtCore where
${includedir} is already /usr/include/qtopia/QtCore.

This patch reverts the fix up of the Cflags variable implemented in do_install.

(From OE-Core rev: b40b9c024be5e1ec81a31961158b3e6b529acfe0)

(From OE-Core rev: 960318ebd271ad5330a0863047927ab827b5e107)

Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Richard Purdie
ae97dbe1db pseudo: Fix QA warnings
This fixes two QA warnings:

a) Debug files being contained in the main package (by adding
   an appropriate FILES expression)
b) Stop hardcoding the RPATH in the nativesdk case since our
   path is on the loaders default search path

(From OE-Core rev: 1577975202437f8f89ef24a5e4d3f6c6c8a88c5c)

(From OE-Core rev: 0c345e7aa83196e55cd554a958690e4cc261ef16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Richard Purdie
edb2641243 sqlite3: Fix nativesdk packaging/QA warnings
When building sqlite3-nativesdk, there was a warning about debug files in the
main package. This was due to the order of items in PACKAGES with -dbg after
the main package which breaks an assumption native.bbclass makes. Changing
the order fixes the packaging problem with no change to the normal target
packaging.

(From OE-Core rev: 4f5fdc4dc14d287d301069024ddec9cb65d68f7f)

(From OE-Core rev: 8f2ff09f0da21e83ddfb8049bf7ddece94eb6893)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Richard Purdie
c8635bab0b grub: Fix insane/QA architecture warning
There is QA warning about this package for an architecture mismatch but
this is inappropriate in this case since the bootloader needs 32 and 64
bit code. We therefore flag the QA check to be skipped.

(From OE-Core rev: 43723e19eb5a6119c7546dc812428e792999a928)

(From OE-Core rev: f31c0b804b04cd1ae9ea7251164fd1345697c72b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:50 +00:00
Richard Purdie
cd50451812 gcc: Fix two QA issues
a) There is a QA warning from a .so being present in a main package.
   In the case of the plugin library for gcc, this is allowed.
b) Remove the unwanted libiberty.a file with the strange path. We
   don't need/want this and this removes an unpackaged file warning.

(From OE-Core rev: ca36a3edf9cede9fa0d73ba1a9538ab467cb5e3c)

(From OE-Core rev: 974677d32e0af74fab58d1b12b8d786b67323c5a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Dmitry Eremin-Solenikov
877979c8b5 libffi: really populate -dev package
As per gcc PR 11147, libffi installs headers into a target dependent
place (/usr/lib/....). Include a rule to include those files into
libffi-dev package.

Reference: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11147

(From OE-Core rev: 684a4b517d13884c315688967fadd5e6a4845b71)

(From OE-Core rev: 5cb756227b12e0d537430a527c51033572fb627e)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Dmitry Eremin-Solenikov
f69eca96d1 gconf-dbus: packaging fixup
Behave more like plain gconf: include a dtd and .la files into -dev
package.

(From OE-Core rev: 9e962c1b4c8e5a3352f5e2b7dc162aeac1335b3a)

(From OE-Core rev: 53951cffc4253850b9b0d6e24f932a9106dfafef)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
lumag
c0a8c9b985 gcc: include libgcov.a into libgcc-dev package
First, this lib is usefull for coverage analysis-enabled building.
Second, this fixes the warning about unpackaged files in libgcc recipe.

(From OE-Core rev: 2a807a98d8be3f486e703321773db32657c71d9e)

(From OE-Core rev: 651e6ee7d1ba729ed0bb5e9ede5975582d9941bf)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Dmitry Eremin-Solenikov
09ab224a2f gcc: fix possible problems with nscd compilation during eglibc-nativesdk build
Long time ago a066e7ca90a28d5681c5fa895a29e999ed7c88b was committed to
address possible problems with compilation of nscd during
eglibc-nativesdk build. Problems were related to the way gcc searches
for headers to check if it should enable it's own stack smash protection
bits or it can relay on eglibc for it.

However after 934d38530c9a67562e53d4034aee5531f0f26750 things got
broken, as for gcc-crosssdk-intermediate packages:
1) EXTRA_OECONF is ignored
2) headers are installed in a different location than expected by that
patch.

This results in eglibc-nativesdk build broken on some systems (e.g. mine
Debian x86_64 squeeze). Fix that by providing with-headers options to
crosssdk-intermediate gcc configuration.

(From OE-Core rev: 63494d638b7a9b88a5b7d7a02d2afcb3aa0fa064)

(From OE-Core rev: b4a686061f27f663321674fb42aa93dbd20c5b3a)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Dmitry Eremin-Solenikov
0e9001afd5 icecc-create-env-native: provide the script right in the tree
There is no point in downloading a tarball with no clear upstream (other than
icecc itself) and then patching it. Rather put new script in the source tree.

(From OE-Core rev: 409fa8ca4d37ad407faaa2a8935e9d2bb89776c9)

(From OE-Core rev: e68d1d5117be9631db644b70308e7360a9d76a3a)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Dmitry Eremin-Solenikov
d63678cdfa bitbake.conf: change ccache path to use MULTIMACH_HOST_SYS
Currently if I build packages for several targets (e.g. for armv5te tosa
and for armv7a beagleboard) oe will use single ccache dir for both of
those targets: build/ccache/arm-oe-linux-gnueabi. However those targets
use different opcodes, different features and binaries created for one
of those targets wont't run on the lower one. So use MULTIMACH_HOST_SYS
for ccache dir, so that it uses something like
build/ccache/armv5te-oe-linux-gnueabi dir.

(From OE-Core rev: 982373006a98cf2303514badd1cfb692108408c0)

(From OE-Core rev: 9d460e31b6b45b30b39587503d655aa2a418cbc3)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Khem Raj
1af2581f0b gnome-doc-utils: Prepend PKG_CONFIG_SYSROOT_DIR to the path returned from PKG_CONFIG
If we build say gnome based image on a build system which does not have
gnome e.g. kubuntu then packages like gedit do not build since it uses
gnome files from host system which are non existent on kubuntu

(From OE-Core rev: 7b18b3c96634e40abf690a7ec72562389b0e6c23)

(From OE-Core rev: a413f3adcfb8245550067c1c2a3197817e631ffe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Richard Purdie
9dcb176dc8 autotools.bbclass: Set the dynamic linker search path for libtool correctly
libtool obtains the search path from /etc/ld.so.conf and hardcodes /usr/lib
and /lib. This results in host contamination and variable sets of RPATH
values ending up in binaries.

By exporting the correct values for all autotools recipes we avoid this.

(From OE-Core rev: 93e595d5c89ebacdb8d1e6fcfe6f58fe2d30de28)

(From OE-Core rev: 5e41e0973a9be890ac310e1bbf465fcd08b0add5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Zhai Edwin
64ba74deff matchbox: Upgrade SRCREV to reflect recent accpeted patches by upstream
(From OE-Core rev: 33a1a05ef988c69f8ff8e38c6723922082e5d1aa)

(From OE-Core rev: 1194935707f4acd9029b36769bc0320ba0a90163)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Mark Hatle
ff047d3a77 cups: Fix recipe to use the correct cups directories
${libdir} is not used, instead they use a common ${exec_prefix}/lib
directory structure for helpers, filters, renderers, etc.

(From OE-Core rev: 24ae432b1a3906956381d83c1984687e45c5a1d1)

(From OE-Core rev: 72da8109de9c2b1e237655706cdf4de447d38393)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:49 +00:00
Khem Raj
b137421cfc eglibc-2.12: Fix build on powerpc/603e
We pass --with-cpu to eglibc now. Which breaks
the configure for cpus that it does not support
We add support for ppc603e which gets 2.12
building for qemuppc.

(From OE-Core rev: 465a988e2370ec377875b599045f2a7bad913ac6)

(From OE-Core rev: f6dbd42382d980d90f3e64a94178a0050af537cf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Conflicts:

	meta/recipes-core/eglibc/eglibc_2.12.bb
2012-01-30 16:37:48 +00:00
Dmitry Eremin-Solenikov
3a8590f105 gcc: include plugin-related headers into packaged SDK
Include headers necessary to compile gcc plugins into cross-canadian gcc
packages.

(From OE-Core rev: d12aa92b3dac1109d510e7b6f74055d1ab927817)

(From OE-Core rev: 51c96c98fca5a4a51cb38a6442ab9b4a03938721)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:48 +00:00
Dmitry Eremin-Solenikov
3571525ab8 e2fsprogs: include devtools scripts
Some scripts are necessary to develop programs with libcom_err and
libss. Include those into e2fsprogs-dev package.

(From OE-Core rev: 46332c2313abb273f6fc889fac4daa91cf43faa3)

(From OE-Core rev: f1f22acd15591e5394254441c4364899875a0fbc)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:48 +00:00
Dmitry Eremin-Solenikov
204762c531 glib-2.0: include glib-gettextize stuff
glib-utils already includes glib-gettextize program. Include some files
necessary for glib-gettextize to work.

(From OE-Core rev: c98356e9c46cd28b7ca8e84fe0ea56dc6d812a8d)

(From OE-Core rev: 0f0d5c7d980400bb45e78b7f178844c5a6dbf630)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:48 +00:00
Daniel Lazzari
394d340ab1 alsa-lib: Don't use versioned symbols on uclibc builds as it causes strange hangs
alsa-lib: Don't use versioned symbols on uclibc builds as it causes strange hangs. Taken from oe-classic.

(From OE-Core rev: b354eb957ce08ac7814ce46c13ca3a8449b4063a)

(From OE-Core rev: 16852546234a252103337414fe536a3b97443539)

Signed-off-by: Daniel Lazzari Jr <dlazzari@leapfrog.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:48 +00:00
Bruce Ashfield
4bf5435d95 linux-yocto: v3.0.10 + rt27
Updating the BSP base to the kernel.org v3.0.10 baseline and importing
the latest stable rt27 release.

(From OE-Core rev: e8aa8fe6e299104d4eb6da16134272a1dc7e929b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:47 +00:00
Bruce Ashfield
05dba88379 linux-yocto: change SRC_URI to 3.0 maintenance kernel
The 3.0 yocto kernel is updated for both new feature development
and for maintenance purposes. The maintenance kernel repository
takes updates once they have been applied to the development
repository and have been deemed safe/suitable for point releases.

(From OE-Core rev: 0b6eedfe26fca031e84543cab92b20e121364fb7)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:37:47 +00:00
Paul Eggleton
1ab5a6851d README.hardware: declare support for BeagleBoard xM rev B
The BeagleBoard xM revision B has been tested (by me, if nobody else.)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-01-30 16:30:14 +00:00
Paul Eggleton
781866f64e README.hardware: update atom-pc instructions
The -live and -directdisk images have been superseded in the Yocto
Project 1.1 release, so update the instructions for atom-pc relating to
this change. Also fix a couple of other minor atom-pc related
capitalisation.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-01-30 16:29:43 +00:00
Joshua Lock
702c428804 poky: set linux-yocto-rt preferred version for qemu machines
Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-01-30 16:19:24 +00:00
Xiaofeng Yan
5882121a94 local.conf.sample.extended: Fix bug 1674
[YOCTO #1674]
local.conf.sample.extended: An image based on gtk+-directfb don't need x11 for DEFAULT_FEATURES

Remove "x11" from DEFAULT_FEATURES and add "directfb" to it because someone could don't need x11 in their project, perhaps
gtk over directfb will meet his reqirement.

(From OE-Core rev: 5def790bdecd2726692b40a57bc12c8bdfea9179)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:19:15 +00:00
Joshua Lock
6c2f754a0a machine/atom-pc: enable sound
Add alsa to the MACHINE_FEATURES - looks like this was an oversight.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:19:06 +00:00
Joshua Lock
acd0bedbce ui/crumbs/hobprefs: trigger a reparse after changing IMAGE_FSTYPES
As reported on the mailing list[1] when changing IMAGE_FSTYPES through the
hob preferences a reparse is required before the changes will be picked up
by the system. This patch sets the reload_required property of the class to
true when the image types have been modified to ensure the reparse is
triggered.

1. https://lists.yoctoproject.org/pipermail/yocto/2011-December/006002.html

(Bitbake rev: 6c0babf08909307ab69a66ed06e77e8818b2a8c5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Joshua Lock
90f8d53800 ui/crumbs/runningbuild: handle InvalidTask events
The knotty UI just ignores these and so should RunningBuild, if these events
aren't handled the UI appears to hang.

Fixes [YOCTO #1665]

(Bitbake rev: 540ba78075bd525776aa23bf38bee66350c66534)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Matthew McClintock
23c6b49566 siggen.py: If both sigs have a variable in it's whitelist then don't say it's changed
Some BB_HASHBASE_WHITELIST variables are in the lists of variable
dependencies for signatures. Ignore those differences in lists
since this difference does not matter

(Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Robert Yang
f204d16012 bitbake: Update and fix bitbake-runtask
Since bitbake switched back to the fork instead of the exec model,
it no longer used bitbake-runtask and the code has suffered some bitrot.
bitbake-runtask is a useful tool for excuting the task without
the scheduler of bitbake, so that the external tool can invoke it
easily. It also provides a useful example of how to invoke exec_task()
with low overhead without a lot of the bitbake threading/UI overhead.

Significant changes:

* This patch changes the argument order so that the commonly used
  and mandatory arguments come first.

* The taskhash file and dryrun options are now optional

* It now uses the bitbake logging mechanisms to provide processed
  logging output to the console.

* The process handling to do with stdout/stderr redirection
  are removed since they're no longer required.

[YOCTO #1229]

RP: Logging updates to the patch based on Roberts original patch
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Richard Purdie
3796541746 bitbake/siggen.py: Don't backtrace if the taskhash data isn't present
This allows the code to safely fall back to dumping the basehash data
if the taskhash data isn't present for some reason. We could effecitvely
obsolete the runtime option and use this approach instead exclusively.

(Bitbake rev: 5ace320ccc01f4e326f90b7ba060dcbff3380dca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Richard Purdie
0e676f74c5 build.py: Be determistic about a function's cwd
There is a subtle but nasty problem that a function's cwd can vary
depending on whether ${B} (often ${S}) exists before the funciton is
called or not. Most functions in the system can cope with this but
its bad practise and I've just witnessed build failures resulting
from this during image generation from bootimg.bbclass. I also
suspect this could explain some odd fetcher behaviour witnessed in
the past.

This change ensures we always call funcitons with a specific build
directory making things deterministic.

(Bitbake rev: ef0888f83fa4408eb768257d7e03700202faad18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Richard Purdie
26666187e3 cooker.py: Allow the -e option to work with virtual classes and -b
Using bitbake -e -b virtual:xxxx:/path/to/the.bb would result in
zero matches since the virtual:xxxx piece wasn't being processed.

This adds in the necessary functionality to handle it correctly.

[YOCTO #1793]

(Bitbake rev: bd5a727c8447bcb747c1d2463b7de2ab6d21a7de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Matthew McClintock
c270f92b08 Nothing uses USERNAME, remove it - can cause sstate-cache conflicts
USER is the correct variable to use, also this can affect sstate
cache as well.

(Bitbake rev: d7f9edda65dae2e046871afa275c5a51dff48fc4)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Christopher Larson
1670051a79 codeparser: silence non-literal warnings for vardeps
If the vardeps flag is not None, we now silence the warnings about
non-literal usage for that variable.

(Bitbake rev: e724b9f417d1baf898f5afc6376c73c1a2ad8db9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Christopher Larson
c61f04c34e codeparser: drop expand tracking
There are two usual cases involving bb.data.expand:

- Calling it with a string literal -- "bb.data.expand('${FOO}/${BAZ}/bleh', d)".
- Calling it on getVar results (legacy) -- "bb.data.expand(bb.data.getVar('FOO', d), d)"

Nothing in any of the usual layers uses it in any other way, and I'm
having trouble coming up with any real use cases beyond this. The first
of the above cases is already tracked, via the expandWithRefs called
on the python code string. The second didn't emit a warning anyway,
since the getVar was already handled.

Given this, I see no reason for us to maintain explicit expansion
tracking. Further, we weren't using its results anyway (the var_expands
member).

(Bitbake rev: 405dfe69e6a608826e599ebf2f83ef8cf5083b96)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:13 +00:00
Christopher Larson
2b26745c70 codeparser: accept a name for better messages
- If a name is passed to the parser, prepend the messages with "while
  parsing <name>:". This gives a bit more context.
- Tweak the warning messages slightly (they had to be altered anyway to
  inject the variable being parsed).

Before:
  DEBUG: Warning: in call to 'bb.data.getVar': argument ''%s' % var' is \
         not a literal

After:
  DEBUG: while parsing emit_pkgdata, in call of bb.data.getVar, argument \
         ''%s' % var' is not a string literal

(Bitbake rev: 1060193ae4d54e667735dbff5d1d2be49a3f95c9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Christopher Larson
28ca6cc34b codeparser: simplify how we compare the called node names
With the previous method, using the compare_name methods, we split the
requested match name by '.', reversed it, then compared them piecemeal
during the node traversal. The new method walks the nodes and hands back
the name of what's being called, and then we check that. This also
consolidates the two different implementations of traversal of the
attribute/name nodes (one in compare_name, one for the execs).

(Bitbake rev: 84e535b5165c7e936c5b1486bdf4626ed3649f5f)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Christopher Larson
ada59bde67 codeparser: merge the nested python parsing classes
The split is even less necessary now that we use ast.walk rather than an
actual NodeVisitor subclass.

(Bitbake rev: d6c44fac184abae8395bfa7078f06675218aa534)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
9a68fb1364 data/siggen: Add vardepvalue mechanism to allow the variable dependency code to be forced to specific values
We have a problem if we want to inject specific information into the variable
dependency code. There are cases for example where we want a dependency
on the value of X but it doesn't matter how X was constructed or what
dependencies it might have had, we only care about the absolute value.
With the current code, its near enough impossible to do this.

This patch adds such a mechanism so the user can trigger this with code like:

baselib[vardepvalue] = "${baselib}"

It also refactors some of the code so we do variable lookups once
instead of doing this in two different functions.

[YOCTO #1583]

(Bitbake rev: 6c879b44ccf42dc73fe4467076e114700d7ba81b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
f87c92143e fetch2: Improve uri_replace to handle paths with no trailing '/'
Currently if you specify a mirror like:

file://.* http://linux.freescale.net/yocto/sstate-cache

it won't work as you expect whilst:

file://.* http://linux.freescale.net/yocto/sstate-cache/

will since it has the trailing slash.

This patch handles both cases correctly. It also adds some debug to
the uri_replace function since its near impossible to debug it without
some kind of output.

[YOCTO #1578]

(Bitbake rev: a0246bf09c93bb657eaf6ba61d090b247ed33640)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
f38e44bbb2 runqueue.py: Fix debug message to reference the correct task
(Bitbake rev: 035c673c463ca450245acf824e7b7e8f889bdc89)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
4d7f50382e fetch2/local: Don't default to files in DL_DIR for file:// urls
Defaulting to any file in DL_DIR as the first match for a file:// url
doesn't make much sense and can lead to unexpected results.

This patch changes the logic so this is the last fallback location
instead. Whether it should be using DL_DIR at all for this is a
good question but something for another patch.

[YOCTO #1710]

(Bitbake rev: 5597a68fac0954c682b67471722c2643e2415f99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Matthew McClintock
6803d97bdb siggen.py: sort task hash depedencies with basepath
Without this patch the tash hash dependencies can be in a order
that is dependent upon directory/filesystem layout. With this
change the data is sorted the same regardless.

Without this the dependent hashes could be in different orders
on different systems and consequently final md5 hash would differ
as well even though nothing else changed.

(Bitbake rev: 9a2029899c946ce9aa8adbc85f2cfe7a85b92182)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Matthew McClintock
81ed10442b bitbake: print out symmetric difference when comparing sigs
This is useful for really longs lists to pinpoint what has
actually changed

(Bitbake rev: f1eb6d3dcc10c42bb09383a87bde3afa69bc6ed9)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
1a46002fad runqueue.py: Ensure we fully process the covered list
The existing looping code can mask an existing "found = True"
by forcing it to False each time. This can lead to dependency
lists not being fully searched and results in dependency errors.

An exmaple of this was the autobuilder building linux-yocto from
sstate but then rebuilding some of the recipe's tasks for no
apparent reason. Separating the logic into two variables solves this
problem since any "found = True" value is now always preserved.

(Bitbake rev: 61017fc5d30b7a13308d038872ec92efc1a84cef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
2747b2003e runqueue.py: Ensure setscene tasks don't break dependency order
If A depends upon B which depends upon C and the setscene for B
succeeds but C is going to get rebuilt, we should wait for C to
try and build A but currently we don't.

This is due to the timing of when we run the task_skip() as this
triggers other tasks to become buildable. This patch moves the timing
of that call to a more appropriate place allowing dependencies to
behave as expected.

(Bitbake rev: b7114d8e5d9b0720339bd5d24d243c0f2a7c1f3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:12 +00:00
Richard Purdie
375297ea28 bitbake/runqueue.py: Sort the list of skipped tasks as it makes searching the list easier when debugging
(From Poky rev: 5de8a495fba657e1febc616bbc737a8136cc88f9)

(Bitbake rev: 110f6cccbcc5907e15262c05d5c47da101e1a47d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Richard Purdie
c2662a5095 bitbake/runqueue.py: Fix incorrect task number reference in debug message
(From Poky rev: 45887bbd5479041be05b914668f14de6ec9b9831)

(Bitbake rev: dc4439ca8c7db7ceee78bd0552f65ceddcff17a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Richard Purdie
da56e3df88 parse_py: Use absolute paths for FILE
Its possible for relative paths to creep into FILE. These confuse the
build system no end as its not clear where they might be releative to.

This patch ensures we always use resolved absolute paths for FILE
so that things behave in a deterministic way.

(Bitbake rev: 658d7daa70e46c2b20973b90ee53f0bbadc8bf5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Richard Purdie
388dbe4928 siggen.py: Include list of variables in hashes
Ensure that the list of dependencies is included in the hash
as well as their contents

Prior to this, adding or removing dependencies with values
of "None" would not change the hash, despite diffsigs reporting
this difference.

(Bitbake rev: 727ca945177ce9bd44515cf611e3e95a09466d98)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Richard Purdie
dbcce81f66 siggen.py: Fix diffsigs output for filename comparisions
When comparing sig files, if the recipe locations had changed, the
dependent tasks list would show as changed even if the actual hash
had not changed. This updates the code to only compare the base part
of the pathnames.

It also tweaks some of the output to add newlines to aid comparing
two lists of variables as it makes the location of the difference
clearer.

(Bitbake rev: 165a22ddcc647b945707fb5c483146bb336d5f66)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Christopher Larson
46ac868403 codeparser: make var_expands actually hold useful information
Previously, it was calling var_expands.update() rather than add(), with
a string argument, resulting in adding each character of that string to
the var_expands set, rather than the string itself.

(Bitbake rev: 8e4e75383e43d6da2c16ec5286186a0d0569b0f8)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Paul Eggleton
6e1105e1e8 lib/bb/runqueue: avoid marking runtime dependencies as covered
The code which populates setscene_covered list was adding a task to the
covered list if all of the tasks that depend upon it were also covered;
however, this means that tasks that would have installed "runtime"
dependencies were being marked as covered also, e.g. gmp-native and
mpfr-native are needed by gcc-cross at runtime since they are shared
libraries that gcc links to, but their do_populate_sysroot tasks were
being marked as covered, resulting in failures later on if gcc-cross was
available from sstate but mpfr-native and gmp-native weren't.

Since we currently have no real way to handle runtime dependencies for
native packages, add a workaround which avoids marking tasks as covered
if one or more of their revdeps are from a different recipe.

Fixes [YOCTO #1536].

(Bitbake rev: e492eb4dc9016cd0bed194377c6f2b85cf0ad113)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Richard Purdie
4494f59a26 utils.py: Fix lockfile retry handling
The lockfile retry parameter is expected to return immediately after
attempting to take the lock. There was a bug in the logic which this
patch fixed to ensure it does that.

(Bitbake rev: f421ef819f00ac659504d9af41bcc8323422ff8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Joshua Lock
13590b23c6 hob: fix backtrace when dismissing open dialog
Clearly a logic/indentation error - we should only try and load the recipe
should the file-chooser return OK.

Fixes [YOCTO #1668]

(Bitbake rev: db59297aa1861614ffaea4295b9b054baa8a12b9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Matthew McClintock
2c3861ee68 fetch2: Export additional variables to the fetchers
git could need these environment variables when working behind
a proxy

(Bitbake rev: dca46cc2e1c75b6add2c4801e2994a4812745f5b)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Matthew McClintock
9cf7aabecf fetch2/git: Make git fetch run with -f so rebased branches don't fail
git fetches can fail (or at least return failed) when trying to
fetch and prune rebased branches. This patch simply adds a -f
to the git fetch command so these failure are ignore

Generally, if some SHA was rebased away it's not coming back so
there is no point in not doing this force

(Bitbake rev: a7b75e4db52445b30ec0fc0053dcf454f5f7d2db)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:16:11 +00:00
Scott Rifenbark
81d1a4aadf documentation/Makefile: new 'edison' variable for YP dev manual.
I discovered that the figures used in this manual differ depending
on the branch.  There are two figures that are different.  Thus,
the TARFILES variable in the makefile needed to be conditionalized.
If it is not, then the process that makes the tarball throws errors
because it cannot find the two figures from the other branch.

To fix this I introduced the 'BRANCH' variable.  It is to be used
only when you make or publish the YP Development Manual.  And, you
only use it to specify 'edison'.  If you are building from the 'master'
branch you don't need to use it.

Comments in the file have been updated to explain usage.

(From yocto-docs rev: 0341b19f75176fd4133fd66cb5536b765edf0294)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:03 +00:00
Scott Rifenbark
6578845f69 documentation/Makefile: fixes for missing tarfiles
I had added some edison-specific figures and they needed to
be included in the TARFILE variable for the YP development manual.
The fix now makes the TARFILE variable all-inclusive for all
.PNG files regardless of branch.  Consequently, there can be
some missing files when the manual is made but the errors are okay.
I documented the exceptions above the variable.

(From yocto-docs rev: be731afde47dfc85da6ba88f93910899ec259e87)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:03 +00:00
Scott Rifenbark
b5a4e78df5 documentation/dev-manual/dev-manual-kernel-appendix.xml: edits to example
Poor flow for the config_smp example.  Upon reading this example
it did not stand well on its own.  I added some text, albeit
redundant but necessary I felt, so that the example would stand on
its own.

(From yocto-docs rev: 1677a873e9bd1124a5ff0234edc1ee05938c19b0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:02 +00:00
Scott Rifenbark
68b55c1e85 documentation/dev-manual/dev-manual-kernel-appendix.xml: Fixed repo name
I left "work" off the name of the copy of the clone repo
for the kernel example.

(From yocto-docs rev: 26f3dd9c82beb3c8d6e50c2132756bdb4b29b56d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:02 +00:00
Scott Rifenbark
4234beb034 documentation/dev-manual/dev-manual-kernel-appendix.xml: branch info added
The example now uses an edison branch of the poky-extras repo.
Now that that is necessary, there needs to be explanation in the
example on setting that branch up after creating the local
repository.

(From yocto-docs rev: 70599a07a6efb0ae2da04baa43b5bb99c9ec4e5d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:02 +00:00
Scott Rifenbark
ddb5143d9d documentation/dev-manual/dev-manual-model.xml: updated figure
Because the names of the bare clone and copy of the bare
clone kernel repos changed in the example this figure needed
to be altered.

(From yocto-docs rev: e49ec4256bd9fe9f1193b70f8a5ab864c069c863)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:02 +00:00
Scott Rifenbark
25dcd673f5 documenation/dev-manual/figures: Figures altered.
Changing the name of the bare clone and copy of the bare
clone for the appendix A (kernel) example affected this
figure of the file structure.  I updated the figure, which
is now specific to 1.1.x and added it.  I also had to remove
the figure that will now be specific to (master) work.

(From yocto-docs rev: 048af1a6945991c66abef72de05c136e8071a9e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:02 +00:00
Scott Rifenbark
1ad7977742 documentation/dev-manual: Changes to repo names and kernel example.
To make the kernel example more easily understood, Joshua Lock
suggested that the names used for the bare clone of the kernel
git repo and the copy of the bare clone be more different.  So
I have changed the example such that the bare clone repo is
named linux-yocto-3.0-1.1.x.git and the copy of the bare clone
(or working repo) is named my-linux-yocto-3.0-1.1.x-work.

Note that this also implies the use of the linux-yocto_3.0-1.1.x
kernel and not the linux-yocto_3.0 kernel.

All the changes made here should take care of the example.  I
did have to introduce a new figure that showed the kernel
repos based on the new names used in the example.  Also, I had
to delete the other from this branch.  The examples are now
diverging according to (master) work and 1.1.x work.

Reported-by: Joshua Lock <joshua.lock@intel.com>
(From yocto-docs rev: f4fdef6078fccfc2c72b6e0ad1dfae1f1ecb2aa6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:01 +00:00
Scott Rifenbark
fe40f117c1 documentation/poky-ref-manual/faq.xml: Fixed links to python
The links to the 32-bit and 64-bit Python tarballs in
miscsupport were broken.  I fixed them.

(From yocto-docs rev: 6dd820fe8e3d22329a4d6e4edcbba72bf70841c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:01 +00:00
Scott Rifenbark
0550d8c73e documentation/dev-manual/dev-manual-newbie.xml: updated download link
Found a link that was still yoctoproject.org/downloads.  I changed
to downloads.yoctoproject.org.

(From yocto-docs rev: 26c87f543c95efcd7e5a546b3cd0d0756a238fa5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:01 +00:00
Scott Rifenbark
bc821a2ab5 documentation/adt-manual/adt-command.xml: Corrected wording for setup
Bad wording fixed to describe the changes to PATH when the setup
script is run.

(From yocto-docs rev: 95c6049995e8b51a46ba7fba57fcc240b6baeaaf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:01 +00:00
Scott Rifenbark
aa72ed0b23 documentation/adt-manual/adt-eclipse.xml: Fixed yoctotools reference
The menu for the YoctoTools in Eclipse moved from underneath
"Windows" to the top level.  I fixed the reference to reflect
that change in the GUI.

(From yocto-docs rev: 89830569107200f89d78e0b32b98429a947abe36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:01 +00:00
Scott Rifenbark
e0a2bbd2a4 documentation/adt-manual/adt-eclipse.xml: Fixed menu reference
I changed the wording in an example to use "menu" instead of
the incorrect "navigator pane".

(From yocto-docs rev: d2ce174e8e427c279d90197eb896e1f4df183196)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:00 +00:00
Scott Rifenbark
1a2454fcba documentation/adt-manual/adt-eclipse.xml: Added more info for example.
I added a bit more information to the third step of the
example that reconfigures a project.

(From yocto-docs rev: d30a83e4f62015cbaba9e2532b7e69d1908dfb50)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:00 +00:00
Scott Rifenbark
92675a93ba documentation/adt-manual/adt-eclipse.xml: Removed redundant link
I removed a redundant link to the QS manual.

(From yocto-docs rev: 20c898194511bd943ca2a93b1a4caad0466fccd9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:00 +00:00
Scott Rifenbark
1bafc89431 documentation/adt-manual/adt-eclipse.xml: Updates to plug-in install
I worked through these methods and discovered a bit more on how
they actually work and when the user would use a given method.
The updates reflect this new knowledge.

(From yocto-docs rev: 346652df7a3423b82a10d41aa2d7dcddb803ad6f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:06:00 +00:00
Scott Rifenbark
dc785b64c1 documentation/adt-manual/adt-package.xml: Fixed reference to manual.
Removed redundant link for referencing a section of a different
manual.

(From yocto-docs rev: 44f4df93ead5c8d48dd536355770919871bdc283)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:59 +00:00
Scott Rifenbark
257dbe8d39 documentation/adt-manual/adt-prepare.xml: Updates for 1.1.1
These changes reflect working through the chapter using the
1.1.1 release.  Several areas needed tweaking.

(From yocto-docs rev: 566b8a492e502e88a1404f833db140a6408da592)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:59 +00:00
Scott Rifenbark
c81c4cb0c7 documentation/poky-ref-manual/ref-variables.xml: PDF formatting fixed.
In the PDF version of the reference guide there were several glossary
variables that did not format correctly.  The issue is that the two-
column list had instances where the variable name overruns the
variable description.  I added an extra line return for these cases.

(From yocto-docs rev: f3ff26568b371807986e4ba77fe41cba6875efcc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:59 +00:00
Scott Rifenbark
da3edbd85b documentation/adt-manual/adt-prepare.xml: added unpacking text
I added text to show how to unpack the generated ADT Installer
tarball.

(From yocto-docs rev: b0cf4554d3dde3a018f8f7901162474cb423ea12)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:59 +00:00
Scott Rifenbark
44aa4f320a documentation/adt-manual/adt-prepare.xml: update link to get ADT inst tarball
(From yocto-docs rev: b034cda6c18fc350636554b5ff8a4a89f503308d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:58 +00:00
Scott Rifenbark
38dbccd997 documentation/adt-manual/adt-intro.xml: Fixed broken perf link
(From yocto-docs rev: 13ddf9ab19f55e5f204ffa78180d89c47d51155f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:58 +00:00
Scott Rifenbark
6c27a7b50e documentation/adt-manual/adt-prepare.xml: Updated 6.0 to 6.0.1
Changes for the 1.1.1 release.

(From yocto-docs rev: 42ffeb43ea315b14e8b4668d3ab5ff8a16f1e7ac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:58 +00:00
Scott Rifenbark
7ef3bc97b7 documentation/dev-manual/figures/kernel-example-repos.png: update figure
The figure that shows the kernel repos needed the git push
command fixed.  There was no ":" character in it.

(From yocto-docs rev: 69874766764788f08dc448b9835d41b6c67fcd8a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:58 +00:00
Scott Rifenbark
807b96f882 documentation/bsp-guide/bsp.xml: updated crownbay file structure
The file hiearchy was stale for the meta-crownbay examples in
recipes-graphics.  I updated in two places.

(From yocto-docs rev: a16bf8ae56efb907a50fbe4c16be0adfeec5c275)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:57 +00:00
Scott Rifenbark
2add98ffc8 documentation/bsp-guide/bsp.xml: Updated linux-yocto_3.0.bbappend example
This example had gone stale.  I cloned the meta-intel repo and
copied the edison branch version of the file into the manual.

(From yocto-docs rev: 963c53157f147c556cc4317f68fafeb0650268cc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:57 +00:00
Scott Rifenbark
ed7fe93178 documentation/dev-manual/dev-manual-kernel-appendix.xml: menuconfig update
The example that shows menuconfig and where the .config file is
was updated to show the use of linux-yocto-3.0 kernel.

(From yocto-docs rev: a9f7a73842b428242da95f3dfe6a7b31c123ebc2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:57 +00:00
Scott Rifenbark
397081ef41 documentation/dev-manual: Updates to index of releases
Had to update the figure again and I updated the surrounding
text.

(From yocto-docs rev: d3a0cb2b24dabdf4a022a7426aeb2b80b40ae544)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:57 +00:00
Scott Rifenbark
570eeea297 documentation/dev-manual/figures/index-downloads.png: updated picture
Updated the picture that shows the index of releases.  they renamed
this from index of downloads.

(From yocto-docs rev: 098648434311bbe6de68fbbf89486ee1f9c0e4ec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:56 +00:00
Scott Rifenbark
b9232eb2b4 documentation/dev-manual/dev-manual-kernel-appendix.xml: cleared up note
There is note instructing the user to delete unused .bbappend files
or comment out the COMPATIBLE_MACHINE statements in those unused
files before running the build in the example.  the note was not
clear about the COMPATIBLE_MACHINE statement in the .bbappend file
that is actually being used.  I edited the text to be clear about
that.

(From yocto-docs rev: 44277b9c5d8a77958a4220fa790bc13e9ce697b3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:56 +00:00
Scott Rifenbark
405578286d documentation/dev-manual/dev-manual-bsp-appendix.xml: hddimg size updated
The 'dd' example needed updating for the output that shows the
size of the image.

(From yocto-docs rev: f7cee3f3b9ccf2760de182b3d545e8d53ef83786)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:56 +00:00
Scott Rifenbark
1c937b6359 documentation/dev-manual/dev-manual-start.xml: updated to clone output
Updated the console output created when you create the bare clone
and the copy of the bare clone.

(From yocto-docs rev: 73130ec4a785417c5b8a91c0b577ac3681562b77)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:56 +00:00
Scott Rifenbark
567200dcf2 documentation/dev-manual/dev-manual-start.xml: poky-extra output updated
I updated the console output returned when you set up the
poky-extras repo.

(From yocto-docs rev: f4a6bea21df8dc6df1c30288a6ea93218e7d614d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:56 +00:00
Scott Rifenbark
b4f5708c05 documentation/dev-manual/dev-manual-kernel-appendix.xml: General Edits
Better wording for the "Local Yocto Project Files Git Repository"
bulleted item.

(From yocto-docs rev: 03dea8208ba641efdfc9d1fa1d9afddc8c659cbf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:55 +00:00
Scott Rifenbark
b8cb28fc2f documentation/dev-manual/dev-manual-bsp-appendix.xml: dd example updated
After building the BSP example the dd example command is being updated
with new image.

(From yocto-docs rev: ed9dc2a1af1c1160d03b0b12f06c91028120f177)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:55 +00:00
Tom Zanussi
495d37ab0b documentation/dev-manual/dev-manual-bsp-appendix.xml: BSP example scrub
As Reported by Robert P. J. Day.

Robert was working through this BSP example in the development manual
and ran into some problems and some confusion in areas.  This launched
a long "help-desk" session with Tom Zanussi.  In addressing Robert's
issues, Tom decided to make a run through of the example as it was
written.  For the most part the example was sound but needed some
technical tweaks as well as some expansion of the text to make things
clearer.  Tom submitted the patch that addressed these concerns.

Scott Rifenbark reviewed the patch and further modified some of the
writing to make it consistent with the existing writing in the manual.

(From yocto-docs rev: b95b9077bce1de55da4c0fc6208e2f2dac10c1e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:55 +00:00
Scott Rifenbark
9d60cb9450 documentation/dev-manual/dev-manual-bsp-appendix.xml: recipes-bsp example
For some reason the example for the "Changing recipes-bsp" section
mysteriously had the wrong first command in the example to prepare
this stuff.  The example was removing something in the recipes-graphics
area.  Don't ask me how it got there.  I checked through the commits
in the Edison branch and can't find the change.  It could have happened
during 1.1.1 scrub.

Anyway, I have fixed the 'rm' command to be appropriate for the
example, which works with recipes-bsp.

(From yocto-docs rev: a53d46b5f0dbbdfac902abc5844085bee3aeb6d9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:55 +00:00
Scott Rifenbark
5592e80877 documentation/dev-manual/dev-manual-start.xml: update meta-intel output
Verifying the 1.1.1 release and creating the local repo of meta-intel.
The console output is significantly different.  I have updated the
returned console output.

(From yocto-docs rev: 653e1214861e98501d37543403c5324c4d153112)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:54 +00:00
Scott Rifenbark
979ecf3eea documentation/dev-manual/dev-manual-model.xml: Updated machine link
Found a couple more occurrences of old links to the machines
area of the downloads.  Fixed them.

(From yocto-docs rev: 276352d49612bf77ed9e828c54bc1bc008345839)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:54 +00:00
Scott Rifenbark
770f5bb229 documentation/dev-manual/dev-manual-model.xml: Updated machine link
Changed a couple of links for the yocto-1.1.1/machines area.  These
links were old and pointing to yoctoproject.org/downloads.  They
are now changed to http://downloads.yoctoproject.org/releases..

(From yocto-docs rev: cee9d5eb0b095ba647411abaf12f591e216e461f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:54 +00:00
Scott Rifenbark
44211ed500 documentation/dev-manual/dev-manual-model.xml: Fixed external link
Found a link that had a spacing problem and should not have
been linking to the manual in general.  Fixed the spacing problem
and removed the links to the book in general.

(From yocto-docs rev: 0894e05dfa59b08f5c4e29a5aafbc2e5487f442c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:54 +00:00
Scott Rifenbark
ac715efc14 documentation/dev-manual/dev-manual-newbie.xml: Fixed broken link to Git
Found another broken link to the Git documentation.  They must have changed
this stuff up.  So I set the link to point to the appropriate area in
the Git Community Book.  Talks about distributed workflows.

(From yocto-docs rev: b668c8c65fdc51e0100e9ddd1c54e4926579bbe2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:54 +00:00
Scott Rifenbark
b256ae8f80 documentation/dev-manual/dev-manual-newbie.xml: fixed broken link
there was a link to some Git documentation referencing workflows that
apparently had gone stale.  I replaced the reference with a link to
the Git Community Book.

(From yocto-docs rev: 3a21f7454ec04e082d58646eecc1cffe3caa046c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:53 +00:00
Scott Rifenbark
fa969ffb59 documentation/dev-manual/figures/git-workflow.png: Updated figure flow
The Git Workflow was missing a pull line from the second (bottom) contrib
box into the project's master Git repository.  I added the line.

(From yocto-docs rev: 3988e0197a7e3a6cde647f01da9ae41fd9465c75)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:53 +00:00
Scott Rifenbark
e67311606e documentation/dev-manual/dev-manual-start.xml: top-level dir fixed
Changed the top-level directory created from unpacking the
edison-6.0.1 tarball from 'poky-1.1.1' to
'poky-edison-6.0.1'.

(From yocto-docs rev: 7af332806f1f4952f8e7672243d077e4ecde7fc5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:53 +00:00
Scott Rifenbark
b17aecd70a documentation/dev-manual: Fixed 6.0 to 6.0.1 for 1.1.1 release.
Needed to change the "6.0" occurences to "6.0.1" in the examples.

(From yocto-docs rev: d6b40b3b0e98eba7f3221e79cb9612f8f10bffaf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:53 +00:00
Scott Rifenbark
1cb265f575 documentation/yocto-project-qs/yocto-project-qs.xml: update to pre-built
The pre-built section had a couple errors I discovered while trying
to verify the 1.1.1 release.  One is a wording problem putting the
last set of commands into context.  the other is that i needed
i586 as the expanded environment file in /opt/poky.

(From yocto-docs rev: d173f82e3e368b54889d6c1aa9bd51340e7e42be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:53 +00:00
Scott Rifenbark
31b7cac818 documentation/yocto-project-qs/yocto-project-qs.xml: 6.0 fixes for 6.0.1
Updates to 6.0 to make them 6.0.1 for the 1.1.1 release.

(From yocto-docs rev: 19c8fb554c620d78edc7a0330e76e31a2a374ad2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:52 +00:00
Scott Rifenbark
05738313c3 documentation/yocto-project-qs: Updates for 1.1.1 Release
Decision made to treat every release like a major release.
This caused a scrub through the manual for the string "1.1"
and "6.0" and changed to "1.1.1" and "6.0.1".

(From yocto-docs rev: 3bd37946985b5a38860a61887d0bac4930c7cde1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:52 +00:00
Scott Rifenbark
25cf1a65ec documentation/poky-ref-manual: Updates for 1.1.1 Release
Decision made to treat every release like a major release.
This caused a scrub through the manual for the string "1.1"
and "6.0" and changed to "1.1.1" and "6.0.1".  Also the
release date changed to 17 February.

(From yocto-docs rev: 893d347409543cc690ab40b06384d4a0b1519ac0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:52 +00:00
Scott Rifenbark
442730168e documentation/kernel-manual: Updates for 1.1.1 Release
Decision made to treat every release like a major release.
This caused a scrub through the manual for the string "1.1"
and "6.0" and changed to "1.1.1" and "6.0.1".  Also the
release date changed to 17 February.

(From yocto-docs rev: 23938e6066b214aaba2e84fe4521504ad7f89b58)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:52 +00:00
Scott Rifenbark
2ca5c8c03e documentation/bsp-guide: Updates for 1.1.1 Release
Decision made to treat every release like a major release.
This caused a scrub through the manual for the string "1.1"
and "6.0" and changed to "1.1.1" and "6.0.1".  Also the
release date changed to 17 February.
(From yocto-docs rev: 8438b152ba13dab079b3918fecc418be5ddc19c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:51 +00:00
Scott Rifenbark
fa056279ea documentation/bsp-guide: Updated History table for 1.1.1 release.
(From yocto-docs rev: 0973325ae77fe6bdbf2fa6833005df2f7b0b554e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:51 +00:00
Scott Rifenbark
7ec098bedc documentation/adt-manual: Updates for 1.1.1 Release
Decision made to treat every release like a major release.
This caused a scrub through the manual for the string "1.1"
and "6.0" and changed to "1.1.1" and "6.0.1".  Also the
release date changed to 17 February.

(From yocto-docs rev: d603f89d42442dee6287381e7a0bfb7ddcdc2353)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:51 +00:00
Scott Rifenbark
68d048abfd documentation/adt-manual: Scrub for 1.1 occurrences
Several changes made to turn "1.1" into "1.1.1" for the Edison
point release.  There could be a couple more.  I am waiting on
clarification from Beth and Jessica.

(From yocto-docs rev: 7a27eba984c4baf7dc22a61a18f9c902acc6f9d6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:51 +00:00
Scott Rifenbark
d5848aa719 documentation: cross-manual links hard-coded for 1.1.1 release.
All the links to any YP manual for the 1.1.1 release now use
"http://www.yoctoproject.org/docs/1.1.1/....".

(From yocto-docs rev: 178d16e8693550341a4d307e36af934ce0bfe4c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:50 +00:00
Scott Rifenbark
9edf601d2d documentation: Updates to Manual History Table for 1.1.1
All history table entries added for the five YP manuals.
At this commit the date was not known so a place holder date
of 12 January 2012 is in there.  I needed to commit this
separately so that I could move onto other changes for the
docs.

(From yocto-docs rev: 4983a6d66d659aa7a0cc5d4953716a55f24fb03b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:50 +00:00
Scott Rifenbark
155d0deae8 documentation/poky-ref-manual/technical-details.xml: edits per Richard Purdie
Richard reviewed the new sections and had a couple comments.  There
was one technical error and he also wanted YP worked out when it was
being used in the context of the code that was doing the work here.
So I replaced with more generic terms or specifically called out
BitBake as the responsible software.

(From yocto-docs rev: 89641ffa35d7978961790d750ce84073dc8520c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:50 +00:00
Scott Rifenbark
85408dfd36 documentation/poky-ref-manual/ref-bitbake.xml: Updated BitBake Running a Task
I added more information about how BitBake actually runs a task.
The information has to do with how tightly BB controls the execution
environment of the build tasks to prevent contamination from the
build machine from leaking into the task execution environment.
This tight control actually causes some unexpected behavior during
builds.  For example, when a user exports and BB_ENV_EXTRAWHITE
an environment item such as CCACHE_DIR, the effects of the environment
item never make it to the BB task execution environment.  They only
make it to the data store.  The user actually has to take some extra
steps to export that environment item into the task execution environment.
The added information I put into the "Running a Task" section describes
these extra steps.

Fixes [YOCTO #689]
Reported-by: Wolfgang Denk <wd@denx.de>
(From yocto-docs rev: f75a9d384c0d5ccaefe7ac2195917531b153cf5e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:50 +00:00
Scott Rifenbark
43fb63af31 documenation/poky-ref-manual/technical-details.xml: Shared State
I updated the tips and tricks section to include two sub-sections.
The first if the debugging stuff from Richard's email.  The
second section is how to invalidate a section of the sstate
cache on a per-class basis.

Fixes [YOCTO #1500]

(From yocto-docs rev: e2cc31c112fc55c3f793f3c416311a1d317ceb37)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:49 +00:00
Scott Rifenbark
8add7fccde documentation/poky-ref-manual/technical-details.xml: more on YOCTO #1500
More work on this bug for sstate.  This commit represents the third
pass through the new chapter four (Technical Details) that is
dedicated to YP components and sstate at the moment.  The material
is unreviewed by Richard as of yet.

(From yocto-docs rev: ecaba811d3125e2ed1fc09df718d51e3eb30147f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:49 +00:00
Scott Rifenbark
01f5e6778c documenation/poky-ref-manual/technical-details.xml: Some general edits.
(From yocto-docs rev: c1684acf9249a6ace631a98f25aa256a542cee62)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:49 +00:00
Scott Rifenbark
1ff81200ac documentation/poky-ref-manual/extendpoky.xml: Fixed typo
Changed "versions" to "Versions" in the title.

(From yocto-docs rev: ce327ae04216e63315bcc735ba9b410582fe74b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:49 +00:00
Scott Rifenbark
d2f1ca8cba documentation/poky-ref-manual/extendpoky.xml: intro changed and order changed
Beefed up the introductory paragraph and I re-ordered the "Making and
Maintaining Changes" section towards the end of the chapter.

(From yocto-docs rev: a58c0e73d720ffb7a4931fbc196ea3831992b514)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:49 +00:00
Scott Rifenbark
caab52f6cc documentation/poky-ref-manual/usingpoky.xml: updated intro paragraph
Beefed up the introductory paragraph a bit.

(From yocto-docs rev: 99e0b95d4827dcc309ab0f212801fc86758a297d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:48 +00:00
Scott Rifenbark
b4eb195b34 documentation/poky-ref-manual/introduction.xml: Added reference
Added a reference to the YP development manual in the introductory
paragraph.

(From yocto-docs rev: 977eb862e27e0f2165a2d38cdaff06271726e9fc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:48 +00:00
Scott Rifenbark
3dbabb693d documentation/poky-ref-manual/introduction.xml: added new chapter
The list that describes the organization of the book needed the
"Technical Details" chapter added.

(From yocto-docs rev: bdaeb303e92f145fa6499e95ee88c629dd1c6486)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:48 +00:00
Scott Rifenbark
5dd34a717e documentation/poky-ref-manual: New chapter introduced
Long-term strategy for the YP Reference Manual is that it contains
reference material and not "how-to-information".  A step in this
direction is to isolate any discussions on components and other
areas of YP that need talked about.  So to start with, I have created
a new chapter for now named "Technical Details" that so far has
a discussion of some components and shared state.  This is a
step in the direction of making this manual a reference manual and
not a "how to" manual.

Changes included removing redundant material from the 'usingpoky.xml'
chapter and also adding the new chapter 'technical-details' into the
'poky-ref-manual.xml' file used for the make.

(From yocto-docs rev: a01477f787768230bc25da2d094326922be23dd4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:48 +00:00
Scott Rifenbark
e7cfb3b469 documentation/poky-ref-manual/usingpoky.xml: Removed comments
Removed some comments that were buried in the file that were
notes for working on the sstate section.

(From yocto-docs rev: bd03315031bbb1b682dcd2253f85fc184822a28e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:47 +00:00
Scott Rifenbark
c2494d3014 documentation/poky-ref-manual/usingpoky.xml: partial for YOCTO #1500
First draft of a re-write to the "Running a Build" section to try
and satisfy YOCTO #1500.  I segmented the section into three areas
rather than a single area.  This allowed me to create a sub-section
for the sstate stuff where it could be addressed on its own.  I sent
the draft out to Richard and Mark H. and got feedback from RP that
is going to cause further changes.  Thus, I am committing this partial
change.

(From yocto-docs rev: f040ed6979e988968863016103aa3ad4e7365159)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:05:47 +00:00
Scott Rifenbark
9d87cd9952 documentation/poky-ref-manual/introduction.xml: Fixed broken link
Robert identified this broken link to the stable Yocto Releases.

As Reported by: Robert P. J. Day
(From yocto-docs rev: acbcfe054ce345156346b3963b41e73f20b679cc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:01:23 +00:00
Scott Rifenbark
1851a96b47 documentation/yocto-project-qs/yocto-project-qs.xml: Updated packages section
Split the instructions for getting the packages needed for Yocto
into sections that specifically support Ubuntu, Fedora, and openSUSE.
Also, added a couple packages to openSUSE.  I did not implement a
suggested change to include a note indicating future support of
the dash shell since it probably is not good policy to document plans
as they change.

Reported-by: Darren Hart
(From yocto-docs rev: 215af24bd6f697e4a3650f4669e12c6e191e2dab)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 16:00:05 +00:00
Scott Rifenbark
efd2d7ee05 documentation/yocto-project-qs/yocto-project-qs.xml: Fixed broken link
Deleted the "www" from the URL to get the edison tarball.  This fixed
the link.

Reported-by: William Mills
(From yocto-docs rev: aa19ff9bfb465b6a6623cda1c7a080a0c3924995)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 15:59:07 +00:00
Scott Rifenbark
b16bc3d277 documentation/poky-ref-manual/ref-classes.xml: insane.bbclass updated
Added explanation about this class being configurable for
generating warnings or errors through use of the WARN_QA and
ERROR_QA variables.  Also provided a list of tests that can
be tested for.

Fixes [YOCTO #1773]

Reported-by: Mark Hatle <mark.hatle@windriver.com>
(From yocto-docs rev: 2b15aa9076ec120d078bfcd570001a49e81df038)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-30 15:56:51 +00:00
Scott Rifenbark
adcf8bf7b5 documentation/adt-manual/adt-prepare.xml: Fixed bad URL for edison tarball
The URL for the edision tarball was old and had been locked down in
the manual too early.  It changed and now this fixes it.

(From yocto-docs rev: 8790b84e3a2d04e557f048e30085813a1e8fb003)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:26:48 +00:00
Scott Rifenbark
fda17235fd documentation/dev-manual/dev-manual-newbie.xml: Updates to Bugzilla use
I updated the Bug Tracking section to include rudimentary use of
Bugzilla for entering a new bug.

Fixes [YOCTO #237]

(From yocto-docs rev: 425965d7562f990c1f46901220caf4d79313336a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-25 15:26:37 +00:00
Scott Rifenbark
c5bdef5617 documentation/adt-manual/adt-prepare.xml: Fixed broken link
Michael Tomer from Koko Fitclub reported that the link to the
ADT Installer tarball was broken.  Fixed the link.

As Reported by: Michael Tomer <michael.tomer@kokofitclub.com>
(From yocto-docs rev: 0a78be08b9fd2223737c50f3d0d83d14f3099834)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:49:45 +00:00
Scott Rifenbark
77640e96dd documentation/yocto-project-qs/yocto-project-qs.xml: Robert P. J. Day Review
As Reported By:  Robert P. J. Day.

Community member Robert P. J. Day scrubbed the Quick Start manual for Release
1.1.  He found several areas that were incorrect.  Many items were documented
pre-release and changed during the actual realeas.  Naming conventions for
images and such had to be changed.  Robert also found and suggested several
wording changes that resulted in clearer text.

I was not able to patch all the changes using the 'patch' command.  I need to
work out some process issues still in order to apply patches directly to the
yocto-docs repository.  Meanwhile, I hand-inserted the changes.  Also, some
text changes were modified slightly by me to conform to the books style, etc.

Kudos to Robert for such a detailed look at the YP Quick Start.

(From yocto-docs rev: 50145cde42b6203412dbba227cde300d5b10111b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 21:49:29 +00:00
Scott Rifenbark
98d9b82759 documentation/yocto-project-qs/yocto-project-qs.xml: dyslexic statement fixed.
I somehow had that having a host with multiple cores and threads could
be used to increase the build time.  It obviously should have been
"decrease".  Kudos to Bill Fishburn for finding this goof.

(From yocto-docs rev: 8ca44aab26d4a48745dbd0cbaffa0fe9b28d7063)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:38:17 +00:00
Scott Rifenbark
1aac5c310f documentation/yocto-project-qs/yocto-project-qs.xml: fix tarball URL
Community member Robert P.J. Day pointed out that the URL used to
reference the Edison tarball in the manual was incorrect.  It was
pointing to the old Poky area and not the Yocto-1.1 area.  I have
updated the example 'wget' command with the correct URL.

(From yocto-docs rev: 402500c03a625dd7e2561775926e3a983daa0ab6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-31 22:38:09 +00:00
Scott Rifenbark
1924f52cc8 documentation/adt-manual/adt-eclipse.xml: Added missing section for plug-in
Discovered a missing section for installation of the Eclipse Yocto Plug-in.
This information is critical to the release.  Jessica discovered the problem.
New section added that describes how to install the plug-in as a standard
"New Software" installation from within the Eclipse IDE.

(From yocto-docs rev: d4976ec56d39813a72519387897023f65a5884f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:33:59 +01:00
Scott Rifenbark
6535ba6077 documentation/adt-manual/adt-eclipse.xml: fixed indigo typos
(From yocto-docs rev: cd2fe81bf9fe9fe4cc463861b62278654e7fff78)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:33:56 +01:00
Scott Rifenbark
eae4945a9d documentation: Cleaned out bad links and replaced with good
The re-structuring of the web server that holds the documents created
some bad links.  I thought I had gotten them all but apparently not.
this is a drawback of not being able to test things until after stuff
is done.  In any case, I grepped through everything and this takes
care of it.

(From yocto-docs rev: cdbc3b3b7f6d6ff01024b977f966459cf414ad5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:33:56 +01:00
Scott Rifenbark
5ec43fdbb8 documentation/dev-manual: Fixed five broken links and removed note
The restructuring of the web site where we store manuals broke some
links that were cut-and-pasted in from older work.  These slipped by
me so not changing them would direct the user to a 1.0 version of
the externally referenced manual rather than the 1.1 version.

I also got rid of a visible "WRITER'S NOTE" in the document that
was left behind.

(From yocto-docs rev: 1508826312a2fe35e5d693821a4c7737baafcb2e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-14 00:33:56 +01:00
Richard Purdie
5ed59ae0f2 local.conf.sample: Disable interactive patch resolution for now since doesn't work well
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-07 00:00:21 +01:00
Scott Rifenbark
e02d553b45 documentation/dev-manual/dev-manual-kernel-appendix.xml: config example
I had to add some changes to the way we invoke qemu to show multiple
processor support.  I needed the qemuparam "-smp 2".  There are
other minor edits as well.

(From yocto-docs rev: 508863634ce537b0936f8e44f87b90bef678c122)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:51:26 +01:00
Scott Rifenbark
720446629b documentation/yocto-project-qs/yocto-project-qs.xml: release name and misc.
I somehow had either dreamed the word "einstein" into the release
for 1.1 and had it in there as part of the tarball name, etc.
I have replaced this obviously with "edison."

Other edits involved making the references to outside documents
more consistent.

(From yocto-docs rev: 2407b7dd89712c489d515e97d44e3c7dc0b64d20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:51:21 +01:00
Scott Rifenbark
db9d36f196 documentation/dev-manual/figures/kernel-example-repos.png: updated figure
Changed the pathnames for kernel 3.0 from 2.37

(From yocto-docs rev: 220ce5fbb3663940b5940445190d30d98f58a438)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:51:19 +01:00
Scott Rifenbark
4cca048ab8 documentation/dev-manual/dev-manual-kernel-appendix.xml: edits to the example
Some minor edits for the kernel example.

(From yocto-docs rev: 01e9f01662efad746fbfc34820b6efeb34affecd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:51:15 +01:00
Scott Rifenbark
51b3d9dd53 documentation: Fixed links for yocto-1.1
After greping through the documentation directory, I addressed
all the <ulink> statements that used to have yocto-1.0 in the URL.
They are now yocto-1.1.

(From yocto-docs rev: 97d160263c5905fdeaf4ec285bc5359918790581)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-06 18:51:12 +01:00
Bruce Ashfield
bc885cd8d3 linux-yocto: update live boot configuration
Updating the meta SRCREV to import a series of changes to synchronize
live booting between multiple targets:

  d05450e meta/fri2: enable booting from iso
  3da7d2a meta/fishriver: enable booting from iso
  52e1c49 meta/emenlow: enable booting from iso
  87918ae meta/crownbay: enable booting from iso

(From OE-Core rev: 7100c50c8697a3eec446b9189bf49ecbea9b7264)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-05 19:40:20 +01:00
Scott Rifenbark
c657668a07 documentation/dev-manual/figures/wip.png: new figure added.
(From yocto-docs rev: f373d2b9f3530e31dc84b9333cfef93cdfd2c5e2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
02e3d4dc70 documentation/dev-manual/dev-manual-start.xml: console updates and tar update
I re-ran the exmaples to set up various Git repos and updated the output.

Also fixed a bad tarball name from edison-1.1 to edison-6.0

(From yocto-docs rev: 6538d588fa35986ff301a22d327af73c337ec43c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
57746012d0 documentation/dev-manual/dev-manual-kernel-appendix.xml: general updates
I made a pass through the book to clean up all areas in preparation to
running the examples again.  Most changes were punctuation, manual
section reference formats, and wordings.

(From yocto-docs rev: 0d054f79c82ddc204938dea187312d1a80d0a2e1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
8a48ec4297 documenation/Makefile: Added a "WIP" figure dev manual for future work.
(From yocto-docs rev: 90964c51b1cd848a7bb0ddce5dcfd0a0f8c86223)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
61637a5241 documentation/dev-manual/dev-manual-bsp-appendix.xml: changes to references
More changes to the internal section references.  Using <link> rather than
<xref> to get rid of the section number in the reference.

(From yocto-docs rev: 4351fd4898c517e25235611893b1cd059cbcc2f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
8a475908b5 documenation/dev-manual/dev-manual-bsp-appendix.xml: fixed reference form
I am using a certain form to reference other sections in the current
or other manual.  I updated the references to follow this form.

(From yocto-docs rev: 2ba41ac2f355dbe66af19e356f9246b7485585b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Scott Rifenbark
b7d2cf0525 documentation/dev-manual/dev-manual-bsp-appendix.xml: fixed typo.
(From yocto-docs rev: a66bb0402dd3f1499278277486e482b573a97777)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:13:27 +01:00
Khem Raj
4d7fbeda35 runqemu-export-rootfs: Add HOW-TO for ubuntu 11.10 for rpcbind problem
The existing instruction to tackle
RPC: Authentication error; why = Client credential too weak
Are not applicable to ubuntu 11.10 especially

Therefore add the magic needed for ubuntu 11.10

(From OE-Core rev: faae191e8c1920745e0ea9abf7b8b26eb4561096)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 23:11:39 +01:00
Scott Rifenbark
baf536c62c documentation/adt-manual: changes for Jessica's review.
I made several changes based on feedback from Jessica Zhang.

1. Removed "SDKVERSION" as a way of identifying the directory in
   which a toolchain tarball is installed.  I replaced with "1.1"

2. Cleaned up the bitbake command verbage to consistently use
   'bitbake' command.

3. Cleaned up an erroneous reference to the toolchain environment
   setup scripts.  I was referring the user to the oe-init-build-env
   area.

4. Changed wording to indicate that the toolchain tarball is generated
   after running bitbake rather than installing the toolchain.

5. Replaced the gmae tarball file used in an example to be the
   regular taball.

(From yocto-docs rev: f7c3e4f4a666121a29825099d451eab1accb0616)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:41 +01:00
Scott Rifenbark
0c48a6805e documentation/dev-manual/dev-manual-start.xml: Updates for 1.1 repos names
I changed the bernard examples used when creating Git repos to reflect
the edison release.

(From yocto-docs rev: d345cb08905e7f5e21b1649af5e876317cc68931)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:41 +01:00
Scott Rifenbark
1ea2c63bf5 documentation/dev-manual/dev-manual-bsp-appendix.xml: scrubbed example
I changed several small things in the example as I worked through it
once again.  The commit IDs changed for using the atom-pc kernel.
Also the command to build the sato image can no longer use 'live'.

(From yocto-docs rev: faff1e7f21b5059dfe708c6a3d83116c7349fe55)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:41 +01:00
Scott Rifenbark
f33f49a348 documentation/adt-manual/adt-eclipse.xml: edits to zip section
No need to use the long command to restart Eclipse.  It will have
been restarted as part of the procedure.  I updated the last paragraph
to simply point the user off to the next section.

(From yocto-docs rev: bca280e74f81a0401c520c8a59e9e07e16f28b8b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:41 +01:00
Scott Rifenbark
cc6819ede7 documentation/adt-manual/adt-eclipse.xml: updates to zip method of plugin install.
These changes are for installing the YP Eclipse plug-in using a built out
ZIP file.

(From yocto-docs rev: ea50f63d448b4ff6026a9334440058511782461d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:41 +01:00
Scott Rifenbark
2a68be025b documentation/poky-ref-manual/extendpoky.xml: multilib edits
Feedback from Richard Purdie inserted.  I made an edit pass for
style to Richard's re-write.

(From yocto-docs rev: e5bb08e966614c610e6357642b3b2d1522332f7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
f05471dcf8 documentation/adt-manual/adt-eclipse.xml: edits to the config steps
I made some slight edits to configuring the Eclipse IDE and the
procedure to install the plug-in from the zip file.  This is not
complete yet.

(From yocto-docs rev: 96de3d21946d64e6b877f067912da8677c3d373a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
5fe2c53493 documentation/kernel-manual/kernel-how-to.xml: Updated build strategy
This section used the term "tree construction" somewhat out of context.
The section really focuses on what the build process and the user does
prior to compilation.  I changed wording to indicate the tree is
validated to be sure that the SRC_URI point to the right stuff and
that the BSP build branch exists.

(From yocto-docs rev: e6332d5045b21354b53bbbe1203f9d52d4d97964)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
6b2ae5fd17 documentation/adt-manual/adt-prepare.xml: updates to getting images.
Made a few corrections to the section describing how to build
the tcf-agent into non-sdk images.

(From yocto-docs rev: e78dc3b3d3dd443506e78651cf9673358577c21d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
4eeeded4a7 documentation/adt-manual/adt-prepare.xml: Updated for building tcf-agent
The YP only ships one pre-built image that has the tcf-agent built
into it - core-image-sato-sdk.  There are a couple methods that exist
to create images that do not normally have this agent so that they
will have it.  I updated the "Getting the Images" section to
contain those steps.  Lianhao and Jessica Zhang were the technical
resources for these changes.  These changes are the first draft.

(From yocto-docs rev: 85432e4892c3fe924bf90961f89e8edfd9693e84)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
931db10bd0 documentation/poky-ref-manual/extendpoky.xml: Multilib section added
I created a section on how to prepare for and use the multilib
feature.  The information is leveraged off the "Multilib" wiki page
at http://wiki.yoctoproject.org/wiki/Multilib.  This is the first
draft of the changes.  I expect corrections.

(From yocto-docs rev: 8cf41c90f772018f4f144d63df911912cc298d70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
522268be49 documentation/adt-manual/adt-prepare.xml: changed link
Updated a link that was an autobuilder link to be
http://www.yoctoproject.org/downloads/yocto-1.1/machines.

(From yocto-docs rev: 91a4056a285b53f8c73494e8af88d9a98d6d61e0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
8e17bffa42 documentation: Updated title pages.
Updated the title pages for the ADT, BSP, Dev, and Ref manuals to
contain the Oct 6 release date for the books.  Also, changed the
author field for the BSP guide to include Tom Zanussi as well
as Richard Purdie.

(From yocto-docs rev: 301da0a5b305e4b332397bb67f6a6a77751991d2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
cc004358f1 documentation/poky-ref-manual/ref-variables.xml: updated KERNEL_FEATURES
(From yocto-docs rev: 37a9cea71139ceda1d2a7da639f5555414ef497b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
0e623482d5 documentation/kernel-manual: Added some references to other areas of YP docs.
(From yocto-docs rev: 20754cb376e65b7262b754afad839e0c2b82d7f7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:40 +01:00
Scott Rifenbark
ec31ee62d5 documentation/kernel-manual: Scrub for 1.1
I went through and made sure examples are relevant, wording is correct,
large blocks of unused text was removed, and some references included
to other YP documents.

(From yocto-docs rev: 2231082530dd9cecc234f5f024c4e246afb2968d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
a59ca8316b documentation/poky-ref-manual/ref-variables.xml: updates to KERNEL_FEATURES.
(From yocto-docs rev: ec1e2d71c576fe1c12031371de89a71770cebb1d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
4423b5b024 documentation/poky-ref-manual/ref-variables.xml: Added KERNEL_FEATURES
Added this variable description in the glossary.

(From yocto-docs rev: 12a9e5b4dfc399ff2037355aa1062f907a62e76d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
b47f39dbc3 documentation/poky-ref-manual/faq.xml: Removed wording that focues on GNOME
Per Paul Eggleton he suggested that the wording we had about YP focusing
on the GNOME Mobile environment was misleading now.  It was in there in the
original version of the FAQ but with time has become outdated.  I simply
removed the "GNOME" part and left the part that mentions about YP
being a stable
environment and well-suited for the embedded mobile environment.

(From yocto-docs rev: cc7103eda3fd77d89cecfffa23f0f798aa512132)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
9d72b706fa documentation/bsp-guide/bsp.xml: Added recipes-core section
In the example I use for the BSP structure I use the Crown Bay
BSP.  I neglected to include any explanation of the recipes-core
directory.  I have added some description around this area.

(From yocto-docs rev: ba56c86e5a4aa3fbf23b12d26ffe35a3b6193a78)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
5d4888723b documentation/yocto-project-qs/yocto-project-qs.xml: Supported Distros updated
I updated the section on the supported distribution section by including
a link to the wiki page that shows what distros we have tested and
their status.

(From yocto-docs rev: e66a18a13dc02af6a0846dd1ecf14aeafcbe5d61)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
49e3171850 documentation/adt-manual/adt-eclipse.xml: Added zip method for plug-in install
I added a new subsection to the section that talks about how to install
the YP eclipse plug-in.  According the Jessica, we should document
this method for installing the plug-in.

(From yocto-docs rev: dea5b1dacc16c08d61356e95bece2aec581dd16d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
66ddb69916 documentation/poky-ref-manual/ref-variables.xml: Variables updated
This is the second pass for re-documenting RDEPENDS, RRECOMMENDS,
MACHINE_ESSENTIALS_EXTRA_RDEPENDS, MACHINE_ESSENTIALS_EXTRA_RRECOMMENDS,
MACHINE_EXTRA_RDEPENDS, and MACHINE_EXTRA_RRECOMMENDS.  These
variables are in dire need of better explanations and examples.

(From yocto-docs rev: cc60bd4c50c7b19209dae06307aec26e962cf476)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
de1dcde413 documentation/poky-ref-manual: Updates to several variables.
I did complete rewrites of RDEPENDS, RRECOMMENDS,
MACHINE_ESSENTIAL_EXTRA_RDEPENDS, MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS,
MACHINE_EXTRA_RDEPENDS, and MACHINE_EXTRA_RRECOMMENDS.  These are
sent out for review but these changes represent the first attempt
to clear up confusion on how the six variables are used and relate
to each other.

(From yocto-docs rev: 1d93707fb9383d51322e96eb521e96fcac8bcc47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:39 +01:00
Scott Rifenbark
9f36b1fe16 documentation/poky-ref-manual/ref-variables.xml: update RDEPENDS and RRECOMMENDS
Provided better descriptions of these variables and some examples on
how to use them.

(From yocto-docs rev: 3a5cce8c9ba02f90b3554a6f800f69c2e8e77911)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
38c7a8a069 documentation/poky-ref-manual/ref-variables.xml: update PREFERRED_VERSION
Added a more robust description and provided a couple of usage
examples.

(From yocto-docs rev: b8b842b57cc003f1351a551041fe4b3de2fcbfd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
23bac7cb0e documentation/poky-ref-manual/ref-variables.xml: update PREFERRED_PROVIDER
I added sterner wording on usage and provided an example.

(From yocto-docs rev: 32e07fafadb602b93c9f7b8a78e5baf4c7e1ab5e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
0021456aad documentation/poky-ref-manual/ref-variables.xml: update TCLIBC and POKYLIBC
Changed the description of POKYLIBC to note the variable is not supported
and provided a link to TCLIBC.  I added the entry for TCLIBC, which
was missing.

(From yocto-docs rev: d76a1ddb79577a3e121df3d590fb601b5e5fbb98)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
a568995f40 documentation/poky-ref-manual/ref-variables.xml: updates TCMODE and POKYMODE
Noted that POKYMODE is no longer supported and provided link to TCMODE.
Added richer description to TCMODE.

(From yocto-docs rev: a7a326c2c8f4c5f29f3a9723a6895a7113a78357)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
f82ac840aa documentation/poky-ref-manual/ref-variables.xml: edits to FILESYSTEM_PERMS_TABLES.
Some minor re-wordings to give some context on how to use these special
files and the variable to point to them.

(From yocto-docs rev: 4482b42f4a224bada7a0fa5fe4821a753ba55d80)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
cd2c80dedc documentation/dev-manual/dev-manual-newbie.xml: added information for licenses
I added the directory where the list of know licenses are in the YP
files structure (meta/files/common-licenses).

(From yocto-docs rev: 6a8db1a5ac653dbc8730e61293221c0b0890888d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
ed93525e65 documentation/poky-ref-manual/ref-variables.xml: updated RDEPENDS
Per Paul Eggleton's suggestion I updated the description of this
variable.  Some minor wording changes as well as covering two
automatic handling features.

(From yocto-docs rev: 15be3502ca20f657051e02d698b459328328fb14)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
4025831e90 documentation: scrubbed out 'glibc' and replaced with 'eglibc'
Several manuals and areas were still referring to 'glibc' as the
GNU version of the Unix statndrd C library.  We do not support this
any longer and now use 'eglibc' to build with.  Notable changes were
in the required packages area of the QS manual.  I also added a
bit in the reference guide saying how this release does not use
'glibc' to build with but rather 'eglibc'.

(From yocto-docs rev: c2c58914996d747c510706d78ecfd8f41c5e694d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
94c381f71b documentation/poky-ref-manual/extendpoky.xml: New section on static library
I added a new section to the "Adding a Package" section.  This section
describes how to define the *.a files for when you create a library
that has static linking.  Response to a comment from Paul Eggleton.

(From yocto-docs rev: 64499006ecd1e6b7573f1955a2f6e2f1a9564ce8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:38 +01:00
Scott Rifenbark
588e21b339 documentation/poky-ref-manual/ref-variables.xml: added FILESYSTEM_PERMS_TABLES
New glossary variable entry added.

(From yocto-docs rev: f9a214fa7714b9ca4741ac0c56d40e2d8a390292)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 14:01:37 +01:00
Richard Purdie
3429095e86 package_rpm: Ensure multilib code is only called in the multilib case
This fixes some error messages in the do_rootfs logs of non-multilib
builds.

(From OE-Core rev: fb554596e031cf92b62a19cabdd10e8e23ab4453)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:31 +01:00
Richard Purdie
feb11f1079 populate_sdk_rpm: Add missing /bin/sh from rpm ignore list for the SDK
The target SDK packages don't need to fulfil a shell dependency
so add /bin/sh to the list of packages we don't need to resolve.

(From OE-Core rev: 9283255da08f45a368fa9355dbafd3840dfd5056)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:31 +01:00
Richard Purdie
fbec475275 Remove help2man dependency
The help2man script is pretty useless to us. It requires to run the target
binary to extract help information which is not possible for any of our
cross compiled target binaries.

We're not interested in man pages for -cross/-native tools.

It therefore makes no sense to have this as a core build dependency.

This patch removes the dependeny and replaces it with a script
returning false. This will trigger autotool's missing utility
to use the copy of the man page included with the sources which
is what would already happen when we tried to run cross compiled
binaries anyway.

(From OE-Core rev: c6e0f23363f24ae9f02cd753621ce45470285b16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:31 +01:00
Dongxiao Xu
317fc4fbd0 multilib: add MLPREFIX to deploy folder
Add MLPREFIX to multilib deploy forlder to avoid the confliction between
multilib and normal package deploy directory.

(From OE-Core rev: b5e8cad5a782015f2216325203847c287c778cac)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:31 +01:00
Dongxiao Xu
909dd5b306 tune-i586: fix hardcoded TUNE_PKGARCH
Use TUNE_FEATURES to determine the setting to TUNE_PKGARCH, which fixes
the wrong setting of PACKAGE_ARCH in multilib case.

(From OE-Core rev: d8051ce1af7a5a4b72c1f772ed35eff24a4beb6b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:31 +01:00
Jessica Zhang
24623d149d Fixed a typo for setting up OECORE_ACLOCAL_OPTS for adt-installer case
(From OE-Core rev: 0e042e3650c3e940ff17465d6bd835e22d85f1f6)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:30 +01:00
Dongxiao Xu
5687f68f3e libc-package.bbclass: add MLPREFIX when set values to PACKAGES
There are some places that PACKAGES are dynamically set. To support
multilib, we need to add MLPREFIX before the package name in those
settings.

(From OE-Core rev: 98d356a9f788291c849be7b51fcd8ad07a8a066e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:30 +01:00
Dongxiao Xu
f282b7a027 package_rpm: combine normal and multilib solution manifest together
When RPM does the real install, if the first manifest file is empty, the
installation will stop without handling the second manifest file.

Merge the two manifest files together to fix this issue.

(From OE-Core rev: 20e6f166858751c6305cd8a52f87cdf78c1a8126)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:30 +01:00
Dongxiao Xu
32b1c9150f multilib: remove the multilib handling to allarch
currently we have allarch type of recipes, which may still have
architecture dependency, like x11-common. So we need to drop the
handling to allarch in multilib case.

Also remove the PV postfix in python-pygobject DEPENDS, since multilib
code will treat a native package multilib capable.

[YOCTO #1497]
[YOCTO #1498]

(From OE-Core rev: d9dc64a251bc66f16a0c5d12aa872152d43c4776)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:30 +01:00
Dongxiao Xu
7a541d69dd multilib.bbclass: map RDEPENDS and LINGUAS_INSTALL for image recipes
RDEPENDS of image type recipe needs to be mapped to make sure that the
packages included in the image should be multilib version.

Also add LINGUAS_INSTALL into MULTILIB_PACKAGE_INSTALL list.

[YOCTO #1496]
[YOCTO #1527]

(From OE-Core rev: ad52cf921b2e08f2a99f494b229d5b7099b33990)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:29 +01:00
Joshua Lock
aa1cb68ce2 ghostscript: disable check for time.h
ghostscript has it's own hacky check for time.h which hard-codes paths, this
means in the native case it fails on systems such as Ubuntu 11.10 where the
location of time.h has changed. Further it means the target build has had a
host-intrusion issue.

This patch disables the check for time.h, future releases of ghostscript
use standard autotools checks for time.h's location.

(From OE-Core rev: 59746f706fd71b58268745309dfa54b87ccdb967)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:29 +01:00
Saul Wold
dc1f3a3bd0 zypper & sat-solver: needs RDEPENDS on rpm-lib
(From OE-Core rev: f8fe4ef09d6ab037928850bbb953e2b0a2da49e9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:29 +01:00
Saul Wold
5fbb040355 rpm: ensure that magic file is relocatable
rpm-native was reading from /usr/share/misc/magic which is wrong
it needs to be set to read from the sysroot.  This also adds wrappers
to the rpm-build tools to ensure they know were to find the macros that
point to the right directories.

Fixes [YOCTO #1532]

(From OE-Core rev: 7ea42eadf8aec734202b70ba2427230e63749d94)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:59:29 +01:00
Bruce Ashfield
9886c510f9 linux-yocto/meta: eg20t and live boot config changes
Merging the following configuration changes:

 67a46a6 meta/common-pc-64: enable live booting for common-pc-64
 1010905 meta/common-pc: enable live booting for common-pc
 b3c5fa7 meta/atom-pc: enable live booting for atom-pc
 41c090e meta: update boot live config and move it to cfg/
 d51b0e7 eg20t: update config options

The first 4 make the live-boot configuration shared and then reuse
them for the boards that currently are live bootable. The eg20t
is a cleanup of obselete kernel options and is part of the cleanup
of options for the 3.0 kernel.

[YOCTO: #940]
[YOCTO: #686]

(From OE-Core rev: 4482970401a048433d5a862bfed4936259dcfcf5)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:57:52 +01:00
Paul Eggleton
49de6096b1 beagleboard-audio: fix RDEPENDS on alsa-utils-amixer
Use RDEPENDS_${PN} instead of RDEPENDS.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-04 13:48:33 +01:00
Paul Eggleton
7eb193fc49 bitbake/lib/bb/msg.py: fix setting debug and verbosity levels
The debug and verbosity levels (as set by the -D and -v command line
options respectively)  were not being passed through within msg.py since
bitbake revision 45aad2f9647df14bcfa5e755b57e1ddab377939a due to
incorrect variable names.

Fixes [YOCTO #1513].

(Bitbake rev: c6e88b7c0e61f9586a275df53f48b90687c5f92f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 19:35:58 +01:00
Joshua Lock
4aa6a8e9a6 hob: store recipe path at load time
This fixes the internal dirtiness tracking such that if the Save menu item
is selected after loading a recipe the existing file is updated rather than
the user being prompted for the path to create a recipe at.

(Bitbake rev: 00fc1d7249b5e217cc7c36ac71b63ddad1c5b769)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 19:35:47 +01:00
Joshua Lock
a1f3aff110 hob: fix building with current selections after reparse
After the reparse we were setting the model to reflect the values before
the reparse was triggered but clearing the internal variables used to test
whether these values are set, leading to the UI erroneously reporting that
selections had not been made.

(Bitbake rev: 656eafe0f2c9ec7730d33e15705b8c720f787c49)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 19:35:36 +01:00
Joshua Lock
bb351c2f41 ui/crumbs/hobeventhandler: fix variable name typo
(Bitbake rev: f7d0560307707fe10bf80820f1e6ae300864f915)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 19:35:23 +01:00
Joshua Lock
bed552f8d0 ui/crumbs/hobeventhandler: move remaining getVariable calls to init
Instead of calling getVariable commands each time the BBPATH and BBFILES
entries need testing cache the results as a member variable at object
instantiation.

Fixes [YOCTO #1521]

(Bitbake rev: 109e1597671dfb7222672e268190aabc727960ca)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-26 19:35:11 +01:00
Scott Rifenbark
41c564fe60 documentation/poky-ref-manual/ref-classes.xml: documented useradd.bbclass
New section per Paul Eggleton's request.

(From yocto-docs rev: ffedb53e5c706cffb83978f1704a606d29233e36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:25 +01:00
Scott Rifenbark
cae817e833 documentation/poky-ref-manual/ref-variables.xml: added BAD_RECOMMENDATIONS
New variable for images that use the ipkg packaging system.  These
are packages you don't want to install even when the recipe calls
for it.

(From yocto-docs rev: 78d53b5da4bbd6889a34be8a1c795a5658cb6b1e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:25 +01:00
Scott Rifenbark
7bb8b8f438 documentation/poky-ref-manual/ref-classes.xml: fixed insane.bbclass added others
I fixed the insane.bbclass description to say that it checks for common
problemos that occur during runtime and not build time.  Also got rid of the
"ever-increasing" statement as that is not true according to Paul Eggleton.

Added many new .bbclass files to the commented out section of the
undocumented classes as well as removed a bunch.

(From yocto-docs rev: c341951185d5af6576718f8ada057afcca923e6e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:24 +01:00
Scott Rifenbark
c32652716d documenation/poky-ref-manual/ref-variables.xml: debug-tweaks qualified
I noted that the developer should remove this option from
EXTRA_IMAGE_FEATURES before they create a production image.

(From yocto-docs rev: 8de6c789d1a1ed5e721c16f53bb27de18ae88238)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:24 +01:00
Scott Rifenbark
748fd4543b documentation/adt-manual/adt-command.xml: Note about running configure
YOCTO #1504: Added a note indicating what to do if the configure
script complains about --with-libtool-sysroot option.

(From yocto-docs rev: 575f4057ddfc2774a62bf349fd05d62b79dd278b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:24 +01:00
Scott Rifenbark
56f7ed979c documentation/dev-manual/dev-manual-model.xml: edit pass
These changes are the second edit pass for the new section.
There are some minor changes.

(From yocto-docs rev: 6c81617a2782d2f02d4900a68dd4e8c6eeb70fa1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:24 +01:00
Scott Rifenbark
3a15c9f8d0 documentation/dev-manual/figures/app-dev-flow.png: Updated app flow image
(From yocto-docs rev: 5c0c04ccc2d1fdac89dc1394805e4b8c4cc2c082)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:23 +01:00
Scott Rifenbark
fc7ceaead0 documentation/dev-manual: Added TM to first Eclipse in chapters.
(From yocto-docs rev: 0f8b655da637ebf7708bdfff1473707c9ea3b8ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:23 +01:00
Scott Rifenbark
a626a5c208 documentation/dev-manual/dev-manual-model.xml: Edits and start of app section.
General edits up through the BSP and Kernel overview sections.  I also put
in place holder text and began on the application development over
section.

(From yocto-docs rev: 9c1b681ff253b469bffc355f0a938643997d85d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:23 +01:00
Scott Rifenbark
cb333ad6f3 documentation/dev-manual/dev-manual-kernel-appendix.xml: added line break
There is an example whose output exceeds the PDF manual version's
page width.  I had to artificially break the line up.

(From yocto-docs rev: d8a5714a2f8193c1efc8a7080b8f6e0744da610a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:23 +01:00
Scott Rifenbark
5b58674c6b documentation/dev-manual: model changes and updated figure
Edits to the dev-manual-model.xml chapter for general improvements.
Also had to update the figure that shows the kernel development flow.

(From yocto-docs rev: 2aacccb03d167eac74a1b45c39a9edac160efc7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:23 +01:00
Scott Rifenbark
1017d2aec8 documentation/dev-manual/dev-manual-newbie.xml: note for maintainer
Added a note indicating where you can find the maintainer for yocto
code.  Suggestion by Robert Berger.

(From yocto-docs rev: 8e55cc4c460582964b0267b4f43c14e7100f17fe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:22 +01:00
Scott Rifenbark
9786db045f documentation/dev-manual/dev-manual-kernel-appendix.xml: Robert Berger feedback.
somehow I lost three or four changes that are credited to Robert
Berger (Community Member).  I have re-introduced them here.

(From yocto-docs rev: a23564ada0e072bea63739aeb1eb5c66d595e728)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:22 +01:00
Scott Rifenbark
158b84844e documentation/dev-manual/dev-manual-newbie.xml: addes link to commit page
I provided a link to the OpenEmbedded wiki page created by Mark Hatle
that provides good guidelines on how to create well-formed commit
messages.

(From yocto-docs rev: ea7b0100a7b45c369cb67daa0705dcc5acef40c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:22 +01:00
Scott Rifenbark
421c22d32c documentation/dev-manual/dev-manual-newbie.xml: edits and enhancements.
General pass-through for consistency in referencing sections.
Also, added Darren Hart's review comments for the "Submitting a
Change" section.  I added more about the mailing lists and how to
submit a proper commit message.

(From yocto-docs rev: d9c8f5db8c862b1be724915cc43da6d12b88b97d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:21 +01:00
Scott Rifenbark
90ccadecc3 documentation/poky-ref-manual/resources.xml: Updates to mailing lists.
I updated the mailing lists to be more specific and to be formatted
differently.

(From yocto-docs rev: 50b5cf2d331b120cfa9de0ba77ea1da1240d42e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:21 +01:00
Scott Rifenbark
07638448b0 documentation/dev-manual/dev-manual-start.xml: formats and re-wordings.
Applied consistent section referencing formats.  Also cleaned up some
terminolgy for the YP Git repo.

(From yocto-docs rev: fa3cbb835b61158357d3f6fb9ebe017b9ba405cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:21 +01:00
Scott Rifenbark
f343aa4cc6 documentation/dev-manual/dev-manual-intro.xml: minor edits.
Some indentations applied.  Also, a few minor changes to some
wordings.

(From yocto-docs rev: a166f41a5bbf3590d8a2fabbee267bdd190f19dd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:21 +01:00
Scott Rifenbark
5cd07954ea documentation/dev-manual/dev-manual-intro.xml: re-wrote the intro paragraphs.
(From yocto-docs rev: 5091b7c62c61b4c9ea14fb7a77cc4600437a9dbb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:21 +01:00
Scott Rifenbark
e0338b844f documentation/yocto-project-qs/yocto-project-qs.xml: Fixed text for filesystem
I needed to reference the image differently for the pre-built section.

(From yocto-docs rev: 10568a0a8c4160af995089e481ccc2772e81d805)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:20 +01:00
Scott Rifenbark
cde57ddf84 documentation/yocto-project-qs/yocto-project-qs.xml: General edits
This was a final scrub of the manual.  I updated all examples and links
to be current for what I think will be the 1.1 release.  I also added
some cross-referencing into the YP dev manual that now exist.

(From yocto-docs rev: 4c10b0e04856817a1d03aee7a9ed6e4d5d73a3ac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:20 +01:00
Scott Rifenbark
bee5046908 documentation/adt-manual/adt-eclipse.xml: various minor clean ups.
(From yocto-docs rev: 6caabfaed1ec440511727e163b9c3bb7afe966ae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:20 +01:00
Scott Rifenbark
4e6b4c09a5 documentation/adt-manual/adt-prepare.xml: fixed broken cross-link.
(From yocto-docs rev: 90f6bd0aff8346df24d691e0c9424a0a99af2095)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:20 +01:00
Scott Rifenbark
89496194ba documentation/adt-manual/adt-prepare.xml: applied Jessica Zhang revisions
These changes reflect corrections resulting from Jessica Zhang's review
of the sections.

(From yocto-docs rev: c3fed39bc3909c38424e7e72c40471dcb0053c8d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:19 +01:00
Scott Rifenbark
19f9b25947 documentation/adt-manual/adt-prepare.xml: Title correction
(From yocto-docs rev: 536665ac8b28426f2869ceffca3ea2f6f4d1eef4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:19 +01:00
Scott Rifenbark
f97e445fc6 documentation/adt-manual/adt-prepare.xml: toolchain enhancements
After working through this stuff I was still confused as to how to
guide the user toward proper toolchain installation and on what they
needed to do for collecting their kernel and filesystem images.
These changes included some information on when and how to extract
the rootfs when the user is booting to NFS.  Plus some other
general items like the significance of meta-toolchain-sdk as
compared to meta-toolchain.

(From yocto-docs rev: 2cc88b5193888a074ffd87cb253b9cfe08146877)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:19 +01:00
Scott Rifenbark
2766a88a3b documentation/adt-manual/adt-prepare.xml: removed terms
I had definitions for "The Yocto Project Files" and "The Yocto
Project Build Tree" in this chapter.  They were misplaced.  I have
deleted them and moved them to the development manual.

(From yocto-docs rev: 9238e75abc4578043fd625b3796b86d42204e16f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:19 +01:00
Scott Rifenbark
b57c529115 documentation/dev-manual/dev-manual-newbie.xml: new terms
I moved the terms "Yocto Project Files" and "Yocto Project Build
Tree" into this development manual.  They were previous defined
in the ADT manual.  It makes more sense to have them where with other
terms.

(From yocto-docs rev: 2133110fd280db8cfbe998e6b46cdee0b260e777)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:18 +01:00
Scott Rifenbark
319f4ee481 documentation/adt-manual/adt-eclipse.xml: Fixed the section formatting.
I made changes to the section titles so they have quotes around them
for easier reading in the PDF manual.

(From yocto-docs rev: 5bea470682c3d834f30ab0d2fcba148ea33d653f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:18 +01:00
Scott Rifenbark
2cf26ef150 documentation/adt-manual/adt-eclipse.xml: writer note and re-wording
I added a development writer note and I noted that running a project
as an eclipse application pops a new instance of Eclipse.

(From yocto-docs rev: 6408ff7f4d59a0e535e560c7c0c63a3f373c640b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:18 +01:00
Scott Rifenbark
2c1b5b1054 documentation/adt-manual/adt-prepare.xml: writer notes and section format
I added a couple of writer notes for development purposes.  I also
formated the section title references so they have quotes around them
for easier reading in the PDF verison.

(From yocto-docs rev: 37adb580cf6c1369da43fc4ef7aaa4cc1cee0e5c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:18 +01:00
Scott Rifenbark
b8be92c34d documentation/adt-manual/adt-eclipse.xml: minor edits
fixed some section naming conventions and minor wordings.

(From yocto-docs rev: 768d386c135c57ed3573e08bac72cad47fa101ce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:17 +01:00
Scott Rifenbark
6b4133b08f documentation/poky-ref-manual/resources.xml: re-wrote Contributions
The information in the "Contributions" section has been migrated to
a "Submitting a Change" section in the YP Development Manual.
I re-wrote this section here to simply make a general statement
about how you can submit a change and then provided a reference
link to the appropriate section in the dev manual.

(From yocto-docs rev: 038caebb2815a8f09d35e99d5a2a0be76b05cacf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:17 +01:00
Scott Rifenbark
96d43c2410 documentation/dev-manual/dev-manual-newbie.xml: re-write change submit
The section on submitting a change was very sparse and incomplete.
I have significantly upgraded this section to provide more details.

(From yocto-docs rev: af43bb1e4902c45afb5ac4b0f099877acd7a81a2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:57:17 +01:00
Richard Purdie
cde2aa61cf neon: Add libproxy to DEPENDS to ensure determinstic builds
(From OE-Core rev: ed2a606909b9490ac57a3ad3db7a15e83a8664f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:56:35 +01:00
Richard Purdie
1d18aeafa6 libsndfile1: Disable external codec librbaries since we don't list in DEPENDS
(From OE-Core rev: 34a14ce3ea78be299175e1a803f92519aa02355b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:56:24 +01:00
Richard Purdie
b8a67d3000 cairo: Disable bfd symbol loopup since we don't list it in DEPENDS
(From OE-Core rev: ac8b7e275a8789b6605ef84a3b128aea2518b596)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:56:15 +01:00
Richard Purdie
c3c8084855 gtk+: Explicitly disable xinerama since we don't have it as a DEPENDS
(From OE-Core rev: dbc25ca76d482f30186562fc51f5b3bdf48c0a7b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:56:06 +01:00
Richard Purdie
cd0ef4d7c1 gnome-desktop: Ensure we're deterministic about startup-notification dependency
Without this change we may or may not include startup-notification support.

We therefore explictly include it in the dependency list.

(From OE-Core rev: 8ad24306d8bc9c2fd73f4b814eb1a64c04707da5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 17:56:00 +01:00
Saul Wold
c9e35a126a attr/acl: add SSTATEPOSTINSTFUNC
Added a native sstate post install function to fix the links
created between /lib and /usr/lib for the library files. These
links could point to an invalid build area when using shared state.

(From OE-Core rev: 8ab7b681cdb43c6c21c187b8cd01faa39727824a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-25 15:28:27 +01:00
Richard Purdie
4456226e45 populate_sdk_rpm: add pkgconfig(pkg-config) to the list
(From OE-Core rev: 368b150416688654e35229a63b87177b52e83d02)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23 19:57:13 +01:00
Saul Wold
bf8f071c5b populate_sdk_rpm: add items to the INSTALL_PROVIDESNAME_RPM list
This fixes a problem when building meta-toolchain-gmae, by adding items that
will be provided by the host system, such as /bin/bash, /usr/bin/env and
libGL.so

(From OE-Core rev: 01361f9d25b0a0027bbbe713b93051a4663b14fc)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
RP: libGL.so() -> libGL.so
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-23 01:08:17 +01:00
Elizabeth Flanagan
3b1e8a214e poky.conf: flipping DISTRO_VERSION and DISTRO_NAME
In preparation for the final edison buildout, flipping DISTRO*

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2011-09-22 16:28:12 -07:00
Darren Hart
1015dfce8d intltool: add libxml-parser-perl-native dependency to -native version
Fixes [YOCTO #1514]

Without a native dependency on libxml-parser-perl-native,
shared-mime-info-native can fail its do_configure task.

checking for XML::Parser... configure: error: XML::Parser perl module is
required for intltool

Testing: Successfully built shared-mime-info and shared-mime-info-native for
qemuppc.

(From OE-Core rev: 51b1df89828e677232e125181209b26d3c5ec928)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:10 +01:00
Richard Purdie
a0b1c14587 multilib.bbclass: Partially fix multlib image targets
This patch partially fixes problems when building multilib extended
images such as libXX-core-image-minimal. Its not a perfect/complete
solution but works much better than any previous code did.

[YOCTO #1496] (partial)
[YOCTO #1497] (partial)
[YOCTO #1498] (partial)

(From OE-Core rev: 00c38774ef0232cc2be924ed8e59220e7c452096)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:10 +01:00
Dexuan Cui
66934fc311 qemu-config: use pkg_postinst to generate the proper shutdown.desktop
[YOCTO #1507]

We need to remove the file qemuarm/shutdown.desktop, or else, on qemuarm,
due to the PACKAGE_ARCH overriding from all to qemuarm in base.bbclass,
the generated deb file will be stored at
tmp/deploy/deb/qemuarm/qemu-config_1.0-r21_allarch.deb rather than
tmp/deploy/deb/all/qemu-config_1.0-r21_all.deb, and the package qemu-config
won't be installable -- task-base finally rdepends on qemu-config, so we get
the do_rootfs failure:

The following packages have unmet dependencies:
|   task-base-extended: Depends: task-base but it is not going to be installed
| E: Broken packages

There is also a generic shutdown.desktop, we can keep it and use a proper
pkg_postinst to cope with the case of qemuarm.

(From OE-Core rev: 751212d5effdceab91d95705e647cf07e6820940)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:10 +01:00
Richard Purdie
80de0f946b diffstat: Add missing file from previous commit
(From OE-Core rev: 6f4e6d6d41f874844b186b9e5b63a1b851becb52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:10 +01:00
Richard Purdie
5e65389335 diffstat: Fix a build failure when using libdir=/usr/lib64
(From OE-Core rev: 9a846d83a39339de6d7cc0da050a50d7f4e093c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:10 +01:00
Zhai Edwin
d513e5f92c qemugl: Use local variable rather than "push" to save register
New gcc uses "%esp" rather than "%ebp" to index local variable in stack, and
push between save-to/restore-from stack decrease "%esp", which leads wrong
index. Saving registers via local variables to make gcc aware of this and avoid
stack disorder.

[YOCTO #1442] got fixed

(From OE-Core rev: afc9edc27e77e80fdd24b4c8c538f91672940e75)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:09 +01:00
Saul Wold
e9f8b99215 gnome-desktop: Fix python path in scripts to use target path
(From OE-Core rev: 22fd67f854f70f79ea94af11c61ef63939d54ac2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 22:28:09 +01:00
Dmitry Eremin-Solenikov
ff8f0ea563 libxml2: reinclude a -staticdev package
libxml2 provides a libxml2.a library, which wasn't included in any of
the packages. Usually static libs are included into a -staticdev
package, but this package wasn't generated for libxml2, due to
libxml2.inc redeclaring PACKAGES variable (to include libxml2-utils).
Replace PACKAGES setting with expansion to include all default packages
(and so -staticdev package with libxml2.a).

(From OE-Core rev: 76052861cc95fd4ad4c4b9eb6ce4cd1065ad4dc9)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:31 +01:00
Dmitry Eremin-Solenikov
2da22470c8 gettext: shut up unshipped files warning
It seems nobody uses preloadable_libintl.so in OE world. It's not
included in any package. To stop oe-core from emiting a unshipped files
warning, remove that file in the end of do_install.

(From OE-Core rev: 9d33b6973438f514f1ca609c3a936b45af921e2f)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:30 +01:00
Dmitry Eremin-Solenikov
2179edee1d polkit: fixup packaging
1) Drop static versions of extensions, as there is no point in them
2) For completeness include .la files for extensions into polkit-dev

(From OE-Core rev: e1a9f9e7f823330ab5140735b80988541e86e2d4)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:30 +01:00
Dmitry Eremin-Solenikov
28b0653dbd gtk+: packaging fixups
1) Package gail modules into libgail package. .la files go into main
gtk+-dev package, debug symbols to gtk+-dbg.

2) For completeness add printerbackends .la files to gtk+-dev

(From OE-Core rev: a797c4ff1246566b545dc6cab2713a04f24fea6e)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:30 +01:00
Dmitry Eremin-Solenikov
1e3644cdd3 libgpg-error: drop common-lisp files
OE doesn't have common-lisp neither in oe-core, nor in org.oe.dev. Stop
this package from installing clisp-related files.

(From OE-Core rev: 894254c18fe19b6321c790d9a5d93b24868ba6f2)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:29 +01:00
Dmitry Eremin-Solenikov
c1cd38cc01 avahi: include dbus interfaces definitions into daemon package
(From OE-Core rev: 8b7cd9a2e3a38fb5ed8207b2a6395855e1482ae3)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:29 +01:00
Dmitry Eremin-Solenikov
1b449dd0b0 insane.bbclass: don't warn on .so files in -nativesdk packages
There is no point in warning against .so symlinks in -nativesdk
packages. They have to contain such links, so shut up the warning.

(From OE-Core rev: 287d02a731e45ce5d843db1fd4d78ba17e9ed487)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:29 +01:00
Dmitry Eremin-Solenikov
72ff0c54b9 icecc.bbclass: fix handling of nativesdk and cross-canadian packages
icecc.bbclass assumed that nativesdk and cross-canadian packages should
use local icecc version. Instead those packages should use target-like
scheme for toolchain tarball generation.

(From OE-Core rev: 394c7c8cf262efeaafce40dc5eb480a1e041ac50)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:29 +01:00
Dmitry Eremin-Solenikov
3d69181692 icecc-create-env: rename to -native
icecc-create-env(-native) is a native package. But if it doesn't have
the -native suffix, some dependency tracking stuff in oe-core (in
nativesdk.bbclass) get's crazy about it, trying to generate dependencies
to icecc-create-env-native packages. To fix that simply add -native
suffix to this package.

(From OE-Core rev: 83f9ebe9afb8bec4531899f8001a585c974e1db4)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:12:28 +01:00
Mark Hatle
3ac49c3a52 python: Fix cgi.py runtime issue
By default cgi.py attempts to use /usr/local/bin/python as its
interpreter.  However, on my Linux systems, including OE-Core,
python is installed into {bindir}.  Adjust this one file based on
the comment at the top of the upstream file.

This resolves an issue where a runtime dependency discovered during
RPM packaging breaks the rootfs construction.

(From OE-Core rev: 1da01664963b9c6a6df171dcd0fbb1406544035b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:07:00 +01:00
Mark Hatle
e4c57fa3d8 task-core-lsb: Remove perl-dev
Remove the perl-dev recipe from the required packages.  When this
recipe is included, libc6-dev is automatically added as are a large
number of other -dev packages.  Eventually this creates a system
where the dependencies may not be able to be satisfied.

The perl-dev package should not be required in order to pass the LSB
testing.

(From OE-Core rev: 3f24b0f82458bcf15eabc74b9f370d9e774d0f63)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:06:59 +01:00
Mark Hatle
7042e14c70 sudo: Fix PAM dependencies
When PAM is enabled for the distribution we need to be sure to have a
build dependency of libpam, and runtime dependencies on the pam modules
used by the sudo package.

(From OE-Core rev: 79db5ccc7ee9b360451074dd42f7676e138cf384)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:06:59 +01:00
Mark Hatle
0f6ef5cc92 perl: Fix a few perl binaries to use target interpreter paths
A small number of target installed programs, "${bindir}/pod*",
were incorrectly using the perl-native paths to access perl.  This
caused a dependency failure during RPM rootfs install, and also
prevented those specific components from functioning.

(From OE-Core rev: 7b8db36e088e3e9cd585e8d8dde1c1c2860c3c2e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:06:59 +01:00
Mark Hatle
7f59cbceb4 usbutils: Move the pkgconfig file(s) to the -dev package
pkgconfig files belong in the -dev package.  They automatically add
a runtime dependency (when packaging with RPM) for "pkgconfig", which
is not desired to be installed with this package.

(From OE-Core rev: 79cd09017693e0fd1634ea9748c797fcec4dac14)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 05:06:58 +01:00
Marko Katić
a5313695cc bluez4: Replace deprecated configure switch
"--enable-configfiles" is deprecated upstream. Here is the original reason &
patch:

http://www.spinics.net/lists/linux-bluetooth/msg14266.html

Replace "--enable-configfiles" with "--enable-datafiles" in the bluez4
recipe.

(From OE-Core rev: 95e73d81554969ca4f0af43773343e1fbceda999)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:54:08 +01:00
Dongxiao Xu
a502a18484 libglade: fix the python environment settings
@PYTHON@ will points to the abstract path in sysroot, which should be
replaced by "#!/usr/bin/env python".

This should fix the sato-sdk rootfs error.

(From OE-Core rev: 51cd0bdf1fad230e919392db8c72afe2d9e21fdb)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:09 +01:00
Richard Purdie
ee6e30adc3 glib-2.0: Fix python paths in scripts to use target paths
(From OE-Core rev: 08fd9740b9359425ec6ee9810fab1152e9737b0c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:09 +01:00
Koen Kooi
f0b9d793ff procps 3.2.8: remove initscript
Sysctl is managed by other initscripts in the sysV world and by systemd itself in the systemd world, so drop it from the procps recipe.

This also fixes some style issues and a global FILES assignenment.

(From OE-Core rev: 80650bf4bce83e4e8d785e9a69eac0abbcdc6844)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:09 +01:00
Otavio Salvador
d9d2c9c75f xserver-xf86-lite.inc: use ${datadir} instead of /usr/share
(From OE-Core rev: d86acde7c6c57bd848feb1875c10df9b1de1201d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:08 +01:00
Otavio Salvador
4d3bac9a6d xserver-xf86-dri-lite.inc: use ${datadir} instead of /usr/share
(From OE-Core rev: e83f142e1510cf686d9626b873ce9acf7baced0a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:08 +01:00
Otavio Salvador
ad0c9a13ea xserver-xf86-common.inc: use ${datadir} instead of /usr/share
(From OE-Core rev: 9e283b637fcfc704156675eef4bc53966a03e3dc)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:08 +01:00
Bruce Ashfield
093c27a8fd linux-yocto: kernel configuration cleanups
There were some config fragment warnings that were being hidden
by virtue of being output while generating the full config versus
the ones that were generated during the configuration audit task.

This change does the following:

  - Updates the kern-tools SRCREV to include changes that move
    all kernel configuration warnings to the audit script

  - Updates the meta SRCREV for linux-yocto to get updated
    kernel configuration fragments that are warning-free. These
    are duplicated configs, and other changes that have a net
    result of no runtime changes.

(From OE-Core rev: 8e67d4dd1e1bc64a84791abc613e237e29dd2aaa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:08 +01:00
Bruce Ashfield
03b86748ae linux-yocto: add blktrace feature
Updating the 3.0 kernel to enable blktrace to match our previous
functionality. This is done by the following meta branch commit:

[
    meta: add blktrace feature

    Add a 'blktrace feature' that turns on kernel support for blktrace, a
    block I/O tracing tool.  Added to 'standard' alongside similar tracing
    tool config.

    (From OE-Core rev: 21654cbf766f9c319b2fc8a08f0060c60ef005eb)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:07 +01:00
Bruce Ashfield
4ea42b64a8 linux-yocto: simplify kernel configuration check expression
kernel configuration validation takes place between two files. An
unprocessed configuration file (which is all the options found in
the various configuration fragments) and the final .config produced
by the lkc.

The unprocessed configuration file's name historically is based on
the name of the branch that was used to build the BSP. But with the
ability to map machine names to arbitrary branches, this is no longer
always true.

Searching for the pattern *-config-* in the meta subdirectory will
only match the config file, and frees the config validation phase
from being concerned with what branch was used to build the BSP.

(From OE-Core rev: 92e0d61f5bf15ca4eb262dfa3c533f9209a87915)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:07 +01:00
Saul Wold
e7f40dd8f2 distro tracking: Update Distro Aliases
(From OE-Core rev: 40b52d9ed9b7b39bc86b3c87ae60fa6359cac265)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 04:50:07 +01:00
Dongxiao Xu
97bded5bc4 rootfs_rpm: two step installation
Firstly we install a base image.
Then install those multilib packages listed in MULTILIB_IMAGE_INSTALL.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-22 01:20:18 +01:00
Julian Pidancet
bcfff457f6 Fix mercurial fetcher in fetch2
The _build_revision method in Hg class gets called with the wrong number
of arguments. This tiny patch adds a 5th argument to the method
declaration to prevent python from throwing an exception.

(Bitbake rev: 623e9c7f7a9cf12b8c81c26cc608990682a601dd)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 14:07:31 +01:00
Joshua Lock
863f43a093 hob: fix opening of image output dir on image build completion
Firstly, rather than polling the DEPLOY_DIR_IMAGE directory each time an
image is built store the variable as a member of the hobeventhandler.
Secondly emit the generic "build-complete" signal *after* the specialised
"build-failed" or "build-succeeded" signals such that the appropriate
state variables are set before we try and use them.

(Bitbake rev: 043914a8b478fd4a7799acd1b44bdb3b0af2165a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 14:07:30 +01:00
Joshua Lock
7dc4495951 ui/crumbs/runningbuild: fix log messages right-click menu
Pass the correct callback name to the connect method.

(Bitbake rev: d2b9167a7b0eb3fcb31d64f915beef41aac659a5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 14:07:30 +01:00
Richard Purdie
6a2c85ff97 libpng: Add RPROVIDES for backwards compatibiliy with previous libpng packaging
(From OE-Core rev: eb39d55d07880e9338808fc077991b5673077aa1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:54 +01:00
Richard Purdie
d887bac4a2 debian.bbclass: Fix hardcoded "lib" reference
This patch removes a hardcoded "lib" reference from debian.bbclass
allowing libdirs like "lib64" to be used. Whilst working on this area of
code, a similar assumption about "bin" is removed and the regular
expression compilation is moved to the parent function since it doesn't
change and this will improve the speed of the code.

(From OE-Core rev: 6b2e41023941f15d0f9211ef17339ba1fca9a3b9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:53 +01:00
Mark Hatle
737f8bbb4f Update python dependencies to be simply to "python"
Previously python dependencies were of the format "python(abi) = ..."
This format is not yet supportable within OE, so revert to a form
we know we can handle.

Introduce a change to package.bbclass that ensures it will causes the
sstate-cache's "package" to invalidate.  Since pythondeps changed, the
output of rpmdeps changes, which causes the per-file dependency
information to change.... thus we need to invalidate the cache!

(From OE-Core rev: 30064a98dc9049db4a37f119d15fbb59aa3c8377)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:53 +01:00
Dongxiao Xu
d380bb126a libpng: avoid dangling link in libpng package
As for libpng recipe, the libpng.pc is a symbol link to libpng12.pc,
if packaging them into two different packages, we will get a dangling
link for libpng.pc, and when calculating rpm dependency with that file,
we will get nothing.

Only keep one version of dev package to fix the issue.

(From OE-Core rev: 50232671951e0b69d52a685b82a10be335458292)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:53 +01:00
Saul Wold
c81cd242df oprofileui: Change avahi to avahi-ui depends
(From OE-Core rev: c89aa6a2b22e05e98991cc5b56d6ec869cf9c69a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:53 +01:00
Daniel Lazzari
9aa8b769d5 Fix alsa-utils package dependencies
Make alsa-utils main package depend on all of the more specific alsa-utils packages (such as alsa-utils-alsamixer).

(From OE-Core rev: 181063d0ae52b6c5ec203ea7c4fee629761cafdf)

Signed-off-by: Daniel Lazzari Jr <dlazzari@leapfrog.com>

PR Bump

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:52 +01:00
Mark Hatle
a0530fc847 multilib_global.bbclass: Fix non-multilib package provides
In non-multilib packages, configured in a multilib configuration we
need to adjust the system provides and rprovides to include the
virtual multilib variant.

This resolves a problem introduced in the
329d864f9bbf94ad3aae8df43d63fe10e4237e4f commit.  Where "allarch"
packages were suddenly providing all variants of an object.

(From OE-Core rev: 66fa6b7e13fbcc5f75fb1b8aa3aedfbdbc148688)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:52 +01:00
Mark Hatle
87849d8420 busybox: Enhance to add dynamic per-file provides
When using the RPM package backend, we need a full list of per-file
provides (and requires).  The busybox package provides a number of
command line utilities, such as /usr/bin/env.  However, because
the utilities are created at post install time via scripting the
provide of each of the links was never made.  So any programs,
such as python, that require /usr/bin/env were unable to resolve
the dependency and failed.

This change only affects packaging backends that use per-file
dependency data.  Currently RPM is the only packaging backend
with this ability.

(From OE-Core rev: dd63f64155e0fe41c27a8c9be84dfc0a255a3ff7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:52 +01:00
Mark Hatle
2fa80ef30e Add a run-time dependency that eglibc support GNU_HASH
RPM checks to see if binaries require GNU_HASH, if they do it adds
an automatic dependency of "rtld(GNU_HASH)".  We need to satisfy
this dependency, and we do it by providing rtld(GNU_HASH) in the
package(s) that provide a runtime-linker.

(From OE-Core rev: e150afea5a9af8e1bc5aaecd9eb3fe86d7b79f44)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:52 +01:00
Mark Hatle
29aa617a48 Fix RPM dependencies
When packaging for RPM, dependencies were not being properly added
to the packages.  Only the "providing" dependencies were added due
to a typo.

(From OE-Core rev: c5d4e17f29d7f032d566d3b222a0ee231da03f78)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Dongxiao Xu
64ea342b4f multilib: install MULTILIB_IMAGE_INSTALL
If user set MULTILIB_IMAGE_INSTALL, we need to install those multitlib
packages into the final image.

Also fix the logic in handling multilib prefix. For certain case like a
normal image contains several multilib libraries, the image recipe isn't
extended with MLPREFIX, therefore we need to enumerate the possible
multilib prefixes and compare them with package prefixes.

(From OE-Core rev: a94cc552dc764d3cc83ea638cb08b9a2a8829d2f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Dongxiao Xu
719e1edaeb rpm: add multilib prefix for archs under deploy/rpm
Currently MACHINE_ARCH deploy folder is unique in multilib system, thus
a lib32 version of rpm package will override a normal rpm package if
its PACKAGE_ARCH is ${MACHINE_ARCH}.

Define different deploy folder for multilib architectures to avoid the
confliction.

(From OE-Core rev: 921f984aa65e23d5a8ec5c2e58a96cb8a4790b5d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Saul Wold
59a08907ea avahi: Refactor recipe to move UI to avahi-ui
[YOCTO #1492]

This patch refactors avahi into a core non ui and avahi-ui, OE-Classic
has a similar factoring, and it was used as a refernce to make this
occur correctly here.

This allows the package to be built without gtk and GPLv3 issues.

(From OE-Core rev: a3909a6a42a1e3e80b7f2597f95ecb7db2814d2d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Saul Wold
efc88ff010 distrodata: fix distro_check code
This fixes a problem with package names from inherits showing up

(From OE-Core rev: edb2a11994ac21e790155ea519bded4b37ef9307)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:50 +01:00
Anders Darander
c2db80b4de zypper: git repo moved to github
(From OE-Core rev: 924d2ce0326b17a18909ec9eea8b5f75e497301a)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:50 +01:00
Anders Darander
86d05bfb3d sat-solver: git repo moved to github
(From OE-Core rev: cdaa7e00fb11f3b583d765eb3d578404998e18a9)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:50 +01:00
Anders Darander
8b96f552a0 libzypp: git repo moved to github
(From OE-Core rev: 7e67aa4002c50cd91e39e5e9305f8cb86c8c0f11)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:50 +01:00
Dexuan Cui
23773a899b deb packages support: switch from /var/dpkg to /var/lib/dpkg
[YOCTO #1086]

The pach was backported from OE:
http://git.openembedded.net/cgit.cgi/openembedded/commit/?id=41e0fbf792037f249d1b8d283b3de81718887c9f

(From OE-Core rev: d1e6f49a6473df3c626100ba01b27485f735c33b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:49 +01:00
Paul Eggleton
f45ef8d9fa scripts/combo-layer: fix still overzealous regex in default hook script
In the previous fix to this hook script (OE core revision
e7aae45414e4597e9244f86a81fbc940f73785c8) a start-of-line (^) marker was
missed, so if a commit had no Signed-off-by line but it contained an
inner patch that did, the inner patch was modified causing a "corrupt
patch" error.

(From OE-Core rev: 9f1b4e5923c60cd4215b0ca4da2cab6245e54ccb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:49 +01:00
Joshua Lock
6bed96c4dc hob: enable package only builds even if an image has been built
Once an image build has been performed the selected_image variable would
prevent the package only build choice being triggered - by setting the
variable to None on reset we are able to perform package only builds after
an image build.

(Bitbake rev: 705156e2812afb288632f01416fcbbf9add26bee)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:10 +01:00
Joshua Lock
081990b2a3 hob: fix build again when building packages only
The different code paths for package vs image builds have lead to some bit
rot in the package only build and an incompatability between package only
builds and the build again mechanism.

This patch unifies the code paths and fixes build again for package only
builds.

Fixes [YOCTO #1480]

(Bitbake rev: ab6c63f35739c30df0e8a9d0f1ae982b96e538ed)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:10 +01:00
Joshua Lock
8ebca0c5a8 ui/crumbs/hobprefs: re-enable reloading of data after prefs changes
When disabling the toolchain w/ headers checkbox in an early commit I
accidentally disabled too much code. This re-enables adding the custom
response handler to the Preferences dialog which triggeres a reparse of
the metadata when appropriate preference changes are made.

Fixes [YOCTO #1479]

(Bitbake rev: bdbd724e806c9ca69cc1508bac7ec0a2dce95543)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:10 +01:00
Paul Eggleton
92015c7863 fetch2/git: fix subpath destination directory
Make the git fetcher's subpath (path within the git repo to fetch)
option set the destsuffix (destination directory) option by default.
This reverts the behaviour of subpath to the same as when it was
introduced.

Based on a patch by Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>

(Bitbake rev: 3e7f8afeacf7c8c8de3e87778a3907e33d4a06b3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:10 +01:00
Martin Jansa
28c3aa8b85 fetch2/git: be more carefull in _contains_ref when checking git log output
* in some cases there could be output like this
  ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored.
  before wc -l output and returned 'output.split()[0] != 0' is always True

(Bitbake rev: 3a54dcc09a12406ec6cf22b4b1a2cc4fc203822c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:09 +01:00
Martin Jansa
35fdd5a195 fetch2/git: fix logger.debug
* logging/logger typo was fixed in 38a598731b49c8a0ba0ede570adc33eb1e848235
  but debug level is still missing

(Bitbake rev: 9de432fe2348cdbc93037bb49abb508d1fd38336)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:09 +01:00
Joshua Lock
9e4dc60c75 fetch2/wget: make checkstatus() quieter
Change the wget fetcher to not emit the commands output when calling checkstatus, this
matches the behaviour of the git fetchers checkstatus() method.

(Bitbake rev: 5896d8ff7bcf85b3bab20fc27c4c15e87f86b4d9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:24:09 +01:00
Paul Eggleton
1fba7bec25 freetype: disable bzip2 compressed font support
If we do not disable this then it is enabled sometimes and disabled at
others depending on whether bzip2 has been built at the time, and worst
case it will cause a race condition if bzip2 is building at the same
time.

(From OE-Core rev: 81274f4488fbc4d68d150870735ec0181b60b451)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:23:21 +01:00
Paul Eggleton
d2f34d350d libgnome-keyring: add libgcrypt to DEPENDS
libgcrypt is a required dependency according to the configure script, so
add it to DEPENDS. (This fixes a race condition when libgcrypt happens
to be building at the same time as libgnome-keyring.)

(From OE-Core rev: 4ffb69648747396f0396755875fd14b4ed3aabbd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:23:20 +01:00
Paul Eggleton
934e9ba7b4 libgcrypt: add libcap to DEPENDS
We explicitly enable capabilities, so libcap is required. (This fixes a
race condition when libcap happens to be building at the same time as
libgcrypt.)

(From OE-Core rev: 8574cb108cd3375a7e8db3d484236571b87c3637)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:23:20 +01:00
Christopher Larson
2a09a93cba taskdata: fix string formatting of an error message
(Bitbake rev: 224db31c46f5e91ced0e509c5fc564baaffa7b27)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-20 22:22:21 +01:00
Richard Purdie
7a0cbe6b0e cooker.py: Fix key expansion issues in showVersions
bitbake -s was not displaying correct version information when the
PREFERRED_VERSION string contains other variables. The actual built
versions would differ since the providers.py functions were called
with expanded keys at this point.

This patch expands keys for showVersions bringing everything into
sync correctly.

[YOCTO #1493]

(Bitbake rev: 3a0f2dda3c6de993f08ed50e9d513add9407339c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 05:55:37 +01:00
Paul Eggleton
3a6a38e3c6 sanity.bbclass: add a sanity check for KDE 4.x konsole in TERMCMD
If the user has specified konsole in TERMCMD and it is version 2.x from
KDE 4.x, raise an error as this version will not work for patch
resolution purposes (it forks into the background and returns
immediately).

Addresses [YOCTO #1294]

(From OE-Core rev: 843f9af47ffccb7ffdf3039c560bc3e4c88175a2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 04:52:49 +01:00
Paul Eggleton
9b5175255b lib/oe/terminal.py: declare konsole from KDE 4.x as unsupported
Konsole 2.x (from KDE 4.x) does not work as devshell - it does not pass
the environment or current working directory through among other issues,
so do a version check and disable it if it is found (skipping to the
next available terminal application.)

(From OE-Core rev: ee57cd7deb778dc72e58668d8c71cf840a3bc0d9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 04:52:48 +01:00
Joshua Lock
aed5247980 texinfo: several changes to build without zlib and ncurses headers on host
Texinfo very cleverly detects cross-compilation and builds host versions
of the texinfo binaries it requires to bootstrap the build, however this
was causing the host to require ncurses and zlib libraries and headers.

Instead, since we require texinfo to be installed on the host, remove this
feature from the texinfo configure.ac (disable-native-tools.patch).

Further, fix texinfo to link with newer binutils (link-zip.patch) and to
generate translations with newer gettext (gettext-macros.patch).

With this patch I am able to build texinfo on Fedora without ncurses-devel
and zlib-devel installed.

This fixes [YOCTO #1483]

(From OE-Core rev: 4b395a9beb6c02f7b23266e7ee2ca3c08a9cbb70)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 04:52:48 +01:00
Saul Wold
f48f4562b4 base.bbclass: add crosssdk items to INCOMPATIBLE_LICENSE exclude list
(From OE-Core rev: 1fbb665ef20b7a2477ec4812a610f2b69a870bb1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-19 04:52:48 +01:00
Richard Purdie
92518c5017 git.py: Fix logging vs logger typo
(Bitbake rev: 1043bbcd095314e717b372ed69ea6ee5b8a06573)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-17 12:11:18 +01:00
Joshua Lock
dfc13c9ae7 sanity: disable mirrors for connectivity check
It's difficult to test a range of fetchers when using mirrors, therefore create a throwaway
copy of the datastore and delete the MIRROR and PREMIRROR variables to ensure they aren't
used in the connectivity check.

(From OE-Core rev: 31cb3974eeaf2a808e8da3864e70986578c58cb9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:27 +01:00
Dmitry Eremin-Solenikov
6be481711a bugzilla.bbclass: add a class to report build problems to bugzilla
Add a class to report build errors to bugzilla. Idea largely based on
sepukku.bbclass, however it's rewritten nearly fully to use XML-RPC
interface of bugzilla. Tested with bugzilla 4.0, other version might
require some sort of adaptation.

(From OE-Core rev: 20529035a4c0befb3c6bdbcb289a2de930fb143d)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Dmitry Eremin-Solenikov
849bf66e28 icecc.bbclass: replace with updated version
Replace a non-working icecc class with a rewritten one. It's cleaned up,
most things are handled now in shell scripts, as it's possible that
toolchains won't exist at the time of parsing/python substitution.
Packages which empty PARALLEL_MAKE are ignored now, as not to break
them.

(From OE-Core rev: 3a842ec52e7d010767b13bdcb5629ac07b3ee9e7)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Dmitry Eremin-Solenikov
596a1973d9 icecc-create-env: a tool to create icecc toolchain tarballs
IceCC needs tarballs with toolchains to work correctly. This is a
version largely based on one from org.openembedded.dev, plus a patch to
support recent compilers, LTO, etc.

(From OE-Core rev: 49d25ab464e0e02bb910a75791077b1393d22b6e)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Lianhao Lu
99dd3c0b2c image/package.bbclass: Revise multilib support for DEBIAN_NAME.
[YOCTO #1486]
1. image.bbclass: In multilib_sanity_check, duplicated files except
those matching to MULTILIBRE_ALLOW_REP are allowed if they're equal.

2. pacakge.bbclass: Allow DEBIAN_NOAUTONAMES variable to be
automatically mapped in multilib case.

(From OE-Core rev: 66f9045e17c39f5c64a0699b72ea460a0701717a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:26 +01:00
Lianhao Lu
aab71071d7 Misc: Added MLPREFIX to final pkg names in case of DEBIAN_NAMES.
[YOCTO #1486]
Added MLPREFIX to the final package names of library packages in case of
DEBIAN_NAMES.

(From OE-Core rev: 1162b78d6f99da52cd7d122e4295c618184e41cd)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:25 +01:00
Lianhao Lu
27f8868509 debian/_ipk.bbclass: Added multilib support for package_name_hook()
[YOCTO #1486]
1. Added multilib support for package_name_hook() so MLPREFIX is kept in
the final package name.

2. clean the output of log_check_ipk.

(From OE-Core rev: e59c4e34daa688c033dd4ac07a69099610ac5705)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 18:07:25 +01:00
Tom Zanussi
f5a1b3c8f7 package.bbclass: fix spurious 'installed but not shipped' warning
For packages that have files installed that aren't in a subdirectory,
the following build WARNING is emitted (this for initramfs-live-boot
as an example):

WARNING: For recipe initramfs-live-boot, the following files were
 installed but not shipped in any package:
WARNING:   init

The problem is that the filenames added to the 'seen' array are always
added with a path separator at the beginning of the filename, but when
the package dir is walked for comparison, any files at the top-level
will be missing the beginning path separator and the comparison will
fail despite the fact that the file was actually packaged.  This
because the remainder between the dirname and the dvar base name is
used in the path join and in the case of files at the top-level, the
remainder is the empty string, where it should be '/' for comparison
purposes.

(From OE-Core rev: cb19503139b9102f02ba3e5be63d5e85f280f2ef)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 17:23:59 +01:00
Richard Purdie
bb0cc3cfa6 qemu: Fix reversed BGR values on ARM Versatile emulation
[YOCTO #1469]

(From OE-Core rev: d06781eab16881d2206a3306c66a0c4c1e178dde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 17:03:13 +01:00
Darren Hart
ce2b383d04 Prevent IMAGE_FEATURES from contaminating initrd
Set IMAGE_FEATURES="" in core-image-initramfs to prevent
the setting of things like EXTRA_IMAGE_FEATURES in local.conf
from contaminating the initrd with features meant for the rootfs.

Suggested-by: Richard Purdie <richardpurdie@linuxfoundation.org>
(From OE-Core rev: bb4dad44432b2e40ac3cf16baa45befbae3e70f5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:27 +01:00
Darren Hart
e4fe5542a5 Set an explicit path for the initrd scripts
If we don't set PATH, then the shell will specify one for us.
Busybox adds the sbin dirs, but bash does not. I hit an
issue where bash (among other things) ended up in my initrd
and the boot scripts failed due to a bad default PATH. While
that is a separate issue, we should not be at the mercy of the
shell's default PATH. Update the initrdscripts to all specify:

PATH=/sbin:/bin:/usr/sbin:/usr/bin

(From OE-Core rev: 4617ae0f433876037c2c9a0dfdb5e373e7a5c77b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:26 +01:00
Khem Raj
6f797c9398 eglibc-2.13: Replace oewarn with bbwarn
oewarn does not exist

(From OE-Core rev: 97249b6d12e9a87bac97a48ad35434084bbe70e3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:26 +01:00
Tom Zanussi
0ecc7bbb46 initramfs-live-install: add PN to RDEPENDS
RDEPENDS is package-specific, so add ${PN} to it.

(From OE-Core rev: ac3373f5baefd5ac5fea7d7f68690bf0f0889be6)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:26 +01:00
Tom Zanussi
a5de479418 grub_1.99: add PN to RDEPENDS
RDEPENDS is package-specific, so add ${PN} to it.

(From OE-Core rev: 2beec7ff9b177f82a897f281fa72e5d7f96246bc)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:25 +01:00
Tom Zanussi
000068e1ce ttf-bitstream-vera_1.10: add PN to RDEPENDS
RDEPENDS is package-specific, so add ${PN} to it.

(From OE-Core rev: cfccedf0f9c2aa051de3ecdd4c3f6d42729c982d)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:25 +01:00
Tom Zanussi
66f4ceb7ff liberation-fonts_1.06: add PN to RDEPENDS
RDEPENDS is package-specific, so add ${PN} to it.

(From OE-Core rev: c259bc5a16d85527ad22c22e996195eebe3519c1)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:25 +01:00
Tom Zanussi
bf51268786 liberation-fonts_1.04: add PN to RDEPENDS
RDEPENDS is package-specific, so add ${PN} to it.

(From OE-Core rev: d29f252486f80f2d59f5cd63042336f317a59e43)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:25 +01:00
Saul Wold
5a489eceb5 web: Fix SRCREV due to lost commit in web-sato
[YOCTO #1454]

This SRCREV fixes the number of parameters

(From OE-Core rev: 969165666d5a1074c5389d98b79c41ff31597baa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:24 +01:00
Dexuan Cui
36aba35c07 distro-tracking: Update package alias
(From OE-Core rev: ed8b469babb1273d7c249baeb4b642e751317b2a)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:24 +01:00
Bernhard Guillon
14666c0b63 liboil-0.3.17: add upstream Fix-enable-vfp-flag patch
Add upstream 1921498bcc06408e8b051a3a9e9ce4182998f748 patch to fix
compiling with vfp

Without this patch this error occours on arm with vfp and softfloat:

| math_vfp_asm.S:273: Error: selected processor does not support `fnegd d12,d4'
| math_vfp_asm.S:273: Error: selected processor does not support `fstmiad r0!,{d12,d13,d14,d15}'
| math_vfp_asm.S:273: Error: selected processor does not support `fmxr fpscr,lr'
| make[3]: *** [math_vfp_asm.lo] Error 1

(From OE-Core rev: f7f129b60d33e2758a3a9cc66a98251e1325664d)

Signed-off-by: Bernhard Guillon <Bernhard.Guillon@hale.at>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:24 +01:00
Martin Jansa
0b9e2fa758 claws-mail: be carefull with # comments ending with backslash
* next line after #foo \ is not parsed correctly!
* but http://bugzilla.pokylinux.org/show_bug.cgi?id=813 says NOTABUG, so
  be *very carefull*

(From OE-Core rev: 125eb103194de5788920df13ccbc8004c54fb217)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:24 +01:00
Martin Jansa
6c4d3f5a56 abiword: be carefull with # comments ending with backslash
* next line after #foo \ is not parsed correctly!
* but http://bugzilla.pokylinux.org/show_bug.cgi?id=813 says NOTABUG, so be *very carefull*

(From OE-Core rev: e1cfe72e7d1e8c165aeec4e380788288fe80a244)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:23 +01:00
Martin Jansa
e6706bf559 subversion: remove neon-detection.patch and --with-neon option
* upstream detection seems to be doing its job right now
* I don't see how this is supposed to work
  --      neon_config="$withval/bin/neon-config"
  -+      neon_config="env env PKG_CONFIG_PATH=${withval}:${PKG_CONFIG_PATH} pkg-config neon"
  when neon_config should be sysroots/nokia900/usr/bin/crossscripts/neon-config
"

(From OE-Core rev: 6466de31048260089b8988280f77efdb14ac2f21)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:23 +01:00
Martin Jansa
49a34b1dc8 task-core-boot: allow distributions to define login and init manager
* for example someone prefers shadow instead of tinylogin and upstart instead of sysvinit

(From OE-Core rev: e4d19d36877b6f608cef9e395504cd5b424e1920)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:23 +01:00
Martin Jansa
0a27b8b76d openssh: update init script to create ECDSA keys if needed
* Starting with openssh-5.8p1, the server will default to a newer key
  algorithm (ECDSA).

(From OE-Core rev: 998e3acf0d38007fde10f47f98b71192685e19b9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-16 13:30:22 +01:00
Paul Eggleton
bb4a5c44da linux-yocto: remove emenlow from meta-yocto bbappend (2.6.37 version)
The emenlow BSP is now contained in the meta-intel layer.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-09-15 11:27:22 +01:00
Paul Eggleton
fb8a0ad576 qt4-x11-free: remove emenlow reference from meta-yocto bbappend
This is already in meta-emenlow within meta-intel.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-09-15 11:27:22 +01:00
Paul Eggleton
e20ceb918c local.conf.sample: remove emenlow from example machines
emenlow is now supported within meta-intel.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2011-09-15 11:27:22 +01:00
Richard Purdie
04c66de8ab cml1/kernel: Update do_menuconfig to use oe.terminal()
The recent environment fixes broke the menuconfig task since it couldn't access
variables like DISPLAY. This patch updates it to use oe.terminal instead
allowing it to work again.

(From OE-Core rev: e876a44fa8ed0aa2e09084c1e7ddfc876c3f981b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:59 +01:00
Zhai Edwin
79e3952527 distro-tracking: Update alias
(From OE-Core rev: 80f930550b696c92f2fab25a4ee8f7d51d4f1860)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:58 +01:00
Dongxiao Xu
4471d3d73d distro_tracking: update package alias
Update package alias which exist in other two distributions.

(From OE-Core rev: 81388937aefbba9f57bf6351b43cff042e93ebf0)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:58 +01:00
Saul Wold
dd605b1777 task-core-sdk: change task-core -> task-core-console
(From OE-Core rev: 504103ba42783e937c7201a8aa079a52cdde2846)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:58 +01:00
Tom Zanussi
7b6b3b8655 grub2: new recipe
This adds the grub-1.98 from meta-intel while upgrading it to 1.99.

(From OE-Core rev: ccd2148e686f93518dc1a80376f7ddb24587a3da)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:58 +01:00
Tom Zanussi
bcd1bca880 initramfs-live-install: add support for grub2
grub2 needs a different set of install steps from grub 0.97.  This
adds them to init-install.sh and adds an install-time check that
determines which version is being used and which steps to use
depending on the version of grub selected.

(From OE-Core rev: c67d03eb3684acab89e5972609e397087727e74e)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:58 +01:00
Bruce Ashfield
978f48b7e2 linux-yocto-rt: correct 3.0.3->3.0.4 mismerge for, stop_machine.c
Merging the following commit for the -rt machines:

[
    preempt-rt/base: correct 3.0.3->3.0.4 mismerge for, stop_machine.c

    Commit 0b805cce57f61a244eb3b8fce460b14f1be442b3 dropped a change making
    stop_cpus_mutex non-static, resulting in a build failure for 3.0.4-rt
    kernels.

    Restore the move to non-static from commit
    6857336c7fddaf460a13adc0c395698fcf9423ff.

    Reported-by: Kishore Bodke <kishore.k.bodke@intel.com>
    (From OE-Core rev: 1bc26dca631da53d956008a4570c46012c478435)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
]

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Bruce Ashfield
420a5455ab linux-yocto: split e100 and e1000 support
Merging the following meta changes:

12574e5 meta: create seperate feature for 10/100 LAN support
c8b37bf meta: Remove 10/100 LAN support.

(From OE-Core rev: 4ab79c8e02f9fe7a02c56019d5b169ad4f0e3aec)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Bruce Ashfield
1080d52f57 linux-yocto: move common tasks to a common location
During the initial development of the linux-yocto recipes there were
several additional tasks that needed to be run in any inheriting
recipe. At that time, they didn't seem to fire if they were in the
include file versus the recipes themselves. As it turns out, these
tasks do work fine if placed in the linux-yocto.inc file, and the
rest of the recipes can be simplified as a result.

(From OE-Core rev: a1ab7c5e03df97e630dfee470ff7959d3143bf41)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Paul Eggleton
8c310ee0a9 task-core: split into task-core-console and task-core-x11
[YOCTO #1481]

Since tasks are referred to almost exclusively via RDEPENDS, and bitbake
will build an entire task recipe when only one of its task packages are
actually needed, building a console-only image that uses
task-core-apps-console (or less directly, has apps-console in its
IMAGE_FEATURES) will cause a build of a whole list of X11 applications
that aren't needed. Splitting the task-core recipe into X11 and console
portions prevents this issue.

(From OE-Core rev: 07407baafb728c5ae1bb283f5b02a2ac773360bc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Yu Ke
d1f4cebf7e distro_tracking_field: add distro checking field
add the missing distro checking field for some recipes

(From OE-Core rev: eaef15630c38b8dd60f83df766e6b17cb3838130)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Eric Bénard
b75cf8ea80 qt4: add blacklist-diginotar-certs patch
- this patch comes from Nokia and blacklist all DigiNotar intermediates
and root certificates, more details are available here :
http://labs.qt.nokia.com/2011/09/07/what-the-diginotar-security-breach-means-for-qt-users-continued/

(From OE-Core rev: abf51c33aba51782246a9136dddb53893216f518)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:56 +01:00
Dexuan Cui
c2bbc59b21 package_deb.bbclass, populate_sdk_deb.bbclass: fix meta-toolchain-gmae build
[YOCTO #1070]

Currently with deb packaging, we have 2 issues when running
"bitbake meta-toolchain-gmae".

1) when MACHINE="qemux86", SDKMACHINE="i686", INSTALL_BASEARCH_DEB is "i686",
too. This causes the following ERROR:
| E: Couldn't find package task-sdk-host-nativesdk
NOTE: package meta-toolchain-gmae-1.0-r6: task do_populate_sdk: Failed

This is becasue: due to the DPKG_ARCH mapping, we create such a deb package
tmp/deploy/deb/i686-nativesdk/task-sdk-host-nativesdk_1.0-r10_i386.deb; dpkg
can't recoginze the package. We need to map INSTALL_BASEARCH_DEB in the same
way.

2) when MACHINE="qemux86", SDKMACHINE="x86_64", INSTALL_BASEARCH_DEB is
"x86_64", too.
We get such an ERROR:
| E: Couldn't find package task-cross-canadian-i586
NOTE: package meta-toolchain-gmae-1.0-r6: task do_populate_sdk: Failed

This is because: dpkg can't recognize the generated package
tmp/deploy/deb/x86_64-nativesdk/task-cross-canadian-i586_1.0-r0_i386.deb
Here the "i386" suffix is incorrect and should be "x86_64" -- the i386
comes from the line
DPKG_ARCH_i586 ?= "i386" in package_deb.bbclass.
However, for canadian package, actually here the overriding of DPKG (from
"x86-64" to "i386") should not happen -- it accidently happens just because
TARGET_ARCH exists in OVERRIDES. We can move the overriding logic to the
anonymous python function to work this around.

(From OE-Core rev: 63010b9ee89643c8e83656783231f0a7848d9e45)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:56 +01:00
Mark Hatle
90ded12e48 Uprev to latest version of prelink_git, fixing TLS issues
[YOCTO #1473]

From the upstream cross prelink respository:

    Fix printf typecast problem

    Without this fix the printed TLS(...) information is incorrect, which
    causes the core prelinker code to incorrectly prelink.  This bug triggers
    primarily on x86 (32-bit) hosts, targeting x86 (32-bit) targets and arm
    targets.

(From OE-Core rev: 2fc778068ebbd97b0fb473fb35a3eca03da86542)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:56 +01:00
Richard Purdie
ce66e2c6bd core-image-minimal: Add missing POKY_EXTRA_IMAGE variable
Whilst this needs renaming it at least brings this image into
line with the other images and ensures consistent behaviour.
Renaming can take place at a future point.

This fixes the problem where extra packages could be added to other
image types using this varibale but not in the case of the minimal
image.

(From OE-Core rev: 8df322abfd3fa8c460fd73c83c1ef0b5e419dc11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-14 01:29:30 +01:00
Saul Wold
a765b9afdf libzypp: move package-manger to it own package
[YOCTO #1234]

This moves a couple of files to a pkgmgt package so that
they will not be installed by default. This removes the
Add/Remove Software Icon from rpm based rootfs.

(From OE-Core rev: 3be290aac4da885fe5bc31797c4a689196c63b7a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-14 00:54:34 +01:00
Scott Rifenbark
7eea637db0 documentation/dev-manual/dev-manual-newbie.xml: Suggestions Robert Berger
I made several edits here.  There is some mystery as to which changes
are actually part of this commit.  I did a 'git diff' and am only seeing
one small change.  If I later find they are not there I will delete the
file and replace with a back up I saved prior to submitting this commit.

(From yocto-docs rev: 62c63b3a812eaf92ca2bffa5714a6d327ac32d64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:38 +01:00
Scott Rifenbark
a45fafcada documentation/dev-manual/dev-manual-start.xml: Suggestions by Robert Berger
Fixed a type and also qualified the ability of YP as a testing environment.

(From yocto-docs rev: e158615eba04709e05cccaf29238bde6c9843671)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:38 +01:00
Scott Rifenbark
2f1d30ad65 documentation/dev-manual/dev-manual-newbie.xml: Updates from Robert Berger
Added some clarification on the ability for testing.  The wording as
it was implied that the YP provided a complete testing framework,
which is not true.

(From yocto-docs rev: e40b39179c69b69f012f231009131b1efa7e732b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:38 +01:00
Scott Rifenbark
dab5ffcf46 documentation/adt-manual/adt-prepare.xml: Added note about sato
I discovered that in order to remotely deploy and debug an image from
Eclipse you have to have a Sato image.  I added text to the note about
getting or building the image specifying that requirement.

(From yocto-docs rev: 060de7f6082bc3dbfa0f7d4e25b2933f15a61fc0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:37 +01:00
Scott Rifenbark
a7d58b50b3 documentation/adt-manual/adt-eclipse.xml: Fixed ifconfig command.
(From yocto-docs rev: 01bae397bd62e01080748970c47dfaa441a405b0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:37 +01:00
Scott Rifenbark
0bd5bba8ab documentation/adt-manual: Rewrite for Indigo version of Eclipse.
These edits are extensive and cross into two files: adt-prepare.xml
and adt-eclipse.xml.  This is the first pass of a large re-write
to bring the examples up-to-date using the preferred version of
the Eclipse IDE (Indego 3.7).  Much has changed.

(From yocto-docs rev: 57c1f905c6d66268a498e013193d003596f2303d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:37 +01:00
Joshua Lock
826a53adf6 hob: correctly set the selected image when loading a recipe
When the user saves their recipe based on an existing image type, loads it
in a newly run hob instance and clicks bake they should not be asked about
building packages vs an empty image up.

Partially addresses [YOCTO #1468]

(Bitbake rev: f4be83aae77a713e2b5a2d094651639b6e641031)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:35 +01:00
Joshua Lock
684a7c655b hob: correctly handle an exception
It doesn't matter if we can't remove the temprorary file, for some reason,
so catch the exception and ignore it.

Partially addresses [YOCTO #1468]

(Bitbake rev: 4394e38b038e1bc9845adf01d73363157d98c96d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:35 +01:00
Joshua Lock
58570ec6a5 ui/crumbs/hobeventhandler: don't check BBPATH and BBFILES each build
There's no need to check the BBPATH and BBFILES are set correctly each
build when running multiple builds for one launch of the UI.

Partially addresses [YOCTO #1468]

(Bitbake rev: 39ed18e70e9f3a13b522b4ea02bf6f4bdb7de89c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:34 +01:00
Joshua Lock
3d09687196 ui/crumbs/hobeventhandler: fix test for BBFILES
It seems we have a race whereby the image_dir variable may not be set
before it's tested for, since the variable is always the same set it in the
initialiser.

Partially addresses [YOCTO #1468]

(Bitbake rev: 09f5aed2edb0b8f4a6570e1041b5db66cf2d17cc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 21:48:34 +01:00
Dexuan Cui
a1c62ae8f4 dpkg: fix pkg_postinst_dpkg, don't supply {bindir}/update-alternatives
[YOCTO #1070].

The pkg_postinst_dpkg seems buggy, e.g., for dpkg-native,
${IMAGE_ROOTFS}/${sysconfdir}/rcS.d doesn't exist.
I think OE's version(do_install_prepend) at
http://git.openembedded.org/cgit.cgi/openembedded/tree/recipes/dpkg/dpkg.inc
is correct, so let's change to OE's version.

And, bth dpkg and update-alternatives-cworth supply
/usr/bin/update-alternatives and this causes conflict. e.g., bug 1070.
We can resolve the issue by ask dpkg not to supply the binary.

(From OE-Core rev: c7af358ec427487ccc053316d2f68f6121b97181)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:11:10 +01:00
Dongxiao Xu
50e184e0d9 multilib: Remove recipe from multilib.conf that inherits allarch
Recipes like update-rc.d and qemu-config inherit "allarch", thus we
shouldn't add multilib BBCLASSEXTEND for them in multilib.conf.

Besides, we need to add multilib packages as the RPROVIDER contents for
those recipes, in order to avoid the NoProvider error when parsing.

[YOCTO #1471]

(From OE-Core rev: 329d864f9bbf94ad3aae8df43d63fe10e4237e4f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:08:13 +01:00
Dongxiao Xu
3117530f44 base.bbclass: do not expand PREFERRED_PROVIDER for kernel recipe
With Richard's commit f9c36392, we only build one kernel for a system,
thus we shouldn't extend PREFERRED_PROVIDER for virtual/kernel.

[YOCTO #1471]

(From OE-Core rev: 90ad70fe13a9f8409387ca70289998bdca649aeb)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:08:12 +01:00
Richard Purdie
aa203e4605 Revert "pango: use qemu to generate pango.modules during rootfs construction"
This reverts commit 62381fd3a135318794f14dc3740b04facd32446e.

This commit has issues with the rpm rootfs generation which need
resolving before it can be accepted.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:06:17 +01:00
Zhai Edwin
cba78fed34 opensp: Fix hard path in native nsgmls.
This relocation issues caused following bug and introduce one partial fix bb024d:
[YOCTO #1440]

But the environment val hacking is not working all the time, as nsgmsl may
append wrong path in some case. This fix use search directory "-D" as solution.
And more important, change the iputils' way to make doc: Use the sysid in
current directory instead of parent directory, as "../" is also appended to the
search directory then lead searching failure.

(From OE-Core rev: a5aeb873b943300e18493031ffa9e9f8ab56c2d2)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
CC: Saul Would <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:06:17 +01:00
Richard Purdie
20dbf00243 runqueue.py: Ensure fakeroot variables are reflected in the datastore
Without this, variables can be set to one thing in one part of the environment and something
different in another part. This change ensures the datastore and the environment
are consistent.

(Bitbake rev: 459addf13721a6847406f215650fa1882fb83ea9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 19:08:54 +01:00
Phil Blundell
acf62d33d0 shadow: add patch for useradd lossage
This fixes (or, at least, papers over) a failure in do_install for recipes which
inherit useradd.bbclass.  Rewinding optind in this way is not entirely portable
but in practice it seems to work on GNU-ish build hosts at least.

(From OE-Core rev: 8fce8180c802ad187c4df44c17207bfb026ce6c7)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:42:55 +01:00
Scott Garman
9c740e0425 runqemu: improve auto-detection of rootfs filenames
This refactors the way rootfs filenames are auto-detected when you
run the runqemu script without an explicit rootfs filename argument.
It allows the script to use rootfs files generated by hob, and when
there are mutliple rootfs files to choose from, it will pick the
most recently created one.

Fixes [YOCTO #1437].

(From OE-Core rev: 094453f443ed592d814dfb4182a0a02f0a2552e4)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:42:05 +01:00
Richard Purdie
c505815742 bitbake.conf: Default to explicitly setting the variable to disable pseudo
If we don't do this, sometimes pseudo can end up enabling itself when
it isn't required. Setting this value into the environment explicitly
ensures that does not happen.

(From OE-Core rev: 72252799e8c51a633a231a2cd1fe797b7faae713)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:27 +01:00
Richard Purdie
5a83e50250 runqemu-internal: Hide some harmless warning messages
If sudo is used in the pseudo environment, as done in image tests when
the user hasn't pre-setup the tap device, ensure the LD_PRELOAD error
message isn't seen by the user.

(From OE-Core rev: 86234ac514cbd33a0058f3b74f158daeda325c0d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:26 +01:00
Richard Purdie
32bb9c3184 imagetest-qemu/runqueue: Since we no longer support BUILDDIR, use TMPDIR
Commit 993672fa2739794a6dd0dbd7bb232fa60522b897 removed the BUILDDIR
support from runqueue which broke the imagetest-qemu integration. We now
therefore need to set TMPDIR and pass this through the environment to
ensure the runqueue script finds the right locations without running
bitbake directly.

This patch also adds a sleep to the qemu command in the error case so that
this remains on the screen for a period of time so the user can see errors
more easily.

This change unbreaks automated testing failures on the autobuilder.

(From OE-Core rev: de470333dbdeea444199340e4cd458c13fed6a5a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:26 +01:00
Saul Wold
b9386c6ec0 Revert "opensp: Fix sstate relocation issue"
This patch causes the linuxdoc-tools-native to fail, cause it's
overriding the SGML_CATALOG_FILES, need to find a better way to
set the CATALOG_FILE information for opensp / nsgmls

(From OE-Core rev: e9ecf5f22b5aa1f58b3104f7d058d04ab08e8839)

Signed-off-by: Saul Wold <sgw@linux.intel.com>

This reverts commit bb024d7a8c.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:26 +01:00
Richard Purdie
c6caa2e077 terminal.bbclass: Improve environment handling
Currently the environment handling for terminals is inconsistent. There
are two fixes here:

a) Ensure the environment is setup before all oe.terminal call

b) Actually set the environment before the spawn calls since we need
variables like DISPLAY when the commands are being executed, not just
within the terminal environment. If this doesn't happen, DISPLAY can end
up not set with the errors that brings with it when trying to run X
commands.

(From OE-Core rev: 6b680c8da02017bdb17a4826f1819fe0e5f68652)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:26 +01:00
Richard Purdie
fa071627ad runqueue: Ensure task environment is correct
This fixes two problems:

a) Variables which were in the parent environment but not set as "export"
   variables in the datastore could end up in the task environment

b) oe.environ.update() can't cope with the generator returned by
   bb.data.exported_vars()

Whilst the updated code isn't as neat, it does do the expected thing,
sets the environment correctly and stops unwanted values leaking into
the task environment.

(Bitbake rev: 67e5e23034c5ec2b9efcca935242830306c0048d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:39:25 +01:00
Saul Wold
98c2da694c python-native: add link for python2
Add link for python2 as some configuration tools search from a python2
and could find the host python instead of the python-native.

(From OE-Core rev: ae4db0bacb9d40489499f77905f26502f3bcaa19)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-08 09:56:32 +01:00
Paul Eggleton
95d3988846 base.bbclass: fix substring matching in COMMERCIAL_LICENSE
Previously, if for example you had a package called "mx", and a second
package called "libomxil" listed in COMMERCIAL_LICENSE (without mx being
listed there), it would match mx as being commercially licensed because
mx is a substring of libomxil. Fix the search to ensure it only matches
the listed package name exactly.

(From OE-Core rev: b23e51e6c961cf3f7e2aaf89648fecce78424c99)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-08 09:56:31 +01:00
Phil Blundell
52835dd301 avahi: only use gtk if DISTRO_FEATURES includes x11
Otherwise avahi isn't buildable for an x11-less DISTRO.

(From OE-Core rev: fa8dad209247b780590bc8476b5b16e6608d7907)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:44:29 +01:00
Phil Blundell
00b47701f4 useradd.bbclass: use correct value for $D in postinst functions
This corrects the location of the password file used during package installation.

See http://lists.linuxtogo.org/pipermail/openembedded-core/2011-September/009183.html and subsequent discussion.

(From OE-Core rev: 848bb277769af5b094031aeb54d287c158256724)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:44:29 +01:00
Eric Bénard
8712dfb3af resolvconf: switch to 1.59 as 1.58 was removed from debian ftp
(From OE-Core rev: 11b466546533c6c2ad1f24d61d02a5bf6c1329e1)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:43:20 +01:00
Richard Purdie
129c98c182 sstate: Avoid contention between sstate packages
If several sstate packages are decompressing at the same time, they can
conflict over the "fixmepath". If two packages try to write to this at
the same time it results in an error. To avoid this we remove the file
once we've finished processing it.

(From OE-Core rev: c08d7093bf654ffedb155c5627972e9ecfeb0b60)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:39:59 +01:00
Darren Hart
62892b2f68 beagleboard: document how to enable the hard floating point abi
Closes [YOCTO #1203]

Using the hard floating point abi is incompatible with some binary libaries and
3D support for the Beagleboard. While we do not provide these in poky and
meta-yocto, softfp should remain the default for compatibility reasons.

Provide documentation and a commented assignment to DEFAULT_TUNE instructing
how to enable hardfp, but leave it disabled by default.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Jason Kridner <jkridner@beagleboard.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:14:30 +01:00
Darren Hart
f50a17684d linux-yocto: remove emenlow from meta-yocto bbappend
The emenlow BSP is now contained in the meta-intel layer.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 23:13:35 +01:00
Saul Wold
e5e6e761d1 gettext: use included libxml and libcroco
[YOCTO #1400]

By using the included libxml and libcroco, we do not create additional
on this core library. There was an ordering issue that when one library
was not built, but gettext detected the other library a compliation would
fail, this will force it to always use the included libraries.

(From OE-Core rev: 0c12210f63f9705af98bcf5de8ccd715026bace3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:18 +01:00
Saul Wold
0efd5b3d11 gcc: add patch for ice 50099, which caused lttng-ust not to build
[YOCTO #1381]

This patch came from from GCC Bugzilla via Khem

Cc: Khem Raj <raj.khem@gmail.com>
(From OE-Core rev: 61dac2f6f68bc46d8f3f6f7a8757924f103c7c54)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:17 +01:00
Paul Eggleton
7283bb980b meta/recipes.txt: correct Qt capitalisation
"Qt" is correct according to the documentation.

(From OE-Core rev: 429be858090d1c40589cb269a70ed1515119ac1f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:17 +01:00
Paul Eggleton
ac0b2cbe45 sanity.bbclass: re-enable DISTRO check
If DISTRO has been specified, ensure it is valid. (Unset or empty string
is valid for DISTRO in OE-core by the use of defaultsetup.conf.)

(From OE-Core rev: 895aa6b8ee9636a9f9d716c62c0adf951e1ff138)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:17 +01:00
Paul Eggleton
0342cf81d5 core-image.bbclass: zap root password if debug-tweaks not enabled
If you do not have debug-tweaks in IMAGE_FEATURES, then zap the root
password so that you can't log in as root without a password in an image
potentially intended for a production system.

Also mention debug-tweaks in the comments listing IMAGE_FEATURES in this
file.

(From OE-Core rev: 5ddda44efc97b4d6cf863033348e57e5cfdcd392)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:17 +01:00
Dongxiao Xu
f0d490684b hal: Add virtual/kernel as hal's build dependency
hal may need some kernel headers, thus we need virtual/kernel as its
dependency.

(From OE-Core rev: b5db50e280e2547f5428440be5446c4ad267aeef)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:17 +01:00
Dongxiao Xu
9e48dd7411 multilib: Remove the multilib extension for linux-yocto
Kernel should be unique in a multilib system, so we remove the
linux-yocto's extension in multilib.conf

(From OE-Core rev: db78d1289705a38f0069f84101296e9309d67fa3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:16 +01:00
Dongxiao Xu
8d5c35bf99 multilib_global.bbclass: handle kernel-module-* for multilib
bitbake would report failed dependency of kernel-module-* when testing
multilib. kernel-module-* are recommended by some other recipes.

Do not extend name for kernel-module-* related packages.

[YOCTO #1456]

(From OE-Core rev: 30ac343888dc801614922045b374537c6c54f312)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:16 +01:00
Dongxiao Xu
84760050ab telepathy-python: avoid duplicated installation of errors.py
telepathy-python install fails on latest Fedora 16 due to the tighter
check of duplicated file installation.

Remove one errors.py entry in Makefile.am to fix this issue.

[YOCTO #1453]

(From OE-Core rev: d84fd7c1e90f080ea0c702cba9a9f81a2c465ee6)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:16 +01:00
Saul Wold
4669760ac1 cpan.bbclass: fix native perl issue
(From OE-Core rev: acfe8c657dd2496ae8669ce69def96a0b04d061c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:16 +01:00
Mark Hatle
939b9c80a6 prelink: Update to latest upstream version
[YOCTO #1374] - Fixes underlying issue
[YOCTO #1331] - Detects bad GNU_HASH tables

Update to the latest upstream version.  This includes a number of
generic fixes, as well as a complete refresh of the prelink-rtld.

(Prelink-rtld is similar to the ld.so/ldd functionality on a normal
system.)

The new prelink-rtld update syncs to eglibc-2.13 and enables new
symbol resolution, include GNU_UNIQUE, that was causing problems on
x86_64 and potentially other architectures with C++.

An assert has been added to also detect a bad GNU_HASH situation
which was detected on some PPC64 systems.  The underlying problem is
within the toolchain, however prelink was making it worse leaving the
problem undetected.

(From OE-Core rev: 4f401134694bbc1de532aaaab6c9a761649725a1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:15 +01:00
Richard Purdie
f048ccd677 glib-networking: Ensure certificates are consistently disabled
Currently configure is looking whether the build system has certificates
to determine the certificate paths. This is clear contamination so
this patch disables that functionality to ensure builds are consistent.

We could equally set this option to a consistent path if we start
installing certificates.

[YOCTO #1451]

(From OE-Core rev: 658887961dbb1eea17d9a1ceeef4fe38cb8c33ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:15 +01:00
Dexuan Cui
f6bebe501b package_deb.bbclass: put the stderr into log.do_xxx-attemptonly.xxx
Currently the stderr msgs go into log.do_rootfs and can cause a fatal failure
in "log_check rootfs".

However, the err msg could be spurious since we *only attempt* to install the
the packages, which may not exist actually. E.g., without this patch, we can
get a fatal ERROR due to
E: Couldn't find package task-core-tools-dev.

(From OE-Core rev: 5f00bda874ccaebdb00714b5cb5227462d43f8fb)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:15 +01:00
Dexuan Cui
921d73b405 populate_sdk_deb.bbclass: add the missing parameter - for tar
(From OE-Core rev: a47ceddd6eb91e7564e6e48ddbb5d490f3d2767d)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:15 +01:00
Denis Carikli
e691f43161 busybox: update to 1.8.5
(From OE-Core rev: 77571c4d224d5bcc6be944fe3d00309dafe1d512)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:14 +01:00
Zhai Edwin
93ca6d36a5 site/x86_64: Add entries to fix conf error on x86_64
Add entries for ashldi3, bswapsi2... to fix autoconf error of grub on x86_64

[YOCTO #1434] got fixed.

(From OE-Core rev: dba3c3de225f7f8008e638b65b8f31dd0ba91e21)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:14 +01:00
Zhai Edwin
44fd68da7c xserver-nodm-init: Change hidraw mode to allow normal user access
USB HID like touch screen could be presented as hidraw* device, this change
make user under rootless X can access them.

(From OE-Core rev: ddb54d4a467b51f5f8f305f532bd5ea64df92876)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:14 +01:00
Lianhao Lu
dc3a8274c7 initramfs-live-install: Be consistent with grub.
[YOCTO #1428]
Because the underlying grub 0.97 the initramfs-live-install RDEPDNEDS on
only supports 32bit x86 target, set the COMPATIBLE_HOST accordingly.

(From OE-Core rev: d128b4f2746ee8525352ce982a9c2a5e422630f2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:14 +01:00
Saul Wold
f85cb8f6e1 web: Update SRCREV to address ccs_parser_parse_stylesheet arg mismatch [YOCTO #1454]
(From OE-Core rev: 5e558237fc22baf1a638eb0e98eb08ff5e2870b4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:13 +01:00
Denis Carikli
8253571c52 mtd-utils: update to version to 1.4.6
mtd-utils 1.4.6 is the lastest release of mtd-utils
  at this time.

(From OE-Core rev: e43bec6c7dce3c6f9af5a0c5b7e5c6f740f89996)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:13 +01:00
Phil Blundell
b8b4a92625 pango: use qemu to generate pango.modules during rootfs construction
This allows pango to be installed in an image with read-only-rootfs.

(From OE-Core rev: 62381fd3a135318794f14dc3740b04facd32446e)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:13 +01:00
Bruce Ashfield
168b89a7cd linux-yocto: re-enable utrace
Upating the meta data and machine branch contents with the up
to date merge of utrace.

(From OE-Core rev: cb8efc0e1ec00892b46325aabfb1b4020a46c078)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 14:56:28 +01:00
Bruce Ashfield
244ebdc595 linux-yocto: re-enable systemtap
[
  Author: Tom Zanussi <tom.zanussi@intel.com>
  Date:   Fri Sep 2 23:45:12 2011 -0500

    meta: re-enable systemtap feature for linux-yocto

    Re-enable the 'systemtap feature' that turns on the kernel options required
    for systemtap, a system-wide tracing tool.

    (From OE-Core rev: fdaaddbf2a673c7030c3e15e2f65cb13af3db720)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 14:56:28 +01:00
Dmitry Eremin-Solenikov
dbff56238e icu-3.6: fix building with big make -j
icu-3.6 buildsystem contains small problem which causes some parallel
builds to fail. Fix that.

(From OE-Core rev: 41b7c955cfdc7b4d5c667c8a8742237d5edaca4f)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-06 16:37:02 +01:00
Dmitry Eremin-Solenikov
0126118729 qt-demo-init: fix init script
qt-demo-init initscript lacks some quotes, which makes it bave not fulle
correct. Fix that.

(From OE-Core rev: 84395cd31afd78a84d82a80297fe06f10406d57b)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-06 16:37:01 +01:00
Denis Carikli
4376a81af1 image_types: Fix ubi images creation
Without that commit ubinize.cfg lack a volume name value,
  and the related ubinize.cfg line looks like that:
    vol_name=
  which result in a broken ubi image,which after beeing flashed produce
  the following error:
    UBI error: vtbl_check: volume table check failed: record 0, error 11
  wich result in a kernel panic because the rootfs can't be mounted.

[RP: Moved from bitbake.conf to the .bbclass file]
(From OE-Core rev: 534dcaba0517ebfb6e48b6b436960a74e642a556)

Signed-off-by: Denis Carikli <denis@eukrea.com>
Acked-by: Anders Darander <anders@chargestorm.se>
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-06 16:37:01 +01:00
Joshua Lock
f8ba142505 scripts/hob: notify the user when the GUI won't launch immediately
If the wrapper script needs to build pseudo before we can launch hob we need
to notify the user so they aren't shocked by the action of launching a GUI
and seeing a bunch of text whiz by on the console.

Fixes [YOCTO #1435]

(From OE-Core rev: a160f4dd48b91c5e6f8c290c7572e29a39a3e693)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-06 16:37:01 +01:00
Joshua Lock
886440c535 scripts/hob: update to match recent hob changes
hob now uses both a pre and post file, update the wrapper script to generate
and use both of these.

Addresses [YOCTO #1281]

(From OE-Core rev: b68f90b765e7c8923033ee7ff7746f39a2e91ff7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-06 16:37:01 +01:00
Bruce Ashfield
314131e472 linux-yocto: clean configuration for v3.0.4
Fixes [YOCTO #940]

Since v3.0.4 is likely the last stable update in the the release
timeframe a configuration audit was performed. This updates the
SRCREV to remove obselete, and improperly defined configuration
items. With this, all qemu* BSPs configure with no warnings.

(From OE-Core rev: d19eaf7ca92c6632d42d12120800028f77ef21aa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:46 +01:00
Bruce Ashfield
b45e5a3ee2 linux-yocto: update to v3.0.4
The v3.0.4 stable kernel is available and it can now be merged
into linux-yocto. Build and boot tested on all qemu* machines.

(From OE-Core rev: 0f3750ee83b8fe012cced2e376ec780a6e7f189b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:46 +01:00
Bruce Ashfield
593b2e277b linux-yocto: generalize kernel config search pattern
After constructing a kernel configuration file it then needs
to be located in the tree so it can be audited against the
final .config. The previous string that was used for the search
pattern contains the kernel version. If the recipe space kernel
version and internal tree version are out of sync, this will
cause the constructed config to not be found. By removing the
version from the search string, we can still find out config and
gracefully adapt to minor version skew.

(From OE-Core rev: f072ddc43828ebe8df4dd7433726775dd547580b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:46 +01:00
Dmitry Eremin-Solenikov
654112e76c image_types.bbclass: use per-image dirs for extX.gz images generation
Currently image_types.bbclass uses deploy/images/${MACHINE}tpm.gz dir for
temporary files when generating extX.gz images. This can lead to races
and strange errors during image generation. To overcome this use
deploy/images/${MACHINE}tpm.gz-${PN} dir for temporary files.

(From OE-Core rev: 3016f8f13e86034cc1c5686fc01a3bf39eb33d79)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:46 +01:00
Scott Garman
fa45552688 runqemu: standardize ability to specify custom qemu/kenel boot options
The old manner of specifying custom options to QEMU in this script
using angle brackets was a frequent source of confusion. Meanwhile,
Otavio Salvador added a decent method of specifying custom kernel
boot options to this script. This patch documents the bootparams
option and adds a similar way of specifying custom QEMU options
using qemuparams="".

This fixes [YOCTO #1019]

(From OE-Core rev: 1038df14a96d789b3f9e9e1692305ba1fea67886)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:45 +01:00
Tom Zanussi
334a2ef94d task-core-tools: add systemtap to qemuarm
Systemtap now works with arm, so include it in task-core-tools-profile
for qemuarm.

(From OE-Core rev: 69a776eab96776ab33191cd6eeda4560e3f3f357)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:45 +01:00
Tom Zanussi
6ca3b3107d systemtap: upgrade to 1.6
Also enable for arm, since systemtap now works on arm and remove the
gcc-4.6 compile fix patch since the problems it addresses have been
fixed upstream.

(From OE-Core rev: 09fa8e139b0c06f961927ac192d644bebdf31abf)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:45 +01:00
Xiaofeng Yan
b6aa703748 qt4e-demo-image: Ensure a shell is present
"/bin/sh" is needed by qt4e-demo-image, So I add busybox for fixing this problem.

[YOCTO #999]

(From OE-Core rev: 5f06d5012bfa8b2bd83092e41ab29babdfd4605e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:45 +01:00
Paul Eggleton
726a9d299a git: fix sstate relocation for git-native
Create a wrapper for git to set GIT_EXEC_PATH and GIT_TEMPLATE_DIR so
that git-native is relocatable.

Fixes specific example given in [YOCTO #1137]

(From OE-Core rev: 9a3e25b5a3aa5e3b6ba543c4f789f66b240b38a7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:44 +01:00
Dmitry Eremin-Solenikov
a6994f8413 lib/bb/siggen.py: return a string from noop get_taskhash
OpenEmbedded is expecting to get a string from get_taskhash, but noop siggen
returns just 0 (number), so OE classes/sstate.bbclass barfs badly. Fix that.

(Bitbake rev: 24272dae15ccf641ece11ef5a6e2bfa3ebb6f5f9)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:43 +01:00
Paul Eggleton
a9325ecad8 hob: fix segfault on second build
Some internal lists were not being cleared, resulting in incorrect
program flow on the second build, causing a structure to be accessed
incorrectly which resulted in a segfault.

Fixes [YOCTO #1332]

(Bitbake rev: 71ac7fda51ed80e9ef6d1a3bca653683893e4770)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:43 +01:00
Paul Eggleton
88852a522d hob: clear out temporary file list after deleting
If you don't clear out files_to_clean after the files get deleted and
then you run a second build, it will try to delete the files from the
first build and you will get a "No such file or directory" error.

(Bitbake rev: 069d85cde01d14f8da31ad5cbd843a4d99628d42)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:43 +01:00
Joshua Lock
09d78741ea hob: disable removal of packages
It's felt that the stability of package deselection is not sufficient for
the upcoming release and thus package removal should be disabled.

I'd actually like to see this patch, or its effects, reverted as soon as
the release bits have been frozen so that this issue can continue to be
worked on.

(Bitbake rev: 73b6ff4654d10baae59d83e8568d58d989e99dd7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:42 +01:00
Joshua Lock
38653d64d2 ui/crumbs/runningbuild: mask run_buildstats failure
The buildstats handler causes an exception with: "'NoneType' object has no
attribute 'startswith'" early a build via hob, leaving a glaring red row
which means nothing to the user.
Mask this error until such a time as we have opportunity to correctly
diagnose and fix the root problem.

Workaround fix for [YOCTO #1433]

(Bitbake rev: b0cce5b52a20c0dad5ec0c4053f437cae89b6137)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:42 +01:00
Joshua Lock
c0cb486a39 ui/crumbs/hobprefs: disable 'build toolchain with headers'
The generic meta-toolchain-sdk we are currently building when this option
is enabled is likely unsuitable for the majority of images built with hob.
Remove this option from the Preferences UI until such a time as we can
correctly implement this feature to include the library headers for the
selected packages.

Addresses [YOCTO #1302]

(Bitbake rev: 3157967d08266b8d1ac563ba609ac3027b60d040)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:42 +01:00
Joshua Lock
9a67398791 hob: add a test to ensure hob is run with the required pre and post files
hob requires pre and post configuration files to store configuration values
in, whilst this should (and will) be fixed long-term for so long as we
require these files we should alert the user should they run without them.

Fixes [YOCTO #1383]

(Bitbake rev: bb3e9113074ea1254aa03a247a1a1070682df9c8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:41 +01:00
Joshua Lock
7d3d3e9000 hob: reflect defaultsetup being default distro
If no value is set for DISTRO the defaultsetup policy is used, reflect this
in the UI by having defaultsetup selected in the Distribution combo when no
other DISTRO is set.

(Bitbake rev: 126267c545ede65042959d134ea75c0345577747)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:41 +01:00
Joshua Lock
cffbab5c06 hob: use both pre and post files for hob configuration
We need to set various variables *before* parse begins, the simplest way
to ensure this is to use a pre configuration file for the relevant
configuration entries.

This series adapts hob to use both pre and post files to store its
configuration. Any variables which affect initial parse are set in the pre
file and all others in the post file.

Unfortunately this requires hob related code to have even more hard-coded
data as to what is relevant but this is the simplest way to solve issues
with variables and parse order at this time.

Addresses [YOCTO #1281]

(Bitbake rev: 02ab0e11d8dd42f5ca440b3d8d2073e23f55113a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:41 +01:00
Bruce Ashfield
ba91445de5 linux-yocto/meta-yocto: update SRCREV for v3.0.4
Updating the kernel SRCREVs to pickup the latest meta and BSP
changes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 20:25:32 +01:00
Saul Wold
bb024d7a8c opensp: Fix sstate relocation issue
[YOCTO #1440]

This fixes a problem where the native nsgmls has a path hard coded into
it, therefor add a wrapper to set the environment with the correct
paths for catalog files.

(From OE-Core rev: ce236234831ebc05ffdf1e0a368692ac2818a388)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 17:59:51 +01:00
Saul Wold
75ff724be4 groff: Fix sstate relocation issue
[YOCTO #1439]

This fixes a problem where the native groff has a path hard coded into
it, therefor add a wrapper to set the command line with the correct
paths for fonts and tmac directories.

(From OE-Core rev: 9106e2922ba5972e3b87436372a12c2e04e9eb65)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-05 17:59:51 +01:00
Scott Rifenbark
99cb233e0c YOCTO #1088: documentation - Added text to partially address package bug
This bug was filed by Gary Thomas and was requesting more information
on the "hows" and "whys" of setting up your own package repositories.
At this point, I have added information to help the user understand
build performance issues when choosing between the RPM and IPKG packaging
systems.  Likely, there is more that needs to be added to fully address
this bug.

For now, I added explanations in the packaging class and glossary areas
of the YP reference manual, a new paragraph in the YP QS just prior to
firing off a build, and a new bit of information in the configuring
PMS in the ADT Manual.

(From yocto-docs rev: d0025f862cb85ca741787b4737dca286e3ebfb45)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:52 +01:00
Scott Rifenbark
ce0456d95d documentation/adt-manual/adt-prepare.xml: Updates to variable and other edits
Updated the variable name of the adt_installer.conf file that points to
the IPKG repo.  This changed for 1.1.  Also made some small edits.

(From yocto-docs rev: 893b8b2f4bed8d4fce9a876e2184b3f5b9b004c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:52 +01:00
Scott Rifenbark
e48d5008ad documentation/adt-manual/adt-prepare.xml: added reference to dev manual.
I added a link to the getting setup section of the YP dev manual for
help on setting up the YP files.

(From yocto-docs rev: 13832465de69bc41ddcc5e5696e707be8a3b6c5a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:51 +01:00
Scott Rifenbark
04ca8b2862 YOCTO #1419: General edits and fix for oprofile-server rev requirements.
I performed general edits to this chapter as well as addressed the two
items for the YOCTO #1419, which was re-opened.  These included
specifying oprofile version 0.9.4 required and the note that
oprofile-server is only installed by default in the core-image-sato-sdk
image.

(From yocto-docs rev: fdca6458d9cd431052126d31f6eb4396c3327982)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:51 +01:00
Scott Rifenbark
77d1ba446c documentation/adt-manual: General edits.
I made a pass through the manual and made some general formatting changes,
updated some links in anticipation for the 1.1 release.

(From yocto-docs rev: f2d3a012fbe4e8db3cf07e5497acfdf732e55d97)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:51 +01:00
Scott Rifenbark
b214cdc7e8 documentation/bsp-guide/bsp.xml: Edits for Crownbay example in kernel recipes
Because the Crownbay uses both EMGD and non-EMGD statments in the
linux-yocto_3.0.bbappend file I had to do some explaining.  It turns out
you don't really need to just delete or comment out the non-applicable
statements.

I also adjusted some wording around the tuning file example.  This file
I assumed was in the conf directory of the meta-crownbay directory.
It is really in the meta/conf/machine/include directory.

(From yocto-docs rev: 3f82656f7ffb392333f8cf59abf1414af5da512b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:51 +01:00
Scott Rifenbark
4884e38a6c documentation/dev-manual/dev-manual-bsp-appendix.xml: Fixed BBFILES_COLLECTIONS.
Jim Abernathy ran into an error in the BSP example.  The error had the
BBFILES_COLLECTIONS_mymachine in it (incorrect).  It needs to be
BBFILES_COLLECTIONS.

(From yocto-docs rev: 267a385aa5ab0eb46cf583db418cbbcab1e8b89b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:50 +01:00
Scott Rifenbark
31acde62ad documentation/poky-ref-manual/usingpoky.xml: Edits per Darren Hart
Darren provided me with some feedback on the logging mechanism
section for both Python and Bash.

(From yocto-docs rev: 7dddadf8caba01d3ef1046be52a1435eeaed60a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:50 +01:00
Scott Rifenbark
0d6dc5c2c0 documentation/dev-manual/dev-manual-kernel-appendix.xml: moved statement
Dave Stewart said that good coding practice is to set the variables
before any print statements.  So I moved one statement above the
example printk statements.

(From yocto-docs rev: bad0537a5a6472fb3fef06de9763990a0c352e25)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:50 +01:00
Scott Rifenbark
97768b81c1 documentation/dev-manual/dev-manual-model.xml: minor edits
Feedback per Dave Stewart added to clarify which two important
configuration files need editing.

(From yocto-docs rev: f37ade7f0d31ae6284c3bfee184c88b523f5fe69)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:49 +01:00
Scott Rifenbark
8a4282d9fa documentation/Makefile: Updated the dev-manual to include three new pics.
(From yocto-docs rev: 6bd75cf91bb0a55d1c706d9249e12a24f24b30c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:49 +01:00
Scott Rifenbark
f3cb36b751 documentation/dev-manual/figures: Three figures for kernel added.
these are new figures to support the "Modifying the Kernel" conceptual
section.

(From yocto-docs rev: 1a0ecc104479b54a8122e3de2b30694fac8d7e73)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:49 +01:00
Scott Rifenbark
837a46434f documentation/dev-manual/dev-manual-model.xml: Edits to Modifying Kernel
Complete re-write of this section based on feedback from Dave Stewart.
Dave's comments centered around not being able to understand the overall
concepts of the Git repositories, the source areas on the host, etc.
I have added several illustrations and written around them to try and
better explain the kernel storage system in Git used by YP and how
that tranlates into host-resident code that the developer ultimately
uses and the Poky build system uses for the build.

(From yocto-docs rev: 4e37f68f77261f6519426fb81ba407c456f8d1a1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:49 +01:00
Scott Rifenbark
5da4d3eb2b YOCTO #1426: documentation/yocto-project-qs/yocto-project-qs.xml: added xterm.
Added 'xterm' as a required package to both Debian-based and RPM-based
hosts.

(From yocto-docs rev: 0a933001bd8c546a5d4960842c5e897061d09369)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:48 +01:00
Richard Purdie
f7cb20c84b populate_sdk: We need to ensure that the SDK sysroot reflects PACKAGE_ARCH
If we don't do this, the SDK target sysroot is named generically even
when it contains package architecture specific optimisations.

(From OE-Core rev: 0616557a8c29b42bae0ffd5fd665a046810047e4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 23:38:08 +01:00
Paul Eggleton
de5d52711b sanity.bbclass: fix splitting on newlines of SANITY_TESTED_DISTROS
This variable should be split with \n sequences and these need to be
specified literally in the string. A corrected version of the example
given in the original commit (OE-core rev
75e3875341ddc8940e9ee2ccbbb2ec18194a68e6):

SANITY_TESTED_DISTROS = " \
        Ubuntu 11.04 \n \
        Fedora release 14 (Laughlin) \n \
        "

(From OE-Core rev: cfc72d5796b6f83a01e06f3a1f044869db2d5d18)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:36:20 +01:00
Phil Blundell
050e43a57f useradd.bbclass: remove hardcoded reference to /usr/bin
Otherwise the class doesn't work if ${bindir} is set to a different value;
likewise for /var vs ${localstatedir}.

(From OE-Core rev: 21371df16917cd82642b39763793783d61ee5516)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:36:20 +01:00
Richard Purdie
c04ae9bf71 gcc: Fix multilib baselib confusion
Commit 35fa8dc5f7 changed the gcc recipes to use
baselib for the compiler location. This is fine as long as baselib happens to
match the platform multilib definition which is enabled at the time.

This patch fixes things so that gcc will honour whatever ${base_libdir} is
set to re-allowing suitable customisation of the system layout.

[YOCTO #1362]

(From OE-Core rev: bc5f293b151b9ba0d6660814d88ee5041efce318)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:25:11 +01:00
Richard Purdie
f9c3639238 multilib: Only build one kernel
For a given system we only want one kernel to be built. This change makes
the main kernel recipe provide all of the provides of the various enabled
multilibs hence allowing it to fulfil all the appropriate dependencies.

To make this work a global multilib class file needed to be created.

This patch also enables this multi provider functionality for "allarch"
packages.

[YOCTO #1361]

(From OE-Core rev: 2fd257f6c610624f05c8dd3fe1486364af04696f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:25:11 +01:00
Dongxiao Xu
accab54cd5 multilib: extend multilib prefix for libsdl
libsdl is required by sato image, so extend it for multilib.

(From OE-Core rev: 88abab9ba9632e87f3a081915a69cbc5c36b4d3c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Dongxiao Xu
6ebcc6c199 multilib: Using different sysroot for multilib recipes
Thinking of the senario that, if we already built out a 64bit image
along with the full toolchain bootstrapped, then we need to build some
32bit libraries, which needs lib32 versions of gcc and eglibc. These
toolchain recipes will bootstrap again in the same sysroot, resulting
that lib32-gcc-cross-initial will find some macros owned by eglibc have
already been defined and thus it includes non-existed headers that
provided by later lib32-eglibc.

The solution for the above issue is to use different sysroot for
multilib recipes, here we add ${MLPREFIX} in front of the machine
specific sysroot directory name.

[YOCTO #1372]

(From OE-Core rev: a1508ad1aec2d2f9ee040aa217c33193cd5bd871)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Dongxiao Xu
7046e28afc rootfs_rpm: setting DEFAULTTUNE for multilib archs
To get the MULTILIB_PACKAGE_ARCHS, we need to get the corresponding
DEFAULTTUNE value. This fixes the multilib arch directory missing issue
in solvedb-ml_archs.conf.

(From OE-Core rev: 54306ff373e13696637b547fa1514e0ef8633248)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Dongxiao Xu
37285ab358 hal: Remove build time dependency of virtual/kernel
hal has runtime dependency on kernel, but not build time. Remove it from
"DEPENDS" list.

Also fix a wrong PACKAGE_ARCH setting when building multilib lib32-hal,
because ":=" will be extended immediately which is not the right value.
Using TUNE_PKGARCH instead.

(From OE-Core rev: 74646a2b2d7d452dfe95b08940389a686e8addcb)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Koen Kooi
9ba02cca0e dropbear: add missing files
(From OE-Core rev: 4bc94f1896aad7f540ac520cd69edf3e96029319)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:30 +01:00
Saul Wold
380f38cfdf tzcode: Update to 2011i
(From OE-Core rev: 2c0c78fc777a7dbe098f2518ecbaf24d03227f5d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:30 +01:00
Saul Wold
c4fbcc5d62 sato recipes: Update PR because of libowl conversion to git
(From OE-Core rev: 8216888c1caba6d469a5443ba74fce0f1392792e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:30 +01:00
Saul Wold
99666e772d o-hand recipes: convert from svn.o-hand.org to git.yoctoproject.org
(From OE-Core rev: 4e7218c19775ef81caed27742e9d203af10b7416)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:29 +01:00
Joshua Lock
06a89cb47d util-linux: fix packaging of readprofile
We rename readprofile to readprofile.util-linux so we need to use that binary
name in the FILES entry for the readprofile package.

(From OE-Core rev: 55168655ec95e8eff70f90a462ed0a8d87d8d87f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:28 +01:00
Richard Purdie
c9c76ef2cf bitbake/event: Allow event handlers to quietly raise SkipPackage events
(Bitbake rev: 2a7c92bdadf9a86d9ea2ea0c128108e38e0e97e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:27 +01:00
Holger Hans Peter Freyther
4baae7875d fetch2/git: Allow to specify the name of the checkout directory
(Bitbake rev: 639db8c766cada7180f9447f51303f9b30d7e817)

Signed-off-by: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:27 +01:00
Richard Purdie
d1a84c9f3d scripts: Show sensible warning messages if expected binaries don't exist
[YOCTO #1438]

(From OE-Core rev: 6b5706d1f9ce7a3fd4d8f819ff8f3fd789665647)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 14:21:30 +01:00
Richard Purdie
c0df2ab7eb scripts: Don't show errors from which ifconfig failing
(From OE-Core rev: 06625096f897235ed85f0d9a1355497f92938454)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 14:21:29 +01:00
Joshua Lock
705ec50edd poky.conf: perform network sanity check by default for poky distros
Add CONNECTIVITY_CHECK_URIS to run the network connectivity sanity test for
http, https and git sources.

The variable is soft-assigned so that it's easily overrideable.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 20:34:53 +01:00
Jessica Zhang
c1c52a88fb Fix powerpc term and provide more template for different arches
(From OE-Core rev: bf9e9961ec4e7b2d10f25b550b902df62b3939b1)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 20:10:23 +01:00
Jessica Zhang
ec28538315 Revert "Fix adt-installer for consistent naming for powerpc and add all arch template for installation"
This reverts commit ae4ad20edb.

(From OE-Core rev: 13d713dccd7fedb5a223f1292227e177d7a44164)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 20:10:22 +01:00
Phil Blundell
57aa993684 libcap: only enable pam if DISTRO_FEATURES requests it
(From OE-Core rev: 9864b0a8253922e044f61506a4a8e9064aac2bd7)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:59:59 +01:00
Zhai Edwin
7a27253f56 shadow: Fix rpm failed dependencies when install
There are some links become invalid after rename, so that failed dependencies
detected when install rpm package. This commit update links to resolve it.

[YOCTO #1158] got fixed.

(From OE-Core rev: 48ec20d1331eb665d9fc1a06bdb1ea79e4513159)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:59:59 +01:00
Xiaofeng Yan
c9f5a4f930 dropbear: Change the path to find configuration file and add a configuration file for dropbear
dropbear will check "/etc/pam.d/sshd" which comes from package "openssh" \
When enabling pam supporting. But if we only install dropbear \
package without package "openssh", then "dropbear" will not \
find a configuration file.
The changes are as follow for fixing this bug:

- Change the path to find configuration file (/etc/pam.d/sshd --> /etc/pam.d/dropbear)
- Add a configuration file "/etc/pam.d/dropbear"

(From OE-Core rev: 48dcb8fc7b669b27160dde33079f40551853702b)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:59:59 +01:00
Xiaofeng Yan
d5edc9c1a0 qt-demo-init: Fix bug 999
[YOCTO #999]
qt4e-demo-image needs qt-demo-init when starting qtdemoE.
qt-demo-init was pulled from Openembeded.

(From OE-Core rev: e21e8b502ab2f982836cf1f7a30e33bff1bd5b7b)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:59:58 +01:00
Dongxiao Xu
e2ff50830b connman-gnome: Fix WiFi security display issue
Latest connman-0.75 change the WiFi security type, causing the
incompatibility of connman-gnome. Fix connman-gnome accordingly to show
the correct security informtion.

[YOCTO #1343]

(From OE-Core rev: 38589c37923ecfe34f1dbd5f12d89d55dfb11e2a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:45:27 +01:00
Richard Purdie
c9767ea7ee gdb: Further S vs. PV fixups
(From OE-Core rev: 5c9ae426a058908be2e43d249c284e122b8a5444)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:45:27 +01:00
Richard Purdie
8294f427d0 xserver-nodm: Disable dbus-wait as it causes users too much confusion
In the event the xserver fails to start the dbus-wait has to time out and
this causes many users a lot of confusion. If we wish to reinstate this,
we need to find a safer mechanism to do it where X failing to start cancels
the timeout (sends a dbus event at that point?) The comments are left in the
file as an example in case some user does wish to enable is.

(From OE-Core rev: 0471b17b061e57231387ef90c95fc0c34fc0e66b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:31 +01:00
Richard Purdie
a8d5225c3c sanity.bbclass: Clean up various MACHINE checks
[YOCTO #1398]

Firstly we should start checking if MACHINE is set. It if isn't lets
make this a sanity warning since its very hard to successfully build
without setting one (and anyone wanting to do that can disable the
sanity checks easily enough anyway).

Some of the checks depend on a MACHINE being specified. This change
moves those checks to a separate function so they only run if MACHINE
has been set correctly.

Both these issues combine to ensure the user sees a sane message
and avoids the nasty tracebacks in the bug report referenced above.

(From OE-Core rev: 02aceca132f9e259cdc5283c4bfe84e6a55df54d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:31 +01:00
Richard Purdie
0c78dbc607 sanity.bbclass: Fix broken whitespace
(From OE-Core rev: ab44ec9618109b0852d9441b6dd065c72c86acb2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:31 +01:00
Richard Purdie
8c1c37a149 sanity.bbclass: Fix broken indentation leading to code being skipped unintentionally
(From OE-Core rev: 5200d38222c3188e695080b45b975daa20c8a9fa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:30 +01:00
Richard Purdie
c7869b4d4c package.bbclass: Ensure task's variable dependencies are correctly caputred in the sstate checksum
[YOCTO #1388]

This change is needed to correctly add the dependencies for the do_package
task which bitbake is unable to automatically detect itself.

(From OE-Core rev: 0614b9aa62a46f81d334ca4230080cc707347f3c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:30 +01:00
Richard Purdie
9958a579e7 bitbake/fetch2/git: Ensure .gitconfig file is ignored
If a user has a ~/.gitconfig file, git fetch --all will reference it. To avoid
this we should run git fetch with an explicit url telling it to fetch all
references (which includes tags).

I'm assured this means git won't reference the file, see the discussion on the
git mailing list (subject Overriding ~/.gitconfig using GIT_CONFIG).

[YOCTO #1134]

(Bitbake rev: 8540c09d4e509e3277940464c71174d8a0aca6ab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:28 +01:00
Richard Purdie
64327ba9ea bitbake: Correctly handle multiline comments including whitespace
If metadata contains:

"""

FOO = "bar"
"""

The variable FOO should get set to "bar" but doesn't due to the empty lines
be swallowed by the parser and FOO becomming part of the multiline comment.
This patch corrects that behaviour so FOO is set as expected.

[YOCTO #1377]

This patch fixes parsing of multiline comments so lines ending with \
behave consistently and we warn users where there is something happening
they likely don't expect.

(Bitbake rev: 30eaef7f50fff855cf8830772a7088dd83a4240e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 19:38:22 +01:00
Richard Purdie
8a78ed689d intltool: Fix perl paths
Currently in the native case we have a path that can easily exceed the
interpretor limit so use "env nativeperl" in that case.

This patch also fixes up the target version's interpretor path but
to do this we need to bypass the configure checks.

(From OE-Core rev: b9fa8fd4f09b68cbcc12b557451a58a1f218d7f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 18:06:57 +01:00
Phil Blundell
9df33286b0 libc-package: restore correct mangling behavior for locale names
This reverts 19fb07bf337e1d724798e2eb4479c35fc45b1941 and restores
the behaviour of the code to the way it was prior to 561d875404.

See http://lists.linuxtogo.org/pipermail/openembedded-core/2011-August/007407.html and subsequent messages.

(From OE-Core rev: e5810439cc394d8ebfc264b05e1fbfad19e8fcd3)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 18:06:57 +01:00
Richard Purdie
ac47c1b30d gdb: Fix broken source directory
(From OE-Core rev: 3f4017e36410a6435f50183e76b9adb1db1f4126)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-31 00:49:36 +01:00
Xiaofeng Yan
b3922cad79 eglibc-locale.inc: Add eglibc-binaries, eglibc-localedatas, eglibc-gconvs and eglibc-charmps to variable PACKAGE
There are no locales resources in an lsb image because the locale resources were splitted from eglibc-package.inc \
and putted into a new file "eglibc-locale.inc". So the above variables lost their function in eglibc-package.inc and
caused no locale resources in an lsb image. The purpose of moving the above variables from eglibc-package.inc to \
eglibc-locale.inc is to make the above variables to take effect.

eglibc-binaries include packages "eglibc-binary-*"
eglibc-localedatas include packages "eglibc-localedata-*"
eglibc-gconvs include packages "eglibc-gconv-*"
eglibc-charmaps include packages "eglibc-charmap-*"

(From OE-Core rev: 0903a2c62a58f94b7d424162e8c852b502d3840a)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:27:58 +01:00
Sebastian Krzyszkowiak
de4f814bb0 gdb: upgrade from 7.3 to 7.3a
* because 7.3 archive is not fetchable anymore

(From OE-Core rev: c27690a04acf3870f6e0133cd05ba93d6c66126e)

Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:57 +01:00
Sebastian Krzyszkowiak
197595632b libidn_1.22: add SRC_URI checksums
(From OE-Core rev: 9f4a66bffa03142f30bb91352c0219ab010316f0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:57 +01:00
Chris Larson
a6b35d9613 image.bbclass: use ${TARGET_PREFIX}depmod
Currently it uses ${TARGET_SYS}-. This is inconsistent, as the recipe
and kernel bbclass both use the prefix. While there aren't many cases
where the two differ, it is harmless to ensure that we are behaving
consistently.

(From OE-Core rev: 8aec52f4fd1ad3e4148e2ad32700a4378e69dcd3)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:56 +01:00
Chris Larson
d08f3f4856 image_types_uboot: fix a number of issues
- Don't use a variable reference in the IMAGE_DEPENDS
- Inherit kernel-arch to get UBOOT_ARCH
- Don't include the .bz2 variants, since the base types aren't in
  oe-core
- Add the new types to IMAGE_TYPES
- Inherit image_types, to be certain we load after it

(From OE-Core rev: f67789b83599b86be052b3f2d686791cbf24f540)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:56 +01:00
Chris Larson
d15df2e6f7 image_types: add ext4 types from OE
(From OE-Core rev: c407d31a42786230062f21c8cf8dc8700dbc6f54)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:12:56 +01:00
Paul Eggleton
ea711865bd distro_tracking_fields: update binutils to 2.21.1a
(From OE-Core rev: fbd404a3dc57aa14f4e8ba0d594d00f024a3516b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:04:26 +01:00
Paul Eggleton
38f03e27ef tcmode-default: update binutils version
binutils is now at version 2.21.1a.

(From OE-Core rev: 92808484b1dfa55afa1af3a365898aab6d45f746)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 22:04:25 +01:00
Joshua Lock
e853d0a378 ui/crumbs/tasklistmodel: don't add empty entries to COL_BINB
(Bitbake rev: 85c5b8b3b9c805883537900a46eddb2301ee93f9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:15 +01:00
Joshua Lock
ea33ddc6a4 ui/crumbs/tasklistmodel: loop optimisation in include_item()
Rather than trying to iterate the model to find whether the item is already
included and then iterate the model again to find the items path attempt to
find the path first and if the path is found test whether the COL_INC of
the row is set.

(Bitbake rev: 82845569c37591f6b097b9db071484f8171a39ea)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:15 +01:00
Joshua Lock
ed15be3313 ui/crumbs/tasklistmodel: remove unnecessary check
Cheaper to set COL_INC to True regardless of whether it's already set.

(Bitbake rev: 12c6f98ba7a68baeeaee00594d910e1be8d55d87)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:14 +01:00
Joshua Lock
bfdc8a295b ui/crumbs/tasklistmodel: optimise find_path_for_item()
Rather than calling get_path() for each iterated value use the get_value()
method to lookup the COL_NAME value and only call get_path() for a match.

This should save some time by potentially removing N-1 calls to get_path()
from the loop.

(Bitbake rev: d2450536269996147a22d6eafbdf72aa62afa4f6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:14 +01:00
Joshua Lock
9a047762cf ui/crumbs/tasklistmodel: prevent packages depending on each other
Don't add y to x's COL_BINB if x is in y's COL_BINB - prevent circular
dependencies.

Further this patch improves the variable naming to make this code easier to
follow.

Fixes [YOCTO #1423]

(Bitbake rev: 01ef2ab0d201f3cb3666462558c9cf485592e04f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:14 +01:00
Joshua Lock
e2a3f28330 ui/crumbs/tasklistmodel: don't add same item to binb column more than once
In the same vein as a similar, earlier, patch where I missed the second
loop which modifies the binb column.

Fixes [YOCTO #1420]

(Bitbake rev: 6ad1103b5fd592afa9ea03ef5a0d706604cc0e0f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 21:57:13 +01:00
Scott Rifenbark
76b228c602 YOCTO #1419: documentation/adt-manual/adt-eclipse.xml - re-word
YOCTO #1419:  I have re-worded the informational bullet on the OProfile
tool to indicate that you must have version 0.9.4 or greater of the
oprofile-viewer in order to have usable data on the host.

(From yocto-docs rev: 44fabbf8015b9bb624a5d70336a4440bd73c2c34)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:40 +01:00
Scott Rifenbark
ca975f5fba documentation/bsp-guide/bsp.xml: Removed directory class
(From yocto-docs rev: d0fde36b445dc674888cb521347fcff8cd670436)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:39 +01:00
Scott Rifenbark
748afbad90 documentation/bsp-guide/bsp.xml: Scrubbed Crownbay items.
The file used a lot of crown bay stuff that had gone old.
I have updated the sections and used the latest Crown Bay
files.

(From yocto-docs rev: 67b119d66bacd0870f18a124bacabf32d65b6f3b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:39 +01:00
Scott Rifenbark
fdbc652b08 documentation/poky-ref-manual: Removed "spitz" machine example.
This machine is out of date.  I replaced both occurences with
"qemux86", which is more relevant to YP.

(From yocto-docs rev: 8fe6feccc25f594a444b5177d1192899b3cbdd9c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:39 +01:00
Scott Rifenbark
4a39412086 documentation/poky-ref-manual/ref-features.xml: typos fixed.
(From yocto-docs rev: b2c9750abec8429d665996231ddd16359e168c47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:38 +01:00
Scott Rifenbark
2b3563fca8 documentation/Makefile: Updated comments for usage per Robert P. J. Day
Robert Day correctly pointed out that the usage comments in the Makefile
were not exactly accurate.  The VER argument is necessary only if you
are going to publish a document to the YP website.  I updated the usage
comments accordingly.

(From yocto-docs rev: dd033227af0f88e45b539b92be8f1321fcd4f975)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:38 +01:00
Scott Rifenbark
d67201e600 documentation/poky-ref-manual/usingpoky.xml: Updated logging mechanism
Per Darren's feedback on this new section I updated changes based
on his comments.

(From yocto-docs rev: a5bbba42ec0da5b2f83f7a64ac8eef466e9c89b3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:37 +01:00
Scott Rifenbark
ba3069c9c6 YOCTO #910 - documentation/poky-ref-manual/extendpoky.xml: point to dev manual.
There is a section in the YP ref manual that gives reference type information
on adding a machine.  This type of information is detailed well in the
BSP example appendix in the development manual.  I don't want to completely
eliminate the information in the YP ref manual as is suggested by the
910 bug.  I think referencing it in the dev manual for now works.

(From yocto-docs rev: e55dd8228d1376c9df01e320163862ddf35a5156)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:37 +01:00
Scott Rifenbark
c3e83278c6 documentation/dev-manual/dev-manual-newbie.xml: added more to contributing
The section on how to contribute changes to the YP resides in this
development guide.  I took additional information from the YP reference
manual and merged it into the section here.

(From yocto-docs rev: 945dd29417cf51044332114e499b08fe24ef3077)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:37 +01:00
Scott Rifenbark
79bd1a1518 documentation/dev-manual/dev-manual-intro.xml: Added other information from ref
The YP reference manual had an appendix that included reference or
resource information such as mailing lists, bugzilla link, and
IRC chat stuff.  This type of information is best suited for the
introductory area of the development manual.

(From yocto-docs rev: a5576ed0d3360cdb32070ade6577cb7687923b10)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:36 +01:00
Scott Rifenbark
ffbed4c03a documentation/poky-ref-manual/resources.xml: re-write for today's world.
This chapter was quite old as it had not been touched since the original
Poky Handbook days.  I re-wrote the sub-sections with today in mind.

(From yocto-docs rev: e59bede734a8fe3e9b41698e2b42ba487ec80595)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:36 +01:00
Scott Rifenbark
dd92838748 documentation/poky-ref-manual/faq.xml: Scrubbed for term Poky.
In general, the term Poky can be replaced by "the Yocto Project."
The term Poky can be used as a term for the Yocto Project build system.
I left it in place for a few areas where it was easy and would not
be confusing.

I also performed general rewrites for the FAQ.

(From yocto-docs rev: bb24bcf21311c68576fb8c3fec86ad8303f557f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:36 +01:00
Scott Rifenbark
0e87c3e01e documentation/poky-ref-manual/extendpoky.xml: Changed targe link title.
(From yocto-docs rev: c8d5570ba9f6180bba3c2b618d0b401c0fdb86ce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-30 17:27:35 +01:00
Dongxiao Xu
dfce2695b9 data_smart.py: make use of expand cache in getVar()
Currently if passing expand=True to getVar() function, it will pass the
handling to getVarFlag(), which doesn't get any benefit from the expand
cache.

Call the expand() function separately in getVar() to make use of the
expand cache, which can decrease the parsing time by 40%.
(from current 49s to 27s)

(Bitbake rev: 6555a77c199f41bf35460138764e03e30c56d29f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 14:13:34 +01:00
Paul Eggleton
5d75eb2739 binutils: update to 2.21.1a
2.21.1 has disappeared upstream. There is no ChangeLog information for
2.21.1a, however diff reports only the addition of some cpu/opc files in
cgen/ subdirectory; the source code is otherwise identical.

(From OE-Core rev: 4ecf379aba11983b66be4fbe26e65aa28740ddfd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:57:53 +01:00
Joshua Lock
85cf4de96c ui/crumbs/runningbuild: add a 'Copy' item to the messages right-click menu
Add another item to the right-click menu enabled for log messages to copy
the message to the clipboard.

(Bitbake rev: 419b52e832f506504778d4d5957d1e77477bb513)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:57:51 +01:00
Joshua Lock
cd51ea63e6 ui/crumbs/tasklistmodel: don't add same item to binb column more than once
(Bitbake rev: 5e95098be1c1f92c2d72fb371c94bab31c46cf83)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:57:51 +01:00
Mike Crowe
744f58fbfd kernel.bbclass: Find the kernel consistently.
Use KERNEL_OUTPUT variable to find the generated kernel image rather than
duplicating the existing path. This also means it can be overridden simply.

(From OE-Core rev: de5b502330ded38c0efe2c4e30967ef12dbad72a)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:07 +01:00
Phil Blundell
7d8d3e6784 pango: make x11 support conditional on DISTRO_FEATURES
This allows pango to build on DISTROs which don't enable x11.
Also adjust the SECTION since pango isn't really an X library.

(From OE-Core rev: ac92a573dd38270a28967c76472435cfd7f9bdfe)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:06 +01:00
Dmitry Eremin-Solenikov
0963d513a0 opkg-utils: ignore packages disapperaring filelist generation
Package files disappearing during index generation don't cause a fatal
error. Make package file disappearing during filelist generation also
a non-fatal error.

(From OE-Core rev: f55c96b6d53ecff865145fa22f286c89c7336515)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:06 +01:00
Martin Jansa
e4ebecd065 eglibc: fix gconv packaging after 5486cac29db6e67051fff7637a0abc9aeab661e5
* gconv is directory so test -f was always false as reported by Phil Blundell in
  http://lists.linuxtogo.org/pipermail/openembedded-core/2011-August/008973.html
* -e used also for localedef which is file, just to be more consistent

(From OE-Core rev: feaf1bab56138cc1bc998a4201a60202a5b8cd28)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:06 +01:00
Dongxiao Xu
7d017c354a multilib.bbclass: add renaming for INITSCRIPT related variables
Initscripts are missing in target image in multilib case. This commit
adds the renaming logic for the related variables in multilib.bbclass.

This fixes the no response of mouse/keyboard in target system due to
the missing of udev startup script.

(From OE-Core rev: 477fc6e2fc034c68a250005461774bc8ecf91a52)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:05 +01:00
Dongxiao Xu
0e7bcf12ee multilib.bbclass: add "pkg_postinst" and "pkg_postrm" as renaming elements
Add "pkg_postinst" and "pkg_postrm" as renaming elements, which fixes
missing post install/rm scripts in target image.

(From OE-Core rev: a5c9f8af79c1632d2f3de5dd9627a7ca24fa0b76)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:05 +01:00
Dongxiao Xu
45f805a6c8 multilib.bbclass: Fix renaming logic for "FILES_", "RDEPENDS_", etc
In the orignal logic, the renaming will not work for "FILES_" if defined
variables as:

PACKAGES = "${PN}"
FILES_abc = "/usr/include/abc.h"

It is because ${PN} is "lib64-abc" so it will not be contained in
pkgrename.

This commit enumerates all element in PACKAGES, getting the original
packages and multilib packages, then doing renaming for "FILES_",
"RDEPENDS_", etc. This fixes a lot of missing files and incorrect
dependencies.

(From OE-Core rev: ea7c196b4097d64b4f42faccaf075334c297ba20)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:04 +01:00
Dongxiao Xu
ae2a894756 bitbake.conf: Use BPN in FILES paths
Use BPN instead of PN in FILES path to support multilib.

(From OE-Core rev: cb247225a96d57e67ce32c5674bb13b703e30a7c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:04 +01:00
Dongxiao Xu
d205a164e7 base-passwd: Use BPN in FILES paths
Use BPN instead of PN in FILES paths.
This fixes the login issue by /etc/passwd missing in multilib images.

(From OE-Core rev: ec62502988f0d79a69013513f2246980e0d8c01c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:04 +01:00
Xiaofeng Yan
73b8ac611b qt4e-demo-image: Fix bug 999
[YOCTO #999]
Copy metadata of qt4e-demo-image from OE for easy testing qt4embeded on embedded platform.
This image was tested on qemuarm and can run program "qtdemoE".

(From OE-Core rev: 612ab0aaf3e693b90bb18234e2517bfc87ee3f7c)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:03 +01:00
Bruce Ashfield
c7850ddfeb linux-yocto-rt: qemumips: fix boot panic
Fixes [YOCTO #1392]

Updating the SRCREVs to pickup:

[
    mips/rt: convert cascade interrupt non threaded

    The preempt_rt kernel forces all irq interrupts to be threaded,
    but special interrupts can be excluded from this conversion.
    The cascade interrupt should be part of these exceptions.

    In this case, irq2 is initialized before "kthreadd" task, which
    converts irq interrupt to threaded.

    If this irq is threaded, the kernel calls "try_to_wake_up" function
    to wake up "kthreadd" task, but at that moment, "kthreadd" task
    has no been initialize and try_to_wake_up wakes up a NULL task.

    (From OE-Core rev: 7ceb78a42f7d9b6aa4b984d04ac13f8dc23a9095)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:03 +01:00
Liming Wang
8a8a3b3905 scripts/runqemu: disable unfs boot mode for qemuppc
Because unfs boot mode is unstable for qemuppc, disable
it temporarily.

(From OE-Core rev: 74ff1bc8c248824116ba4b787b10fa6ee0c13ce1)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:03 +01:00
Mike Crowe
5633ac73b3 kernel.bbclass: support kernel image type of vmlinux.gz
Add support for a gzipped vmlinux kernel by specifying:

  KERNEL_IMAGETYPE = "vmlinux.gz"

(From OE-Core rev: cb17b6c2a72f260c61b0ec46887c2a04ac5b3f80)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:02 +01:00
Kang Kai
e70a369d2a cmake-nativesdk: remove gcc standard paths
Because of the gcc-crosssdk bug, cmake-nativesdk needs to search gcc
standard paths itself. Right now it was fixed, so remove the additional
CXXFLAG for cmake-nativesdk.

(From OE-Core rev: bac15cc98e136892d4c09f2470622965bd9dbbeb)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:02 +01:00
Kang Kai
4d8b2dae00 qt4-tools-nativesdk: remove gcc standard paths
gcc-crosssdk can't find the standard headers before, and it was fixed.
So it is not needed to search the gcc standard paths by
qt4-tools-nativesdk itself.

(From OE-Core rev: be86cbf54f3aeeda1105acd153fe09348a7ac267)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:01 +01:00
Kang Kai
9ce2cc6e14 bitbake.conf: set includedir_nativesdk
Fixes [Yocto #1231]

crosssdk.bbclass uses ${includedir_nativesdk} to define target_includedir,
but includedir_nativesdk is not defined before. This makes gcc-crosssdk
can NOT search the correct standard headers and libraries search path.

Define includedir_nativesdk in bitbake.conf.

(From OE-Core rev: 46a02c30d372692282f2784870df6fd63c660b10)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:01 +01:00
Jessica Zhang
ae4ad20edb Fix adt-installer for consistent naming for powerpc and add all arch template for installation
(From OE-Core rev: 299402832cc461f2db58481ccbb1a3a8ac92a7d0)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:00 +01:00
Dongxiao Xu
de36669053 package.bbclass: Fix recrdeptask of image type recipes
For image type of recipes, we need to define do_package_write as its
do_build recrdeptask, which ensures that all packaging types listed in
PACKAGE_CLASSES will be built out.

[YOCTO 1370]

(From OE-Core rev: b68cd33673fdc17711d7b9fde9cc23b0d8498c17)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:00 +01:00
Liming Wang
84ef84dbb8 script/runqemu: change boot command line for qemuppc
Because qemuppc has no graphic emulation, remove console=tty0
and make it run into 3 run level. This can reduce boot time
for qemuppc booting.

(From OE-Core rev: ba02844fd3c3e09b4c40bfff50c32bdcc27899fc)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:48:00 +01:00
Kumar Gala
5d463057b4 gcc-4.5.1: Drop gcc-poison-parameters.patch, replace with bug fix patch
The gcc-poison-parameters was added specifically to deal with an issue
on ppc targets and a bug when we build with -Os -frename-registers.

This bug below reports the issue and is fixed in gcc-4.6.x/mainline:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618

Backport patch to gcc 4.5.1.

(From OE-Core rev: fef385e37e82a0eec743fbd1da11021b9e7158b5)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:47:59 +01:00
Kumar Gala
36cda02715 gcc-4.6: Drop gcc-poison-parameters.patch as its not need
The gcc-poison-parameters was added specifically to deal with an issue
on ppc targets and a bug when we build with -Os -frename-registers.

This bug below reports the issue and is fixed in gcc-4.6.x:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44618

(From OE-Core rev: 0fabe078a31591f41c3fdabe5aa9de1111ef82c7)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-29 13:47:59 +01:00
Joshua Lock
6c2b7beac3 classes/sanity: enhance the network connectivity test
Switch to use the checkstatus fetcher API for the network connectivity test,
this has several advantages:
* we no longer print any messages to the console whilst the check is
being run
* we don't actually download anything, removing the need for tidy up and
making the code more concise

(From OE-Core rev: 81aa4bfbde871af1d569b64499c34a315bf6218e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-25 08:51:30 -07:00
Bruce Ashfield
c031954822 linux-yocto: update meta SRCREV to sync version strings
During the update of the bitbake recipe's string to 3.0.3 the internal
version marker in the kernel stayed at v3.0. This meant that kernel
configuration auditing the constructed file couldn't be found and audit
warnings were thrown. This syncs all the recipes and get back to
clean configurations.

(From OE-Core rev: 2be439c14790fec8ad7ffe1b6c531d41d0329eaf)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-25 08:45:46 -07:00
Scott Rifenbark
9ca6806de9 docuementation/poky-ref-manual/ref-structure.xml: Changed SRCDATE reference
I was incorrectly referring to SRCDATE variables in a context that should
have been SRCDATE destinations.

(From yocto-docs rev: eb255d9369b5bb3905a586433d472fd100c737dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:59:55 -07:00
Scott Rifenbark
b5fc6d78cb documentation/poky-ref-manual/faq.xml: Edits to scrub for Poky
(From yocto-docs rev: 089575ceb618199fbeccad1a4e7b7bd19eb5ad7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:59:30 -07:00
Scott Rifenbark
8e0ba4e638 documentation/poky-ref-manual/faq.xml: Edits to scrub for Poky
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:55:44 -07:00
Scott Rifenbark
d02e56fd14 documentation: Changes to Paul Eggleton's edits for various manuals.
Paul sent me a bunch of minor edits and technical corrections
for the ADT, BSP, Development, and YP reference manual.
Most changes were taken as he submitted them.  However, some
formatting conventions were not followed in the commits he made
to yocto-docs/paule/docs2.  After merging them to my yocto-docs/master
branch I fixed some issues.

(From yocto-docs rev: 93f4ea2dee976448f623953e801a80d59736450a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:38 -07:00
Paul Eggleton
88dfc936dc documentation: clarify specifying a specific package with -e
The -b option is not required to show the environment used to build a
specific package; usually the best practice is to specify the package
name alone.

(From yocto-docs rev: d59772fd7edd76dbc8018479c072badb591601c3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:37 -07:00
Paul Eggleton
954444f1d3 documentation: update documentation for SRCREV variable
* Add note about specifying a full revision ID to prevent querying the
  remote server on every parse
* Mercurial also supports this variable

(From yocto-docs rev: 47ce273dd751b0ae32b5c53310b6aedc4dade2ef)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:37 -07:00
Paul Eggleton
1e18d85170 documentation: set titles for all documents
These documents do not have titles when showing up on the website; set
the title tag value so that they do.

(From yocto-docs rev: baf958e3f49317689275b14dd31c6141f36c8c65)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:37 -07:00
Paul Eggleton
cf65497076 documentation: update BBFILE_* variable documentation
* Add documentation of LAYERVERSION, LAYERDEPENDS and new layer priority
  behaviour
* Improve some wording

(From yocto-docs rev: be7c10f3b8b35ff231e5974a48936e66fd49fcbc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:37 -07:00
Paul Eggleton
75fc3840aa documentation: update for directdisk/live image changes
-live and -directdisk image have been removed; add a tip about using the
live option in IMAGE_FSTYPES to build any image as a live image.

(From yocto-docs rev: ef7c508a4073c4f04c2368420e64a5d6620c8fbc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:37 -07:00
Paul Eggleton
23a7eec172 documentation: update TERMCMD/TERMCMDRUN documentation
* xterm is now the default
* Konsole from KDE 4.x will no longer work due to changes in behaviour

(From yocto-docs rev: 031a619ca19dbc2011a4df7bba1c332f2770e15d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:36 -07:00
Paul Eggleton
547ba60f85 documentation: ensure all examples have LIC_FILES_CHKSUM
We really need to have LIC_FILES_CHKSUM in all of our example recipes,
because it is now mandatory.

(From yocto-docs rev: 76998b7c54246e0505cf01b21d65d04ab285f1f0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:36 -07:00
Paul Eggleton
3906b60791 documentation: improve LIC_FILES_CHKSUM documentation
Document that LIC_FILES_CHKSUM is mandatory, when gets validated, and
improve some wording.

(From yocto-docs rev: ca878d7b0c84812ef29bbaf5894c96dd89500ec9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:36 -07:00
Paul Eggleton
88c16945fa documentation: SITEINFO_ENDIANESS -> SITEINFO_ENDIANNESS
This variable was renamed (to match OE) in the Yocto 1.1 development
cycle.

(From yocto-docs rev: 5cda8fe3b5dd18b629ccd13427da3b5743ae66ce)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:36 -07:00
Paul Eggleton
e4e0d026c1 documentation: typo, spelling & minor grammar fixes
(From yocto-docs rev: a5b069b04979a566b08415cf27af2ad6abf90f2f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:35 -07:00
Paul Eggleton
82fd0556c2 documentation: manpage -> help output
Replace the reference to this being the manpage.

(From yocto-docs rev: ebb689a8ccc2aaf5d21341c69899588e77d5172c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:35 -07:00
Paul Eggleton
6ca8903629 documentation: correct QT to Qt
(From yocto-docs rev: 37ac4cbd61bc8c891aa6dc05baf632a0a4bfd906)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:35 -07:00
Joshua Lock
d1b1109e82 hob: disable some menu entries whilst build is in progress
It doesn't make sense to be able to modify the preferences and add/remove
layers whilst a build is in progress - disable the relevant menu items once
the build has started and re-enable them once the user has returned to the
creation view.

(Bitbake rev: 0423587db09f6f28cf9d801f5657a84157f42dbe)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:33 -07:00
Joshua Lock
39e90c81d7 bb/ui/crumbs/tasklistmodel: fix find_reverse_depends method
This fixes an embarassing typo which meant the method actually returned a
list of packages which didn't depend on the passed pn.

(Bitbake rev: a17334e85869bf78d63df1b2336d68980a0b359f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:33 -07:00
Joshua Lock
8ac3cec827 hob: don't set PARALLEL_MAKE and BB_NUMBER_THREADS based on cpu count
This was actually broken with recent changes as the values were never
persisted to a file (meaning they were unset on the server at reparse
despite the UI indicating they were set).

However, I've chosen to remove the 'feature' as pegging a users CPU without
them asking to use high thread counts seems a little offensive.

(Bitbake rev: 27dcf245abf3805be47894773406392fdf055e48)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:32 -07:00
Joshua Lock
cd80b4fc6d bb/fetch2/git: add checkstatus command
Use git ls-remote to implement checkstatus command for the git fetcher.

(Bitbake rev: 0ed281feb6d244d3700da484f4e83394ae394f93)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:49:32 -07:00
Lianhao Lu
64c1f93828 meta-toolchain/environment: Collected site config files in runtime.
[YOCTO #892]
Use the new cached site config files generation mechanism in
toolchain-script.bbclass.

(From OE-Core rev: 445d6426197579a9c0317498cc6919bb63e7f726)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:26:08 -07:00
Lianhao Lu
c6b808413d toolchain-script.bbclass: Collected cached site config in runtime.
[YOCTO #892]
Modify the function toolchain_create_sdk_siteconfig to collect the
cached site config files which are specified by
TOOLCHAIN_NEED_CONFIGSITE_CACHE in runtime.

Also added task dependency to ensure the cached site config files are
generated.

(From OE-Core rev: 9e87f1347788beed181476dc4563085db14a4729)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:26:08 -07:00
Koen Kooi
4c2baa237f libc-package bbclass: fix binary localedata dependency code
When using binary locales rootfs generation fails with:

| Unknown package 'locale-base-en-us'.
| Collected errors:
|  * opkg_install_cmd: Cannot install package locale-base-en-us.

This is due to:

$ dpkg-deb -I ipk/armv7a/locale-base-en-us_2.12-r16_armv7a.ipk | grep Depends
 Depends: eglibc-binary-localedata-en.us

Note the '.' seperator

$ ls ipk/armv7a/ | grep binary-localedata-en | grep us
eglibc-binary-localedata-en-us_2.12-r16_armv7a.ipk

Note the '-' seperator vs the '.' in the locale-base packages.

(From OE-Core rev: 19fb07bf337e1d724798e2eb4479c35fc45b1941)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:23:42 -07:00
Chris Larson
a097c26ca0 terminal: fix issue with unset exportable env vars
This should resolve the devshell issue people are seeing.

(From OE-Core rev: 332f2a9febfc3697ed4a20fca3016e0399ae90eb)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:23:42 -07:00
Bruce Ashfield
f5cddf955d linux-yocto/2.6.37: apmd + get time of day fixes
Fixes [YOCTO #916]
Fixes [YOCTO #900]

Merging:

[
  commit 4ae8f8605c81c39b959948e23f7123294a5dfb3f
  Author: Liming Wang <liming.wang@windriver.com>
  Date:   Wed Aug 24 10:45:19 2011 +0800

    x86: use vdso gettime fallback versus returning an error

    __vdso_clock_gettime should fall back to call vdso_fallback_gettime function
    if no clockid is selected, not just return error.

    (From OE-Core rev: 8069549937f8d1e266eb0a2d6b4c1321b08ed69b)

Signed-off-by: Liming Wang <liming.wang@windriver.com
]
[
  commit aeea99683c7283f1f3320bf2ee7085ee252d4e7e
  Author: Liming Wang <liming.wang@windriver.com>
  Date:   Fri Aug 19 17:43:49 2011 +0800

    meta: add APM Emulation option to beagleboard

    apmd daemon needs this option to work, so add this to beagleboard
    kernel config file.

    Signed-off-by: Liming Wang <liming.wang@windriver.com>
]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:23:42 -07:00
Bruce Ashfield
f34001139b linux-yocto: update machines and default configuration
Fixes [YOCTO: #686]

During routine maintenance some base changes were re-wound on
the common branches. All machines still had these changes, but
any new machine branched from the common base would miss those
changes. This update restores those commits to the standard branch
and merges them out to all child branches.

The meta branch update adds a configuration item to support
live image booting on qemux86.

(From OE-Core rev: 518de98e8c1cb4bd1d76c562007b9eccc196c572)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:23:42 -07:00
Bruce Ashfield
d8ac3ed435 linux-yocto: update meta SRCREVs for beagleboard config changes
Fixes [YOCTO #916]

Adding APM emulation and CONFIG_USB_MUSB_OMAP2PLUS to the beagleboard
base configuration.

(From OE-Core rev: aea2785ccd36addd163a6b2e36fa2c9a8108ba00)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 19:23:42 -07:00
Bruce Ashfield
f6c1e8ec29 meta-yocto: make qemu machines prefer linux-yocto_3.0
Since there aren't individual qemu*.conf files in meta-yocto the
qemu machines follow the default preference in poky.conf, which is
the 2.6.37 kernel. Rather than introducing new .conf files just for
this adding machine specific overrides is lower footprint.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-08-24 18:29:54 -07:00
Bruce Ashfield
2ee520a726 linux-yocto/meta-yocto: update SRCREVs for 3.0.3 and consolidated fixes
Updating the SRCREVs to pickup the kernel.org -stable update for
3.0.3 and to pickup fixes done in standard for oe-core supported
machines.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-08-24 18:29:43 -07:00
Bruce Ashfield
f08b8c9640 meta-yocto: atom-pc/mpc8315e-rdb change preferred version to 3.0
Updating two more yocto hardware reference platforms to use the
3.0 kernel by default.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-08-24 18:29:30 -07:00
Bruce Ashfield
2c8120d489 linux-yocto-rt: update qemuppc support and streamline variables
Fixes [YOCTO #1391]
Fixes [YOCTO #1389]

qemuppc must have a dedicated branch for -rt support, since it has
board specific patches that are not suitable for a common location.
This fixes the boot by propagating some common fixes and by syncing
to the latest meta-configuration.

There are some variables that are now in linux-yocto.inc and need not
be defined by the kernel recipe itself, so we can safely remove them
with no impact on the build.

CC: Darren Hart <dvhart@linux.intel.com>
(From OE-Core rev: fc0220b59a15f8cff57c13fe7966d05f7386da71)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:27:33 -07:00
Bruce Ashfield
d7b152da65 kern-tools: allow flexible branch points
Updating the SRCREV to pickup a series of changes to the
kern-tools that allow more flexible creation of trees from
scratch. This functionality is not used by the normal
kernel build process and has no impact on existing builds.

(From OE-Core rev: faaa03c2a166e37a11edd52011799e6a8cff144d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:27:33 -07:00
Jingdong Lu
4f4475f498 initrdscripts: fix init-live.sh for hddimg and livecd
Both hddimg and livecd use init-live.sh script to boot the rootfs.img.
But the paths of rootfs.img in hddimg and livecd are different. So we add
a variable "ISOLINUX" to provide a correct path.

(From OE-Core rev: 4e7221d23bf335cbb4e1e2ba703e4c0a04df7129)

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Wenzong Fan
6ba3b6ba9b libpam: Setting suid bit for unix_chkpwd
[YOCTO #1252]

While pam_unix.so required by an application on lsb image, it will need to
call the unix_chkpwd to get userinfo from shadow file. This fix get a normal
user could read shadow file via unix_chkpwd.

(From OE-Core rev: c23a3cd68385563a16d5bbc899e26f35cdc6c2cf)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Wenzong Fan
45a0c38167 cronie: Updates to cronie
1) Add required pam plugins to RDEPENDS list;
2) Correct configure option that used for enable pam support;
3) Create empty crond config file cron.deny;
4) Don't set readonly variable UID in crond init script.

(From OE-Core rev: 0fa1989b03cf70c7f27629c8340963fcef862097)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Phil Blundell
9a623a6481 mips32: add mips32el tuning
This makes building for little-endian mips32 slightly more convenient.

(From OE-Core rev: cd5b601bb2149cbc866dc32b46f4058d3284fb00)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Dongxiao Xu
ed7affc42c procps: Fix lib path to support multilib
Revise the install.patch which hardcode the lib paths.
Change ${PN} to ${BPN} in file names.

(From OE-Core rev: 7e3e69d38898876ba3325852bbec04586635e66f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Joshua Lock
16ca6dda2c libtasn1: update SRC_URI
libtasn is no longer hosted as a sub-project of gnutls, it has its ftp
directory.

(From OE-Core rev: 4570c1e4f5ba3f3c2f5be8b46d47efc3921d3e6b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-24 15:02:23 -07:00
Jingdong Lu
f8cddd7457 mpc8315e-rdb: add kernel modules to rootfs
Fix bug: [YOCTO #817]
Add kernel modules to rootfs for mpc8315e.

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
2011-08-23 20:45:07 -07:00
Scott Rifenbark
51351e3f93 documentation/yocto-project-qs/yocto-project-qs.xml: Fixed manual references
I changed the references to the Poky Reference Manual to the Yocto Project
Reference Manual.  I also changed 'poky-qemu' command to 'runqemu'.

(From yocto-docs rev: f46003eab91d1f682113b9e0672efd486a509ec6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:08 -07:00
Scott Rifenbark
d02f6b0c23 documentation/poky-ref-manual/ref-variables.xml: Fixed links
The links to the lettered divisions of the glossary do not work.
I changed them to the first entry for each lettered area.

(From yocto-docs rev: b7692bcfa19fb940a050c0cf72dc2f7e427b8ba7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:08 -07:00
Scott Rifenbark
94638de796 documentation/poky-ref-manual/ref-varlocality.xml: Reformatted
This appendix had poor organization.  I re-organized it according
to configuration and recipe context.  The sub-sections break out much
more nicely now.

(From yocto-docs rev: 7a3a7b3a7b4861122194ea0a78c16af531f0078b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:07 -07:00
Scott Rifenbark
61d65d11df documentation/poky-ref-manual/introduction.xml: Title changed.
(From yocto-docs rev: 244c632812f10a3dc79eb814caf1449c50655e36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:07 -07:00
Scott Rifenbark
638ffa90db documentation/poky-ref-manual/ref-variables.xml: Fixed default format
In the document, several variables state their default values. I set the
formatting to surround a default value with double quotes in all cases.

I also fixed a typo for "RECOMMEDNS"

(From yocto-docs rev: 3da85f54df6fd4ad64d5be2cc9ae0e6dd50a68f5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:07 -07:00
Scott Rifenbark
70bd76e658 documentation/poky-ref-manual/ref-variables.xml: Scrubbed for Poky
I also fixed formatting and some minor wordings.

(From yocto-docs rev: b1bbfe89cb250ef5267fb16635dc41338aab0c59)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:06 -07:00
Scott Rifenbark
7a59fbde96 documentation/poky-ref-manual/ref-variables.xml: partial edits.
(From yocto-docs rev: e8300735591f0b47aff64200a2dff477b5bfd9b2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:06 -07:00
Scott Rifenbark
87f4bfd0a3 documentation/poky-ref-manual/ref-features.xml: Cleaned up list formatting.
(From yocto-docs rev: 1813848d673dedae6b918676eec1f3926ee630f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:06 -07:00
Scott Rifenbark
5b171729f2 documentation/poky-ref-manual/ref-images.xml: Reformats of the Docbook code.
(From yocto-docs rev: 8b334782415a428724023af0e6ee8a0ee5aa79f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:06 -07:00
Scott Rifenbark
95ef8d7a2e documentation/poky-ref-manual/ref-classes.xml: Scrubbed for Poky
I changed the "Poky" references to "the Yocto Project" and performed
general edits where necessary.

(From yocto-docs rev: a7ef3e7d5c792bde5231b9302e614cb7b5db81b7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:05 -07:00
Scott Rifenbark
32a860851c documentation/poky-ref-manual/ref-bitbake.xml: scrubbed for Poky
I swapped the Yocto Project for Poky throughout.  Some other general
edits were done.  I put in a reference to a spot to learn how to best
set the BB_NUMBER_THREADS variable.

(From yocto-docs rev: 2543a915957014a59e6c49a1cdde270725d47af3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:05 -07:00
Scott Rifenbark
39de08c105 documentation/poky-ref-manual/ref-structure.xml: Scrubbed for Poky and edits
I converted "Poky" to "the Yocto Project."  I also updated several examples.
In particular the build/tmp/work example.

(From yocto-docs rev: eb82bc36904f502fb4f314ff05eb86cff27ce0b6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:05 -07:00
Scott Rifenbark
cde376cc04 documentation/poky-ref-manual: Removed figures from file structure.
The poky-beaver.png, poky-log.svg, and white-on-black-yp.png
figures are not used and do not need to be in the file structure
for this manual.

(From yocto-docs rev: c2217102813fc0a72922bf2baf24e07184cf24e3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:04 -07:00
Scott Rifenbark
31d594802f documentation/bsp-guide/bsp.xml: General updates
I added a parallel textual construct at the beginning of each section
that details a directory in the Yocto Project file's structure.
I did not like starting these sections with a literallayout string.

(From yocto-docs rev: 5dde476f0c02d655217f3fa863522e8b7df57cda)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:04 -07:00
Scott Rifenbark
8fd890a8ec documentation/Makefile: Removed sato image from tarfile list in poky-ref-manual.
(From yocto-docs rev: 350ba4e6c799ec0c98bd50f097815306e0911f37)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:04 -07:00
Scott Rifenbark
ec6b3071eb documentation/poky-ref-manual/figures/ss-sato.png: deleted figure.
(From yocto-docs rev: 29a5c1da4695fc8a5979c3d095f87879c0b267ce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:04 -07:00
Scott Rifenbark
10ddfd6f51 documentation/poky-ref-manual/extendpoky.xml: scrubbed for Poky
Converted to Yocto Project from Poky.

(From yocto-docs rev: 0263e8b29efeff051184ce1700da9559ea511faf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:03 -07:00
Scott Rifenbark
776834d63b documentation/poky-ref-manual/development.xml: Garman's partial review comments
(From yocto-docs rev: 329401ac13e60381ca74a617ae398586cbd5dfed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:03 -07:00
Scott Rifenbark
ed4caadd13 documentation/poky-ref-manual/development.xml: updates for YP terms
I updated the profiling sections to reflect Yocto Project rather than
Poky.

(From yocto-docs rev: 4f2c3bc93d97a6a8676fdd14ff9061bb92bdf5c9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:03 -07:00
Scott Rifenbark
90d5834ad2 documentation/poky-ref-manual/usingpoky.xml: small edits to list and title
I added emphasis to a bulleted list and I also updated a section title
to reflect Yocto Project instead of Poky.

(From yocto-docs rev: f967aff5c0a0047ef44145c6a95da84e57c255b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:02 -07:00
Scott Rifenbark
e384051ded documentation/poky-ref-manual/introduction.xml: re-write for YP
I re-wrote and reorganzied this chapter to reflect the book as
a Yocto Project Reference Guide.

(From yocto-docs rev: ef3c3955ab0cedb57d9ae48041ed94806fe34001)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:02 -07:00
Scott Rifenbark
7f9b16defb documentation/poky-ref-manual/resources.xml: Changed title
Changed the title to refelect the Yocto Project and not Poky.

(From yocto-docs rev: 151c1925659e986b27866fed5abfcba96744b204)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:02 -07:00
Scott Rifenbark
8aa163ba69 documentation/poky-ref-manual: Changed top-level titles
Each of these chapters needed the title changes to reflect Yocto
Project and not Poky.

(From yocto-docs rev: a6d8d01b20af334ca9950c4287d61a728532f652)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:02 -07:00
Scott Rifenbark
295b855fc9 documentation/poky-ref-manual/usingpoky.xml: re-write for Yocto
General re-write to make the chapter Yocto Project friendly.
Weeded out the references to "Poky."

(From yocto-docs rev: ac4fc6082f458e5ee60962693ee332bbf1e3c1a9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:01 -07:00
Scott Rifenbark
00d483d65a documentation/poky-ref-manual/usingpoky.xml: YOCTO #1001 - new section added
YOCTO #1001 - created a new section to address this issue.  This is the
first draft.  Darren to provide review comments.

(From yocto-docs rev: fc2aee572cc3e620684533a12a2d8436dc0abe32)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:47:01 -07:00
Scott Rifenbark
8165eefb1f documentation/dev-manual/figures: Figure updates
Not sure if I need to commit these again.  They are showing up in the
git status command so I might have updated them and forgot to commit
them.  Doing so to be sure.

(From yocto-docs rev: 75c87592c10647ec09f42a1363a8ae123cd6e33d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:38 -07:00
Scott Rifenbark
96f0c57a0a documentation/poky-ref-manual/development.xml: re-write of software dev section
This is a comprehensive pass through this entire section that incorporates
understanding given to me by Scott Garman.  I have added more detail and
text that helps the non-developer understand what is fundamentally going
on.

(From yocto-docs rev: 124c722ccf0316f6e62790ca77c88d0444559378)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:37 -07:00
Scott Rifenbark
34de499685 documentation/dev-manual/dev-manual-newbie.xml: Updated term list.
I added a reference to the Image appendix for the description of
images.  Also, added a new term "meta-toolchain."

(From yocto-docs rev: a9c1110ec7499afa669416c00bc81573fcbf920d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:37 -07:00
Scott Rifenbark
266b83c8e1 documentation/poky-ref-manual/development.xml: Updated software dev intro
Added more general description of what this section's purpose it.
I felt it was missing some basic information and making too many
assumptions.

(From yocto-docs rev: 4a5faeecc616313147283e50fe947c68555f55a2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:37 -07:00
Scott Rifenbark
45aa3ff3b8 documentation/poky-ref-manual/figures/poky-title.png: Changed Title
It seems that this manual should be named the yocto project reference
manual as we slowly try to rid ourselves of the "Poky" term.

(From yocto-docs rev: c9d30285adf83bbcfc06233be54aec4203cbfd13)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:36 -07:00
Scott Rifenbark
1e789e60b5 documentation/dev-manual: Incorporated Joshua Lock's review comments.
(From yocto-docs rev: d4bf6343d7575ff96030242e2025570db52b515b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:36 -07:00
Scott Rifenbark
0a2e82c007 documentation/poky-ref-manual/usingpoky.xml: Fixed double dash display.
In the PDF version of the manual the "&dash;&dash;" docbook statement
does not display correctly.  I changed this to "--".

(From yocto-docs rev: b0596e0ce370d6c6e1680e89d9c5a5b9da26dd93)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:36 -07:00
Scott Rifenbark
73be798329 documentation/yocto-project-qs/yocto-project-qs.xml: fixed double dash
In the PDF version of the manual the "&dash;&dash;" statement does not
display correctly.  I changed this to "--".

(From yocto-docs rev: ae3a5bc15d30668b6f9048245f70dcd82f89da32)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:35 -07:00
Scott Rifenbark
9346231745 documentation/adt-manual/adt-prepare.xml: changed 1.0 to 1.1
In anticipation of 1.1 I have changes several filenames that
had "1.0" to include "1.1" instead.  I am unsure if the names are
correct at this time.  I will need to check them when the release is
created.

(From yocto-docs rev: ae50f920c5cf18f6c0494280a453feb41ef56d83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:35 -07:00
Scott Rifenbark
5b5ace9e1f documentation/adt-manual/adt-eclipse.xml: Fixed double dash display.
In the PDF version of the manual the "&dash;&dash;" docbook statement
does not disply correctly.  I changed them to "--".

(From yocto-docs rev: 8aea27a6de1ca2d5dffc84cfb7a26d29c3eb0e8d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:35 -07:00
Scott Rifenbark
cc340cdfbb documentation/adt-manual/adt-command.xml: fixed double dash display.
In the PDF version of the manual the "&dash;&dash;" docbook command
does not display.  I changed this to "--".

(From yocto-docs rev: b5f42fad0c7447a480e0557988f868ef4833abbf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:34 -07:00
Scott Rifenbark
cc4a9d7e8d documentation/yocto-project-qs/yocto-project-qs.xml: changed to 1.1.
There are examples that use "1.0".  i have changed these to "1.1"
in anticipation of the 1.1 release.  At the time of the change I don't
know if the actual file names i put in are correct.  I need to check them
when Beth sends me the real stuff.

(From yocto-docs rev: 3d5bd0bd38fd2d99e7d5cbb6bedf0fde0fdd5fa9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:34 -07:00
Scott Rifenbark
7d465d6040 documentation/kernel-manual/kernel-how-to.xml: command indentation fixed.
(From yocto-docs rev: d3116dbda4af7f469e10449ed27b2885474317b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:34 -07:00
Scott Rifenbark
53dcd99b31 documentation/adt-manual/adt-package.xml: Fixed typo and long commands
Errors caught by Robert P. J. Day:

1. An extra ">" character removed.
2. Overly long commands changed to use the continuation symbol.

(From yocto-docs rev: e84b7d5a46817fdc9c0f55242840989cbe8494c7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:46:34 -07:00
Paul Eggleton
472f050077 image.bbclass, kernel.bbclass: remove non-standard -n option from cp command
-n is not a POSIX option and does not work on some systems (e.g. Debian
Lenny); in any case it is not strictly necessary here, so remove it.

(From OE-Core rev: 13e14763f14b5b84051ecb158404dcef937cc4e0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:32:39 -07:00
Paul Eggleton
9471db5ff4 scripts/combo-layer: fix overzealous regex in default hook script
combo-layer's hook scripts are intended to modify patches as they pass
through; the default one adds a prefix with the component name and
a line with the component repo revision before the Signed-off-by;
however the script was also unintentionally modifying the contents of
patches *within* the patches passing through it, which resulted in
unexpected failures when the combo-layer script attempted to use
"git am" to apply them.

(From OE-Core rev: e7aae45414e4597e9244f86a81fbc940f73785c8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:32:38 -07:00
Paul Eggleton
5f6dcb2bc2 base.bbclass: clarify COMMERCIAL_LICENSE skip reason
Change to a proper sentence and add a reference to the
COMMERCIAL_LICENSE variable so that the user knows where this can be
controlled.

Addresses remainder of [YOCTO #846]

(From OE-Core rev: 463d1719cc627ef22089282acfe70d7fcb835419)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:32:38 -07:00
Martin Jansa
ec63594a8e utils.bbclass: skip empty paths when handling FILESEXTRAPATHS
* if there is multiple .bbappend files with FILESEXTRAPATHS_prepend := "/:"
  then the one parsed last is causing trailing ':' and that's causing empty element in
  path = extrapaths.split(:) + path
* it's hard to keep all .bbappends from foreign layers to follow this rule, so it's better
  to be able to handle trailing ':'

(From OE-Core rev: 3b5591d423324da076d038ad335af47b616a7903)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:35 -07:00
Jiajun Xu
5c78d94543 task-core-x11-sato: add libsdl into sato image
We add libsdl into sato image since some 3D graphics testing needs it.

(From OE-Core rev: 0934dc7c421ea6fb8f16ce535be72dda9ecb17de)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:35 -07:00
Jiajun Xu
9a75040320 libsdl: do not inherit nativesdk
We already enable target version for libsdl and use BBCLASSEXTEND
to enable nativesdk. No need to inherit nativesdk then.

(From OE-Core rev: f3945cf1a9d33438afbcb28ee35edc10b9d047d9)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:34 -07:00
Otavio Salvador
1eb4426599 scripts/combo-layer: fix configuration file handling
(From OE-Core rev: e83017fe9e1dc89860a43d41d0480d1371539e44)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:34 -07:00
Otavio Salvador
6f5066a3a0 scripts/runqemu: add support to pass bootparams to kernel
(From OE-Core rev: 4a2d3cfeeef4de6da1301c65033fa251538cddc9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:34 -07:00
Otavio Salvador
628d09cdff kernel.bbclass: save kernel image name into $kerneldir
Save the kernel image name into sysroot so it can be used during image
build if need. This is used by O.S. Systems products and probably
useful to others.

(From OE-Core rev: 19a587cb98a20f0e659483541fc8cec874f6afa9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:34 -07:00
Otavio Salvador
505be75bbf Use OECORE_DISTRO_VERSION instead of POKY_DISTRO_VERSION
(From OE-Core rev: 6890c02ec4538b82b694deaba39e9921af4e3f47)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:33 -07:00
Robert Yang
b6bd7133c2 bitbake meta-toolchain with gcc 4.5.1 failed
Fixes bug [YOCTO #1386]

1) Add the following lines to conf/local.conf:

SDKGCCVERSION="4.5.1"
GCCVERSION="4.5.1"

2) bitbake meta-toolchain

The we will notice the error that sed can't find the directory:

${TMPDIR}/work-shared/gcc-${PV}/gcc-${PV}-${PR}

we had changed the name of S from gcc-${PV} to gcc-${PV}-${PR}, but didn't
update meta/recipes-devtools/gcc/gcc-common.inc, so fix S in gcc-common.inc
would make it work.

(From OE-Core rev: 282773ff3e0f365c08ae7e8fe759029f33e575b1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:33 -07:00
Bruce Ashfield
ac77252ffb linux-yocto: update SRCREVs for 3.0.3
Updating the SRCREVs to pickup the kernel.org -stable update for
3.0.3

(From OE-Core rev: 450b6eded024c365d0ad4808b492d73c4cd02f6d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:33 -07:00
Bruce Ashfield
c52c2acf4e linux-yocto: move more default values into linux-yocto.inc
During the preparation of some linux-yocto extension documentation it
was clear that some variables are being defined in each recipe, when
they don't have to be. Moving the defaults into linux-yocto.in and
allowing them to be overidden in recipes simpifies the reuse of the
base infrastructure.

(From OE-Core rev: 0ca26544efe8d650f36db9dc1c3b3a15110d7e31)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:32 -07:00
Saul Wold
90d11a0faa at: fix RDEPENDS -> RDEPENDS_${PN}
(From OE-Core rev: 848f198563bc31e591a559936e9c679c7381c9a6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:32 -07:00
Lianhao Lu
4403816625 adt-installer: Removed the hard coded repo url.
[YOCTO #1380] Removed the hard coded repo url in opkg configuration
files.

(From OE-Core rev: 125eae393a3448e1ff5f3c2cf782ed7b3aa23920)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:32 -07:00
Chris Larson
67f5a955b0 image_types_uboot: add uboot mkimage fs types
(From OE-Core rev: ac75c4cc27494e93ad8eba318582b875fea8f508)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:31 -07:00
Chris Larson
7629ec7dac rpm: be certain we don't prefix our binaries
In certain combinations of build/host/target, they can end up
inadvertently prefixed, breaking the assumptions in the recipe.

(From OE-Core rev: a00600b853570b6090e68d20f22bb5ef5435e0ea)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:31 -07:00
Chris Larson
86c90582f4 libpcre: the generated libtool uses HOST_SYS
(From OE-Core rev: 039b1a04db32bed23536a23983c3b6d91e1166c7)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:31 -07:00
Khem Raj
a0dc330b4a recipes: Delete patch=1, its default and replace pnum with striplevel
Some place pnum=1 is used which is removed as well since
striplevel=1 is default

(From OE-Core rev: 4e108857e0d40105f7ecbc55e99bd6c367bb7386)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:30 -07:00
Darren Hart
e30a104c9c tune: Add hard floating point variants of cortexa8 tunes
Enable machines or distros to select the hard floating point abi for cortexa8
machines. I left out the arm7a thumb+neon combinations as they were not
present in the original non-hf set.

(From OE-Core rev: c70ebd6f8ff34071febeb132c8bc4df220e328da)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Jason Kridner <jkridner@beagleboard.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:30 -07:00
Darren Hart
1f26aa3ea5 tune: add missing closing quote to arch-armv7a.inc for AVAILTUNES
A closing quote was missing for an AVAILTUNES append operation, add it.

(From OE-Core rev: 7d46901840795638ff184a43e65299446fbd0b4e)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Jason Kridner <jkridner@beagleboard.org>
CC: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 18:23:30 -07:00
Richard Purdie
b2266beeb3 usermanual: The git fetcher defaults to the git protocol (or file)
(Bitbake rev: 692c2fcead5c82249359ad54d2c7941d087a2eb3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:35 -07:00
Richard Purdie
09761c95e7 fetch2/git: Add rsync as a valid git protocol
(Bitbake rev: 4cc4e318fd6907a4742f327177f321d140385c9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:35 -07:00
Joshua Lock
5c34022a11 bb/ui/hob: warn and prevent image build if no IMAGE_FSTYPE is set
If IMAGE_FSTYPE is empty and the user has opted to build an image warn
them and prevent the build.

Fixes [YOCTO #1267]

(Bitbake rev: 023edbe6d04f25c7e0e7b615eb06cd3727c665cb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:34 -07:00
Joshua Lock
ba63660821 bb/ui/crumbs/hobprefs: fix setting IMAGE_FSYTPES
We were setting the value as a list when a string is expected

(Bitbake rev: fc3bb3a4f04f64c6d47c7bf040b7522e9204a458)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:34 -07:00
Joshua Lock
17bd3a0c6b bb/ui/crumbs/hobeventhandler: fix return values of *_image_output_type
These methods are expected to return lists.

(Bitbake rev: 4e101de9034c20dfda0bb851e84f4315335620f6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:34 -07:00
Joshua Lock
a17e6c4a2e bb/ui/hob: fix package only build
Use the models new get_selected_pn method to return a list of PN's for the
selected items and pass that for a package only build, rather than passing
a list of package names (which buildTargets can't handle).

Fixes [YOCTO #1385]

(Bitbake rev: c969857c7f5963098e6584803eafb4e2be0eea46)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:33 -07:00
Joshua Lock
4ea4f44645 bb/ui/crumbs/tasklistmodel: track the PN for each entry in the model
Now that we've switched to packages in the model, rather than PN, it makes
sense to add an extra field to store the PN of the package.

This patch includes a convenience method to retrieve a list of selected PN's.

(Bitbake rev: cf79424592a81378de5edad11cf6c4f427c94bcc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:33 -07:00
Joshua Lock
989ce0cf55 hob: don't try and build if user selects Bake with no selections made
If the user hasn't made any selections inform them that they need to do so
before clicking Bake.

Fixes [YOCTO #1384]

(Bitbake rev: e176dcf637da2d0105a4361a46d5df5238e3b8ce)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:33 -07:00
Joshua Lock
b6009b2952 bb/ui/crumbs/tasklistmodel: store all binb, not just the first
This makes it easier for the user to determine what the effects of a
removal may be, further it means we no longer need the find_alt_dependency
method which could be a fairly time-consuming method depending on the size
of the contents table.

Partially addresses [YOCTO #1365]

(Bitbake rev: 91d1f5f5a44c80e6702221509e2e9aadbe05bcc0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:32 -07:00
Joshua Lock
d2f1ede68a bb/ui/crumbs/tasklistmodel: remove useless items from dependency list
Ensure the dependency list is uniquified, doesn't include self references
and further doesn't include -dev references.

(Bitbake rev: 70aebebc3867d52e460355667e711c7c6dcd50ce)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:32 -07:00
Joshua Lock
c1b31f8996 bb/ui/crumbs/tasklistmodel: more robust checking for substrings
Relying on the count() method of Str to determine whether the string
contains a substring is error prone purely because the return value doesn't
strictly convert to a Boolean value.
To that end take the more pythonic approach of using the in operator (foo
in bar) to check for the substring.
Further, add a helper method for the common case of testing whether a pn
is -native, -cross or virtual/

(Bitbake rev: d7768cefcddd59a5102d7e9b67e4416bf8603f55)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:32 -07:00
Joshua Lock
108220137b bb/ui/crumbs/runningbuild: hide the progress bar on cache load complete
When we receive the CacheLoadComplete command we need to ensure the
progress bar is hidden as we can't expect the ParseComplete event, where
this would usually be done.

This patch makes the Goggle UI usable again.

(Bitbake rev: 64dfc574c12d882761e4958c8b1881cd47a87e0d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:31 -07:00
Joshua Lock
38393fb3c2 bb/ui/crumbs/runningbuild: reduce number of messages after recent msg change
The recent change to the message module to remove custom logging domains
resulted in an increased number of messages being displayed in the
running build view, ignore all messages lower than log level INFO.

(Bitbake rev: a12da000a8e4138fbdfd77f9c49b11fc69a315e1)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-23 10:00:31 -07:00
Scott Rifenbark
edd8e1e8b9 documentation/adt-manual/adt-command.xml: general edits.
(From yocto-docs rev: 7227ad57257869f2fcb7f85bed8b8b90db4bd65a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:52:00 -07:00
Scott Rifenbark
cb8f3b1ad7 documentation/adt-manual/adt-eclipse.xml: general edits and formatting.
(From yocto-docs rev: 31e2643b0c4205b8db0fb7a8082b5f7083a00745)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:52:00 -07:00
Scott Rifenbark
7946934811 documentation/adt-manual/adt-package.xml: Minor edits
(From yocto-docs rev: f035bf540c07b98d88dbf134b4a4706887754e32)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:52:00 -07:00
Scott Rifenbark
d5d0f08c32 documentation/adt-manual/adt-prepare.xml: edit pass for new termninology
Also added some general punctuation edits.

(From yocto-docs rev: e9a689655c6e88e735944084e5dda32800a6e6ca)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:52:00 -07:00
Scott Rifenbark
b29e5ba430 documentation/Makefile: added git-workflow.png and kernel-dev-flow-png to tarball list.
(From yocto-docs rev: e518ae5ede03d51cddde7170685e1801d1af8a33)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:59 -07:00
Scott Rifenbark
73b44c65ae documentation/dev-manual/dev-manual-newbie.xml: added picture for newbie Git
(From yocto-docs rev: 608656076131b7cab829344d8ed0f63c655566d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:59 -07:00
Scott Rifenbark
ca9366edf2 documentation/dev-manual/dev-manual-bsp-appendix.xml: Corrected the SRCREV statement
Comment from Bruce Ashfield indicated that this statement needed to be
SRCREV_meta_pn-linux-yocto_mymachine ?= \
        "84f1a422d7e21fbc23a687035bdf9d42471f19e0"

(From yocto-docs rev: 917bfca1af7f82ad330854849e0ec4f30289543a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:59 -07:00
Scott Rifenbark
1ae239ff80 documentation/dev-manual/dev-manual-kernel-appendix.xml: Added kernel reconfigure example.
this example uses the CONFIG_SMP configuration.  By default, this configuration is
disabled.  The example shows how to use menuconfig and explains the .config file
role and how you can use it combined with menuconfig to manage multiple configuration
changes.

Thanks to Darren Hart for identifying this simple change to demonstrate how to
change the kernel configuration.

(From yocto-docs rev: c571c01b8589ad6f76e66388c3ae24a1de029f65)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:59 -07:00
Scott Rifenbark
958c355665 documentation: updated the note in the front matter to use a link specific to manual.
(From yocto-docs rev: 8008a00e188dc0569d0fb6e5cf497637a0b57747)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:58 -07:00
Scott Rifenbark
7e8ae603b5 documentation/dev-manual/dev-manual.xml: updated note for latest documentation.
The link does not exist yet.

(From yocto-docs rev: e74440f299eee8372090a749a301b10871eb297f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-20 17:51:58 -07:00
Richard Purdie
36396b6ecb xcb/libpthreads: Add BBCLASSEXTEND to resolve missing providers in world builds
(From OE-Core rev: 9134800548a03bfe3a7e351a15f2129bcb3cc680)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 16:28:17 -07:00
Joshua Lock
03211ed092 bluez4: drop usbpath from DEPENDS
We don't (currently) have usbpath in oe-core, so drop it from the DEPENDS to
make BlueZ buildable again.

(From OE-Core rev: 919714837116097483fa3f475d2e1ad3b18961d1)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
CC: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 15:41:09 -07:00
Richard Purdie
0427c2bd68 libgcc: Remove fetch/unpack/patch noexec stamps
libgcc now uses shared work directories so we cannot mark
these tasks as noexec. If we do, the tasks may not run
and hence gcc may not get patched for example which
results in failures.

This patch simple removes the flags since they're unneeded.

(From OE-Core rev: e2c03b2a80efeeea2298bdba385671d0ae208e95)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 15:26:04 -07:00
Kang Kai
8aa14b444f newt: update distro tracking fields
Update newt distro tracking fields

(From OE-Core rev: c539155c51e43680711130df9050d3e92282591e)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Kang Kai
89034c2ab8 alsa-tools: update license and add distro tracking fields
Update license and other informations, then bump up PR.
Update distro tracking fields.

(From OE-Core rev: b989bb90919eb28cb92e842e989aa5b1fd7f068c)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Kang Kai
c7016bac66 slang: add homepage and update distro tracking fields
Add slang homepage and bump up PR.
Update distro tracking fields.

(From OE-Core rev: 86c9732728e2e29051d6e6059e19c015c06358cb)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Kang Kai
b8a4d1033a mailx: update license and distro tracking fileds
update mailx license and bump up PR, and update distro tracking fields.

(From OE-Core rev: 290d51e9c8884886995b8adbafe4aa5eb5f879bf)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Kang Kai
ddc01beb5d eglibc: check dependencies among eglibc options
Fixes [Yocto #1212]

'libc-inet' and 'ipv4' are the same thing, so remove 'libc-inet'
from the default DISTRO_FEATURES_LIBC in file default-distrovars.inc.

Check the dependencies among eglibc configurable options, make sure
that eglibc could be compile successfully only with part of the options.

(From OE-Core rev: 4b8d13b72c2c338ec5606f19aa5d7554558c51e5)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Dongxiao Xu
f6206cbfb0 acl: Use BPN instead of PN for style like lib${PN}
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

(From OE-Core rev: 58c66c0ef6f9233a308362f0aad36a753206770c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Dongxiao Xu
1216f6fe63 attr: Use BPN instead of PN for style like lib${PN}
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

(From OE-Core rev: 4bb32686a727e0458f091a34800345938fb56606)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Dongxiao Xu
3b387d7b63 ea-acl: Use BPN instead of PN for style like lib${PN}
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

(From OE-Core rev: 2768b3b26d392d988d392c80e52e1f5e9da23c5c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Dongxiao Xu
90d20d0d63 curl: Use BPN instead of PN for style like lib${PN}
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

(From OE-Core rev: 618de3f788a22127def8244c0d6ebd3608ed5577)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:20 -07:00
Jingdong Lu
30ba9839a2 initrdscripts: fix init-live.sh
Fix bug: [YOCTO #686]
Because the variable "ROOT_IMAGE" in init-live.sh is not correct, it fails to
run when using liveCD. Modify value of "ROOT_IMAGE" to "isolinux/rootfs.img".
If we want to use liveCD, we also need to add some kernel options related to
CDROM support when compling kernel.

(From OE-Core rev: f9b6f41c9249cc90f7621d446eafae5e5508dd6e)

Signed-off-by: Jingdong Lu <jingdong.lu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Martin Jansa
b174d51b42 bluez4: update recipe from meta-oe
* fix DEPENDS
* fix typo in --enable-pandd option
* remove unsupported options
* update packaging
* remove distro override which doesn't belong to oe-core

(From OE-Core rev: dd678881dfd8626299ee3b68284d2f41f07c1c56)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Martin Jansa
a6e564b6ab task-core-boot: allow distribution to override default dev_manager provider with VIRTUAL-RUNTIME_dev_manager
(From OE-Core rev: 6a38215b5214de2da82232f05ed1d29d3c422b3c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Khem Raj
02a702806a gdb: Add lttng-ust to DEPENDS only for eglibc
(From OE-Core rev: 689c906a9c47b08f9597787c4158e203135787bb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Khem Raj
e303a46902 task-core-tools: Use LTTNGUST variable instead of hardcoding lttng-ust
This helps build on uclibc where lttng-ust is not included

(From OE-Core rev: 6baf17f1604853a1770c14cdc6ee0493beab6829)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Kang Kai
357434dfb1 at: make at usable for common user
Fixes [Yocto #1297]

The pkg_postinst was added to fix Yocto #675. But it seems not needed
any more. Remove it then unprivilege user could use at.

(From OE-Core rev: dec5dfa334ce1b2524f80fab3d3f37e476f54a9f)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Phil Blundell
db530d7c81 libxslt: fix packaging of static libraries
This prevents warnings about .a files being installed but not shipped.

(From OE-Core rev: 187302dcc1536469a01c6ebd433eda4a4c2c411a)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Anders Darander
1927021c78 scripts/runqemu: modify search paths for libgl
On e.g. Debian libql is found under /usr/lib/x86_64-linux-gnu/libGL.so.
Use a wildcard to match different locations, as uname -i only return unknown on Debian.

(From OE-Core rev: 66e34066a0ac71f4212824b1e6353a4d323f4e21)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Anders Darander
85a6d0c260 qemu: modify search paths for libgl
On e.g. Debian libql is found under /usr/lib/x86_64-linux-gnu/libGL.so.
Use a wildcard to match different locations, as uname -i only return unknown on Debian.

(From OE-Core rev: 32f74152dfe583f005c8654910b15cd7d0e3d421)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Dongxiao Xu
ce4c33ed8a sysvinit: Change ${PN} to ${BPN} in file names
Some files in sysvinit are named with ${PN}. In multilib case, ${PN}
will be prefixed with "lib32-" or "lib64-". Use ${BPN} instead.

(From OE-Core rev: c7bcf6e7c851269178af99ed9096207ab14fe76c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Dongxiao Xu
be71f55f27 busybox: Change ${PN} to ${BPN} in file names
Some files in busybox are named with ${PN}. In multilib case, ${PN}
will be prefixed with "lib32-" or "lib64-". Use ${BPN} instead.

(From OE-Core rev: d6c24d3944ed662591372fbd7bf855395655d634)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Wenzong Fan
d66c0672a4 perl-native: Update find_perl to find the perl wrapper
[YOCTO #1157] [YOCTO #829]

This is a common issue to the packages which using 'MakeMaker.pm' to
generate their Makefiles. The function 'find_perl()' in 'MM_Unix.pm'
will be used to figure out the path/link of 'PERL/FULLPERL', but it
always find the 'perl.real' instead of perl wrapper.

Just update it to find the perl wrapper correctly.

(From OE-Core rev: f1d4fb02d9952138acab6d647ce8975363dfdbab)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Joshua Lock
ce1f0286b9 glib-2.0: explicitly disable dtrace and systemtap for native varaint
This prevents systemtap and dtrace being picked up from the host as
reported on the Yocto mailing list by Andre Haupt <andre@bitwigglers.org>

(From OE-Core rev: 0d883b5df25635fbad45191d297cbdf78a6c1fe0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:19 -07:00
Anders Darander
5f32d1fcc5 qt4: allow a reduction in build time
When reducing build time by adding QT_DISTRO_FLAGS from the set '-no-gui -nomake tools
-nomake examples -nomake demos -nomake docs', build failure can occur, due to not building
all tools.

* Make rm not error out when removing one of the, possibly, non-existing tools.
* Only try to rename qtdemo, if qtdemo exists.
* Check if the phrasebook path exists, and only then call do_split_packages()

(From OE-Core rev: 51ef8335df895603e75345a18aaefe2359b2387f)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:18 -07:00
Paul Eggleton
e043c9d1ce sanity.bbclass: add optional untested host distro warning
SANITY_TESTED_DISTROS, if specified, is expected to be a
newline-delimited list of distro identifier strings, e.g.

SANITY_TESTED_DISTROS = " \
        Ubuntu 11.04 \
        Fedora release 14 (Laughlin) \
        "

(spaces, tabs etc. are trimmed)

If SANITY_TESTED_DISTROS is defined, we will attempt to detect the host
distribution. If the distribution is not in SANITY_TESTED_DISTROS or we
could not detect the distribution then we show a warning during sanity
checking.

Provides the mechanism for fixing [YOCTO #1096].

(From OE-Core rev: 75e3875341ddc8940e9ee2ccbbb2ec18194a68e6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:18 -07:00
Paul Eggleton
333d571b36 image.bbclass, kernel.bbclass: create warning file about deleting deploydir files
New users sometimes delete files in tmp/deploy/images assuming they will
be re-created just by re-running the build, and then are confused when
this doesn't work. To discourage people from doing this, create a file
called README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt in
tmp/deploy/images containing an explanation of what needs to be done to
re-create files there.

Fixes [YOCTO #1315] and [YOCTO #1346].

(From OE-Core rev: 4316c5e9eec67d71f4699102a63a5f968bd8d1d9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-19 09:29:18 -07:00
Darren Hart
915f1e0773 meta-yocto: add linux-yocto-rt support for all meta-yocto machines
Provide the necessary info in the linux-yocto-rt_3.0.bbappend to
support building the RT kernel for each of the meta-yocto example
BSPs.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-08-18 22:20:52 -07:00
Darren Hart
e744900fa5 meta-yocto: allow for virtual/kernel override
Conditionally assign the PREFERRED_PROVIDER_virtual/kernel in the meta-yocto
machine configs to allow the user or other layers to override it. This is
required to use the linux-yocto-rt kernel, for example.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-08-18 22:20:52 -07:00
Darren Hart
978cdd5cb5 kernel: restore crtsavres.o to enable building external modules on powerpc
Fixes [YOCTO #1276]

As of Linux kernel version 3.0.1, and much earlier, the make clean target
removes arch/powerpc/lib/crtsavres.o. As this object is present in
KBUILD_LDFLAGS_MODULE, it is required to build external modules, and should
therefor not be removed by make clean.

While I do not advocate fixing buggy kernels in the generic kernel classes,
we should probably account for this one in kernel.bbclass as it affects
such a long list of kernel versions.

(From OE-Core rev: 2e83e6755441cb14bd907d306974338c15173189)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:56:07 +01:00
Joshua Lock
5ab332a205 shadow: switch to a fetchable SRC_URI
Swith the SRC_URI to the one referenced on the sources section of the
utilities download page (http://pkg-shadow.alioth.debian.org/download.php).

(From OE-Core rev: c8cdfcd2fe06593d8523b94c33920a607429004a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:56:06 +01:00
Jiajun Xu
354bd05ee6 poky.conf: add flag opengl into DISTRO_FEATURES
libsdl will check if opengl is set in DISTRO_FEATURES, then enable
openGL option during do_configure. It is required for 3D game testing.

Fix [YOCTO #883]

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:49:11 +01:00
Beth Flanagan
0671cf3b68 buildstats.bbclass: Fixing task endtime
Task endtime got left out of recent changes. Adding it back in.

(From OE-Core rev: f1e4b049438218347922f13de810782be0205c3d)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:23:14 +01:00
Anders Darander
718e07647d ofono: conditionally enable bluetooth
Use DISTRO_FEATURE to conditionally depend on bluez4, as well as enabling bluetooth.

(From OE-Core rev: 4024bf2874e9da4fd0dd9a2b90a48e8a259781cc)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:18:31 +01:00
Anders Darander
c8294d1e6d create-pull-request: increase likelihood of detecting a rename
Decrease the similarity percentage needed to recognize a delete/add-pair followed by an edit,
as a rename.
This make reviewing patches easier.

(From OE-Core rev: 3944f5e02d22b70b3bcd733a80f005dbd8e248a2)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:58 +01:00
Anders Darander
08a5e24689 connman: use DISTRO_FEATURES to enable wifi and bluetooth
As wifi and bluetooth is set in DISTRO_FEATURES, connman should respect this during configuring.

(From OE-Core rev: 869a1efee685d59c762b965b98ac9c247be68c29)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:58 +01:00
Anders Darander
17f8e984cf qmake_base: add uclibceabi
Partial sync of qmake_base from meta-oe.
* Add a matching rule for *linux-uclibceabi-oe-g++, to make qmake_base.bbclase more
similar to the version in meta-oe.

(From OE-Core rev: 2a1fa5b3f1424e9264d29027c589b55cf2feb109)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
032f3963ef distro_tracking_fields.inc: update the info for the following recipes
cronie
mdadm
freetype
xproto
glproto
dri2proto
util-macros

(From OE-Core rev: 4abc11e6b61d9b26d1b4ebc6c249467a47c5de07)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
99fbca7271 dri2proto: upgrade from 2.4 to 2.6
The patch has been integrated into 1.4.14 so let's remove it.

(From OE-Core rev: 8e0e309966576d705c75eb0e82cbf46e57fc0e46)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
4580761533 glproto: upgrade from 1.4.13 to 1.4.14
The patch has been integrated into 1.4.14 so let's remove it.

(From OE-Core rev: 6f66bab6bf9fa202bfbbaed5d86c0d585e23571e)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
f08d7da6f4 xproto: upgrade from 7.0.21 to 7.0.22
(From OE-Core rev: 8f80adf492226af775487e9224d4892a5f9c72a3)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
8c9add68f4 freetype: upgrade from 2.4.4 to 2.4.6
freetype-2.4.6/docs/LICENSE.TXT changed a little to describe more clearly
the compatibility about FreeTypeLicense and GPLv2+, but the actual license
remains unchanged: it's still  LICENSE = "FreeTypeLicense | GPLv2+".

(From OE-Core rev: 06e0d50a936c01d4f02e7208b7e3784947436462)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:57 +01:00
Dexuan Cui
ce6a08ce95 util-macros: upgrade from 1.14.0 to the latest version 0.15.0
(From OE-Core rev: c8289590ac4b60d1bec5397585c9ceb3d2982ae1)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Dexuan Cui
7bf3c4f793 mdadm: upgrade mdadm from 3.2.1 to 3.2.2
Remove the patch since 3.2.2 has integrated it.

(From OE-Core rev: a39c0c022090ba078ba6132ff69f9587fea592be)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Dexuan Cui
87bffdb9c4 cronie: upgrade from 1.4.7 to 1.4.8
(From OE-Core rev: 42ee402fc4ecee9349c1e7ce31c55275f34b121e)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Dexuan Cui
c94bc4d6ee tcf-agent: add openssl into DEPENDS
[YOCTO #1330]

If tcf-agent's do_compile happens before openssl does populate_root, we'll
get such a compilation failure:
framework/channel_tcp.c:34:27: fatal error: openssl/ssl.h: No such file or directory

Thanks Kumar Gala for reporting this!

(From OE-Core rev: 9314d5844a16812bb66e8c9c471ee9fd70a574c2)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Cc: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Dexuan Cui
ad96bb7f00 bluez-hcidump: upgrade from 2.0 to 2.1
[YOCTO #1371]

Recently bluez4 was updated from 4.82 to 4.96 and bluez-hcidump can't build:
src/hcidump.c:54:24: error: redefinition of 'ntoh64'.

In 2.1 the duplicated definition of ntoh64 was removed.

(From OE-Core rev: 15a369b4e65fc8068ba7fec70ec24b7c23e7950b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Lianhao Lu
57bd62ad5c package(_ipk).bbclass: opkg using ALL_MULTILIB_PACKAGE_ARCHS
[YOCTO #1345]
The new variable ALL_MULTILIB_PACKAGE_ARCHS contains all the values of
PACKAGE_ARCHS for each multilib variants. The opkg backend now uses this
new value insteald of the PACKAGE_ARCHS to update the opkg indexes and
to generate the opkg configuration files. This allows the normal
packages and multilib packages may be installed into the same rootfs.

(From OE-Core rev: b774bf44ef004276da12a83ebd69715c00b596ac)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Bruce Ashfield
f759bde4f7 linux-yocto: meta SRCREV bump
Bumping the linux-yocto meta SRCREV to pickup new target
configurations and features.

(From OE-Core rev: 110ca8dcaee263bc3c8380bcb91f6ada20655c14)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:56 +01:00
Bruce Ashfield
d77948e1cf qemu: change default kernel to 3.0.x
The explicit setting of version preference to 2.6.37 is
no longer required. All of the qemu targets have been built
and boot tested on 3.0.1 for core-image-minimal and core-image-sato
and are safe for wider build/boot testing.

(From OE-Core rev: 14831b6ba26a6e43a1771a8516d0af145006c504)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Bruce Ashfield
867032e10a linux-yocto: bump version string to 3.0.1
There was some confusion around the 3.0 version string in the
linux-yocto recipe when the merged version was 3.0.1. Bumping
the version string should clarify what version will be fetched.

(From OE-Core rev: 29017755329ff1ad740fe094a4a89057e9c2a48d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Dongxiao Xu
80041138cc gtk-icon-cache: Adding MLPREFIX when dynamically set RDEPENDS
When dynamically setting RDEPENDS, we need to add MLPREFIX to adapt
multilib case.

[YOCTO #1368]

(From OE-Core rev: 2ed808b764f023c074fa3aabef18b4f874cd82c7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Dongxiao Xu
4219debe9d package_rpm: Fix package rename issue in multilib case
do_package task will write information into pkgdata and
do_package_write_rpm will read them out. Take lib32-dates as an example,
one of its RDEPENDS is li32-gtk+, and PKG_lib32-gtk+ = "libgtk-2.0",
these info is stored at:
tmp/pkgdata/x86_64-pokymllib32-linux/runtime/lib32-dates.

Function "mapping_rename_hook" in do_package_write_rpm is to handle
those renamed packages. However before it executes, translate_vers
has stripped the multilib prefix out, making it failed to find PKG_gtk+
value in pkgdata.

This commit moves the strip_multilib out of translate_vers and call it
after "mapping_rename_hook".

[YOCTO #1368]

CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: 216a1cfe7973e99e3e79585040e91f7a6e298884)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Dongxiao Xu
c228ffb3f1 package_rpm: enhance strip_multilib function
The previous logic could only strip MLPREFIX from the first element in
an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c]
will result in [a lib32-b lib32-c]. We need to strip prefix one by one.

This commit change the logic to strip all elements' multilib prefix.

[YOCTO #1368]

CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: ca729de4b261e4feba74fdf0b2578890bc80ea90)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Dongxiao Xu
b51e8344ca rootfs_rpm: Fix DEFAULTTUNE setting in multilib case
"virtclass-multilib" is set to OVERRIDES in multilib.bbclass, remove the
duplicated settings here.

Besides, DEFAULTTUNE has overrided and it can be directly used.

[YOCTO #1368]

CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: dc78cdb318671862c5cd15711364c1c4462d9ece)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Zhai Edwin
5440cb560d qemu: Make qemu buildable inside qemux86/qemuppc target
It requires libx11 and libGL(if enabled GL) for building, which introduce extra
dependence in qemuppc target. Futhermore, qemu's GL code is x86-oriented, thus
some hacks needed for building in qemupcc. For simplicity, just make qemu GL's
code for native only, so that qemu building is okay in world build.

[YOCTO #1011] got fixed.

(From OE-Core rev: e744d4e2d33d914b2ca31be2d4eadab9fbcc3251)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Dmitry Eremin-Solenikov
2df547206a libxcb: enable native/nativesdk builds as was done previously in meta-oe
(From OE-Core rev: 552fc421b54303fbaad57b4596350e1bc4ed6674)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:54 +01:00
Phil Blundell
e1297d1cd0 libproxy: remove dependency on X libs
Nothing in the source refers to libX11 or libXmu so there would appear to be
no good reason for them to be in DEPENDS.  It looks as though these are perhaps
a relic from an earlier version which did need those libraries.

(From OE-Core rev: 5d0b45c982b92eecde48cc10dd095927fa38a047)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:54 +01:00
Phil Blundell
b7937a4f39 cmake.bbclass, perlnative.bbclass: arrange for cmake to find perl-native
When CMake is looking for perl, it only searches in the specific directories
that it's told about and ignores ${PATH}.  If perlnative is in use, ensure
that the appropriate installation path is added to the list of places that
cmake will look for perl, otherwise it won't ever be found.

(From OE-Core rev: add9e4e30e0b1e0f93479b43ce61953efb90985d)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:54 +01:00
Richard Purdie
a21ff559e7 Fixup remaining bb.msg.domain users
(Bitbake rev: d5abdacaf9ac604ef8d8c1bafb9b30617827cb4f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 17:31:52 +01:00
Scott Rifenbark
a7e4747f49 documentation/dev-manual: Scott Garman's review comments.
Made several editing corrections for various terms and phrasings based on
Scott Garman's review.

(From yocto-docs rev: a21ba80151ce82683d45cd67ddb0728d779b007a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:04 +01:00
Scott Rifenbark
8c45abc747 documentation/dev-manual/dev-manual-start.xml: Note added
Bruce Ashfield suggested adding a note near the explanation of creating
a bare clone that suggests if the user already has a linux yocto kernel
Git repo handy they can reference that repo in the 'git clone --bare'
command rather than referencing the upstream source repository as
a way to speed up the process.

(From yocto-docs rev: 132a9cfcef3397677b54eace7831d25f8a321b93)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:04 +01:00
Scott Rifenbark
e45f2aa8db documentation/dev-manual/dev-manual-model.xml: Comments from Ashfield
1. now refer to the linux 2.6.39-rc1 as the 'latest upstream release
   candidate available.

2. Noted where you can find the linux-2.6 kernel - in the meta-kernel-dev
   area.

These changes were from Bruce Ashfield's review of an early version
of the Yocto Project Development Manual.

(From yocto-docs rev: 83d6e75e7d5f4d60040c4b7ebb0c7bb11b1b67e8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:03 +01:00
Scott Rifenbark
e04e02cd46 documentation/dev-manual: Changed 2.6.37 to 3.0 for 1.1 release.
Bruce Ashfield's review comments indicated that we will be using
linux-yocto-3.0 and not linux-yocto-2.6.37.  So I am putting these
changes in to anticipate the 1.1 release.

(From yocto-docs rev: ecbe1c90c5aa65b2dde77ba6094b5956e37d061d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:03 +01:00
Scott Rifenbark
9584cb5d15 documentation/dev-manual/dev-manual-model.xml: rescaled kernel figure
Had to set to scalefit="1" so this figure would appear correctly in the
PDF version of the manual.

(From yocto-docs rev: 166305f39859e11f15702a8f6eb1f5a524b589c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:03 +01:00
Scott Rifenbark
a10057e507 documentation/dev-manual/dev-manual-newbie.xml: fixed git-format-email
Bruce Ashfield review comment indicated incorrect usage of
'git-format-email' command.  Changed to 'git format-email'

(From yocto-docs rev: 888cc503f836787462dc9d3029c761323037df52)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:03 +01:00
Scott Rifenbark
c263dbd223 documentation/dev-manual/dev-manual-model.xml: Added optional wording.
(From yocto-docs rev: 5a2281449853346d8ae14c932404031981d8b61a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:03 +01:00
Scott Rifenbark
4cf3cd4a9d documentation/dev-manual/dev-manual-model.xml: wording change.
(From yocto-docs rev: 52a34bf697afa749f2f0e2c1f79e4b6b177364c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:02 +01:00
Scott Rifenbark
fe155a19f2 documentation/dev-manual/dev-manual-newbie.xml: wording change.
(From yocto-docs rev: 752f43be2f5746d239a937d6b5ca8c5d6d83eac0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:02 +01:00
Scott Rifenbark
65485af49b documentation/dev-manual/dev-manual-kernel-appendix.xml: structure added
Two additional section placeholders added for changing kernel
configuration and for adding kernel recipes added to the appendix.

(From yocto-docs rev: 27c0ea3dddb652c4367b097b612edbdb76d7725d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:02 +01:00
Scott Rifenbark
3c631db138 documentation/dev-manual/dev-manual-kernel-appendix.xml: edit pass.
(From yocto-docs rev: 77dec8c28ce519b6b9c2afd2a5410653fdfd22e8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:02 +01:00
Scott Rifenbark
fe76c380cc documentation/dev-manual/dev-manual-model.xml: re-write of the kernel dev overview
After getting the example in kenerl example appendix working I discovered
much that was wrong in this overview.  The overview attempts to generalize
all the situations for kernel modification.  These include code changes,
configuration changes, and the addition of new recipes.  It also includes
the situation where a developer wants to gather all the changes into a
separate layer for distribution and for when they want to push them up
the tree.

(From yocto-docs rev: 5498d7b38d3a2f14befa82b66af9919a449e0f04)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:02 +01:00
Scott Rifenbark
53a901e92e documentation/dev-manual/dev-manual-kernel-appendix.xml: added note
There are some issues with the fact that the build process parses
all kernel .bbappend files whether they are used or not during the
build process.  I added an extra build configuration note regarding
editing the .bbappend file.  I noted that you either have to edit
every .bbappend file and comment out the COMPATIBLE_MACHINE statement
or simply remove all the kernel recipe append files except the one
you are interested in.

(From yocto-docs rev: ecece911a1623b9b12bb73bab50891fbdea7afbe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:01 +01:00
Scott Rifenbark
8d95334b5a documentation/dev-manual/dev-manual-kernel-appendix.xml: file name change
I changed 'linux-yocto-2.6.37.bbappend' to 'linux-yocto_2.6.37'.
Also started a new note.

(From yocto-docs rev: c78a937b9df37f68beee31c51914811ddd4d771f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:01 +01:00
Scott Rifenbark
ae7a214522 documentation/dev-manual/dev-manual-bsp-appendix.xml: changed file name
I changed 'linux-yocto-2.6.37.bbappend' to 'linux-yocto_2.6.37.

(From yocto-docs rev: 0eb284374ef9dfb26142ae4d0254a0fe4056d0ab)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:01 +01:00
Scott Rifenbark
264785096a documentation/dev-manual: Positioned figures for PDF output
Had to tweak the viewing area to get two figures to display
correctly in the PDF version of the file.

(From yocto-docs rev: 89b2618e11c05744f54a9fbd39cd899117a2affc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:00 +01:00
Scott Rifenbark
376a7e5ec3 documentation/Makefile: Updated tarfile list
I added the figures/kernel-example-repos.png to the list of tarfiles.

(From yocto-docs rev: 8967a9b8ae6fb27f7c0aeb44c2d04eacba98ed81)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:00 +01:00
Scott Rifenbark
d328082279 documentation/dev-manual/figures/kernel-example-repos.png: new figure
This figure provides a conceptual look at the repos and file structures
needed to run the example.  Or, for that matter, to get set up to
modify the kernel.

(From yocto-docs rev: d469449f1d416a6a96bdde297daae68a9f3094e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:00 +01:00
Scott Rifenbark
04c77b9fb5 documentation/dev-manual/dev-manual-kernel-appendix.xml: re-write
I performed a major re-write of this section that touched all
aspects of it.  This was necessary due to the fact I could not get
the example running because of not understanding the repo location
and branch needs to set it up.

(From yocto-docs rev: 160e66d0c8ddf11584c53306def916a45a05f62b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:00 +01:00
Scott Rifenbark
d14ab10f5b documentation/dev-manual/dev-manual-start.xml: split out poky-extras
I separated the section that explains how to set up the poky-extras
git repository.  This used to be in the kernel area right after
creating the bare clone and the copy of the bare clone.  I thought
it would be better as a stand-alone bulleted item.

(From yocto-docs rev: 4ea917c7218f238e2b0d2bb377a97f4b1f5eb1f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:27:00 +01:00
Scott Rifenbark
1cafae44ec documentation/dev-manual/dev-manual-start.xml: Added to kernel source setup
I added instruction on how to set up a bare clone of the linux yocto
kernel files and then how to create a clone of the bare clone.
Finally added a part about setting up the meta-kernel-dev repository.
This setup should do it for those that want to modify the kernel and
not have to download source files from the upstream everytime they
make a change.

(From yocto-docs rev: 90ae8249d119d5db17507eea37eb6deb0822a682)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:59 +01:00
Scott Rifenbark
f12904a922 documentation/dev-manual/dev-manual-kernel-appendix.xml: partial edits.
still working on the kernel example.

(From yocto-docs rev: 90c8cb778d3c146f24626a681f05b88bab1e9766)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:59 +01:00
Scott Rifenbark
bfb2c2c6af documentation/dev-manual/dev-manual-kernel-appendix.xml: new section for image
I added a new section for the example that ensures the image for qemu
is available.

(From yocto-docs rev: a3ca52cb7088ec85502b507093082f35f23befd4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:59 +01:00
Scott Rifenbark
572449b29c documentation/dev-manual/dev-manual-newbie.xml: Added anchor point
I placed an anchor point in the Index of Downloads bulleted item for
reference from other documents.

(From yocto-docs rev: 7d4f96d20667fbf5f52e25840b39f1994b1c4cd3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:59 +01:00
Scott Rifenbark
209158c26b documentation/yocto-project-qs/yocto-project-qs.xml: updated env and qemu start
tightened up the section that talks about setting up the environment
and starting qemu.  I just added a little more clarification on the
kernel-image variable.

(From yocto-docs rev: 54c037d45ca46c09544dae67793237c76a1205f5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:59 +01:00
Scott Rifenbark
c9b3c34049 documentation/yocto-project-qs/yocto-project-qs.xml: updated the filesystem
Updated the downloading the filesystem section to have an inclusive list
of image profiles and a reference to more information on that.  Also
included more explanation of the two types of image tarballs.

(From yocto-docs rev: 14965cbedd719beb6191771c6dcb92742f4229bf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:58 +01:00
Scott Rifenbark
55f384a38f documentation/yocto-project-qs/yocto-project-qs.xml: updated image download
I made some edits to the section that shows how to download a pre-built
qemu image.

(From yocto-docs rev: 89127522b09cc201008dc760f8b1397b5ff36e42)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:58 +01:00
Scott Rifenbark
b4da263510 documentation/yocto-project-qs/yocto-project-qs.xml: updated toolchain section.
I changed the 'i686' stuff to 'i586' after seeing that it is named that
in the actual index of downloads area.  I also tightened up the example
a bit.

(From yocto-docs rev: ab76e8f8aa3d8d24d1fd8ff3b7f8f175b8b8f663)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:58 +01:00
Scott Rifenbark
fa1fb04bbb documentation/dev-manual/dev-manual-kernel-appendix.xml: partial updates
various things going on in the kernel example.  Far from complete.

(From yocto-docs rev: 0c0548b79589a606f91bdb39e5a2ece71f4c108e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:58 +01:00
Scott Rifenbark
07544deddc documentation/dev-manual/dev-manual-bsp-appendix.xml: better link added.
In the section that describes how to get the local Yocto Project files
I was referencing the general section.  I have added a more specific link
to the bulleted item that describes how to get these files.

(From yocto-docs rev: 2b03c4d39a83d731581a6cd63a5c9e5c7e4cb57b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:58 +01:00
Scott Rifenbark
97f2475f13 documentation/dev-manual/dev-manual-model.xml: referenced cloning kernel files.
In the flow section for the kernel modification section I added a new
step for getting a local copy of the linux yocto kernel files.  The section
indicates that you need a local Git repository of the files and then
references back to the Getting Started section for an example.

(From yocto-docs rev: 6601e06635c6f57ddbf8109cc1dfdc8a8e7f74af)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:57 +01:00
Scott Rifenbark
0fb815e5fd documentation/dev-manual/dev-manual-start.xml: Added section for kernel files.
In the section that shows how to get various groups of files needed for
using YP I added a bulleted item to show how to clone the linux yocto
kernel files.  this section will be referenced from the kernel example
flow section and the kernel example appendix.

(From yocto-docs rev: 4126d1456290d677ab8dc1d02d11aac6eb8add46)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:57 +01:00
Scott Rifenbark
e60821b980 documentation/dev-manual/dev-manual-start.xml: removed "probably".
the user should use Git commands..no probably about it.

(From yocto-docs rev: 84b0b4e8c7b6b89c81503f40ba855e9f624887c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:57 +01:00
Scott Rifenbark
5756282dde documentation/dev-manual/dev-manual-model.xml: removed image description list.
I moved the image description list to the Yocto Project Reference manual
where it really belonged.  Appropriate references were added.

(From yocto-docs rev: fc74439c09d1f45cdfbc24d972045e574ffa91ec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:57 +01:00
Scott Rifenbark
52435ce880 documentation/poky-ref-manual/ref-images.xml: Updated the list of images.
The list of images has grown.  I added all images reported in the
1.1_M2 build using the 'ls meta*/recipes*/images/*.bb' command.

(From yocto-docs rev: 62e12a71c73a5e3a20c6887d754a96eb9e754b48)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:57 +01:00
Scott Rifenbark
898e161009 documentation/dev-manual/dev-manual-model.xml: Edit pass over the kernel flow.
I made another edit pass through the high-level kernel modification flow
list.  this is the list I will work from while trying to actually do
the task.

(From yocto-docs rev: ac9b2d8961abec9016c6c1e10222d0af36c4be4c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:56 +01:00
Scott Rifenbark
12afc63888 documentation/dev-manual/figures/bsp-dev-flow.png: Updated BSP flow diagram.
(From yocto-docs rev: 4dc246fa368f35efa93ff88f323ca433abe096da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:56 +01:00
Zhai Edwin
8fc3ea6b96 distro-tracking: Update info for gpgme, libassuan, apr... after last upgrade.
(From OE-Core rev: 13db5f420ca9bff98561f80d78958278734ad1f4)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:22 +01:00
Xiaofeng Yan
b10a2ba200 libx11-diet: Fix bug 1050
[YOCTO #1050]
I got do_compile failure during building qemux86 image
| ../../../doltlibtool: line 17:
/distro/dcui/0704/pc1/build/tmp/work/i586-poky-linux/libx11-diet-1.3-r2/libX11-1.3/modules/im/ximcp/../../../libtool:
No such file or directory

This is due to not found libtool, but i586-poky-linux-libtool in libX11-1.3
So I disable dolt for solving this problem.

(From OE-Core rev: 710ad20f005cb96a6aabf3f0eb184a254ada1610)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:21 +01:00
Robert Yang
356ae2563b The Skeleton initscript doesn't work on minimal image
Fixes bug [YOCTO #1165]

The /etc/init.d/skeleton doesn't work on minimal image, this is
because of the pidofproc doesn't return "$?" correctly, so store
$? in the variable status would fix it.

(From OE-Core rev: 4d31193a6969df25bb85a9862b7295e85dcec04b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:21 +01:00
Yu Ke
16bbb3144c qt4.inc: expand the package name for multilib case
in the qt4.inc python annomyous code, there is case where package name
is set to "${QT_BASE_LIB}-tool", and  FILE_${QT_BASE_LIB}-tool is set to xxx.
here QT_BASE_NAME=qt4. multilib.bbclass will try to rename the FILE_qt4_tool to
FILE_lib64_qt4_tool. unfortunately, there is only FILE_${QT_BASE}-tool, no
FILE_qt4-tool, so FILE_lib64_qt4_tool will not be defined.

to fix this issue, this patch expand the QT_BASE_LIB when assigning the package
name.

FIX [YOCTO #1344]

(From OE-Core rev: b5d381133660fe338796b965131cee39cec01b96)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:21 +01:00
Yu Ke
c3a66d9919 qt4.inc: revise RRECOMMENDS
using ${QT_BASE_NAME}-dbg as RRECOMMENDS is not correct in qt4-x11-free
case, because ${QT_BASE_NAME}-dbg i.e. qt4-dbg does not exist

this patch fix it by using ${PN}

(From OE-Core rev: d72adf3c4cf3de09d2a0bc6d1b9e7c9fd127bd60)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:21 +01:00
Jiajun Xu
92b2e942e1 libsdl: enable opengl for libsdl
To enable opengl for libsdl, we need DEPENDS on virtual/libgl. Add a check for
"opengl" in DISTRO_FEATURES and when it's set, "--enable-video-opengl"
and "virtual/libgl" will be added into EXTRA_CONF and DEPENDS.

(From OE-Core rev: c28e62125209aa2e9606f094a4100ac1107fdd28)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Acked-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:20 +01:00
Jiajun Xu
9939c3664e libsdl: add target version
Rename libsdl-nativesdk to libsdl to enable target version. libsdl
is needed in some graphics testing.

(From OE-Core rev: 2d719f69676e9a64f7baf34f058441b887dfa14a)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Acked-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:20 +01:00
Phil Blundell
8f56fc89cc default-distrovars: add x11 to default DISTRO_FEATURES
(From OE-Core rev: 74f7e5c683dfd71c4042789b8dd4908f76f7e07a)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:20 +01:00
Phil Blundell
98d201f860 dbus: only use x11 if DISTRO_FEATURES has selected it
This makes it possible to include dbus in a non-X11-equipped DISTRO.

(From OE-Core rev: abf2ab7b4d6e9f615f86ba84e684ae0753c602a8)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:20 +01:00
Phil Blundell
3c1701b7c9 cairo: only use x11 if selected in DISTRO_FEATURES
This makes it possible to build cairo-using apps without X11.

(From OE-Core rev: ba22cfac56120d001a53d33aee3b8eb3feda2786)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:19 +01:00
Phil Blundell
0a5fe1cdd1 libx11: skip self if x11 not in DISTRO_FEATURES
This stops (most) x11 packages leaking into a non-x11 distro by mistake.

(From OE-Core rev: 2f94ff4fdb66755ba2448794baea19315ff96273)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:19 +01:00
Phil Blundell
254b09ede7 pixman: remove spurious dependency on libx11
Nothing in pixman actually uses libx11, so no need to DEPEND on it.

(From OE-Core rev: e3432253da5af35345a978c7435e31fee6938217)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:19 +01:00
Khem Raj
171efb209d intltool: Use nativeperl binary for PERL instead of 'perl'
License is GPLv2 change it.
Defining PERL for native intltool is not needed anymore

(From OE-Core rev: d4b4ecb33c727ed54ab52de79e69cd3f0d14fb35)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:19 +01:00
Paul Eggleton
5b4c0b327a qt4: delete unpackaged uic3 to avoid unpackaged file warning
All the other utilities get deleted as they should not be packaged,
delete this one as well.

(From OE-Core rev: 2c036c71cf0d978fac2ddc4abfb702d42af6bcda)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:18 +01:00
Paul Eggleton
f9e9d8d45c qt4: package QML plugins and correct their install directory
QML components from Qt were installed to ${prefix} before and never got
packaged. This is now fixed and QML components are now installed into
${libdir}/${QT_DIR_NAME}/imports and packaged into qt4-*-qml-plugins
package.

Additionally qmlviewer and the examples/demos are now dependent upon
these plugins as needed.

Originally based on OE commit 4adf97be8c5b5f71ad92095a19968af534baa9e2
by Simon Busch <morphis@gravedo.de>

(From OE-Core rev: 49c43e2bea64f70a22a2741ea280bd1c13e5110a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:18 +01:00
Paul Eggleton
a7500e27a7 qt4-native: restore build of uic3, qdbuscpp2xml and qdbusxml2cpp
These tools are required to build some external utilities (such as those
found in KDE). We avoid building qdbus and qdbusviewer as these are
not required.

(From OE-Core rev: 11f456f4f5c1d4b2aad93856ff6cbb4d7ce3969e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:18 +01:00
Paul Eggleton
8cb51a508c qt4: replace qt4-tools-native with qt4-native
Installs native versions of the Qt libraries in addition to the tools,
allowing compilation of external native tools that require Qt libs.
PROVIDES qt4-tools-native so it should be a drop-in replacement.

Developed with reference to the corresponding qt4-native changes in OE.

(From OE-Core rev: a6fd9b8104e8d3cbfce0376811aeeef746ad6889)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:18 +01:00
Lianhao Lu
fb2dfe7ac8 eglibc: Modify ldd script according to multilib config.
Bug fixing [YOCTO #1236].

1. Collect all the values for RTLDLIST for the current multilib
configuration to modify the ldd scripts.

2. Collect all the values for KNOWN_INTERPRETER_NAMES for the current
multilib configuration. Set the correct ld.so names for ldconfig to deal
with the multilib configuration.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:17 +01:00
Lianhao Lu
375cf1561c utils.bbclass/multilib.class: Added misc supporting functions.
1. Added variable MULTILIB_VARIANTS to store all the instance variants
for multilib extend.

2. Added function all_multilib_tune_values to collect the variable
values for all multilib instance.

3. multilib bbclass handler will save the orignal value of all variables
defined in MULTILIB_SAVE_VARNAME.

(From OE-Core rev: 18bba910e04bff75460f408e4557d4bae21ad592)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:17 +01:00
Lin Tong
92ad22dc08 valgrind: supporting on Linux kernel 3.x
The old valgrind package do not support for Linux kernel 3.x, only for
kernel 2.4 and 2.6. Now adding the configuration to the configure.in
file to support Linux kernel 3.0.

This commit fixes the problem in valgrind [YOCTO #1129]

(From OE-Core rev: 5fc1e6d27f52e2032aa7a8ca20bb90d939d03c77)

Signed-off-by: Lin Tong <tong.lin@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:16 +01:00
Noor Ahsan
c7dbcf85c9 bluez4: Added new recipe 4.96 and removed 4.82 version
* Added new recipe 4.96 and removed 4.82 version and its files.

(From OE-Core rev: 000d5244e21837338614ef4450f54c8744fffcd6)

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:16 +01:00
Richard Purdie
e7981ad10d build.py: Fix cut and paste error
(Bitbake rev: a1980fc89e45be6fbd4a193aaa8142e8bebcf3f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 12:40:45 +01:00
Joshua Lock
61d83c6d6b Ensure only the filtered environment variables are inherited from the OS
The recent change which modified inheritFromOS to use the intial
environment, rather than the current environment, introduced a bug such
that variables which had been cleaned from the environment where still set
in the data store.

This patch changes things such that a list of approved environment
variables is saved after the environment is cleaned and only the variables
in this list are inherited in inheritFromOS.

CC: James Limbouris <james.limbouris@gmail.com>
CC: Chris Larson <clarson@kergoth.com>
(Bitbake rev: cb6c07054e8baf94614713ec257c643b22266d75)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:37 +01:00
Richard Purdie
a6c48298b1 bitbake/msg.py: Drop manually created domain lists
This patch removes the majority of the domain related code from bb.msg
on the grounds that we now support dynamic creation of logging domains
so having this hardcoded is just error prone and less flexible. It also
makes the msg code overly and needlessly complex.

It also removes the bb.msg.debug/note/warn/plain/error functions since
we might as well remove them rather than try and fix them at this point.

(Bitbake rev: 7627b561cbcb1482b464d69db70f38ea663180f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:11 +01:00
Paul Eggleton
09ce78cc4f bitbake-layers: extend show_layers
Make show_layers print layer name, path, and priority in a simple table
rather than just the value of BBLAYERS.

(Bitbake rev: 29afbf10c00b5ccdd8d2c063dda3f3e2b6aa1624)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:11 +01:00
Paul Eggleton
6f32cb2741 bitbake-layers: use logger.plain instead of info
The INFO: prefix makes sense in bitbake itself but in bitbake-layers is
just noise. Changing this exposed the fact that the logger was not being
set up correctly (which should be done anyway to correctly support
logging from BitBake), so this has also been fixed.

[RP: Sync with logging changes]
(Bitbake rev: 79751524cb1f0388975c6228f8c112e6af80f154)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:11 +01:00
Paul Eggleton
6ba1beb76c bitbake-layers: show help with no command specified
Instead of running show_appends when no command is specified, show the
default help text. Running show_appends by default made sense previously
when that was the only real command provided, but now we have several
useful commands implemented.

(Bitbake rev: 62a2e0aa1ac8a459928d1f72783b6ca9c1756350)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:11 +01:00
Paul Eggleton
dc2c873dc6 bitbake-layers: improve default command help
Improve default help output and make unrecognised commands print it out
rather than just an error.

(Bitbake rev: 84f20eb874e7e0ae59bc76883ba9698b0cfcdb6b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:49:11 +01:00
Joshua Lock
1c30381714 bb/ui/crumbs/tasklistmodel: simplify conditional in include_item
No need to check if the name ends with -native or -cross as path will be
None in this instance.

(Bitbake rev: bca739cdf55ba2a1c5e372e512d4f088345f245f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:47:09 +01:00
Joshua Lock
cf1cd31c5c bb/ui/crumbs/tasklistmodel: make package_model_filter a little safer
Ignore names that include '-cross', rather than just 'cross'

(Bitbake rev: 06abfc9caf7f237a6bb762fb3ae9f3dec99688ca)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:47:08 +01:00
Joshua Lock
c82dc42d4d bb/ui/crumbs/tasklistmodel: optimise find_path_for_item
If the item_name contains virtual/, -native or -cross it won't be present
in the model. Return None early in this circumstance rather than iterating
the entire model and still returning None.

(Bitbake rev: aeef5a4b3999bd924e89e7738efe24f80ae94fd0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:47:08 +01:00
Joshua Lock
912a33bd7e bb/ui/crumbs/tasklistmodel: include package level information
Until now the hob UI has only contained recipe (pn) level targets in the
data store, this patch switches to including package level information.

This is slightly slower in all model related cases (more entries) but gives
much more flexibility for image customisation.

(Bitbake rev: 049927e99c8d1db7273fbd179b2614bd2ea9403b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:47:08 +01:00
Joshua Lock
2bd2717198 bb/crumbs/tasklistmodel: filter nativesdk packages out of views
(Bitbake rev: 0c62bbc5fb149c8baccffebd5f17e25d3e7dbf69)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:47:08 +01:00
Richard Purdie
7ee93b206a bitbake/logging: Overhaul internal logging process
At the moment it bugs me a lot that we only have one effective logging
level for bitbake, despite the logging module having provision to do
more advanced things. This patch:

* Changes the core log level to the lowest level we have messages of
  (DEBUG-2) so messages always flow through the core logger
* Allows build.py's task logging code to log all the output regardless
  of what output is on the console and sets this so log files now
  always contain debug level messages even if these don't appear
  on the console
* Moves the verbose/debug/debug-domains code to be a UI side setting
* Adds a filter to the UI to only print the user requested output.

The result is more complete logfiles on disk but the usual output to the
console.

There are some behaviour changes intentionally made by this patch:

a) the -v option now controls whether output is tee'd to the console.

Ultimately, we likely want to output a message to the user about where the
log file is and avoid placing output directly onto the console for every
executing task.

b) The functions get_debug_levels, the debug_levels variable, the
set_debug_levels, the set_verbosity and set_debug_domains functions are
removed from bb.msg.

c) The "logging" init function changes format.

d) All messages get fired to all handlers all the time leading to an
increase in inter-process traffic. This could likely be hacked around
short term with a function for a UI to only request events greater than
level X. Longer term, having masks for event handlers would be better.

e) logger.getEffectiveLevel() is no longer a reliable guide to what
will/won't get logged so for now we look at the default log levels instead.

[YOCTO #304]

(Bitbake rev: 45aad2f9647df14bcfa5e755b57e1ddab377939a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:14:28 +01:00
Denys Dmytriyenko
fce0b963b4 lib/bb/providers: make "checking PREFERRED_PROVIDER_%s" a debug message
In verbose mode there are hundreds of these "checking PREFERRED_PROVIDER_%s"
messages, cluttering the output and obscuring the more important resulting
"selecting %s to satisfy runtime %s due to %s" messages. Individual "checking"
lines are more suited for debug mode, similar to "sorted providers for %s
are: %s", hence convert logger.verbose() to logger.debug().

(Bitbake rev: 85dfbec26abb5b944758f5c4749b7df16c0fb2e6)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 09:13:53 +01:00
Darren Hart
30381645ee rt-tests: use an explicit commit ID
Using a tag, like v0.73, forces network access to resolve a
commit ID. Use the corresponding commit ID in the recipe.

(From OE-Core rev: d126e22f6b3f27196144f87e22b36ebccd6dea65)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 21:07:02 +01:00
Joshua Lock
7eb72b07ef lib/bb/ui/crumbs/hobprefs: fix erroneous save/reparse
We need to unset the reload_required variable once we've triggered a reload
so that we don't cause a reload each time the preferences dialog is shown and
dismissed, regardless of whether anything has changed.

(Bitbake rev: b3ad7acebfad3063c3364f4492f53b25bf53cf81)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 21:07:00 +01:00
Joshua Lock
b829654a5a bb/ui/crumbs/configurator: introduce writeConfFile method for all writes
Configuration files are written in several places, this refactors the code
to use a common method.

(Bitbake rev: 2843645755abb736220d7404dc6e853929093ff9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 21:07:00 +01:00
Joshua Lock
fdcf262672 bb/ui/crumbs/hobeventhandler: adapt to reset -> reparse change
The API has changed from just a reparse call to a reset call followed by
a reparse call.

(Bitbake rev: c828ba571c3cf27d1bbd65184e287c45ef64de89)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 21:06:59 +01:00
Joshua Lock
1926591876 bb/command|cooker: refactor the reparseFiles logic
Turn the reparseFiles logic into a command to reset the cooker's state
machine and a noop which triggers a cache rebuild.

The resetCooker command resets the cookers state machine such that a cache
update will be triggered by any async command which requires the cache.
The reparseFiles command remains as a noop async command that has the
needcache property set to True so that when called it ensures the cache is
built.

Patch from Richard with the addition of removing the force parameter from
the updateCache method.

CC: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: a98f698fe9f38310024013e58475e6d1447ee154)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 21:06:59 +01:00
Kumar Gala
57fd78eae9 tune-ppce5500: Add a set of tune files for PowerPC e5500 core
The PPC e5500 is a 64-bit core so we add both a 32 and 64-bit set of
tune files to allow for:

* pure 32-bit build
* pure 64-bit build
* 32-bit base, 64-bit multilib
* 64-bit base, 32-bit multilib

(From OE-Core rev: 60286934715c5f7f27d539f4a43a7226488ef963)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:58 +01:00
Kumar Gala
246dcc3a22 tune-ppc: Update to pass glibc configure option to get cpu specific support
We need --with-cpu based to glibc to get proper support on 603e & e500mc
to pickup proper math libs to deal with sqrt.  These core do not
implement the fsqrt[s] instructions that the normal PPC math libs
utilize.

This causes use to not set AVAILTUNES specifically to the sub-arch only
as we arent generically compatiable.

(From OE-Core rev: 078699cb8c707830c86b55787fd535d87171388e)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:57 +01:00
Darren Hart
1319890793 recipes-rt: add a README documenting the contents of recipes-rt
Document the non-obvious bits of using the recipes-rt recipes.

(From OE-Core rev: 2c86e636972bd02b35523b36bc81a2765f430f70)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:57 +01:00
Darren Hart
15c2a7035d Move meta-rt recipes to oe-core (meta)
Keeping the rt recipes in their own layer has led to maintenance issues,
particularly with the linux-yocto-rt recipes. As these kernel types are part of
the same linux-yocto source repository, it seems reasonable to include the rt
kernel recipes alongside the standard recipes. A new recipes-rt directory for
the other recipes provides adequate separation and eliminates the need for a
separate layer.

As there is no meta-rt/conf/layer.conf to force the kernel, users must now
specify the rt kernel in their local.conf or in the machine.conf:

PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"

The merging of the rt recipes into the core also eliminates complications with
multiple layer dependencies for new BSP layers. Having to either separate RT
BSPs from standard BSPs or force users to add meta-rt to bblayers even when not
building an RT BSP (because the RT BSPs in the same layer would fail to parse
without it) was sub-optimal at best.

(From OE-Core rev: bafaaad264fe3e745c714951ddcf2784d33b755a)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:57 +01:00
Darren Hart
d9bf0a05c2 meta-rt: default KMACHINE and SRCREV_machine to avoid parsing errors
Without a default KMACHINE and SRCREV_machine the git URL will fail to
expand to something usable and we get a parsing error. This approach was
also used in the non-rt version of this recipe.

(From OE-Core rev: 92aa6a587f4fabfadbebdb7ae24306d36f43910a)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:57 +01:00
Darren Hart
eca7687996 meta-rt: add an -rt-sdk image
Add images including the SDK without the addition of the grapical environment or
packages.

(From OE-Core rev: c594579fe1d9a8c97f2dcf8fbec9fc401e73c667)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:56 +01:00
Darren Hart
a197c6faf6 meta-rt: rename minimal-rt images to -rt, drop live image
Remove "minimal" from the image recipe names for -rt. Additional recipes types
will be added (-rt-sdk for example) and there is no need to keep so many image
type descriptors.

Drop the -live image as it is now obsolete.

(From OE-Core rev: e5ff4d0ec5752ccc76cfbf6cae827051cb402fc5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:56 +01:00
Darren Hart
cb08a02101 meta-rt: remove atom-pc support from the main layer
meta-rt resides in oe-core, as such it should only support the
qemu* machines. BSP layers should add support for specific
hardware platforms.

(From OE-Core rev: a9940d0660a1e056f399748fbee0835abe9627f5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:56 +01:00
Darren Hart
3a68590a54 meta-rt: add linux-yocto-rt_3.0 recipe
Add the initial linux-yocto-rt_3.0 recipe.

qemumips and qemuppc doesn't work quite yet, so they have been omitted from
COMPATIBLE_MACHINE.

(From OE-Core rev: 443533914c43c79d8b15185c32f75df450c6aae7)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:56 +01:00
Darren Hart
8f7cb53a29 meta-rt: canonicalize directory structure
Use the more standard recipes-*/*/*.bb layout.

(From OE-Core rev: 3b2fb9c103c126aff1370f4b98a91649aa70e36b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:56 +01:00
Darren Hart
b6c9c183fc meta-rt: rt-tests v0.73 instead of AUTOREV
AUTOREV is handy is a development aid, but it really shouldn't be used as a
default as it breaks the consistency and repeatability of a build. It also
causes additional fetches which may not be desired or expected.

(From OE-Core rev: 378368306435fda58cea8105670725feebfe6359)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:55 +01:00
Darren Hart
897f83efc0 meta-rt: refresh linux-yocto-rt recipe
Rename the recipe to match the linux-yocto recipe renames using the kernel
version in the PV portion of the filename.

Add the SRCREVs to the recipe as was done with the core linux-yocto recipes.

Add qemux86 as it is also present in the linux-yocto-2.6.34.git repository.

(From OE-Core rev: 6e9e19230ee731856639f71c5adfb01a92f620d8)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:55 +01:00
Mark Hatle
3e8a98489d package_rpm: Fix attemptonly and suggest packages
[YOCTO #1325] [YOCTO #1366]

Packages that were in the PACKAGE_ATTEMPTONLY and SUGGESTS were not
being properly found, which was causing image creation failures.

In PACKAGE_ATTEMPTONLY, when an item was not found, it caused an
error.  This should have been a note, followed by skipping the
package.

The SUGGESTS processing was simply broken.  It was using a
non-existant function, due to an apparently typo.

In addition to the above, the MLPREFIX processing was not being
done properly, preventing multilib packages from working in this
with PACKAGE_ATTEMPTONLY.  (SUGGESTS doesn't need this as the names
are munged when creating the packages.)

(From OE-Core rev: 4fb6723ab1ee14cf539f0ef2df63a3ee1b978de6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:55 +01:00
Kumar Gala
86504a12ad xcb-proto: update based on changes to python.m4 in automake
1. We dont need the aclocal patch as this will be handled by automake
2. We need to update xcb-proto.pc.in to know about ${libdir} since
   we'll end up with something like:

   pythondir=${libdir}/python2.6/site-packages

(From OE-Core rev: 4de2ba0eeaefbd6813443c6906108b815af9e109)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:55 +01:00
Kumar Gala
7449a372eb automake: Update for python.m4 to respect libdir
As we tweak libdir we need python libs that utilize configure to respect
it setting.  By updating the python.m4 template, when we regen automake
files they will than respect the setting of libdir which is standard for
any autotools based recipe.

(From OE-Core rev: d300cfe603b00fc963f7ed874563016fcbcc47a8)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:54 +01:00
Mei Lei
577a914512 init-install.sh: Fix make partition and make file system issues
[YOCTO #1151]

Change the offset from the beginning of the disk to aligne the blocks.

In this script, we use mkfs.ext3 to create file system after partition, but we use mkpartfs to create file system repeatly,
and get some warnings about choose another specific tools to create file system for reliability.

So use mkpart instead of mkpartfs and only use mkfs.ext3 to create file system.

(From OE-Core rev: 67c9804e0416defb7c3f69bd02bbae3710e5be0a)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:54 +01:00
Mark Hatle
83ada5598f package_rpm.bbclass: Update the platform config and --target
When constructing the /etc/rpm/platform file, we need to ensure that
the any, all, and noarch platforms will allow any "linux" variant to
be installable, not just matching variants.. i.e.

arm-oe-linux-gnueabi should be able to install noarch-oe-linux

Also ensure that we pass the full canonical arch via the --target=
parameter.  This allows us to define the proper platform settings
for all packages.

(From OE-Core rev: c6bb9445de90cfb46db9c40842dbe1bfbb5b8ce8)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:54 +01:00
Mark Hatle
9308457404 rpm: Fix the canonical arch --target processing and cleanup
[YOCTO #1352]

Fix the canonical arch --target processor to work with the way OE
handles the GNU canonical arch.

Also cleanup a number of files that are no longer used, and refactor
the no-loop patch into the "no-loopmsg" patch.

(From OE-Core rev: 25904ad2bdeadda9189805bb7a210eafe5795024)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:54 +01:00
Bruce Ashfield
8bc2ebf59a linux-yocto: update SRCREVs for preempt-rt support + build fixes
Updating the SRCREVs for linux-yocto to pickup a series of changes
that were made to support the build/boot of preempt-rt on 3.0.x.

7782fc6 routerstationpro: remove CONFIG_PREEMPT* definitions
b51300c meta/rt: sugarbay preempt-rt support
735711e meta/rt: common-pc[-64] preempt-rt no branch fix
53026bf meta/rt: jasperforest preempt-rt support
99bc260 meta/rt: fri2 preempt-rt support
e746ab8 meta/rt: fishriver preempt-rt support
fa1b73f meta/rt: emenlow preempt-rt support
1f686ab meta/rt: crownbay preempt-rt support
64a5069 meta/rt: arm-versatile-926ejs preempt-rt support
7f827a1 meta/rt: mti-malta32-be preempt-rt support
930a983 meta/rt: qemu-ppc32 preempt-rt support
367fc55 meta-rt: rsp preempt-rt support
b8a62ea meta/rt: mpc8315 preempt-rt support
b5f9daa meta/rt: beagleboard preempt-rt support
1e6e9eb meta/rt: use CONFIG_PREEMPT_RT_FULL for 3.0 kernels
eb5a06b boot: move -Os patch to standard branch
c692a23 meta/rt: remove explicit patch references
8a2ac6b meta/rt: updating to rt8
76b3679 meta: atom-pc update definition to re-use preempt-rt

(From OE-Core rev: 4cb49cc3212fb110bd90f29e3644df5e7030a359)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson
4a9955837c cross: also empty PACKAGES_DYNAMIC
(From OE-Core rev: 6135bfb1c462a6ce1d6f2e54c6d1b7609fb7c76d)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson
ce110eddfc package: allow setting a section for locale packages
(From OE-Core rev: 521cab0239352e3b4316183c20e63cc06f5ae92b)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson
07de9dc55c package: include SECTION in the pkgdata
(From OE-Core rev: 47664bb8309f5d791d7aa040a38c7324cb4f14e6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson
5ddbfab109 sanity: shift the required utils into a variable
(From OE-Core rev: 4b766d82b15f9821a8c7299826799fad9bb88666)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:53 +01:00
Chris Larson
f93ddea31f nativesdk: inherit relocatable
(From OE-Core rev: 6a7a5381357861a098640c42ba2f894213086b41)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:52 +01:00
Chris Larson
f1982dfb52 insane: add linux-gnu to the platform data
(From OE-Core rev: 206f1501b0ccdd971ee40f3d112b4756077a9af9)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:52 +01:00
Chris Larson
c45e3150e9 busybox: don't strip the main binary
With this, we get a useful busybox-dbg package.

(From OE-Core rev: 95c9834a358118f322159139950dd9a92f561e88)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:52 +01:00
Richard Purdie
b85957b011 local.conf.sample: Cleanup and improve
local.conf is the first thing anyone new to the project sees. Over time it
has built up a ton cruft and isn't even accurate in places.

This patch:

* Moves things to local.conf.sample.extended if a new user is unlikely
  to need to immediately care about the options
* Reorders the file to be more intuitive to a new user
* Moves certain default values to default-distrovars.inc in cases where
  most users wouldn't want to change the value
* Adds large blocks of text to explain what an option does. There have
  been too many cases of a user not realising what some of these
  settings do and how they can use them to their advantage (like DL_DIR
  for example).

(From OE-Core rev: a0ccb33ac5a2231c979c3369159f763dff1e0a2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-12 17:21:19 +01:00
Kumar Gala
d31d5e5b34 gnome-doc-utils: respect python-dir setting EXTRA_OECONF
Don't just assign but append to EXTRA_OECONF so we maintain python-dir
setting fo EXTRA_OECONF.

This fixes issue if libdir is set to something like '/usr/lib64'.

(From OE-Core rev: a92d56058b21913570bb17ae416c3b00afce055e)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 21:23:58 +01:00
jani.uusi-rantala@nokia.com
e79534d2af Magic file path should be given for rpmbuild
Magic file path should be given for rpmbuild in
_rpmfc_magic_path define so that build system default file
is not used by accident. Not doing this caused many
packages to fail building in several systems.

Fixes [YOCTO #1358]

Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
2011-08-11 21:22:52 +01:00
Khem Raj
0350be9458 scripts/runqemu: Make it run on ubuntu 11.10
location of libGL has moved in ubuntu 11.10
so we look for it in the new locations

(From OE-Core rev: 8d80918995a15663db7cc9c0683d45ee8ba7d45c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:22:06 +01:00
Xiaofeng Yan
e8ca7c9046 chkconfig: remove link for update-alternatives to disambiguate
[YOCTO #936]
"update-alternatives" installed: one in /usr/sbin from chkconfig \
(symlinked to "alternatives"), and the other in /usr/bin \
from update-alternatives-cworth.
It appears for whatever reason that the one from chkconfig is run \
during postinst processing but if you run the script from the command \
line it gets the other one.
this is due to differences in the PATH environment variable.

The following is the sequence to call scripts after kernel booting
inittab
  -->rcS
     -->./S40networking(PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
     -->S98configure(call rpm-postinstall)
        #"/usr/sbin" is found prior to "/usr/bin", so update-alternatives from chkconfig is run in this script
  -->rc5.d
  -->profile(profile:4:PATH="/usr/local/bin:/usr/bin:/bin" profile:15: PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin)
  #"/usr/bin/" is found prior to "/usr/sbin", so update-alternatives from update-alternatives-cworth is run in this script

So I remove the symlink (update-alternatives linked to chkconfig). The one from update-alternatives-cworth is left alone.

(From OE-Core rev: f3a52a73251b26ead15abd4910dc82c1011ab852)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:22:06 +01:00
Leandro Dorileo
6cfe8c0a14 scripts/combo-layer: a simple way to script the combo-layer conf
This small patch introduces a a very simple and basic way to script
the combo-layer conf file. With that a combo can be shared with no
need to change its config - associated to the use of environment
variables for example.

*Similar* to bitbake it considers every value starting with @ to be
a python script. So local_repo could be easily configured as:

[bitbake]
local_repo = @os.getenv("LOCAL_REPO_DIR") + "/bitbake"

or any more sophisticated python syntax.

This version updates the config file description so users can be
aware of.

(From OE-Core rev: 62269642ce0e0e56d68d495b6c4d27327c9ed649)

Signed-off-by: Leandro Dorileo <ldorileo@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:22:05 +01:00
Richard Purdie
6ede105953 sstate: Add level 2 debug so its possible to see what sstate is doing
Currently its hard to figure out if/when sstate is checking for possible
packages to speed up builds. This patch adds level 2 debug output which
better indicates what files are being searched for an why.

[YOCTO #1259]

(From OE-Core rev: a752b23767189f2678367e47ca0b41f49c56a631)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:08:02 +01:00
Richard Purdie
8f8facbed4 gcc: Various fixups to ensure consistent gcc builds
We ensure that:
* the shared work directory contains PR and ensure PR values are consistent across gcc builds
* the regexp to handle library directories is in a specific task and run once

This avoids breakage that was seen in incremental builds after commit
be1f70d68b where the interpretor could
become corrupted. This was due to the sed expression corrupting
the source directory.

(From OE-Core rev: 970af6b09e1d69041b0d82fa56ace19543405eb1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:08:02 +01:00
Richard Purdie
6697ce2885 bitbake/usermanual: Update to be more in sync with bitbake codebase
(Bitbake rev: 6c382c2ee7740a5e78b4135648870e5c181ec23f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:08:00 +01:00
Richard Purdie
1dd10a5405 bitbake: Fix -e when used with -b option
When using the -e and -b options together an expection was occuring.
This was due to incorrect initialisation and this patch adds in the
correct initialisation calls.

(Bitbake rev: e7ade6dcd646b478df79f968934a0edcb63254f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:07:59 +01:00
Joshua Lock
eeaa87f3ec bb/cache: rename confusing variable
The bNeedUpdate variable doesn't reflect its purpose, and doesn't match
coding style (type encoded in variable name, camel case) - rename to
cache_ok.

(Bitbake rev: cc4158db215493ac270e27f92d977bcbe337f3db)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:07:59 +01:00
Joshua Lock
33dc927bef bb/ui/crumbs/tasklistmodel: don't include an item in its own depends
This causes the simple removal algorithm to perform needless circular logic

(Bitbake rev: 396bbc220604c19ced4add30dd17f7f22d5e0022)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:07:59 +01:00
Joshua Lock
af8ef31667 bb/ui/crumbs/tasklistmodel: correctly uniquify dependency list
Fix thinko - the squish method returns a uniquified list, it doesn't modify
the list in place. Therefore the call to squish() was useless as its return
value was never assigned.

(Bitbake rev: 93bae8f223cdeb7b7e31c309b5d785b97ae1c2ac)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:07:59 +01:00
Joshua Lock
858c79c3e9 bb/ui/crumbs/tasklistmodel: fix some typos and add comments to mark()
Two similarly named variables in the mark() method resulted in the wrong
variable being used in a couple of places. This patch adresses this in
several ways:
1) Renames the variables to be less similar
2) Uses the correct variables
3) Adds some coments to document the methods intent

Partially addresses [YOCTO #1355]

(Bitbake rev: ba9f2fe496eec0a221b563ffc9bb76eca592192f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-11 19:07:58 +01:00
Joshua Lock
786033f53c bb/cooker: only emit ConfigFilePathFound for files which were parsed
When the requested configuration file is found on disk check the
against the configuration files in __depends/__base_depends to ensure the
file was parsed before emitting the ConfigFilePathFound event.
If the requested file wasn't parsed just return (and don't emit).

Fixes [YOCTO #1246]

(Bitbake rev: 705d14d1e1108e0544c7eab827f1242f0839add9)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:38:20 +01:00
Yu Ke
6bb2a22b36 fetcher2: show warning message when checksum is mismatch
Currently, if checksum mismatch, fetcher will try mirror,
and if mirror fetching fail, it will show error "Unable
to fetch URL xxx from from any source" which actually
hide the real reason and make user confuse.

so showing warning message will make it more clear.

Fix [YOCTO #1256]

(Bitbake rev: b3e924297d670963714343d02f7898798fec84fd)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:12 +01:00
Richard Purdie
a43fcd15e9 bitbake/ui/knotty: Ensure previous failures aren't masked by a final successful command
When running bitbake in -k mode, the last command might succeed but we
still need to preserve any previous failure codes.

(Bitbake rev: 3ad3a53545b37ee8b26b22f4a0e00b19615b449a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:12 +01:00
Richard Purdie
83eacdcf13 bitbake/ui/knotty: Ensure 'No Provider' errors set an exit code
If a No Provider error is shown we need to set the exit code to
show an error occured too.

[YOCTO #1322]

(Bitbake rev: 4d4e01aa3e38d809617e8c1bbaa081182a2308a0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:12 +01:00
Kumar Gala
1a3a1f1e42 eglibc: force GLIBC_EXTRA_OECONF to not be uset for nativesdk
Don't use GLIBC_EXTRA_OECONF for the nativesdk builds.  Easiest solution
is to just override it settings.  Otherwise we might pickup configure
options ment for the target build.

(From OE-Core rev: a1f87ec65fa1a6d5ce9a010548dbe7c01ab9b711)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:08 +01:00
Chris Larson
d0552e9c65 oe.terminal: improve how we spawn screen
- Name the screen session 'devshell', to avoid confusion if running bitbake
  itself under a screen session.
- Display a warning message when spawning screen, so it's clear to the user
  that screen has been run (otherwise do_devshell just appears to hang).

(From OE-Core rev: 13e01d29d14e7e7403d0c45c5699ea9160243868)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson
057cc1e816 Rework how the devshell functions
In the new implementation, each known terminal is defined as a class in
oe.terminal, as a subclass of bb.process.Popen.  terminal.bbclass wraps this
functionality, providing the metadata pieces.  It obeys the OE_TERMINAL
variable, which is a 'choice' typed variable.  This variable may be 'auto',
'none', or any of the names of the defined terminals.

When using 'auto', or requesting an unsupported terminal, we attempt to spawn
them in priority order until we get one that's available on this system (and
in the case of the X terminals, has DISPLAY defined).  The 'none' value is
used when we're doing things like automated builds, and want to ensure that no
terminal is *ever* spawned, under any circumstances.

Current available terminals:

    gnome
    konsole
    xterm
    rxvt
    screen

(From OE-Core rev: 69f77f80965fa06a057837f8f49eda06855c4086)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson
94faa71d5c core-image: adjust to use the new IMAGE_FEATURES support
(From OE-Core rev: fa7fbc9695829f7fa981b16d9559e9e984494e09)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson
a86252db8b image: add support for generally useful {dev,doc,dbg}-pkgs features
(From OE-Core rev: 7fd8fe53072d3bebb31da4e556878d3c25a10478)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Chris Larson
073caff599 image: implement IMAGE_FEATURES
IMAGE_FEATURES is analagous to DISTRO_FEATURES and MACHINE_FEATURES, for
root filesystem construction. Currently, the only supported features are
any defined package groups, as used by the oe.packagegroup python
module.

Example usage:

    PACKAGE_GROUP_myfeature = "vim iptables"
    IMAGE_FEATURES += "myfeature"

(From OE-Core rev: f9f4416a8cfbd37c7d3a8eb19ee82820e2e6b38c)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:07 +01:00
Dexuan Cui
b0761479e4 scripts/oe-buildenv-internal: improve the error detecting for $BDIR
The previous fix for a bug in Ubuntu 10.04 readlink,
be2a2764d8, notified the user when a trailing
slash was used. As there is no semantic difference, simply remove any
trailing slashes and proceed without nagging the user.

See [YOCTO #671] for more details.

(From OE-Core rev: 074ca832c0274e0e92698b4d006ef2708be105b8)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Cc: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:06 +01:00
Richard Purdie
cf3ed8231c tune-x86-64: Fix DEFAULTTUNE order so weak default to overrides the arch-ia32 version
(From OE-Core rev: 34f2b2a207df8013f70a6de5a5f7e911ee2a8d71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:06 +01:00
Richard Purdie
18ec7f6091 sqlite3: Ensure nativesdk package extension is handled correctly
This avoids the warning:

NOTE: multiple providers are available for runtime libsqlite3-dev (sqlite3, sqlite3-nativesdk)
NOTE: consider defining a PREFERRED_PROVIDER entry to match libsqlite3-dev

until such times as we convert nativesdk to use a prefix like multilib.

(From OE-Core rev: 8fb81f538c80735d32db86a20e7f46b3902b4e75)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:06 +01:00
Richard Purdie
2a0f785c9e base.bbclass: Add MULTI_PROVIDER_WHITELIST manipulation for multilib
(From OE-Core rev: 4dbc340c63a86879fa727908cfb502f299f5d21b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:06 +01:00
Richard Purdie
7239530a13 default-distrovars.inc: Allow world builds to be successful
Currently we exclude some packages with license issues from world builds
but we don't exclude packages that depend on them leading to errors
when trying a "bitbake world". This patch also blacklists the dependees
so that a world build doesn't show horrible errors and requires the -k
option.

[YOCTO #1262]

(From OE-Core rev: c69453fe94a649c518b0e6d79616f05579b864ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:05 +01:00
Daniel Lazzari
7898960c43 defaultsetup: Use .= to add TCLIBCAPPEND to TMPDIR
Lazily appending causes a bug where wrong cache is
cleared when BB_SRCREV_POLICY = "clear".

Tested with qemuarm on uclibc/eglibc in same build dir

(From OE-Core rev: 391286cfae94f979bc60ecca2e73501781abdd37)

Signed-off-by: Daniel Lazzari Jr <dlazzari@leapfrog.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:05 +01:00
Khem Raj
e154e51011 qemu: Poke more paths for presence of libgl
On ubuntu 11.10 libGL is not in
/usr/lib/`uname -i`-linux-gnu/ directory
so we search this dir too.

(From OE-Core rev: ced947e989dfbca8055fe57e14207cb6f1357430)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-10 13:33:05 +01:00
Jessica Zhang
6503452732 bb/ui/hob: Restore toolchain relevant preference settings for build
Fixes [#YOCTO 1354]

(Bitbake rev: c3827690b9ba3625d1df32d9517efbe13d7d9a1e)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:19:59 +01:00
Joshua Lock
d50bfaa9a1 bb/ui/hob: move some code around to avert a race
The data-generated and model-updated signals are different, the model
should only be accessed *after* the model-updated signal. Move code
setting the image combo's backing model to the model-updated callback to
ensure the combo is accurately set when changing the machine with an
image selected.

(Bitbake rev: 46953d3b4595667935d43fe7b20264ae0efd1bdf)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:19:59 +01:00
Joshua Lock
138178f5d2 bb/ui/crumbs/tasklistmodel: prevent hang when removing item
It's possible to trigger an infinite recursion when removing a package
where many of the dependencies share their dependencies. Prevent this by
keeping a list of removed item names and only removing the item when it's
not in the list.

Addresses [YOCTO #1319]

(Bitbake rev: 0ed58f28e869cceeefa930a3f1f46c5f3e9ffe21)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:19:59 +01:00
Khem Raj
ecab5d610b uclibc_0.9.32: Sync mount.h from eglibc
mount.h has few more defines that are being used by newer
applications such as systemd

(From OE-Core rev: 866a34dd80228a0c10cbea5d7715e2acd6cea131)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:58 +01:00
Richard Purdie
ae213b252f base.bbclass: Ensure PREFERRED_PROVIDER and PREFERRED_VERSION values are set for multilibs
(From OE-Core rev: b12cd9f378eeafb6e23f379d5b005baa6e9a1a62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:58 +01:00
Dongxiao Xu
ff6b14d03f module-init-tools-cross: Clean the RDEPENDS value
cross recipes should not RDEPENDS on any package. Cross recipe has no
"PACKAGES" define, thus clean RDEPENDS_${PN} value to ensure correctness
in multilib.

(From OE-Core rev: b91fbc597c182dcbd514639a24c575b0cccc8741)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:58 +01:00
Dongxiao Xu
b3dbcb0368 gnome-doc-utils: Avoid RDEPENDS on bash in native case.
gnome-doc-utils-native should not RDEPENDS on bash, thus add RDEPENDS
override to fix the issue.

(From OE-Core rev: 0676c235cdd85143a3a7e0699f343ebf5fb51e3d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:57 +01:00
Nitin A Kamble
3808ff2419 x86 tune inc files: add x32 abi tune parameters
(From OE-Core rev: 19252e0592c59ed0fb06ca510d11e564518f746d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:57 +01:00
Nitin A Kamble
153ae95c9b insane.bbclass: add entries for linux-gnux32
For x86_64 new ABI : x32, there is a new
name for the TARGET_OS: linux-gnux32

(From OE-Core rev: 9dd0a7bf64ca2ca3613ab45dc779e9dcc1592342)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:57 +01:00
Nitin A Kamble
23c16e22e7 siteinfo.bbclass: add entries for new x86_64 ABI x32 target
(From OE-Core rev: 1d14c146e31d2d4111d8daafbfe01d23f036fd7d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-09 15:17:57 +01:00
Martin Jansa
ca394457c5 eglibc: remove PACKAGES from eglibc.inc
* PACKAGES were defined in eglibc.inc as well as eglibc-package.inc, definition
  from eglibc.inc was overriden from recipes including eglibc.inc only

(From OE-Core rev: ae97ce68a739dfcf6e7de3feda444b1466503588)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 14:43:45 +01:00
Lianhao Lu
4ae834e747 multilib.conf: Supported multilib extend in more recipes.
Added more recipes supporting multilib extend.

(From OE-Core rev: 844b2db35ba5b2e263960aa79dee0d4eb2db3f2e)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:59:33 +01:00
Mei Lei
3fad1d8c7f lsb: Fix hard code libdir issue for multilib
(From OE-Core rev: 722aa1eb162b80f57290dd924fd7b41654af3a2b)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:59:33 +01:00
Saul Wold
e27ff5a9ad kernel-yocto: add CCACHE_DIR dependency to do_kernel_configme
[YOCTO #1350]

Since do_kernel_configme is added before the standard do_configure task
we needed to add CCACHE_DIR so when the kernel builds it's host configure
tools the CCACHE_DIR exists.

(From OE-Core rev: 564d5fd5a289be0ca47d53608e43f9b78d5c6ee0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:22 +01:00
Bruce Ashfield
098ae437df linux-yocto: merge v3.0.1
3.0.1 -stable has been released. This now becomes the baseline for
the 3.0 linux-yocto tree. As was the policy in the 2.6.34 and
2.6.37 kernels, the version stays at 3.0 in the recipe.

Build and boot tested on qemu* targets.

(From OE-Core rev: 015a74ca21b06d08c04d18f77b8c2a74ffab5a66)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:22 +01:00
Bruce Ashfield
9e53f354e1 linux-yocto: update atom-pc preempt-rt definition
The atom-pc preempt-rt configuration wasn't pulling in the common-pc
settings, and wasn't defining re-use of the preempt-rt/base branch
properly.

(From OE-Core rev: f60c20322018afe9d27aa2d3b085c58ff0dee867)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:22 +01:00
Bruce Ashfield
5e4a6bd7e2 linux-yocto: allow configuration of arbitrary branches
When building an external tree or bootstrapping a BSP the
external branch may not have been checked out. The tools now ensure
that the tree is ready for configuration, so we no longer need to
force the checkout of the external branch.

This change is coupled with some kern tools tweaks as follows:

  40d9bab updateme: allow the location of board descriptions based on defines
  59859ca createme: use branch name when creating meta data
  91b4275 configme: determine meta branch based on directories, not branch naming
  f5a915c kgit-meta: make branch creation and renaming more robust

(From OE-Core rev: 02c82bf5255b09bb27a0a4509861a3d2bd84b09f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:21 +01:00
Bruce Ashfield
b0f12a1612 linux-yocto: pass KMACHINE to updateme, not MACHINE
To support the mapping of any oe/yocto MACHINE to a kernel
branch that may not share that naming structure we have
KMACHINE and KBRANCH. To allow the mapping to work, we
actually have to pass KMACHINE into updateme and not MACHINE.

(From OE-Core rev: 658f2cc721b121c0a9a9e7aa8b41463952314c0b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:21 +01:00
Richard Purdie
24e952255e lttng-control: Update to 0.89
(From OE-Core rev: 220c1e5a3aeb20cf0657995d0af4a6eb811f2e24)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:21 +01:00
Saul Wold
d26c9bd80d lttng-ust: Update to 0.15
This address [YOCTO #1005] which was waiting for upstream updates
from the lttng and GDB teams.

(From OE-Core rev: 0d240f56ea0128c1228f7cfe1471039a7b602a88)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:21 +01:00
Saul Wold
ab1e331a88 liburcu: Update to 0.6.4
(From OE-Core rev: a2f09cb149121ed2fddd7d602b286711ce1acecf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:20 +01:00
Saul Wold
7ae7e7e09a gdb: Update to 7.3
This has one upstream patch removed and a couple rebased

(From OE-Core rev: e1e9ee24e82e0ad45cf18387e131d2365c8e77b4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:20 +01:00
Koen Kooi
4a5336d403 gtk-icon-cache bbclass: don't assing to global RDEPENDS
Only the package with the icons needs it

[Squashed laster RDEPENDS fix from koen into commit]
(From OE-Core rev: 34fca51d84d4629d82880aa0f47123db86de256b)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:20 +01:00
Mei Lei
2a4de1ef1f apr-util: disable pqsql support to avoid configure error
The pqsql config script will check host path and add host paths to compiler and linker options:
adding "-I/usr/include/postgresql" to CPPFLAGS
adding "-L/usr/lib" to LDFLAGS

Disable pqsql support since we didn't use this feature in other recipes.

(From OE-Core rev: a0034efba2c5960ef946de318438794acb13f454)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:20 +01:00
Mei Lei
74f64be449 python-native: Fix a compiler finding issue
The CC variable sometimes add option information after compiler name, but python can't get the real compiler name if those information added.
Fix this issue by dropping the option information when finding compiler name.

(From OE-Core rev: 461df79fbb655e4c6894d9a9e9ce52656b96303d)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:19 +01:00
Koen Kooi
2ac54c4519 gst-plugins: partially sync packaging with OE .dev
Gst-plugins get 2 extra packages:

${PN}-apps: helper apps in ${bindir}
${PN}-meta: meta package that will drag in all plugins, libs and apps ${PN} generates

And all libs are split out and run through debian style renaming if enabled.

The packaging include was split out to be reused by external plugins (e.g. gst-plugin-gl, gst-fluendo-*).

The new package list looks like:

libgstapp-0.10-0_0.10.32-r1_armv7a.ipk
libgstfft-0.10-0_0.10.32-r1_armv7a.ipk
[..]
gst-plugins-base-videorate_0.10.32-r1_armv7a.ipk
gst-plugins-base-videoscale_0.10.32-r1_armv7a.ipk
[..]
gst-plugins-base-meta_0.10.32-r1_armv7a.ipk
[..]
gst-plugins-base-apps_0.10.32-r1_armv7a.ipk

(From OE-Core rev: 4bfd595934c1f6839ae848b09ecca439d92bf014)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:19 +01:00
Kumar Gala
35fa8dc5f7 gcc: use ${base_lib} to match gcc default configuration
Rather than tweaking MULTILIB_DIRNAMES & MULTILIB_OSDIRNAMES like is
done for x86-64 via 64bithack.patch.  We can just go with gcc defaults
and utilize ${base_lib} for where to find gcc libs.

(From OE-Core rev: cfcc282efef30ea1988ccbe14835254a999584ea)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:41:19 +01:00
Kumar Gala
2fa1f7de32 bitbake.conf/powerpc64: Set baselib to 'lib64' for ppc64
(From OE-Core rev: 7a278238d9b08e0315e92d386282cb488cc0c7b4)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:48:28 +01:00
Joshua Lock
8358485e1c bb/cooker: mark parsed conf files as potential cache invalidators
The include parameter to _parse() tells the parser whether to include the
file in __base_depends, the contents of which have their mtime tested to
invalidate the cache when they have changed.

As I understand it we would want all of the configuration files that are
currently handled with the _parse() method to invalidate the cache to set the
default value of the include parameter to True.

(Bitbake rev: 5cacdc4f1641eda1b5707c96f7c40924a9db6174)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:47:42 +01:00
Joshua Lock
040e26ac09 bb/ui/hob: reset event handler once build complete
The HobEventHandler passes events on to RunningBuild when a build is in
progress. This patch resets the HobEventHandler to handle events when the
build is complete.

(Bitbake rev: 3d66d4e64a6352c01662a24ee957eddcd3fde7fc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:47:42 +01:00
Dongxiao Xu
fe53449330 task-core-boot.bb: Add PACKAGE definition to facilitate multilib
If there is no PACKAGES defined in bb file, its default definition would
be "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-staticdev ${PN}-locale".
In multilib case, ${PN} is extended with ${MLPREFIX}, so there is no
rename occurred for the PACKAGES. Therefore for task-core-boot,
RDEPENDS_lib32-task-core-boot will be empty, resulting busybox,
tinylogin, etc. are not bulit out.

This fixed the issue that /bin/sh is not provided while do_rootfs.

(From OE-Core rev: f3d8fd28d779ff841410e5bd22289680f04022a2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:35 +01:00
Lianhao Lu
12cd07cd69 eglibc-locale: Added ${MLPREFIX} for task dependency.
[YOCTO #1338] Added ${MLPREFIX} to the task dependency between
eglibc-locale:do_install and the corresponding virtual/libc's
do_populate_sysroot.

(From OE-Core rev: c96bf9197e1e6566ec7a4cd6b92499fb82c9c697)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:35 +01:00
Lianhao Lu
7f471e09fd ghostscript: Fixed the incorrect DEPENDS.
[YOCTO #1337]
Using ghostscript-native instead of ${PN}-native in DEPENDS to correct
the invalid DEPENDS in multilib cases.

(From OE-Core rev: d8d412ff1beee4c820cc6e7b6124280db920cccd)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:35 +01:00
Lianhao Lu
773c555648 Misc: Corrected the dependency on non-native for -native package.
[YOCTO #1336] Corrected the wrong dependency on non-native for -native
packages for the following recipes:

- util-macros
- intltool

(From OE-Core rev: e33bd6024c5f4cdd5c16d51e9b5c75ec4e1f1fb8)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:35 +01:00
Lianhao Lu
2d9a3b7695 qt4x11.bbclass: Using BPN instead of PN.
[YOCTO #1335] Using BPN instead of BP to decide the DEPENDS content for
multilib cases.

(From OE-Core rev: 32faad3b901345a31978664fd1743c9a1729c67d)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:34 +01:00
Lianhao Lu
8c9fe92aa1 tcp-wrappers: Using ${PN} in PACKAGES.
[YOCTO #1334]
Using ${PN} instead of tcp-wrappers in PACKAGES and FILES_*, since the
FILES_tcp-wrappers would be overwritten by FILES_${PN} when the variable
name gets expansioned.

(From OE-Core rev: 497c3d0ce55de72d2872968851ea34427214e7a0)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:34 +01:00
Lianhao Lu
e3bdc689f2 SRC_URI: Using BPN instaed of PN.
[YOCTO #1333]
In multilib cases, PN has the prefix of MLPREFIX. It is not correct to
use PN in SRC_URI. We should use the pruned BPN instead.

(From OE-Core rev: ce94fa29b81bebaaee8058f0600e111832d638f2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:43:34 +01:00
Koen Kooi
999a84bdb3 gtk-icon-cache: add hicolor-icon-theme to DEPENDS
This fixes do_rootfs breaking because OE didn't resolve the RDEPENDS added with python

(From OE-Core rev: fbb7ecaf9b49d2d7570e6440fe84b4046ec08fd2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:25:15 +01:00
Richard Purdie
34bdd8b33b machine/include/arm/feature-arm-thumb: Allow thumb to be disabled
The previous commit to this file meant thumb was always being turned on
even when TUNE_FEATURES did not contain "thumb". This is clearly wrong
and this patch corrects this so thumb options are no longer specified
in that case.

(From OE-Core rev: 4b5e8074f8aca59b09421db464ce652e84f898f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:25:15 +01:00
Richard Purdie
29208d2e35 local.conf.sample: Comment out BBMASK by default
This means we can set defaults in layers or other configurations without
the default user config masking it out.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:19:51 +01:00
Nitin A Kamble
e8f456613a kernel,module-base.bbclass: Improve KERNEL_LD & KERNEL_AR variables
KERNEL_LD was using ${LD} in it's definition, which is not correct for
different ABIs such as x32 or i386 on x86_64 machine. This brings it
into sync with the corresponding gcc settings, likewise the same with
the KERNEL_AR variable.

[RP: Updated commit message]
(From OE-Core rev: 9c525241c564a458db8ecd9ba325edeb13ec1c58)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:03 +01:00
Mark Hatle
d6bbdcc030 libzypp: Increase the size of the arch compat table
Fix [YOCTO #1313]

Increase the size of the arch compat table to 30 entries.

Also cleanup a few things related to Poky -> OE name changing.

(From OE-Core rev: 8899c51127fc9df3a054bd38b0b33082fa372fa2)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>

Fixed up arm patch

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:02 +01:00
Saul Wold
be030d3bf5 linux-yocto_3.0: Fix SRC_URI to use yoctoproject.org
(From OE-Core rev: f0c821ff4efeca36b196370e33ee4ec71730819b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:02 +01:00
Saul Wold
3a0942ec51 dpkg: Update to use perlnative
[YOCTO #1298]

(From OE-Core rev: 333a3d34da0dc821f4d37921ac8444e2c3f3e1e6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:02 +01:00
Kumar Gala
acfcc85da0 image-mklibs.bbclass: Utilize ${base_libdir} instead of static /lib
We might redefine ${base_libdir} from being set to just /lib.

(From OE-Core rev: 7615f81f86bb5ccfe52b84b38eb9ae80a852d214)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:02 +01:00
Kumar Gala
05f8db8bf9 image-mklibs.bbclass: Add powerpc64 arch support
powerp64 dynamic loader is 'ld64.so.1'.

(From OE-Core rev: ef6007cf129a6eec71e1cbb1c65efc8bfd3991e0)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Kumar Gala
7d3c85eb5e gcc-4.6: Add support for the e5500 PowerPC core
Implements basic e5500 enablement in gcc, with a scheduler, -mcpu
flag, etc...

(From OE-Core rev: b4f6fb7033d3798cae32d42bce5a0f8402ad57c1)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Kumar Gala
06aee01aa0 tune/arch-powerpc64: include arch-powerpc.inc to keep things in sync
Added a DEFAULTTUNE setting and included arch-powerpc.inc.  This way we
pick up the changes to TUNE_PKGARCH and things should be kept more in
sync going forward.

(From OE-Core rev: 2c9bd779b008be266072f3c6d79430f63ec02241)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Kumar Gala
e08ea67d7f prelink: Add lib64 dirs to prelink.conf
Handle multlib or cases that baselib is lib64.

(From OE-Core rev: 82db6bda2b60f0a4756f1d604a5dd1369fcc8a19)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Kumar Gala
dc8bd9e2a1 libproxy: utilize libdir when configured
Pass $libdir through when we configure to support a location other
than /lib.

(From OE-Core rev: 720e8b75eaeffa6ac902e29ffd7914a69d93e5fa)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Kumar Gala
3f18bf155f libmusicbrainz: utilize base_libdir when configured
Pass $libdir through when we configure to support a location
other than /lib.  We also have to tweak the cmake files to allow $libdir
to even be set.

(From OE-Core rev: a91c417aff129623c49549394810e1a018f92011)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:00 +01:00
Khem Raj
378151b53a coreutils: Fix build on uclibc
coreutils has getloadavg.m4 of its own. So we need
to make sure that we remove the portions which look
into hardcoded /usr/local/lib paths. These tests are
only for AIX so we dont lose much

(From OE-Core rev: e9a49ebe3a1c83aa022eb07f3ca87b3d71c742f9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:00 +01:00
Khem Raj
281fc55ff9 autoconf: Remove code checking for hardcoded /usr/local
This code is only relevant for AIX and causes
problems with OE QA sniffer which detects -L/usr/local/lib
on linker commandline during cross compile and rightly barfs

This only happens when getloadavg() is not found in libc
so we do not reach that code with eglibc but only with uclibc

(From OE-Core rev: f235366c8a39679aa5beadf54a5e0ab7ece90d16)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:00 +01:00
Khem Raj
db6b664257 autoconf: Remove patch=1 from SRC_URI
Edit summary field s/produced/produce/

Fix the license related warning

WARNING: autoconf-native: No generic license file exists for:
GPLv2|GPLv3 at /b/openembedded-core/meta/files/common-licenses
WARNING: autoconf-native: There is also no SPDXLICENSEMAP for this
license type: GPLv2|GPLv3 at
/b/openembedded-core/meta/files/common-licenses

(From OE-Core rev: b4cc493d5666ea82312b03e7ae7efb2d7099974b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:00 +01:00
Beth Flanagan
b525fc1306 buildstats.bbclass: Adding disk io measurement
This commit adds disk-io statistics functionality on a build
and per-task basis.

It pulls measurements for whatever partition TMPDIR exists on.
This data could be off if SSTATE_DIR and DL_DIR exist on
a different partition/volume.

Notes on what this pulls:

ReadsComp: Total number of reads complete
ReadsMerged: Total number of adjacent reads merged
SectRead: Total number of sectors read
TimeReads: Total number of m/s spent reading
WritesComp: Total number of writes completed
SectWrite: Total number of sectors written
TimeWrite: Total number of m/s spent writing
IOinProgress: Total amount of IO in progress at the time of
              we look at /proc/diskstats.
TimeIO: Total number of m/s spent doing IO
WTimeIO: Weighted time doing I/O. From iostats.txt:

"This field is incremented at each I/O start, I/O completion, I/O
 merge, or read of these stats by the number of I/Os in progress
 (field 9) times the number of milliseconds spent doing I/O since the
 last update of this field.  This can provide an easy measure of both
 I/O completion time and the backlog that may be accumulating."

(From OE-Core rev: eeebcebf0d695358e72f3aed753f66cddd5e0e61)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:15:59 +01:00
Nitin A Kamble
17e8d8558d toolchain-scripts & other classes: add TARGET_LD_ARCH & TARGET_AS_ARCH vars
This is comming from x32 need to pass special parameters to ld & as.

(From OE-Core rev: 96931af89f9cc3056e413cff437a85eca85b3b75)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:15:59 +01:00
Richard Purdie
5561aaad28 eglibc: Fix patch merge breakage
(From OE-Core rev: 8a731122e7811275f20065ba27645b97fadf362d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:41:19 +01:00
Scott Rifenbark
9e5890d900 documentation/dev-manual/figures/bsp-dev-flow.png: Updated picture
New flow suggested by Dave Stewart.

(From yocto-docs rev: 101a464f0f17f3816bfb32f6e3a5da714cc32a06)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:52 +01:00
Scott Rifenbark
5ce8039fde documentation/dev-manual/dev-manual-newbie.xml: edits suggested by Dave Stewart.
(From yocto-docs rev: c6924422778b525dfe63f5e9a121c92317c3ea25)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:52 +01:00
Scott Rifenbark
71dc0c6fdf documentation/Makefile: Added figures to tarfile list.
(From yocto-docs rev: 45afc45abbfc5bc8910c263bd876cb40bdeb732b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:52 +01:00
Scott Rifenbark
e4448dac93 documentation/dev-manual/dev-manual-newbie.xml: updated intro paragraph and figs
I updated the introduction paragraph to cast the chapter more for YP than
just generic newbie information.  Also, added three screenshots for
the source areas at Dave Stewart's suggestion.

(From yocto-docs rev: 26d3c58ff6295515c593c8b0b12dc3d6952b752a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:52 +01:00
Scott Rifenbark
e3687ca853 documentation/dev-manual/figures: Added three figures for sources
(From yocto-docs rev: 956f3d8a35a89caff40531690cdd51fd33b534d2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:52 +01:00
Scott Rifenbark
0c38b24fed documentation/dev-manual/dev-manual-start.xml: Wording change for running image.
(From yocto-docs rev: 930f8853194bf2d397202d55c27a42bbc2a65278)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:51 +01:00
Scott Rifenbark
dd2883be8f documentation/dev-manual/dev-manual-kernel-appendix.xml: minor edits
(From yocto-docs rev: 315f1493b380a657951abc629ffd48a1cccde16c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:51 +01:00
Scott Rifenbark
46af251ce0 documentation/dev-manual/dev-manual-model.xml: first pass of kernel steps added. (From yocto-docs rev: a8354af008306f4deeae7b2167c3dbd604d8b275)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:51 +01:00
Scott Rifenbark
4285c3c968 documentation/dev-manual/dev-manual-start.xml: added anchor for reference.
(From yocto-docs rev: 1015384fb5ee82650324f46ec2e1449336004119)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:51 +01:00
Scott Rifenbark
ce9a0c1513 documentation/dev-manual/figures/bsp-dev-flow.png: Updated figure
(From yocto-docs rev: 8bf534dc43433032998f6e59bd35c923f1c7bd47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:50 +01:00
Scott Rifenbark
ea7d4cbd57 documentation/dev-manual: replaced "&dash;" with "-".
Character does not display in PDF version.

(From yocto-docs rev: 8f9b114190257cfe5425f6e322dcfb6f03941bf8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:50 +01:00
Scott Rifenbark
bb91aa636f documentation/dev-manual/dev-manual-model.xml: Increased vertical image size
PDF version was not allowing the image to have enough room for proper
display.  Increased to 8.5 inches.

(From yocto-docs rev: 425abd53eac41a9466af45e277be8b0d8202e27d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:07:50 +01:00
Scott Rifenbark
406824fe15 documentation/yocto-project-qs/yocto-project-qs.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 696aa5b822cd0e52a9c67c0b3ea73f35f6e99983)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:51 +01:00
Scott Rifenbark
df815c1543 documentation/poky-ref-manual/poky-ref-manual.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 5061f9e8b3cfb66b2ed17befc9c4c4d8b875f4eb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:51 +01:00
Scott Rifenbark
938d43de3c documentation/kernel-manual/kernel-manual.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 92eb8221bdaee94b3d5861b929ef1adb986cc865)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:51 +01:00
Scott Rifenbark
aa764cef07 documentation/bsp-guide/bsp-guide.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 1b729667498363a5bb451502975b0797796eea0b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:51 +01:00
Scott Rifenbark
33f9253be7 documentation/adt-manual/adt-manual.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 29426ab131a319b764f82da8a11cb4d9b590c3b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:50 +01:00
Scott Rifenbark
343fc6476b documentation/dev-manual/dev-manual.xml: Repositioned note.
Put the note about manual differences in the legalnotice area.
this produced a better looking note.

(From yocto-docs rev: 8d44a5fba7c52d5798758467e93c9c64e48d512a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:50 +01:00
Scott Rifenbark
896c9decee documentation/dev-manual/dev-manual.xml: Added note to title page.
Note mentions possible differences between docs in the released
tarball and docs on the website.  Suggests website for latest
docs.

(From yocto-docs rev: 1675c31aa02a4daed356af4ea9c78d493a9a2597)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:50 +01:00
Scott Rifenbark
3f7385d52b documentation/Makefile: Added the figure bsp-dev-flow.png to tarlist.
(From yocto-docs rev: 50f2a36a298e77b1c36037d46c9ad5a79ec23c44)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:50 +01:00
Scott Rifenbark
68ee0fa47a documentation/dev-manual/dev-manual-model.xml: Added spot link to kernel section.
(From yocto-docs rev: da50f701057f472d78395e397893ed27abe05995)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:50 +01:00
Scott Rifenbark
a246c304de documentation/dev-manual/dev-manual-model.xml: Minor edits.
(From yocto-docs rev: 64525f6a751d23d2d8ae1d799b4f661e986b5e83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:49 +01:00
Scott Rifenbark
fe51c0d7ce documentation/dev-manual/figures/bsp-dev-flow.png: Updated the figure.
(From yocto-docs rev: 48718ed82ea5b7aac57c9f566caef5abcf67db20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:49 +01:00
Scott Rifenbark
0fbbadb56c documentation/dev-manual/figures/bsp-dev-flow.png: New illustration
This is the BSP flow illustration.

(From yocto-docs rev: 82ec8528c058d702402767ffa471695eb82e259c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:49 +01:00
Scott Rifenbark
7865487a7a documentation/dev-manual/dev-manual-model.xml: added BSP flow illustration.
(From yocto-docs rev: 6aee48ffac1d98947d60f1080f62b367cf72bc30)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:49 +01:00
Scott Rifenbark
ebf0399891 documentation/dev-manual: Added reference to example appendices
In dev-manual-model.xml I included two references:  one to the
BSP Development Example and one to the Kernel Modification Example.
I had to add the target "id" stuff to both dev-manual-bsp-appendix.xml
and dev-manual-model.xml

(From yocto-docs rev: bcae1e723610e1769f0a524e3c1d9918c7cb1061)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:49 +01:00
Scott Rifenbark
0bea49d340 documentation/dev-manual/dev-manual-cases.xml: Deleted this file.
No need for this chapter any longer.  Re-org has ash-canned it.

(From yocto-docs rev: 085a514133f4326c1da372b95507a3665e8f91ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:48 +01:00
Scott Rifenbark
93e530c7a5 documentation/dev-manual/dev-manual-kernel-appendix.xml: removed redundant id.
(From yocto-docs rev: d8eac20a745ca1c7fd20089abde4e61bbc4e755a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:48 +01:00
Scott Rifenbark
c28a1896e9 documentation/dev-manual/dev-manual.xml: updated files to the book
I removed the cases chapter and added an appendix for kernel example.

(From yocto-docs rev: 60c8ec3444c08e94468ff349b676652c7f6ff0cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:48 +01:00
Scott Rifenbark
eb7fe72e0c documentation/dev-manual/dev-manual-kernel-appendix.xml: added tags
Added the Docbook tags to make this an appendix.

(From yocto-docs rev: fd5658872a9d48a2ee8f0229cb0fca90961aee32)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:48 +01:00
Scott Rifenbark
568a15c821 documentation/dev-manual/dev-manual-kernel-appendix.xml: Added appendix
New file for the kernel example.  this will be an appendix.

(From yocto-docs rev: fca7e4fbb3d1e738700349d6169d7217c04e4b31)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:48 +01:00
Scott Rifenbark
3a9da1c681 documentation/dev-manual/dev-manual-model.xml: Fixed a broken xref.
(From yocto-docs rev: 728981781752bc16bf816075ac8a3c3acb808687)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
05b0b88882 documentation/dev-manual/dev-manual-cases.xml: removed BSP overview.
this is now in the model chapter.  Eventually the cases chapter
will disappear.

(From yocto-docs rev: fde20eede9f04899b61742b05ce73c97b2737bf3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
4737719dc1 documentation/dev-manual/dev-manual-model.xml: Added structure
I added structure to contain sub-sections for system (BSP and kernel)
and application overviews.

(From yocto-docs rev: 028f65219b001081d221d63f368ff06066a95a64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
3aef350c39 documentation/dev-manual/dev-manual-model.xml: Moved BSP dev summary here
The "models" chapter is going to be the overview section for the cases.
Thus, the cases chapter will disappear.  This is a first step in that
direction.

(From yocto-docs rev: fe3985db8e1dbc7bff6565d3624bccac0f809621)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
6d7c8f6398 documentation/dev-manual/dev-manual-start.xml: Added a note to reference Git.
(From yocto-docs rev: cdc06ee33a7e8eb06822f8eeb05dde3b7bdff426)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
fd02be8686 documentation/dev-manual/dev-manual-bsp-appendix.xml: removed redundancies
Some of the more general BSP development information was more appropriate
in the dev-manual-cases chapter.  I removed this information and left
example-specific (mostly) text.

(From yocto-docs rev: d44c0fa8bdea9a2cad51ae3ca4b861a12d9fcdf9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:47 +01:00
Scott Rifenbark
5b8301a3b8 documentation/dev-manual/dev-manual-cases.xml: generalized the BSP case
Because the BSP example is now in an appendix, I re-wrote this section
to overview the case.

(From yocto-docs rev: c0d88c6050bd17d65d8fe8c8abb227998fd4c11e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:46 +01:00
Scott Rifenbark
b67922f0c3 documentation/dev-manual/dev-manual-bsp-appendix.xml: Added section hierarchy.
The section for changing the recipes was deep and complex.  So I broke
it into several sub-sections.

(From yocto-docs rev: f964b7644502fe5995c57de4a7a4fff47f71cf79)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:46 +01:00
Scott Rifenbark
0dbc9ba611 documentation/dev-manual/dev-manual-bsp-appendix.xml: re-wrote the Base BSP
I re-wrote the Getting your Base BSP section to reflect the example only.
Previously, there was a lot of information in there about getting BSP
files that was deemed universal and was moved to the getting started
chapter.

(From yocto-docs rev: addcbca37e3dfad27b388245a4085cd0a2747177)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:46 +01:00
Scott Rifenbark
9709d1315d documentation/dev-manual/dev-manual-start.xml: Added bsp naming scheme
Added the YP BSP naming scheme to the general getting started section
where it talks about getting BSP files on the local system.

(From yocto-docs rev: 5b8dc20a52053341ac726fe6662152397262d5e8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:46 +01:00
Scott Rifenbark
49e6b1d83c documentation/dev-manual/dev-manual-start.xml: Added BSP file set up
I moved the example for setting up meta-intel into the getting started
section.  This information is universal and needs to be isolated.

(From yocto-docs rev: d43ecd16a95fa53cafa09e933c67cacd85227021)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:45 +01:00
Scott Rifenbark
60eb60cd08 documentation/dev-manual/dev-manual-bsp-appendix.xml: Modified the setup section.
(From yocto-docs rev: 78224ffa3cfd5e110a2d2e43e8c84b259a84ee63)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:45 +01:00
Scott Rifenbark
167f154460 documentation/dev-manual/dev-manual-start.xml: Added note for terminology.
(From yocto-docs rev: 45d71fa3a5d4c3bec2e1ad5dbf98a91a6c7208b3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:45 +01:00
Scott Rifenbark
4281568444 documentation/dev-manual/dev-manual-start.xml: Added examples for YP file setup
I moved the section that provides the universal methods of getting a local
version of the Yocto Project files and BSP files on the development system
into this section.  this information needs to be referenced throughout
examples so it should be in one location.

(From yocto-docs rev: 718ea5b468d816ea4f61a6ffa4de7db396fe3ed4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:45 +01:00
Scott Rifenbark
24cbfd4926 documentation/dev-manual/dev-manual-bsp-appendix.xml: spacing fixed
Fixed the spacing to follow my indentation scheme for Docbook files.

(From yocto-docs rev: 6ed8cbc7dc48e5a380d27ee280fb92809b931223)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:45 +01:00
Scott Rifenbark
bed9ff31b6 documentation/dev-manual/dev-manual-cases.xml: partial - kernel section added
added the start of the kernel example.  It is not complete.
There are other various edits made throughout the chapter as well.

(From yocto-docs rev: 39ba857b71aa643593a539d979186753fb7a9049)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:44 +01:00
Scott Rifenbark
5492fa39a0 documentation/dev-manual/dev-manual.xml: Added the new appendix for BSP.
Updated the list of files to include dev-manual-cases-bsp-appendix.

(From yocto-docs rev: 0756e69e25fb4008fae592f3e06b03b3d773e0a8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:44 +01:00
Scott Rifenbark
313f932aaa documentation/dev-manual/dev-manual-bsp-appendix.xml: New appendix for BSP
I decided to take the long detailed example of the BSP creation and
make it an appendix.  This commit represents a simple copy of the existing
dev-manual-cases chapter.  Further commits will change the text to
make it suitable as an appendix.

(From yocto-docs rev: 8c1308c4361f48ce7f7aa104cde7e6f6a820faa4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:44 +01:00
Scott Rifenbark
2c7834cae6 documentation/dev-manual/dev-manual-cases.xml: re-write of BSP example
Completed the terminology scrub for the yp files.

(From yocto-docs rev: c99f64541bf09ad7267625828894e3364dcdf937)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:44 +01:00
Scott Rifenbark
e77f5649e0 documentation/dev-manual/dev-manual-cases.xml: partial - edits to clean terms up.
I made a pass through the chapter to try and lessen the confusion over
yp files in a git repo verses those unpacked from a tarball.  Also
tried to write the example for the 1.1 release but I don't have the
real software yet and can't supply actual names of files.

(From yocto-docs rev: 2ad973bd1f17005a3922651060d025795634d222)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:43 +01:00
Scott Rifenbark
fbe93b6a54 documentation/dev-manual/dev-manual-model.xml: removed blank lines.
(From yocto-docs rev: f71e000e3014cdd492976a38293a18c7309c6254)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:43 +01:00
Scott Rifenbark
0e697a6c9e documentation/dev-manual/dev-manual-newbie.xml: edits to how to submit change section.
(From yocto-docs rev: 16533369264deb5f93b0d97f0d8491ee45fe23db)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:43 +01:00
Scott Rifenbark
5c6753735f documentation/dev-manual/dev-manual-newbie.xml: edits to tracking bugs section.
(From yocto-docs rev: 7a4487394f14214c287247020b3abda3c3b6cfde)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:43 +01:00
Scott Rifenbark
70b317ecce documentation/dev-manual/dev-manual-newbie.xml: edits to workflow
General edits to the workflow section.  Also created a link to
to Bugzilla in the next section.

(From yocto-docs rev: 2e70b19d24bb4649fb525232fca9ab2e01c5ec61)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:42 +01:00
Scott Rifenbark
c6a7a82a9c documentation/dev-manual/dev-manual-newbie.xml: new section on terms added
created a new section on YP terms that might be useful to the new user.

(From yocto-docs rev: ab81b6468c39b5c015c7c0654ddf8c4cfd8bd245)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:42 +01:00
Scott Rifenbark
5c8f83592b documentation/dev-manual/dev-manual-newbie.xml: edits to Git section.
(From yocto-docs rev: e5844ac3b29aa1206b4c08d9d4b4bb461f9db23b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:42 +01:00
Scott Rifenbark
f91f0c7fbb documentation/dev-manual/dev-manual-newbie.xml: re-writes of repo and license
I re-wrote the source repositories section a bit to better reflect the
overall picture of how the user finds and decides on source for YP.
Also added some punctuation to the licensing section.

(From yocto-docs rev: 12ec18e58eb4e4dc395c2161908a60d395684ab3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:42 +01:00
Scott Rifenbark
fed0630941 documentation/dev-manual/dev-manual-start.xml: Edits to clarify YP files
I have a new understanding of the files resulting from setting up
Git repos as compared to getting files from tarballs.  I changed
some wordings to help make those distinctions.

(From yocto-docs rev: b7ba9df07cf9d64f61ac73e501c253c42570970d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:42 +01:00
Scott Rifenbark
af22a8c671 documentation/dev-manual/dev-manual-intro.xml: wording change.
I changed "complete reference guide" to "a reference guide."
I don't really believe the Poky Reference Manual will ever really
be complete.

(From yocto-docs rev: 9afcfe03e4f3595ac78f2cda111e5bd025654595)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:41 +01:00
Scott Rifenbark
307b04d98b documentation/dev-manual/dev-manual-cases.xml: partial - finished edits to BSP section.
(From yocto-docs rev: 3f7f97f869edab6a8ad7678ac05c7a681624e5c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:41 +01:00
Scott Rifenbark
026f146329 documentation/dev-manual/dev-manual-cases.xml: partial - more edits to the BSP case.
These converted it to 1.1_M2.  there were a lot of changes going from
the original example that used to bernard to 1.1_M2.

(From yocto-docs rev: c5dbc8da1ebc0b710e8133fcdd5893e33776148d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:41 +01:00
Scott Rifenbark
70e006ec0c documentation/dev-manual/dev-manual-cases.xml: partial edits to procedures
Partial stuff as I am working through the BSP example trying to
use git clone instead of git init per Darren Hart's suggestion.

(From yocto-docs rev: e829d761575786093c9ac1f1b901a2151011ce9d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:41 +01:00
Scott Rifenbark
468d7898fc documentation/dev-manual/dev-manual-cases.xml: partial kernel case
(From yocto-docs rev: 798652fa1544dd141516ce9fb085f63d7a5da4cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:40 +01:00
Joshua Lock
cf4ab5363f bb/ui/hob: be clear that the image contents are an estimate
Partially addresses [YOCTO #1263]

(Bitbake rev: 5f079f11ca626a4a11ad728c56bde21009ddd7c8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:39 +01:00
Joshua Lock
1c1e27a779 bb/ui/hob: only connect to the changed signal of image_combo once
(Bitbake rev: bb2609ba00db11b445e0af1921744b725fe96065)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:38 +01:00
Joshua Lock
6b9521743f bb/ui/crumbs/hobeventhandler: use generic loading message once cache loaded
(Bitbake rev: 110d507c69c756657393809f57443b88841ad091)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:38 +01:00
Joshua Lock
9610ab39d9 bb/ui/hob: prevent label on progress bar from changing rapidly when loading
Fixes [YOCTO #1240]

(Bitbake rev: 2cb561de9b34d0c23939a492c475230f21d87d99)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:38 +01:00
Joshua Lock
9eb25be609 bb/ui/crumbs/tasklistmodel: fix regex used for loading image recipes
Fixes [YOCTO #1321]

(Bitbake rev: a0fb6583222f2d981a69f0dae81b40db6caaa0d5)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:38 +01:00
Joshua Lock
03ca33e2eb bb/ui/hob: fix detection of whether GPLv3 is disabled
Find returns -1 if the substring isn't found, so checking for the
Truthiness of the return value is insufficient. An INCOMPATIBLE_LICENSE
value which only includes GPLv3 will cause find to return 0, for example.

Fixes [YOCTO #1320]

(Bitbake rev: 28c71e63355ca94402a9049b8a07046e7b460026)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:06:38 +01:00
Tom Rini
735e7081be Various siteinfo: Drop rp-pppoe variables
These variables were wrong on big-endian machines and this recipe is now
handled in meta-oe (along with the siteinfo files).

(From OE-Core rev: 6129df9588c96ca710c585f5ed400ac551b61055)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:37 +01:00
Tom Rini
b72e281bb7 siteinfo: Add posix_getpwuid_r posix_getgrgid_r posix_getpwnam_r to uclibc
This comes from oe.dev and while at this, drop from powerpc-linux as the
common-libc files set them.

(From OE-Core rev: 372795274267cff164ccdc9b8d44e5dc580ae5ad)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:37 +01:00
Tom Rini
fbab04f9e3 site/common-linux: Add ac_cv_file__dev_zero=yes
(From OE-Core rev: 08a89c956ba4f89e66453e9a4ea70fd9421c1a91)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
2a5dab5a56 Various siteinfo files: Consolidate va_copy/__va_copy/va_val_copy
Providing va_copy / __va_copy come down to the libc.  va_val_copy
comes down to the architecture.  Unfortunately it's assumed true
if not set, so we need to make sure to set this to false for
x86_64 where it is not true.

(From OE-Core rev: a54a803ed89969c2416bfa9d911fe4cf558e2391)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
c02ce802fc Various siteinfo files: Drop enca section
As part of re-syncing with oe.dev, these tests aren't needed with the
oe.dev recipe of enca now.

(From OE-Core rev: d4c835e085d273a19483fc95f768c1fa23cf626f)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
4ac307ec40 Various siteinfo files: Consolidate ac_cv_func_getaddrinfo
This is a libc feature, move there.  Drop the ipsec-tools specific
test as ipsec-tools (a) assumes fine on cross-compile and (b) doesn't
support buggy getaddrinfo now.

(From OE-Core rev: bca50524921a870bf774e23973a834f20701f146)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
c8f8ca9e46 Various site files: Drop monotone/mono
Not in oe-core nor meta-oe and based on oe.dev, possibly incomplete.

(From OE-Core rev: dc678e674ba9c56feb150bf06829a44fbe4e2b5a)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
6f3597a637 tcl: Add tcl_cv_api_serial to siteinfo
This comes from oe.dev which had this set for arm-linux only.

(From OE-Core rev: 8aaa02e9eb0a4455a30766055e482c77a94af1a4)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:36 +01:00
Tom Rini
92ed28ccc7 sudo: Drop sudo_cv_uid_t_len from site files
We were just setting this to the assumed default.  If anything, this
belongs in the libc files if we must set it.

(From OE-Core rev: ae054a823909c5ebf03fec962844a213dc3fb8e1)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:35 +01:00
Kumar Gala
59be4fe98d eglibc_2.13: Add support for handling sqrt & sqrtf on powerpc
Some of powerpc's dont support the fsqrt[s] instructions so we need an
implementation of the library functions for those processors.

(From OE-Core rev: bae126b9b3a993dcd572eaf438c7ea5db843f6f5)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:35 +01:00
Dmitry Eremin-Solenikov
f3146ae8ce eglibc: fix build for armv4 machines
eglibc builds for arm-eabi unconditionally enables the libc-do-syscall.S
file, which contains thumb assembly. It's unused in arm-eabi-nothumb case,
so just ifdef the actual code.

V2: use the patch from oe.dev.

The patch is submitted to sourceware bugzilla by Khem Raj back in October
of 2010, but the status is still UNCONFIRMED and the patch isn't commited.

(From OE-Core rev: d557b18845d2ddc035d7f3949713ba1961a8cce1)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:35 +01:00
Saul Wold
d76a2ee76a libxt: Add depends for util-linux and libxcb
(From OE-Core rev: 972d805ae3d67c5d762fd18f76f2e0465d98f7d9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:35 +01:00
Saul Wold
0d789a3a71 glibc: Remove unused version
(From OE-Core rev: b894202c6f7f64102372aaea58ccb18a51545cf1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:34 +01:00
Tom Rini
10304e08ad connman_test.sh: Rework for busybox 'ps'
This script has two problems today.  First, it does 'ps -ef cmd'
in failure which real ps doesn't grok and busybox ps just ignores
the argument on.  Switch that to 'ps -ef'.  Second, busybox ps -o
doesn't understand cmd but does understand comm.  Using comm lets
us simplify the test logic as well, so switch to that.

(From OE-Core rev: cb34ce6833f298d487eeb35cf8297f286ef624d4)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:34 +01:00
Noor, Ahsan
5d87fb8b7b kernel.bbcalss: Added do_savedefconfig task.
* Added do_savedefconfig task to kernel.bbclass.

(From OE-Core rev: 5bbc3533710d82da0b35c70410b1a9019ab70336)

Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:34 +01:00
Zhai Edwin
cb3de7d9ca xserver-nodm-init: Fix X start failure on some platform
sudo is used to run rootless X in xserver-nodm, and start to fail with
"xf86OpenConsole: Cannot open /dev/tty0" error after upgrade to 1.8.1. sudo
seems wait for some resource that is unavailable in early phase of booting.
This patch swith to "su" for rootless X starting as a fix.

[YOCTO #1211] got fixed

(From OE-Core rev: cb935833a128d67e6c1fbe745cf68a58df6470d1)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:34 +01:00
Zhai Edwin
422c7a5fcf apr-util: Upgrade to 1.3.12
(From OE-Core rev: 51a6c43f6658032d67ddea349f66ddcaafe6bbce)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>

Merged with ${BPN} change

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:33 +01:00
Zhai Edwin
af415b4d16 apr: Upgrade to 1.4.5
Remove buildconf_fix.patch as already in upstream.

(From OE-Core rev: e66e0886412b2f1a564babbaa83095c86e5ec65c)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>

Merged with ${BPN} change

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:33 +01:00
Zhai Edwin
e69dd2f509 parted: Upgrade to 3.0
(From OE-Core rev: deeebb52fd31c6100c140d340ca338d2b62f3ce2)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:33 +01:00
Zhai Edwin
fa5d871577 gpgme: Upgrade to 1.3.1
(From OE-Core rev: 55be2b0f882dfa7ae1885ff0223d60606c02aad4)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:33 +01:00
Zhai Edwin
e3f0cff334 libassuan: Upgrade to 2.0.2
(From OE-Core rev: ff8e4cfd7c081381c8cc3f7820fbc63e177f0b32)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:32 +01:00
Zhai Edwin
1094f15735 libsoup-2.4: Upgrade to 2.34.2
(From OE-Core rev: fb0a930bde00ee6b1b93bdef44568008a1ac2264)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:32 +01:00
Zhai Edwin
6d3c2628c5 lighttpd: Upgrade to 1.4.29
(From OE-Core rev: 765714d2b4dc2b1f6c73c4a8e5fcd0a0c475ad39)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:32 +01:00
Noor, Ahsan
b77f1f327b kernel,cml1.bbclass: Move menuconfig to cml1
* The menuconfig target exists in places other than the kernel that use kernel style config.

(From OE-Core rev: 1ceaf45f634d11b65aab0f591a86865df49c8c90)

Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:32 +01:00
Lianhao Lu
9a78cb7980 environment files: Added and unified version related variables.
[YOCTO #1306] Fixing.

Added and unified version related variables in all environment files
generated by package meta-toolchain, meta-ide-support,
meta-environment-xxx.

(From OE-Core rev: 5fbea0f2614d5bc9aec0819a337cdec9b5331f71)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:32 +01:00
Kumar Gala
e57a0bdfd4 binutils: Add support for powerpc e5500 core
Add powerpc e5500 core support to binutils so its recognized by
assember, etc.  The e5500 is a 64-bit core from Freescale utilized in
the P5020 SoC.

(From OE-Core rev: 3952db3f254e5c57a13e3a8244c76405aa3db00d)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:31 +01:00
Koen Kooi
20ee0c715d gtk-icon-cache bbclass: only add runtime dependencies on hicolor-icon-theme when installing icons
Tested with gnome-icon-theme and libsoup recipes on angstrom.

(From OE-Core rev: 229ba02322ce49d13e2d64eff6bb637f23f1f16b)

Signed-off-by: Koen Kooi <koen@openembedded.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:31 +01:00
Noor, Ahsan
0b4b8d89a3 bison: Add dependency on flex-native
* This is 0479b70418ef553859029911c57c63a7aaebe299 from OE. flex-native is needed to build bison. The dependency was being satisfied indirectly but we need to add it explicitly.

(From OE-Core rev: 344d5789e688bcbc566ae336f1f821110a2e4feb)

Signed-off-by: Noor, Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:31 +01:00
Mei Lei
79e36a3ccf aspell: upgrade from 0.60.6 to 0.60.6.1
(From OE-Core rev: ac9c5ba82bd7524b849ac8df4a46ae35c6c60f27)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:31 +01:00
Yu Ke
a242da91a2 SRC_URI, S: use BPN instead of PN for multilib case
in multilibcase, PN has multilib prefix, so it is not
correct to use PN in SRC_URI and S. instead,  we've
dedicately pruned multilib prefix in BPN, so BPN is
the right alternative for PN.

(From OE-Core rev: d6dca85028640034b1a5356920aad3268bd4f1c2)

Signed-off-by: Yu Ke <ke.y@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:30 +01:00
Martin Jansa
8a1114d175 libfm: depend on intltool-native instead of intltool
(From OE-Core rev: 243ee5509995403c131114aef1a75c5d2af2e0cc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:29 +01:00
Martin Jansa
bfcf50a1dd polkit: depend on intltool-native instead of intltool
(From OE-Core rev: 1e75e78098bcbac92db0d9e45b3a78af0864250d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:29 +01:00
Kang Kai
dde02ad31e libnewt: update to 0.52.13
Update libnewt to 0.52.13, and remove include-without-python.patch
because it has been merged.
Update SRC_URI and add SRC_URI checksum.

(From OE-Core rev: b83284d2be47019e1ca122ce4a2b1a077e7c3174)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 15:04:29 +01:00
Richard Purdie
c5c9c53c4e font-util: The recipe produces binaries so don't mark as 'all' architecture
Since font-util produces binaries it shouldn't be marked as "all"
package architecture. To achieve this we need to move the settings
out the common include file.

This fixes errors like:

ERROR: runstrip: ''mips-poky-linux-strip' --remove-section=.comment --remove-section=.note '/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/all-poky-linux/font-util-1.2.0-r2.1/package/usr/bin/bdftruncate'' strip command failed
ERROR: runstrip: ''mips-poky-linux-strip' --remove-section=.comment --remove-section=.note '/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/all-poky-linux/font-util-1.2.0-r2.1/package/usr/bin/ucs2any'' strip command failed

(From OE-Core rev: 7aefddc57e9da02298af1aa98abedbe99435e15a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 14:03:58 +01:00
Lianhao Lu
810259e6e0 eglibc-package.inc: Fixed error in referencing PKGSUFFIX
[YOCTO #1329] Added the missing $ when referencing PKGSUFFIX in FILES_*
variables set.

[RP: Added PR bumps]
(From OE-Core rev: cd5440f6fa4b1d470c722039b4d2ea6f9b4bfd88)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-04 12:57:44 +01:00
Dongxiao Xu
5fbac72eb8 multilib: Use BPN instead of PN for style like lib${PN}
When supporting multilib, ${PN} will be extended with MLPREFIX. However
if a package name contains ${PN} with styles like lib${PN}, such
extension will cause error. Use BPN in this case.

(From OE-Core rev: fbb734e5753655de30c82c0a036c9043820e02cb)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:07:25 +01:00
Dongxiao Xu
0a4953bab4 openjade-native: Change RDEPENDS of sgml-common-native
openjade-native should RDEPENDS on sgml-common-native but not
sgml-common

(From OE-Core rev: 3f7809ba54bc4941c42071728cee1b286c1e87f6)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:07:25 +01:00
Dongxiao Xu
ddb8aa2f29 libxml-simple-perl: Use BBCLASSEXTEND insteand of *-native recipe
It's not appropriate to require xxx.bb in xxx-native.bb, causing that
xxx-native depends on target recipe.

Use BBCLASSEXTEND to solve this issue.

(From OE-Core rev: aa8f6b64055c6576bcdb63d3bbf9ab47b87c0d59)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:07:25 +01:00
Dongxiao Xu
37fb8cd049 eglibc-locale: Specially handle FILES_eglibc-gconv for multilib
In multilib support, it iterate values in PACKAGES and then extend name
for variables like "FILES_xxx", "SUMMARY_xxx", etc.

However eglibc-gconv is dynamically put in PACKAGES by
package_do_split_gconv function. Therefore the name will not be
extended automatically.

Specially handle the FILES variable for eglibc-gconv to fix the issue
of missing "lib32-eglibc-gconv" issue in doing multilib do_rootfs.

Also when set PACKAGES, add the MLPREFIX.

(From OE-Core rev: 4a5cc82218fa730b898c553875accfeb6800f9a4)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:07:24 +01:00
Kumar Gala
889455c98e tcl: Fix packaging of platform independent files
Tcl's doesn't utilize ${baselib} for platform independent files but
defines it as follows:

TCL_LIBRARY             = $(prefix)/lib/tcl$(VERSION)

Match that so if ${baselib} is not just /lib things work properly.

(From OE-Core rev: df4ed0bfc6396a0d6df0b5bfd1b3114edab90dc0)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:07:24 +01:00
Saul Wold
6f93e34866 atom-pc.conf: Add live image type
This change will cause the live image to be built by default
No longer is it necessary to build a -live image type.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 18:02:41 +01:00
Kumar Gala
a01e3120f5 libnss-mdns: dont use hard coded /lib path
As libdir might not be /lib (could be /lib64) use ${base_libdir} instead of
hard coded "/lib" in configure options set in EXTRA_OECONF.

(From OE-Core rev: 130d16d18e8bf7cfe87a1fa128f182f7fe728708)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:58 +01:00
Joshua Lock
8c21a0d66c bb/ui/crumbs/runningbuild: emit signal when command fails with exit signal
Emit the generic build-complete signal when a command fails with an exit
signal enabling the UI to update itself accordingly.

Addresses [YOCTO #1265]

(Bitbake rev: 25ec13075855f7e321a9763682a8cd4ca09203cd)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:57 +01:00
Joshua Lock
847d38ed84 bb/ui/hob: disable editing in the build messages tree view
Addresses the second part of [YOCTO #1311]

(Bitbake rev: d790386112b0beb444713a12d766bd4bd3441f56)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:57 +01:00
Joshua Lock
fd2cbd4f6b ui/crumbs/runningbuild: add optional readonly mode, default off
In b947e7aa405966262c0614cae02e7978ec637095 Bob started to introduce code
for a right-click menu, whilst most of the code is non-invasive it does
enable the editable property of the gtk.TreeView which can be confusing.

This change adds a readonly parameter, defaulting to False, to the
RunningBuildTreeView which if True will prevent the editable property from
being set.

CC: Bob Foerster <robert@erafx.com>
(Bitbake rev: d1d6bfab1789d8c0a4faa109bcc06b3cefe62620)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:57 +01:00
Joshua Lock
d86fdf1307 bb/ui/hob: show build messages are displayed in the order they're received
Use the new sequential option of RunningBuild to ensure this.

Fixes the first part of [YOCTO #1311]

(Bitbake rev: 972769e6362ea3cf35c8fb7cdfbb147758d0a2f2)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:56 +01:00
Joshua Lock
f353148390 bb/ui/crumbs/runningbuild: optionally create list entries sequentially
In b947e7aa405966262c0614cae02e7978ec637095 Bob changed the behaviour of
the RunningBuildModel such that the items are added to the model in a
non-sequential order.

The messages in the view being listed out of order from how they are
received is undesirable for users of the hob UI, therefore this patch adds
an optional sequential parameter to the RunningBuild initialiser which,
when set to True, will always append new messages so that the order shown
in the view is that the messages are received in. The parameter defaults to
to False such that the behaviour added by Bob is preserved.

Partially addresses [YOCTO #1311]

CC: Bob Foerster <robert@erafx.com>
(Bitbake rev: b16663e1919fddbf63d0ca7f9ad3ffdc7d1121fd)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:56 +01:00
Joshua Lock
647643b654 bb/ui/hob: save changes to bblayers.conf when using Add Layer menu item
Fixes [YOCTO #1283]

(Bitbake rev: d1f1ebbe504f5567783461946c0eb45b1e923dd8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:51:56 +01:00
Kumar Gala
be1f70d68b gcc: Fix setting of GLIBC_DYNAMIC_LINKER
The sed regex in do_configure_prepend was producing the following result:

 #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "/lib64/ld-linux-x86-64.so.2"

instead of removing the leading "/lib" or "/lib64".

Now we have it do:

 #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"

Additionally, with the regex fixed the manipulation of SYSTEMLIBS_DIR
needs to be removed.

(From OE-Core rev: b343436d03fa5690b16ee8ef5d4a738c5194b301)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:47 +01:00
Kumar Gala
9a49eb78ec automake: Fix issue with tar configure failing with large UID/GIDs
Add a fixup for trying to create ustar archives when the users
UID or GID is larger than the format allows.

(From OE-Core rev: 7a092818f901c5c860e82f573534cd505d9fb959)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:46 +01:00
Richard Purdie
fb98479c47 package_rpm: Ensure alternatives links are reflected in rpm package dependencies
Currently, if a file is provided as an alternative link within the package, rpm
doesn't see the dependency. This works out badly for dependencies such as /bin/sh
which scripts might require.

Since rpm detects and adds these dependencies we do need to ensure the dependency
information in the packages is correct. This patch does so for the rpm backend
ensuring internal consistency whilst the approach for addressing this problem in
the other package backends is considered.

(From OE-Core rev: 102fc29b9c9eae8435b29edb41b5090ace2373c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:46 +01:00
Richard Purdie
23774530c1 autotools.bbclass: Fix m4 file race
If something removes .m4 files from the aclocal directory whilst aclocal is
running it gets upset. To avoid this we need to take a copy of the aclocal
directory and build against this instead.

[YOCTO #861]

(From OE-Core rev: 6a4778e21341f031569f561e7699d2c616b60af0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:46 +01:00
Richard Purdie
e8e06a48b3 bitbake.conf/qemux86-64: Automate TRANSLATED_TARGET_ARCH
(From OE-Core rev: 6def7129cf7580a935c05cc05b7f803812d5bb18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:46 +01:00
Richard Purdie
b65fd46ee2 libzypp: Correctly handle - in package architecture names
If package architectures contain - characters this needs to be mapped
to something else in (_) since its illegal in C variable names.

[YOCTO #1313 partially]

(From OE-Core rev: 4806a459880d0860b563d30d3fa8d7cde3461cc6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-03 17:46:45 +01:00
Joshua Lock
8c4598a532 hob: remove temporary directory on program shutdown
Move temp directory handling into the HobEventHandler and clean up the
temporary files on program close.

Fixes [YOCTO #1307]

(Bitbake rev: 1009ca570a750a00b0e60afcc30ead070c7b310a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:44 +01:00
Joshua Lock
e03114b352 ui/crumbs/layereditor: if layer adding fails show an explanatory dialog
When adding a layer fails try to explain why to the user.

(Bitbake rev: 2f7eadfdd710f84a299d6fc7be67ddb089f03ecc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:43 +01:00
Joshua Lock
2da73ed388 ui/crumbs/configurator: tweak addLayerConf return values
Use different return types when adding failed versus when the layer is
already enabled.

(Bitbake rev: 906854d75a12c8752efb1e4065eaf1a10b191612)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:43 +01:00
Joshua Lock
fdece011d6 ui/crumbs/hobeventhandler: emit a signal when a command fails
If a CommandFailed event is seen emit a signal with the error message.

(Bitbake rev: 15cc4fe5051dcb6ac5915e10228b5f3d3ed845bd)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:43 +01:00
Joshua Lock
5f33a63fea ui/hob: show error and exit if we receive the fatal-error signal
If we receive the fatal-error signal from the handler display a dialog
informing the user of an error and displaying the error message. Dismissing
the dialog quits the application.

Fixes [YOCTO #1279]

(Bitbake rev: 04dbd80bbc9ffe2a566b8cc488f0feebadcdde60)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:42 +01:00
Joshua Lock
15689067a4 ui/crumbs/hobeventhandler: emit a signal when there's a fatal-error
If the cooker encounters an error we're unable to proceed so emit a signal
so that UI's can notify the user and exit.

(Bitbake rev: b6f6edd5090e933ac97a65f93ea9d1b255fca811)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:42 +01:00
Joshua Lock
ade2a27179 hob: unset busy cursor on exit
Prevent the busy cursor being shown after hob exits if quit is called
whilst the busy cursor is set.

(Bitbake rev: 7b977ff222d4a318efabd0ca5f37fa03b9acb996)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:42 +01:00
Joshua Lock
639e9d9481 ui/crumbs/hobeventhandler: remove unused code
Remove some unused variables and methods.

(Bitbake rev: b1b02d523c6281615b72255774ed455b4cae4847)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 22:31:41 +01:00
886 changed files with 26426 additions and 13419 deletions

8
.gitignore vendored
View File

@@ -9,11 +9,9 @@ build*/pyshtables.py
pstage/
scripts/oe-git-proxy-socks
sources/
meta-darwin
meta-maemo
meta-extras
meta-m2
meta-prvt*
meta-*
!meta-skeleton
!meta-demoapps
*.swp
*.orig
*.rej

View File

@@ -68,12 +68,12 @@ Intel Atom based PCs and devices (atom-pc)
The atom-pc MACHINE is tested on the following platforms:
o Asus eee901
o Asus EeePC 901
o Acer Aspire One
o Toshiba NB305
o Intel Embedded Development Board 1-N450 (Black Sand)
and is likely to work on many unlisted atom based devices. The MACHINE type
and is likely to work on many unlisted Atom based devices. The MACHINE type
supports ethernet, wifi, sound, and i915 graphics by default in addition to
common PC input devices, busses, and so on.
@@ -83,26 +83,18 @@ straightforward with a caveat for USB devices. The following examples assume the
target boot device is /dev/sdb, be sure to verify this and use the correct
device as the following commands are run as root and are not reversable.
Hard Disk:
1. Build a directdisk image format. This will generate proper partition tables
that will in turn be written to the physical media. For example:
$ bitbake core-image-minimal-directdisk
2. Use the "dd" utility to write the image to the raw block device. For example:
# dd if=core-image-minimal-directdisk-atom-pc.hdddirect of=/dev/sdb
USB Device:
1. Build an hddimg image format. This is a simple filesystem without partition
tables and is suitable for USB keys. For example:
1. Build a live image. This image type consists of a simple filesystem
without a partition table, which is suitable for USB keys, and with the
default setup for the atom-pc machine, this image type is built
automatically for any image you build. For example:
$ bitbake core-image-minimal-live
$ bitbake core-image-minimal
2. Use the "dd" utility to write the image to the raw block device. For
example:
# dd if=core-image-minimal-live-atom-pc.hddimg of=/dev/sdb
# dd if=core-image-minimal-atom-pc.hddimg of=/dev/sdb
If the device fails to boot with "Boot error" displayed, it is likely the BIOS
cannot understand the physical layout of the disk (or rather it expects a
@@ -126,7 +118,7 @@ USB Device:
b. Copy the contents of the poky image to the USB-ZIP mode device:
# mount -o loop core-image-minimal-live-atom-pc.hddimg /tmp/image
# mount -o loop core-image-minimal-atom-pc.hddimg /tmp/image
# mount /dev/sdb4 /tmp/usbkey
# cp -rf /tmp/image/* /tmp/usbkey
@@ -150,7 +142,7 @@ faster CPU, more RAM, an ethernet port, more USB ports, microSD, and removes
the NAND flash. The beagleboard MACHINE is tested on the following platforms:
o Beagleboard C4
o Beagleboard xM Rev A
o Beagleboard xM rev A & B
The Beagleboard C4 has NAND, while the xM does not. For the sake of simplicity,
these instructions assume you have erased the NAND on the C4 so its boot

View File

@@ -190,7 +190,7 @@ Default BBFILES are the .bb files in the current directory.""")
# server is daemonized this logfile will be truncated.
cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
bb.utils.init_logger(bb.msg, configuration.verbose, configuration.debug,
bb.msg.init_msgconfig(configuration.verbose, configuration.debug,
configuration.debug_domains)
# Ensure logging messages get sent to the UI as events
@@ -228,6 +228,7 @@ Default BBFILES are the .bb files in the current directory.""")
try:
return server.launchUI(ui_main, server_connection.connection, server_connection.events)
finally:
bb.event.ui_queue = []
server_connection.terminate()
return 1

View File

@@ -2,9 +2,7 @@
# This script has subcommands which operate against your bitbake layers, either
# displaying useful information, or acting against them.
# Currently, it only provides a show_appends command, which shows you what
# bbappends are in effect, and warns you if you have appends which are not being
# utilized.
# See the help output for details on available commands.
import cmd
import logging
@@ -23,25 +21,30 @@ from bb.cooker import state
logger = logging.getLogger('BitBake')
default_cmd = 'show_appends'
def main(args):
logging.basicConfig(format='%(levelname)s: %(message)s')
# Set up logging
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
logger.addHandler(console)
initialenv = os.environ.copy()
bb.utils.clean_environment()
cmds = Commands()
cmds = Commands(initialenv)
if args:
cmds.onecmd(' '.join(args))
else:
cmds.onecmd(default_cmd)
cmds.do_help('')
return cmds.returncode
class Commands(cmd.Cmd):
def __init__(self):
def __init__(self, initialenv):
cmd.Cmd.__init__(self)
initialenv = os.environ.copy()
self.returncode = 0
self.config = Config(parse_only=True)
self.cooker = bb.cooker.BBCooker(self.config,
@@ -76,33 +79,66 @@ class Commands(cmd.Cmd):
if not self.cooker_data:
self.prepare_cooker()
def default(self, line):
"""Handle unrecognised commands"""
sys.stderr.write("Unrecognised command or option\n")
self.do_help('')
def do_help(self, topic):
"""display general help or help on a specified command"""
if topic:
sys.stdout.write('%s: ' % topic)
cmd.Cmd.do_help(self,topic)
else:
sys.stdout.write("usage: bitbake-layers <command> [arguments]\n\n")
sys.stdout.write("Available commands:\n")
procnames = self.get_names()
for procname in procnames:
if procname[:3] == 'do_':
sys.stdout.write(" %s\n" % procname[3:])
doc = getattr(self, procname).__doc__
if doc:
sys.stdout.write(" %s\n" % doc.splitlines()[0])
def do_show_layers(self, args):
"""show_layers: shows current configured layers"""
"""show current configured layers"""
self.check_prepare_cooker()
logger.info(str(self.config_data.getVar('BBLAYERS', True)))
logger.plain('')
logger.plain("%s %s %s" % ("layer".ljust(20), "path".ljust(40), "priority"))
logger.plain('=' * 74)
layerdirs = str(self.config_data.getVar('BBLAYERS', True)).split()
for layerdir in layerdirs:
layername = '?'
layerpri = 0
for layer, _, regex, pri in self.cooker.status.bbfile_config_priorities:
if regex.match(os.path.join(layerdir, 'test')):
layername = layer
layerpri = pri
break
logger.plain("%s %s %d" % (layername.ljust(20), layerdir.ljust(40), layerpri))
def do_show_overlayed(self, args):
"""show_overlayed: list overlayed recipes (where there is a recipe in another
layer that has a higher layer priority)
"""list overlayed recipes (where there is a recipe in another layer that has a higher layer priority)
syntax: show_overlayed
usage: show_overlayed
Highest priority recipes are listed with the recipes they overlay as subitems.
"""
self.check_prepare_cooker()
if self.cooker.overlayed:
logger.info('Overlayed recipes:')
logger.plain('Overlayed recipes:')
for f in self.cooker.overlayed.iterkeys():
logger.info('%s' % f)
logger.plain('%s' % f)
for of in self.cooker.overlayed[f]:
logger.info(' %s' % of)
logger.plain(' %s' % of)
else:
logger.info('No overlayed recipes found')
logger.plain('No overlayed recipes found')
def do_flatten(self, args):
"""flatten: flattens layer configuration into a separate output directory.
"""flattens layer configuration into a separate output directory.
syntax: flatten <outputdir>
usage: flatten <outputdir>
Takes the current layer configuration and builds a "flattened" directory
containing the contents of all layers, with any overlayed recipes removed
@@ -134,12 +170,12 @@ cleanup may still be necessary afterwards, in particular:
if of.startswith(layer):
overlayed.append(of)
logger.info('Copying files from %s...' % layer )
logger.plain('Copying files from %s...' % layer )
for root, dirs, files in os.walk(layer):
for f1 in files:
f1full = os.sep.join([root, f1])
if f1full in overlayed:
logger.info(' Skipping overlayed file %s' % f1full )
logger.plain(' Skipping overlayed file %s' % f1full )
else:
ext = os.path.splitext(f1)[1]
if ext != '.bbappend':
@@ -148,7 +184,7 @@ cleanup may still be necessary afterwards, in particular:
bb.utils.mkdirhier(os.path.dirname(fdest))
if os.path.exists(fdest):
if f1 == 'layer.conf' and root.endswith('/conf'):
logger.info(' Skipping layer config file %s' % f1full )
logger.plain(' Skipping layer config file %s' % f1full )
continue
else:
logger.warn('Overwriting file %s', fdest)
@@ -157,7 +193,7 @@ cleanup may still be necessary afterwards, in particular:
if f1 in self.cooker_data.appends:
appends = self.cooker_data.appends[f1]
if appends:
logger.info(' Applying appends to %s' % fdest )
logger.plain(' Applying appends to %s' % fdest )
for appendname in appends:
self.apply_append(appendname, fdest)
@@ -175,18 +211,18 @@ cleanup may still be necessary afterwards, in particular:
recipefile.writelines(appendfile.readlines())
def do_show_appends(self, args):
"""show_appends: List bbappend files and recipe files they apply to
"""list bbappend files and recipe files they apply to
syntax: show_appends
usage: show_appends
Recipes are listed with the bbappends that apply to them as subitems.
"""
self.check_prepare_cooker()
if not self.cooker_data.appends:
logger.info('No append files found')
logger.plain('No append files found')
return
logger.info('State of append files:')
logger.plain('State of append files:')
pnlist = list(self.cooker_data.pkg_pn.keys())
pnlist.sort()
@@ -215,9 +251,9 @@ Recipes are listed with the bbappends that apply to them as subitems.
appended, missing = self.get_appends_for_files(filenames)
if appended:
for basename, appends in appended:
logger.info('%s%s:', basename, name_suffix)
logger.plain('%s%s:', basename, name_suffix)
for append in appends:
logger.info(' %s', append)
logger.plain(' %s', append)
if best_filename:
if best_filename in missing:

View File

@@ -4,6 +4,10 @@ import os
import sys
import warnings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
from bb import fetch2
import logging
logger = logging.getLogger("BitBake")
try:
import cPickle as pickle
@@ -16,13 +20,20 @@ class BBConfiguration(object):
Manages build options and configurations for one run
"""
def __init__(self, debug, debug_domains):
setattr(self, "data", {})
setattr(self, "file", [])
setattr(self, "cmd", None)
setattr(self, "dump_signatures", True)
setattr(self, "debug", debug)
setattr(self, "debug_domains", debug_domains)
def __init__(self, **options):
self.data = {}
self.file = []
self.cmd = None
self.dump_signatures = True
self.prefile = []
self.postfile = []
self.parse_only = True
def __getattr__(self, attribute):
try:
return super(BBConfiguration, self).__getattribute__(attribute)
except AttributeError:
return None
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
@@ -39,82 +50,70 @@ warnings.showwarning = _showwarning
warnings.simplefilter("ignore", DeprecationWarning)
import bb.event
# Need to map our I/O correctly. stdout is a pipe to the server expecting
# events. We save this and then map stdout to stderr.
eventfd = os.dup(sys.stdout.fileno())
bb.event.worker_pipe = os.fdopen(eventfd, 'w', 0)
# map stdout to stderr
os.dup2(sys.stderr.fileno(), sys.stdout.fileno())
# Replace those fds with our own
#logout = data.expand("${TMPDIR}/log/stdout.%s" % os.getpid(), self.cfgData, True)
#mkdirhier(os.path.dirname(logout))
#newso = open("/tmp/stdout.%s" % os.getpid(), 'w')
#os.dup2(newso.fileno(), sys.stdout.fileno())
#os.dup2(newso.fileno(), sys.stderr.fileno())
# Don't read from stdin from the parent
si = file("/dev/null", 'r')
os.dup2(si.fileno( ), sys.stdin.fileno( ))
# We don't want to see signals to our parent, e.g. Ctrl+C
os.setpgrp()
# Save out the PID so that the event can include it the
# events
bb.event.worker_pid = os.getpid()
bb.event.useStdout = False
hashfile = sys.argv[1]
buildfile = sys.argv[2]
taskname = sys.argv[3]
import bb.cooker
p = pickle.Unpickler(file(hashfile, "rb"))
hashdata = p.load()
buildfile = sys.argv[1]
taskname = sys.argv[2]
if len(sys.argv) >= 4:
dryrun = sys.argv[3]
else:
dryrun = False
if len(sys.argv) >= 5:
hashfile = sys.argv[4]
p = pickle.Unpickler(file(hashfile, "rb"))
hashdata = p.load()
else:
hashdata = None
debug = hashdata["msg-debug"]
debug_domains = hashdata["msg-debug-domains"]
verbose = hashdata["verbose"]
handler = bb.event.LogHandler()
logger.addHandler(handler)
bb.utils.init_logger(bb.msg, verbose, debug, debug_domains)
#An example to make debug log messages show up
#bb.msg.init_msgconfig(True, 3, [])
cooker = bb.cooker.BBCooker(BBConfiguration(debug, debug_domains), None)
cooker.parseConfiguration()
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
cooker.bb_cache = bb.cache.init(cooker)
cooker.status = bb.cache.CacheData()
def worker_fire(event, d):
if isinstance(event, logging.LogRecord):
console.handle(event)
bb.event.worker_fire = worker_fire
bb.event.worker_pid = os.getpid()
(fn, cls) = cooker.bb_cache.virtualfn2realfn(buildfile)
initialenv = os.environ.copy()
config = BBConfiguration()
def register_idle_function(self, function, data):
pass
cooker = bb.cooker.BBCooker(config, register_idle_function, initialenv)
config_data = cooker.configuration.data
cooker.status = config_data
cooker.handleCollections(bb.data.getVar("BBFILE_COLLECTIONS", config_data, 1))
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
buildfile = cooker.matchFile(fn)
fn = cooker.bb_cache.realfn2virtual(buildfile, cls)
fn = bb.cache.Cache.realfn2virtual(buildfile, cls)
cooker.buildSetVars()
# Load data into the cache for fn and parse the loaded cache data
the_data = cooker.bb_cache.loadDataFull(fn, cooker.get_file_appends(fn), cooker.configuration.data)
cooker.bb_cache.setData(fn, buildfile, the_data)
cooker.bb_cache.handle_data(fn, cooker.status)
#exportlist = bb.utils.preserved_envvars_export_list()
#bb.utils.filter_environment(exportlist)
the_data = bb.cache.Cache.loadDataFull(fn, cooker.get_file_appends(fn), cooker.configuration.data)
if taskname.endswith("_setscene"):
the_data.setVarFlag(taskname, "quieterrors", "1")
bb.parse.siggen.set_taskdata(hashdata["hashes"], hashdata["deps"])
for h in hashdata["hashes"]:
bb.data.setVar("BBHASH_%s" % h, hashdata["hashes"][h], the_data)
for h in hashdata["deps"]:
bb.data.setVar("BBHASHDEPS_%s" % h, hashdata["deps"][h], the_data)
if hashdata:
bb.parse.siggen.set_taskdata(hashdata["hashes"], hashdata["deps"])
for h in hashdata["hashes"]:
bb.data.setVar("BBHASH_%s" % h, hashdata["hashes"][h], the_data)
for h in hashdata["deps"]:
bb.data.setVar("BBHASHDEPS_%s" % h, hashdata["deps"][h], the_data)
ret = 0
if sys.argv[4] != "True":
if dryrun != "True":
ret = bb.build.exec_task(fn, taskname, the_data)
sys.exit(ret)

View File

@@ -430,9 +430,8 @@ Create a set of html pages (documentation) for a bitbake.conf....
action = "store_true", dest = "verbose", default = False )
options, args = parser.parse_args( sys.argv )
if options.debug:
bb.msg.set_debug_level(options.debug)
bb.msg.init_msgconfig(options.verbose, options.debug)
return options.config, options.output

View File

@@ -12,9 +12,10 @@
<corpauthor>BitBake Team</corpauthor>
</authorgroup>
<copyright>
<year>2004, 2005, 2006</year>
<year>2004, 2005, 2006, 2011</year>
<holder>Chris Larson</holder>
<holder>Phil Blundell</holder>
<holder>Richard Purdie</holder>
</copyright>
<legalnotice>
<para>This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit <ulink url="http://creativecommons.org/licenses/by/2.5/">http://creativecommons.org/licenses/by/2.5/</ulink> or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.</para>
@@ -26,7 +27,7 @@
<title>Overview</title>
<para>BitBake is, at its simplest, a tool for executing
tasks and managing metadata. As such, its similarities to GNU make and other
build tools are readily apparent. It was inspired by Portage, the package management system used by the Gentoo Linux distribution. BitBake is the basis of the <ulink url="http://www.openembedded.org/">OpenEmbedded</ulink> project, which is being used to build and maintain a number of embedded Linux distributions, including OpenZaurus and Familiar.</para>
build tools are readily apparent. It was inspired by Portage, the package management system used by the Gentoo Linux distribution. BitBake is the basis of the <ulink url="http://www.openembedded.org/">OpenEmbedded</ulink> project, which is being used to build and maintain a number of embedded Linux distributions/projects such as Angstrom and the Yocto project.</para>
</section>
<section>
<title>Background and goals</title>
@@ -37,7 +38,7 @@ important functionality, and none of the ad-hoc
<emphasis>buildroot</emphasis> systems, prevalent in the
embedded space, were scalable or maintainable.</para>
<para>Some important goals for BitBake were:
<para>Some important original goals for BitBake were:
<itemizedlist>
<listitem><para>Handle crosscompilation.</para></listitem>
<listitem><para>Handle interpackage dependencies (build time on target architecture, build time on native architecture, and runtime).</para></listitem>
@@ -53,10 +54,18 @@ between multiple projects using BitBake for their
builds.</para></listitem>
<listitem><para>Should provide an inheritance mechanism to
share common metadata between many packages.</para></listitem>
<listitem><para>Et cetera...</para></listitem>
</itemizedlist>
</para>
<para>BitBake satisfies all these and many more. Flexibility and power have always been the priorities. It is highly extensible, supporting embedded Python code and execution of any arbitrary tasks.</para>
<para>Over time it has become apparent that some further requirements were necessary:
<itemizedlist>
<listitem><para>Handle variants of a base recipe (native, sdk, multilib).</para></listitem>
<listitem><para>Able to split metadata into layers and allow layers to override each other.</para></listitem>
<listitem><para>Allow representation of a given set of input variables to a task as a checksum.</para></listitem>
<listitem><para>based on that checksum, allow acceleration of builds with prebuilt components.</para></listitem>
</itemizedlist>
</para>
<para>BitBake satisfies all the original requirements and many more with extensions being made to the basic functionality to reflect the additionl requirements. Flexibility and power have always been the priorities. It is highly extensible, supporting embedded Python code and execution of any arbitrary tasks.</para>
</section>
</chapter>
<chapter>
@@ -94,10 +103,10 @@ share common metadata between many packages.</para></listitem>
<para>If <varname>A</varname> is set before the above is called, it will retain its previous value. If <varname>A</varname> is unset prior to the above call, <varname>A</varname> will be set to <literal>aval</literal>. Note that this assignment is immediate, so if there are multiple ?= assignments to a single variable, the first of those will be used.</para>
</section>
<section>
<title>Setting a default value (??=)</title>
<para><screen><varname>A</varname> ??= "somevalue"</screen></para>
<para><screen><varname>A</varname> ??= "someothervalue"</screen></para>
<para>If <varname>A</varname> is set before the above, it will retain that value. If <varname>A</varname> is unset prior to the above, <varname>A</varname> will be set to <literal>someothervalue</literal>. This is a lazy version of ??=, in that the assignment does not occur until the end of the parsing process, so that the last, rather than the first, ??= assignment to a given variable will be used.</para>
<title>Setting a weak default value (??=)</title>
<para><screen><varname>A</varname> ??= "somevalue"
<varname>A</varname> ??= "someothervalue"</screen></para>
<para>If <varname>A</varname> is set before the above, it will retain that value. If <varname>A</varname> is unset prior to the above, <varname>A</varname> will be set to <literal>someothervalue</literal>. This is a lazy/weak assignment in that the assignment does not occur until the end of the parsing process, so that the last, rather than the first, ??= assignment to a given variable will be used. Any other setting of A using = or ?= will however override the value set with ??=</para>
</section>
<section>
<title>Immediate variable expansion (:=)</title>
@@ -209,6 +218,19 @@ include</literal> directive.</para>
addtask printdate before do_build</screen></para>
<para>This defines the necessary Python function and adds it as a task which is now a dependency of do_build, the default task. If anyone executes the do_build task, that will result in do_printdate being run first.</para>
</section>
<section>
<title>Task Flags</title>
<para>Tasks support a number of flags which control various functionality of the task. These are as follows:</para>
<para>'dirs' - directories which should be created before the task runs</para>
<para>'cleandirs' - directories which should created before the task runs but should be empty</para>
<para>'noexec' - marks the tasks as being empty and no execution required. These are used as dependency placeholders or used when added tasks need to be subsequently disabled.</para>
<para>'nostamp' - don't generate a stamp file for a task. This means the task is always rexecuted.</para>
<para>'fakeroot' - this task needs to be run in a fakeroot environment, obtained by adding the variables in FAKEROOTENV to the environment.</para>
<para>'umask' - the umask to run the task under.</para>
<para> For the 'deptask', 'rdeptask', 'recdeptask' and 'recrdeptask' flags please see the dependencies section.</para>
</section>
<section>
<title>Events</title>
<para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para>
@@ -239,6 +261,51 @@ SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;pat
<para>Note that the name of the range will default to the original version of the recipe, so given OE, a recipe file of foo_1.0.0+.bb will default the name of its versions to 1.0.0+. This is useful, as the range name is not only placed into overrides; it's also made available for the metadata to use in the form of the <varname>BPV</varname> variable, for use in file:// search paths (<varname>FILESPATH</varname>).</para>
</section>
</section>
<section>
<title>Variable interaction: Worked Examples</title>
<para>Despite the documentation of the different forms of variable definition above, it can be hard to work out what happens when variable operators are combined. This section documents some common questions people have regarding the way variables interact.</para>
<section>
<title>Override and append ordering</title>
<para>There is often confusion about which order overrides and the various append operators take effect.</para>
<para><screen><varname>OVERRIDES</varname> = "foo"
<varname>A_foo_append</varname> = "X"</screen></para>
<para>In this case, X is unconditionally appended to the variable <varname>A_foo</varname>. Since foo is an override, A_foo would then replace <varname>A</varname>.</para>
<para><screen><varname>OVERRIDES</varname> = "foo"
<varname>A</varname> = "X"
<varname>A_append_foo</varname> = "Y"</screen></para>
<para>In this case, only when foo is in OVERRIDES, Y is appended to the variable <varname>A</varname> so the value of <varname>A</varname> would become XY (NB: no spaces are appended).</para>
<para><screen><varname>OVERRIDES</varname> = "foo"
<varname>A_foo_append</varname> = "X"
<varname>A_foo_append</varname> += "Y"</screen></para>
<para>This behaves as per the first case above, but the value of <varname>A</varname> would be "X Y" instead of just "X".</para>
<para><screen><varname>A</varname> = "1"
<varname>A_append</varname> = "2"
<varname>A_append</varname> = "3"
<varname>A</varname> += "4"
<varname>A</varname> .= "5"</screen></para>
<para>Would ultimately result in <varname>A</varname> taking the value "1 4523" since the _append operator executes at the same time as the expansion of other overrides.</para>
</section>
<section>
<title>Key Expansion</title>
<para>Key expansion happens at the data store finalisation time just before overrides are expanded.</para>
<para><screen><varname>A${B}</varname> = "X"
<varname>B</varname> = "2"
<varname>A2</varname> = "Y"</screen></para>
<para>So in this case <varname>A2</varname> would take the value of "X".</para>
</section>
</section>
<section>
<title>Dependency handling</title>
<para>BitBake 1.7.x onwards works with the metadata at the task level since this is optimal when dealing with multiple threads of execution. A robust method of specifing task dependencies is therefore needed. </para>
@@ -299,13 +366,35 @@ SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;pat
<title>File download support</title>
<section>
<title>Overview</title>
<para>BitBake provides support to download files this procedure is called fetching. The SRC_URI is normally used to tell BitBake which files to fetch. The next sections will describe the available fetchers and their options. Each fetcher honors a set of variables and per URI parameters separated by a <quote>;</quote> consisting of a key and a value. The semantics of the variables and parameters are defined by the fetcher. BitBake tries to have consistent semantics between the different fetchers.
<para>BitBake provides support to download files this procedure is called fetching and it handled by the fetch and fetch2 modules. At this point the original fetch code is considered to be replaced by fetch2 and this manual only related to the fetch2 codebase.</para>
<para>The SRC_URI is normally used to tell BitBake which files to fetch. The next sections will describe the available fetchers and their options. Each fetcher honors a set of variables and per URI parameters separated by a <quote>;</quote> consisting of a key and a value. The semantics of the variables and parameters are defined by the fetcher. BitBake tries to have consistent semantics between the different fetchers.
</para>
<para>The overall fetch process is that first, fetches are attempted from PREMIRRORS. If those don't work, the original SRC_URI is attempted and if that fails, BitBake will fall back to MIRRORS. Cross urls are supported, so its possible to mirror a git repository on an http server as a tarball for example. Some example commonly used mirror definitions are:</para>
<para><screen><varname>PREMIRRORS</varname> ?= "\
bzr://.*/.* http://somemirror.org/sources/ \n \
cvs://.*/.* http://somemirror.org/sources/ \n \
git://.*/.* http://somemirror.org/sources/ \n \
hg://.*/.* http://somemirror.org/sources/ \n \
osc://.*/.* http://somemirror.org/sources/ \n \
p4://.*/.* http://somemirror.org/sources/ \n \
svk://.*/.* http://somemirror.org/sources/ \n \
svn://.*/.* http://somemirror.org/sources/ \n"
<varname>MIRRORS</varname> =+ "\
ftp://.*/.* http://somemirror.org/sources/ \n \
http://.*/.* http://somemirror.org/sources/ \n \
https://.*/.* http://somemirror.org/sources/ \n"</screen></para>
<para>Non-local downloaded output is placed into the directory specified by the <varname>DL_DIR</varname>. For non local downloads the code can check checksums for the download to ensure the file has been downloaded correctly. These are specified in the form <varname>SRC_URI[md5sum]</varname> for the md5 checksum and <varname>SRC_URI[sha256sum]</varname> for the sha256 checksum. If <varname>BB_STRICT_CHECKSUM</varname> is set, any download without a checksum will trigger an error message. In cases where multiple files are listed in SRC_URI, the name parameter is used assign names to the urls and these are then specified in the checksums in the form SRC_URI[name.sha256sum].</para>
</section>
<section>
<title>Local file fetcher</title>
<para>The URN for the local file fetcher is <emphasis>file</emphasis>. The filename can be either absolute or relative. If the filename is relative, <varname>FILESPATH</varname> and <varname>FILESDIR</varname> will be used to find the appropriate relative file, depending on the <varname>OVERRIDES</varname>. Single files and complete directories can be specified.
<para>The URN for the local file fetcher is <emphasis>file</emphasis>. The filename can be either absolute or relative. If the filename is relative, <varname>FILESPATH</varname> and failing that <varname>FILESDIR</varname> will be used to find the appropriate relative file. The metadata usually extend these variables to include variations of the values in <varname>OVERRIDES</varname>. Single files and complete directories can be specified.
<screen><varname>SRC_URI</varname>= "file://relativefile.patch"
<varname>SRC_URI</varname>= "file://relativefile.patch;this=ignored"
<varname>SRC_URI</varname>= "file:///Users/ich/very_important_software"
@@ -314,8 +403,8 @@ SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;pat
</section>
<section>
<title>CVS file fetcher</title>
<para>The URN for the CVS fetcher is <emphasis>cvs</emphasis>. This fetcher honors the variables <varname>DL_DIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIR</varname> specifies where a temporary checkout is saved. <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build). <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables to use for the CVS checkout or update.
<title>CVS fetcher</title>
<para>The URN for the CVS fetcher is <emphasis>cvs</emphasis>. This fetcher honors the variables <varname>CVSDIR</varname>, <varname>SRCDATE</varname>, <varname>FETCHCOMMAND_cvs</varname>, <varname>UPDATECOMMAND_cvs</varname>. <varname>DL_DIR</varname> specifies where a temporary checkout is saved. <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build). <varname>FETCHCOMMAND</varname> and <varname>UPDATECOMMAND</varname> specify which executables to use for the CVS checkout or update.
</para>
<para>The supported parameters are <varname>module</varname>, <varname>tag</varname>, <varname>date</varname>, <varname>method</varname>, <varname>localdir</varname>, <varname>rsh</varname> and <varname>scmdata</varname>. The <varname>module</varname> specifies which module to check out, the <varname>tag</varname> describes which CVS TAG should be used for the checkout. By default the TAG is empty. A <varname>date</varname> can be specified to override the SRCDATE of the configuration to checkout a specific date. The special value of "now" will cause the checkout to be updated on every build.<varname>method</varname> is by default <emphasis>pserver</emphasis>. If <emphasis>ext</emphasis> is used the <varname>rsh</varname> parameter will be evaluated and <varname>CVS_RSH</varname> will be set. Finally, <varname>localdir</varname> is used to checkout into a special directory relative to <varname>CVSDIR</varname>.
@@ -327,28 +416,19 @@ SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;pat
<section>
<title>HTTP/FTP fetcher</title>
<para>The URNs for the HTTP/FTP fetcher are <emphasis>http</emphasis>, <emphasis>https</emphasis> and <emphasis>ftp</emphasis>. This fetcher honors the variables <varname>DL_DIR</varname>, <varname>FETCHCOMMAND_wget</varname>, <varname>PREMIRRORS</varname>, <varname>MIRRORS</varname>. The <varname>DL_DIR</varname> defines where to store the fetched file. <varname>FETCHCOMMAND</varname> contains the command used for fetching. <quote>${URI}</quote> and <quote>${FILES}</quote> will be replaced by the URI and basename of the file to be fetched. <varname>PREMIRRORS</varname> will be tried first when fetching a file. If that fails, the actual file will be tried and finally all <varname>MIRRORS</varname> will be tried.
<para>The URNs for the HTTP/FTP fetcher are <emphasis>http</emphasis>, <emphasis>https</emphasis> and <emphasis>ftp</emphasis>. This fetcher honors the variables <varname>FETCHCOMMAND_wget</varname>. <varname>FETCHCOMMAND</varname> contains the command used for fetching. <quote>${URI}</quote> and <quote>${FILES}</quote> will be replaced by the URI and basename of the file to be fetched.
</para>
<para>The only supported parameter is <varname>md5sum</varname>. After a fetch the <varname>md5sum</varname> of the file will be calculated and the two sums will be compared.
</para>
<para><screen><varname>SRC_URI</varname> = "http://oe.handhelds.org/not_there.aac;md5sum=12343"
<varname>SRC_URI</varname> = "ftp://oe.handhelds.org/not_there_as_well.aac;md5sum=1234"
<varname>SRC_URI</varname> = "ftp://you@oe.handheld.sorg/home/you/secret.plan;md5sum=1234"
<para><screen><varname>SRC_URI</varname> = "http://oe.handhelds.org/not_there.aac"
<varname>SRC_URI</varname> = "ftp://oe.handhelds.org/not_there_as_well.aac"
<varname>SRC_URI</varname> = "ftp://you@oe.handheld.sorg/home/you/secret.plan"
</screen></para>
</section>
<section>
<title>SVK fetcher</title>
<para>
<emphasis>Currently NOT supported</emphasis>
</para>
</section>
<section>
<title>SVN fetcher</title>
<para>The URN for the SVN fetcher is <emphasis>svn</emphasis>.
</para>
<para>This fetcher honors the variables <varname>FETCHCOMMAND_svn</varname>, <varname>DL_DIR</varname>, <varname>SRCDATE</varname>. <varname>FETCHCOMMAND</varname> contains the subversion command. <varname>DL_DIR</varname> is the directory where tarballs will be saved. <varname>SRCDATE</varname> specifies which date to use when doing the fetching (the special value of "now" will cause the checkout to be updated on every build).
<para>This fetcher honors the variables <varname>FETCHCOMMAND_svn</varname>, <varname>SVNDIR</varname>, <varname>SRCREV</varname>. <varname>FETCHCOMMAND</varname> contains the subversion command. <varname>SRCREV</varname> specifies which revision to use when doing the fetching.
</para>
<para>The supported parameters are <varname>proto</varname>, <varname>rev</varname> and <varname>scmdata</varname>. <varname>proto</varname> is the Subversion protocol, <varname>rev</varname> is the Subversion revision. If <varname>scmdata</varname> is set to <quote>keep</quote>, the <quote>.svn</quote> directories will be available during compile-time.
</para>
@@ -361,9 +441,9 @@ SRC_URI_append_1.0.7+ = "file://some_patch_which_the_new_versions_need.patch;pat
<title>GIT fetcher</title>
<para>The URN for the GIT Fetcher is <emphasis>git</emphasis>.
</para>
<para>The Variables <varname>DL_DIR</varname>, <varname>GITDIR</varname> are used. <varname>DL_DIR</varname> will be used to store the checkedout version. <varname>GITDIR</varname> will be used as the base directory where the git tree is cloned to.
<para>The variable <varname>GITDIR</varname> will be used as the base directory where the git tree is cloned to.
</para>
<para>The parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis> and <emphasis>scmdata</emphasis>. <emphasis>tag</emphasis> is a Git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the Git protocol to use and defaults to <quote>rsync</quote>. If <emphasis>scmdata</emphasis> is set to <quote>keep</quote>, the <quote>.git</quote> directory will be available during compile-time.
<para>The parameters are <emphasis>tag</emphasis>, <emphasis>protocol</emphasis> and <emphasis>scmdata</emphasis>. <emphasis>tag</emphasis> is a Git tag, the default is <quote>master</quote>. <emphasis>protocol</emphasis> is the Git protocol to use and defaults to <quote>git</quote> if a hostname is set, otherwise its <quote>file</quote>. If <emphasis>scmdata</emphasis> is set to <quote>keep</quote>, the <quote>.git</quote> directory will be available during compile-time.
</para>
<para><screen><varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;tag=version-1"
<varname>SRC_URI</varname> = "git://git.oe.handhelds.org/git/vip.git;protocol=http"

View File

@@ -56,7 +56,7 @@ logging.setLoggerClass(BBLogger)
logger = logging.getLogger("BitBake")
logger.addHandler(NullHandler())
logger.setLevel(logging.INFO)
logger.setLevel(logging.DEBUG - 2)
# This has to be imported after the setLoggerClass, as the import of bb.msg
# can result in construction of the various loggers.

View File

@@ -149,8 +149,7 @@ def exec_func(func, d, dirs = None):
adir = dirs[-1]
else:
adir = data.getVar('B', d, 1)
if not os.path.exists(adir):
adir = None
bb.utils.mkdirhier(adir)
ispython = flags.get('python')
if flags.get('fakeroot') and not flags.get('task'):
@@ -223,7 +222,7 @@ def exec_func_shell(function, d, runfile, cwd=None):
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
if logger.isEnabledFor(logging.DEBUG):
if bb.msg.loggerDefaultVerbose:
script.write("set -x\n")
data.emit_func(function, script, d)
if cwd:
@@ -234,7 +233,7 @@ def exec_func_shell(function, d, runfile, cwd=None):
cmd = runfile
if logger.isEnabledFor(logging.DEBUG):
if bb.msg.loggerDefaultVerbose:
logfile = LogTee(logger, sys.stdout)
else:
logfile = sys.stdout
@@ -308,6 +307,8 @@ def _exec_task(fn, task, d, quieterr):
# Ensure python logging goes to the logfile
handler = logging.StreamHandler(logfile)
handler.setFormatter(logformatter)
# Always enable full debug output into task logfiles
handler.setLevel(logging.DEBUG - 2)
bblogger.addHandler(handler)
localdata.setVar('BB_LOGFILE', logfn)

View File

@@ -286,14 +286,14 @@ class Cache(object):
old_mtimes.append(newest_mtime)
newest_mtime = max(old_mtimes)
bNeedUpdate = True
cache_ok = True
if self.caches_array:
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, RecipeInfoCommon):
cachefile = getCacheFile(self.cachedir, cache_class.cachefile)
bNeedUpdate = bNeedUpdate and (bb.parse.cached_mtime_noerror(cachefile) >= newest_mtime)
cache_ok = cache_ok and (bb.parse.cached_mtime_noerror(cachefile) >= newest_mtime)
cache_class.init_cacheData(self)
if bNeedUpdate:
if cache_ok:
self.load_cachefile()
elif os.path.isfile(self.cachefile):
logger.info("Out of date cache found, rebuilding...")

View File

@@ -150,117 +150,79 @@ def parser_cache_savemerge(d):
bb.utils.unlockfile(glf)
Logger = logging.getLoggerClass()
class BufferedLogger(Logger):
def __init__(self, name, level=0, target=None):
Logger.__init__(self, name)
self.setLevel(level)
self.buffer = []
self.target = target
def handle(self, record):
self.buffer.append(record)
def flush(self):
for record in self.buffer:
self.target.handle(record)
self.buffer = []
class PythonParser():
class ValueVisitor():
"""Visitor to traverse a python abstract syntax tree and obtain
the variables referenced via bitbake metadata APIs, and the external
functions called.
getvars = ("d.getVar", "bb.data.getVar", "data.getVar")
execfuncs = ("bb.build.exec_func", "bb.build.exec_task")
def warn(self, func, arg):
"""Warn about calls of bitbake APIs which pass a non-literal
argument for the variable name, as we're not able to track such
a reference.
"""
getvars = ("d.getVar", "bb.data.getVar", "data.getVar")
expands = ("d.expand", "bb.data.expand", "data.expand")
execs = ("bb.build.exec_func", "bb.build.exec_task")
try:
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
self.log.debug(2, 'Failed to convert function and argument to source form')
else:
self.log.debug(1, self.unhandled_message % (funcstr, argstr))
@classmethod
def _compare_name(cls, strparts, node):
"""Given a sequence of strings representing a python name,
where the last component is the actual Name and the prior
elements are Attribute nodes, determine if the supplied node
matches.
"""
def visit_Call(self, node):
name = self.called_node_name(node.func)
if name in self.getvars:
if isinstance(node.args[0], ast.Str):
self.var_references.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif name in self.execfuncs:
if isinstance(node.args[0], ast.Str):
self.var_execs.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif name and isinstance(node.func, (ast.Name, ast.Attribute)):
self.execs.add(name)
if not strparts:
return True
current, rest = strparts[0], strparts[1:]
def called_node_name(self, node):
"""Given a called node, return its original string form"""
components = []
while node:
if isinstance(node, ast.Attribute):
if current == node.attr:
return cls._compare_name(rest, node.value)
components.append(node.attr)
node = node.value
elif isinstance(node, ast.Name):
if current == node.id:
return True
return False
@classmethod
def compare_name(cls, value, node):
"""Convenience function for the _compare_node method, which
can accept a string (which is split by '.' for you), or an
iterable of strings, in which case it checks to see if any of
them match, similar to isinstance.
"""
if isinstance(value, basestring):
return cls._compare_name(tuple(reversed(value.split("."))),
node)
components.append(node.id)
return '.'.join(reversed(components))
else:
return any(cls.compare_name(item, node) for item in value)
break
def __init__(self, value):
self.var_references = set()
self.var_execs = set()
self.direct_func_calls = set()
self.var_expands = set()
self.value = value
@classmethod
def warn(cls, func, arg):
"""Warn about calls of bitbake APIs which pass a non-literal
argument for the variable name, as we're not able to track such
a reference.
"""
try:
funcstr = codegen.to_source(func)
argstr = codegen.to_source(arg)
except TypeError:
logger.debug(2, 'Failed to convert function and argument to source form')
else:
logger.debug(1, "Warning: in call to '%s', argument '%s' is "
"not a literal", funcstr, argstr)
def visit_Call(self, node):
if self.compare_name(self.getvars, node.func):
if isinstance(node.args[0], ast.Str):
self.var_references.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif self.compare_name(self.expands, node.func):
if isinstance(node.args[0], ast.Str):
self.warn(node.func, node.args[0])
self.var_expands.update(node.args[0].s)
elif isinstance(node.args[0], ast.Call) and \
self.compare_name(self.getvars, node.args[0].func):
pass
else:
self.warn(node.func, node.args[0])
elif self.compare_name(self.execs, node.func):
if isinstance(node.args[0], ast.Str):
self.var_execs.add(node.args[0].s)
else:
self.warn(node.func, node.args[0])
elif isinstance(node.func, ast.Name):
self.direct_func_calls.add(node.func.id)
elif isinstance(node.func, ast.Attribute):
# We must have a qualified name. Therefore we need
# to walk the chain of 'Attribute' nodes to determine
# the qualification.
attr_node = node.func.value
identifier = node.func.attr
while isinstance(attr_node, ast.Attribute):
identifier = attr_node.attr + "." + identifier
attr_node = attr_node.value
if isinstance(attr_node, ast.Name):
identifier = attr_node.id + "." + identifier
self.direct_func_calls.add(identifier)
def __init__(self):
#self.funcdefs = set()
def __init__(self, name, log):
self.var_references = set()
self.var_execs = set()
self.execs = set()
#self.external_cmds = set()
self.references = set()
self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
self.unhandled_message = "in call of %s, argument '%s' is not a string literal"
self.unhandled_message = "while parsing %s, %s" % (name, self.unhandled_message)
def parse_python(self, node):
h = hash(str(node))
if h in pythonparsecache:
@@ -271,24 +233,25 @@ class PythonParser():
code = compile(check_indent(str(node)), "<string>", "exec",
ast.PyCF_ONLY_AST)
visitor = self.ValueVisitor(code)
for n in ast.walk(code):
if n.__class__.__name__ == "Call":
visitor.visit_Call(n)
self.visit_Call(n)
self.references.update(visitor.var_references)
self.references.update(visitor.var_execs)
self.execs = visitor.direct_func_calls
self.references.update(self.var_references)
self.references.update(self.var_execs)
pythonparsecache[h] = {}
pythonparsecache[h]["refs"] = self.references
pythonparsecache[h]["execs"] = self.execs
class ShellParser():
def __init__(self):
def __init__(self, name, log):
self.funcdefs = set()
self.allexecs = set()
self.execs = set()
self.log = BufferedLogger('BitBake.Data.%s' % name, logging.DEBUG, log)
self.unhandled_template = "unable to handle non-literal command '%s'"
self.unhandled_template = "while parsing %s, %s" % (name, self.unhandled_template)
def parse_shell(self, value):
"""Parse the supplied shell code in a string, returning the external
@@ -403,8 +366,7 @@ class ShellParser():
cmd = word[1]
if cmd.startswith("$"):
logger.debug(1, "Warning: execution of non-literal "
"command '%s'", cmd)
self.log.debug(1, self.unhandled_template % cmd)
elif cmd == "eval":
command = " ".join(word for _, word in words[1:])
self.parse_shell(command)

View File

@@ -172,6 +172,13 @@ class CommandsSync:
value = params[1]
bb.data.setVar(varname, value, command.cooker.configuration.data)
def resetCooker(self, command, params):
"""
Reset the cooker to its initial state, thus forcing a reparse for
any async command that has the needcache property set to True
"""
command.cooker.reset()
class CommandsAsync:
"""

View File

@@ -169,7 +169,8 @@ class BBCooker:
if not self.server_registration_cb:
bb.data.setVar("BB_WORKERCONTEXT", "1", self.configuration.data)
bb.data.inheritFromOS(self.configuration.data, self.savedenv)
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.configuration.data, self.savedenv, filtered_keys)
try:
self.parseConfigurationFiles(self.configuration.prefile,
@@ -243,13 +244,18 @@ class BBCooker:
# Need files parsed
self.updateCache()
# Need to ensure data store is expanded
localdata = data.createCopy(self.configuration.data)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
pkg_pn = self.status.pkg_pn
preferred_versions = {}
latest_versions = {}
# Sort by priority
for pn in pkg_pn:
(last_ver, last_file, pref_ver, pref_file) = bb.providers.findBestProvider(pn, self.configuration.data, self.status)
(last_ver, last_file, pref_ver, pref_file) = bb.providers.findBestProvider(pn, localdata, self.status)
preferred_versions[pn] = (pref_ver, pref_file)
latest_versions[pn] = (last_ver, last_file)
@@ -276,7 +282,15 @@ class BBCooker:
envdata = None
if buildfile:
fn = self.matchFile(buildfile)
# Parse the configuration here. We need to do it explicitly here since
# this showEnvironment() code path doesn't use the cache
self.parseConfiguration()
self.status = bb.cache.CacheData(self.caches_array)
self.handleCollections( bb.data.getVar("BBFILE_COLLECTIONS", self.configuration.data, 1) )
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
fn = self.matchFile(fn)
fn = bb.cache.Cache.realfn2virtual(fn, cls)
elif len(pkgs_to_build) == 1:
self.updateCache()
@@ -615,9 +629,33 @@ class BBCooker:
collectlog.warn("No bb files matched BBFILE_PATTERN_%s '%s'" % (collection, pattern))
def findConfigFilePath(self, configfile):
"""
Find the location on disk of configfile and if it exists and was parsed by BitBake
emit the ConfigFilePathFound event with the path to the file.
"""
path = self._findConfigFile(configfile)
if path:
bb.event.fire(bb.event.ConfigFilePathFound(path), self.configuration.data)
if not path:
return
# Generate a list of parsed configuration files by searching the files
# listed in the __depends and __base_depends variables with a .conf suffix.
conffiles = []
dep_files = bb.data.getVar('__depends', self.configuration.data) or set()
dep_files.union(bb.data.getVar('__base_depends', self.configuration.data) or set())
for f in dep_files:
if f[0].endswith(".conf"):
conffiles.append(f[0])
_, conf, conffile = path.rpartition("conf/")
match = os.path.join(conf, conffile)
# Try and find matches for conf/conffilename.conf as we don't always
# have the full path to the file.
for cfg in conffiles:
if cfg.endswith(match):
bb.event.fire(bb.event.ConfigFilePathFound(path),
self.configuration.data)
break
def findFilesMatchingInDir(self, filepattern, directory):
"""
@@ -1074,8 +1112,8 @@ class BBCooker:
self.server_registration_cb(buildTargetsIdle, rq)
def updateCache(self, force=False):
if self.state == state.running and not force:
def updateCache(self):
if self.state == state.running:
return
if self.state in (state.shutdown, state.stop):
@@ -1260,8 +1298,11 @@ class BBCooker:
self.state = state.stop
def reparseFiles(self):
return
def reset(self):
self.state = state.initial
self.loadConfigurationData()
self.updateCache(force=True)
def server_main(cooker, func, *args):
cooker.pre_serve()
@@ -1324,7 +1365,7 @@ def catch_parse_error(func):
return wrapped
@catch_parse_error
def _parse(fn, data, include=False):
def _parse(fn, data, include=True):
return bb.parse.handle(fn, data, include)
@catch_parse_error

View File

@@ -49,6 +49,7 @@ from bb import data_smart
from bb import codeparser
import bb
logger = data_smart.logger
_dict_type = data_smart.DataSmart
def init():
@@ -159,16 +160,17 @@ def expandKeys(alterdata, readdata = None):
ekey = todolist[key]
renameVar(key, ekey, alterdata)
def inheritFromOS(d, savedenv):
def inheritFromOS(d, savedenv, permitted):
"""Inherit variables from the initial environment."""
exportlist = bb.utils.preserved_envvars_exported()
for s in savedenv.keys():
try:
setVar(s, getVar(s, savedenv, True), d)
if s in exportlist:
setVarFlag(s, "export", True, d)
except TypeError:
pass
if s in permitted:
try:
setVar(s, getVar(s, savedenv, True), d)
if s in exportlist:
setVarFlag(s, "export", True, d)
except TypeError:
pass
def emit_var(var, o=sys.__stdout__, d = init(), all=False):
"""Emit a variable to be sourced by a shell."""
@@ -257,7 +259,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
emit_var(key, o, d, False) and o.write('\n')
emit_var(func, o, d, False) and o.write('\n')
newdeps = bb.codeparser.ShellParser().parse_shell(d.getVar(func, True))
newdeps = bb.codeparser.ShellParser(func, logger).parse_shell(d.getVar(func, True))
seen = set()
while newdeps:
deps = newdeps
@@ -266,39 +268,45 @@ def emit_func(func, o=sys.__stdout__, d = init()):
for dep in deps:
if bb.data.getVarFlag(dep, "func", d):
emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser().parse_shell(d.getVar(dep, True))
newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep, True))
newdeps -= seen
def update_data(d):
"""Performs final steps upon the datastore, including application of overrides"""
d.finalize()
def build_dependencies(key, keys, shelldeps, d):
def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps = set()
vardeps = d.getVarFlag(key, "vardeps", True)
try:
if d.getVarFlag(key, "func"):
value = d.getVar(key, False)
if key in vardepvals:
value = d.getVarFlag(key, "vardepvalue", True)
elif d.getVarFlag(key, "func"):
if d.getVarFlag(key, "python"):
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.PythonParser()
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.PythonParser(key, logger)
parser.parse_python(parsedvar.value)
deps = deps | parser.references
else:
parsedvar = d.expandWithRefs(d.getVar(key, False), key)
parser = bb.codeparser.ShellParser()
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.ShellParser(key, logger)
parser.parse_shell(parsedvar.value)
deps = deps | shelldeps
if vardeps is None:
parser.log.flush()
deps = deps | parsedvar.references
deps = deps | (keys & parser.execs) | (keys & parsedvar.execs)
else:
parser = d.expandWithRefs(d.getVar(key, False), key)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
deps |= set((d.getVarFlag(key, "vardeps", True) or "").split())
deps |= set((vardeps or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:
bb.note("Error expanding variable %s" % key)
raise
return deps
return deps, value
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)
@@ -306,12 +314,14 @@ def generate_dependencies(d):
keys = set(key for key in d.keys() if not key.startswith("__"))
shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
deps = {}
values = {}
tasklist = bb.data.getVar('__BBTASKS', d) or []
for task in tasklist:
deps[task] = build_dependencies(task, keys, shelldeps, d)
deps[task], values[task] = build_dependencies(task, keys, shelldeps, vardepvals, d)
newdeps = deps[task]
seen = set()
while newdeps:
@@ -320,11 +330,11 @@ def generate_dependencies(d):
newdeps = set()
for dep in nextdeps:
if dep not in deps:
deps[dep] = build_dependencies(dep, keys, shelldeps, d)
deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, vardepvals, d)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(taskdeps[task]))
return tasklist, deps
return tasklist, deps, values
def inherits_class(klass, d):
val = getVar('__inherit_cache', d) or []

View File

@@ -68,8 +68,14 @@ class VariableParse:
code = match.group()[3:-1]
codeobj = compile(code.strip(), self.varname or "<expansion>", "eval")
parser = bb.codeparser.PythonParser()
parser = bb.codeparser.PythonParser(self.varname, logger)
parser.parse_python(code)
if self.varname:
vardeps = self.d.getVarFlag(self.varname, "vardeps", True)
if vardeps is None:
parser.log.flush()
else:
parser.log.flush()
self.references |= parser.references
self.execs |= parser.execs
@@ -268,7 +274,12 @@ class DataSmart(MutableMapping):
self.dict[var]["content"] = value
def getVar(self, var, expand=False, noweakdefault=False):
return self.getVarFlag(var, "content", expand, noweakdefault)
value = self.getVarFlag(var, "content", False, noweakdefault)
# Call expand() separately to make use of the expand cache
if expand and value:
return self.expand(value, var)
return value
def renameVar(self, key, newkey):
"""

View File

@@ -65,6 +65,8 @@ def execute_handler(name, handler, event, d):
event.data = d
try:
ret = handler(event)
except bb.parse.SkipPackage:
raise
except Exception:
etype, value, tb = sys.exc_info()
logger.error("Execution of event handler '%s' failed" % name,

View File

@@ -197,6 +197,7 @@ def uri_replace(ud, uri_find, uri_replace, d):
uri_decoded = list(decodeurl(ud.url))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
logger.debug(2, "For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
result_decoded = ['', '', '', '', '', {}]
for i in uri_find_decoded:
loc = uri_find_decoded.index(i)
@@ -209,12 +210,18 @@ def uri_replace(ud, uri_find, uri_replace, d):
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
if ud.mirrortarball:
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.mirrortarball))
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
elif ud.localpath:
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(ud.localpath))
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
else:
return ud.url
return encodeurl(result_decoded)
result = encodeurl(result_decoded)
logger.debug(2, "For url %s returning %s" % (ud.url, result))
return result
methods = []
urldata_cache = {}
@@ -385,7 +392,8 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
exportvars = ['PATH', 'GIT_PROXY_COMMAND', 'GIT_PROXY_HOST',
'GIT_PROXY_PORT', 'GIT_CONFIG', 'http_proxy', 'ftp_proxy',
'https_proxy', 'no_proxy', 'ALL_PROXY', 'all_proxy',
'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME',
'GIT_PROXY_IGNORE', 'SOCKS5_USER', 'SOCKS5_PASSWD']
for var in exportvars:
val = bb.data.getVar(var, d, True)
@@ -956,7 +964,7 @@ class Fetch(object):
raise
except BBFetchException as e:
logger.debug(1, str(e))
logger.warn(str(e))
# Remove any incomplete fetch
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)

View File

@@ -88,7 +88,7 @@ class Git(FetchMethod):
else:
ud.proto = "git"
if not ud.proto in ('git', 'file', 'ssh', 'http', 'https'):
if not ud.proto in ('git', 'file', 'ssh', 'http', 'https', 'rsync'):
raise bb.fetch2.ParameterError("Invalid protocol type", ud.url)
ud.nocheckout = ud.parm.get("nocheckout","0") == "1"
@@ -168,10 +168,11 @@ class Git(FetchMethod):
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (ud.fullmirror), d)
repourl = "%s://%s%s%s" % (ud.proto, username, ud.host, ud.path)
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
clone_cmd = "%s clone --bare --mirror %s://%s%s%s %s" % \
(ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir)
clone_cmd = "%s clone --bare --mirror %s %s" % (ud.basecmd, repourl, ud.clonedir)
bb.fetch2.check_network_access(d, clone_cmd)
runfetchcmd(clone_cmd, d)
@@ -187,9 +188,9 @@ class Git(FetchMethod):
runfetchcmd("%s remote rm origin" % ud.basecmd, d)
except bb.fetch2.FetchError:
logger.debug(1, "No Origin")
runfetchcmd("%s remote add --mirror origin %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
fetch_cmd = "%s fetch --all -t" % ud.basecmd
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d)
fetch_cmd = "%s fetch -f --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
runfetchcmd(fetch_cmd, d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
@@ -209,14 +210,17 @@ class Git(FetchMethod):
subdir = ud.parm.get("subpath", "")
if subdir != "":
readpathspec = ":%s" % (subdir)
def_destsuffix = "%s/" % os.path.basename(subdir)
else:
readpathspec = ""
def_destsuffix = "git/"
destdir = os.path.join(destdir, "git/")
destsuffix = ud.parm.get("destsuffix", def_destsuffix)
destdir = os.path.join(destdir, destsuffix)
if os.path.exists(destdir):
bb.utils.prunedir(destdir)
runfetchcmd("git clone -s -n %s %s" % (ud.clonedir, destdir), d)
runfetchcmd("git clone -s -n %s/ %s" % (ud.clonedir, destdir), d)
if not ud.nocheckout:
os.chdir(destdir)
if subdir != "":
@@ -237,7 +241,10 @@ class Git(FetchMethod):
def _contains_ref(self, tag, d):
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
cmd = "%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag)
output = runfetchcmd(cmd, d, quiet=True)
if len(output.split()) > 1:
raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
return output.split()[0] != "0"
def _revision_key(self, url, ud, d, name):
@@ -278,7 +285,7 @@ class Git(FetchMethod):
# Check if we have the rev already
if not os.path.exists(ud.clonedir):
logging.debug("GIT repository for %s does not exist in %s. \
logger.debug(1, "GIT repository for %s does not exist in %s. \
Downloading.", url, ud.clonedir)
self.download(None, ud, d)
if not os.path.exists(ud.clonedir):
@@ -298,3 +305,11 @@ class Git(FetchMethod):
buildindex = "%s" % output.split()[0]
logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
return buildindex
def checkstatus(self, uri, ud, d):
fetchcmd = "%s ls-remote %s" % (ud.basecmd, uri)
try:
runfetchcmd(fetchcmd, d, quiet=True)
return True
except FetchError:
return False

View File

@@ -166,7 +166,7 @@ class Hg(FetchMethod):
output = runfetchcmd(self._buildhgcommand(ud, d, "info"), d)
return output.strip()
def _build_revision(self, url, ud, d):
def _build_revision(self, url, ud, d, name):
return ud.revision
def _revision_key(self, url, ud, d, name):

View File

@@ -50,9 +50,6 @@ class Local(FetchMethod):
path = url.split("://")[1]
path = path.split(";")[0]
newpath = path
dldirfile = os.path.join(data.getVar("DL_DIR", d, True), os.path.basename(path))
if os.path.exists(dldirfile):
return dldirfile
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, True)
if filespath:
@@ -62,6 +59,7 @@ class Local(FetchMethod):
if filesdir:
newpath = os.path.join(filesdir, path)
if not os.path.exists(newpath) and path.find("*") == -1:
dldirfile = os.path.join(data.getVar("DL_DIR", d, True), os.path.basename(path))
return dldirfile
return newpath

View File

@@ -69,10 +69,11 @@ class Wget(FetchMethod):
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
if not checkonly:
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd)
runfetchcmd(fetchcmd, d)
runfetchcmd(fetchcmd, d, quiet=checkonly)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page

View File

@@ -75,130 +75,69 @@ class BBLogFormatter(logging.Formatter):
msg += '\n' + ''.join(formatted)
return msg
class Loggers(dict):
def __getitem__(self, key):
if key in self:
return dict.__getitem__(self, key)
else:
log = logging.getLogger("BitBake.%s" % domain._fields[key])
dict.__setitem__(self, key, log)
return log
class BBLogFilter(object):
def __init__(self, handler, level, debug_domains):
self.stdlevel = level
self.debug_domains = debug_domains
loglevel = level
for domain in debug_domains:
if debug_domains[domain] < loglevel:
loglevel = debug_domains[domain]
handler.setLevel(loglevel)
handler.addFilter(self)
class DebugLevel(dict):
def __getitem__(self, key):
if key == "default":
key = domain.Default
return get_debug_level(key)
def filter(self, record):
if record.levelno >= self.stdlevel:
return True
if record.name in self.debug_domains and record.levelno >= self.debug_domains[record.name]:
return True
return False
def _NamedTuple(name, fields):
Tuple = collections.namedtuple(name, " ".join(fields))
return Tuple(*range(len(fields)))
domain = _NamedTuple("Domain", (
"Default",
"Build",
"Cache",
"Collection",
"Data",
"Depends",
"Fetcher",
"Parsing",
"PersistData",
"Provider",
"RunQueue",
"TaskData",
"Util"))
logger = logging.getLogger("BitBake")
loggers = Loggers()
debug_level = DebugLevel()
# Message control functions
#
def set_debug_level(level):
for log in loggers.itervalues():
log.setLevel(logging.NOTSET)
loggerDefaultDebugLevel = 0
loggerDefaultVerbose = False
loggerDefaultDomains = []
if level:
logger.setLevel(logging.DEBUG - level + 1)
def init_msgconfig(verbose, debug, debug_domains = []):
"""
Set default verbosity and debug levels config the logger
"""
bb.msg.loggerDefaultDebugLevel = debug
bb.msg.loggerDefaultVerbose = verbose
bb.msg.loggerDefaultDomains = debug_domains
def addDefaultlogFilter(handler):
debug = loggerDefaultDebugLevel
verbose = loggerDefaultVerbose
domains = loggerDefaultDomains
if debug:
level = BBLogFormatter.DEBUG - debug + 1
elif verbose:
level = BBLogFormatter.VERBOSE
else:
logger.setLevel(logging.INFO)
level = BBLogFormatter.NOTE
def get_debug_level(msgdomain = domain.Default):
if not msgdomain:
level = logger.getEffectiveLevel()
else:
level = loggers[msgdomain].getEffectiveLevel()
return max(0, logging.DEBUG - level + 1)
debug_domains = {}
for (domainarg, iterator) in groupby(domains):
dlevel = len(tuple(iterator))
debug_domains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
def set_verbose(level):
if level:
logger.setLevel(BBLogFormatter.VERBOSE)
else:
logger.setLevel(BBLogFormatter.INFO)
def set_debug_domains(domainargs):
for (domainarg, iterator) in groupby(domainargs):
for index, msgdomain in enumerate(domain._fields):
if msgdomain == domainarg:
level = len(tuple(iterator))
if level:
loggers[index].setLevel(logging.DEBUG - level + 1)
break
else:
warn(None, "Logging domain %s is not valid, ignoring" % domainarg)
BBLogFilter(handler, level, debug_domains)
#
# Message handling functions
#
def debug(level, msgdomain, msg):
warnings.warn("bb.msg.debug is deprecated in favor of the python 'logging' module",
DeprecationWarning, stacklevel=2)
level = logging.DEBUG - (level - 1)
if not msgdomain:
logger.debug(level, msg)
else:
loggers[msgdomain].debug(level, msg)
def plain(msg):
warnings.warn("bb.msg.plain is deprecated in favor of the python 'logging' module",
DeprecationWarning, stacklevel=2)
logger.plain(msg)
def note(level, msgdomain, msg):
warnings.warn("bb.msg.note is deprecated in favor of the python 'logging' module",
DeprecationWarning, stacklevel=2)
if level > 1:
if msgdomain:
logger.verbose(msg)
else:
loggers[msgdomain].verbose(msg)
else:
if msgdomain:
logger.info(msg)
else:
loggers[msgdomain].info(msg)
def warn(msgdomain, msg):
warnings.warn("bb.msg.warn is deprecated in favor of the python 'logging' module",
DeprecationWarning, stacklevel=2)
if not msgdomain:
logger.warn(msg)
else:
loggers[msgdomain].warn(msg)
def error(msgdomain, msg):
warnings.warn("bb.msg.error is deprecated in favor of the python 'logging' module",
DeprecationWarning, stacklevel=2)
if not msgdomain:
logger.error(msg)
else:
loggers[msgdomain].error(msg)
def fatal(msgdomain, msg):
if not msgdomain:
logger.critical(msg)
if msgdomain:
logger = logging.getLogger("BitBake.%s" % msgdomain)
else:
loggers[msgdomain].critical(msg)
logger = logging.getLogger("BitBake")
logger.critical(msg)
sys.exit(1)

View File

@@ -148,7 +148,7 @@ def handle(fn, d, include):
# DONE WITH PARSING... time to evaluate
if ext != ".bbclass":
data.setVar('FILE', fn, d)
data.setVar('FILE', abs_fn, d)
statements.eval(d)
@@ -194,21 +194,21 @@ def feeder(lineno, s, fn, root, statements):
return
# Skip empty lines
if s == '':
return
if s[0] == '#':
if s and s[0] == '#':
if len(__residue__) != 0 and __residue__[0][0] != "#":
bb.error("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s))
if s[-1] == '\\':
if s and s[-1] == '\\':
__residue__.append(s[:-1])
return
s = "".join(__residue__) + s
__residue__ = []
# Skip empty lines
if s == '':
return
# Skip comments
if s[0] == '#':
return

View File

@@ -102,7 +102,7 @@ def handle(fn, data, include):
feeder(lineno, s, fn, statements)
# DONE WITH PARSING... time to evaluate
bb.data.setVar('FILE', fn, data)
bb.data.setVar('FILE', abs_fn, data)
statements.eval(data)
if oldfile:
bb.data.setVar('FILE', oldfile, data)

View File

@@ -47,9 +47,10 @@ if hasattr(sqlite3, 'enable_shared_cache'):
@total_ordering
class SQLTable(collections.MutableMapping):
"""Object representing a table/domain in the database"""
def __init__(self, cursor, table):
self.cursor = cursor
def __init__(self, cachefile, table):
self.cachefile = cachefile
self.table = table
self.cursor = connect(self.cachefile)
self._execute("CREATE TABLE IF NOT EXISTS %s(key TEXT, value TEXT);"
% table)
@@ -63,6 +64,8 @@ class SQLTable(collections.MutableMapping):
except sqlite3.OperationalError as exc:
if 'database is locked' in str(exc) and count < 500:
count = count + 1
self.cursor.close()
self.cursor = connect(self.cachefile)
continue
raise
@@ -188,7 +191,7 @@ class PersistData(object):
del self.data[domain][key]
def connect(database):
return sqlite3.connect(database, timeout=30, isolation_level=None)
return sqlite3.connect(database, timeout=5, isolation_level=None)
def persist(domain, d):
"""Convenience factory for SQLTable objects based upon metadata"""
@@ -201,5 +204,4 @@ def persist(domain, d):
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_persist_data.sqlite3")
connection = connect(cachefile)
return SQLTable(connection, domain)
return SQLTable(cachefile, domain)

View File

@@ -287,7 +287,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
provides = dataCache.pn_provides[pn]
for provide in provides:
prefervar = bb.data.getVar('PREFERRED_PROVIDER_%s' % provide, cfgData, 1)
logger.verbose("checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
logger.debug(1, "checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
if prefervar in pns and pns[prefervar] not in preferred:
var = "PREFERRED_PROVIDER_%s = %s" % (provide, prefervar)
logger.verbose("selecting %s to satisfy runtime %s due to %s", prefervar, item, var)

View File

@@ -362,7 +362,7 @@ class RunQueueData:
message = "\n"
for msg in msgs:
message = message + msg
bb.msg.fatal(bb.msg.domain.RunQueue, message)
bb.msg.fatal("RunQueue", message)
return weight
@@ -470,7 +470,7 @@ class RunQueueData:
dep = taskData.fn_index[depdata]
taskid = taskData.gettask_id(dep, idependtask, False)
if taskid is None:
bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s in %s depends upon nonexistant task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep))
bb.msg.fatal("RunQueue", "Task %s in %s depends upon nonexistant task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep))
depends.append(taskid)
if depdata != fnid:
tdepends_fnid[fnid].add(taskid)
@@ -587,7 +587,7 @@ class RunQueueData:
continue
if target[1] not in taskData.tasks_lookup[fnid]:
bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s does not exist for target %s" % (target[1], target[0]))
bb.msg.fatal("RunQueue", "Task %s does not exist for target %s" % (target[1], target[0]))
listid = taskData.tasks_lookup[fnid][target[1]]
@@ -619,9 +619,9 @@ class RunQueueData:
# Check to make sure we still have tasks to run
if len(self.runq_fnid) == 0:
if not taskData.abort:
bb.msg.fatal(bb.msg.domain.RunQueue, "All buildable tasks have been run but the build is incomplete (--continue mode). Errors for the tasks that failed will have been printed above.")
bb.msg.fatal("RunQueue", "All buildable tasks have been run but the build is incomplete (--continue mode). Errors for the tasks that failed will have been printed above.")
else:
bb.msg.fatal(bb.msg.domain.RunQueue, "No active tasks and not in --continue mode?! Please report this bug.")
bb.msg.fatal("RunQueue", "No active tasks and not in --continue mode?! Please report this bug.")
logger.verbose("Pruned %s inactive tasks, %s left", delcount, len(self.runq_fnid))
@@ -632,7 +632,7 @@ class RunQueueData:
origdeps = self.runq_depends[listid]
for origdep in origdeps:
if maps[origdep] == -1:
bb.msg.fatal(bb.msg.domain.RunQueue, "Invalid mapping - Should never happen!")
bb.msg.fatal("RunQueue", "Invalid mapping - Should never happen!")
newdeps.append(maps[origdep])
self.runq_depends[listid] = set(newdeps)
@@ -653,7 +653,7 @@ class RunQueueData:
for dep in revdeps:
if dep in self.runq_depends[listid]:
#self.dump_data(taskData)
bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep], taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid]))
bb.msg.fatal("RunQueue", "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep], taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid]))
logger.verbose("Compute totals (have %s endpoint(s))", len(endpoints))
@@ -861,7 +861,7 @@ class RunQueue:
#print "Not current: %s" % notcurrent
if len(unchecked) > 0:
bb.msg.fatal(bb.msg.domain.RunQueue, "check_stamps fatal internal error")
bb.msg.fatal("RunQueue", "check_stamps fatal internal error")
return current
def check_stamp_task(self, task, taskname = None):
@@ -1072,6 +1072,7 @@ class RunQueueExecute:
# a fork() or exec*() activates PSEUDO...
envbackup = {}
fakeenv = {}
umask = None
taskdep = self.rqdata.dataCache.task_deps[fn]
@@ -1087,6 +1088,7 @@ class RunQueueExecute:
for key, value in (var.split('=') for var in envvars):
envbackup[key] = os.environ.get(key)
os.environ[key] = value
fakeenv[key] = value
fakedirs = (self.rqdata.dataCache.fakerootdirs[fn] or "").split()
for p in fakedirs:
@@ -1103,7 +1105,7 @@ class RunQueueExecute:
pipeout = os.fdopen(pipeout, 'wb', 0)
pid = os.fork()
except OSError as e:
bb.msg.fatal(bb.msg.domain.RunQueue, "fork failed: %d (%s)" % (e.errno, e.strerror))
bb.msg.fatal("RunQueue", "fork failed: %d (%s)" % (e.errno, e.strerror))
if pid == 0:
pipein.close()
@@ -1136,7 +1138,15 @@ class RunQueueExecute:
for h in self.rqdata.hash_deps:
the_data.setVar("BBHASHDEPS_%s" % h, self.rqdata.hash_deps[h])
os.environ.update(bb.data.exported_vars(the_data))
# exported_vars() returns a generator which *cannot* be passed to os.environ.update()
# successfully. We also need to unset anything from the environment which shouldn't be there
exports = bb.data.exported_vars(the_data)
bb.utils.empty_environment()
for e, v in exports:
os.environ[e] = v
for e in fakeenv:
os.environ[e] = fakeenv[e]
the_data.setVar(e, fakeenv[e])
if quieterrors:
the_data.setVarFlag(taskname, "quieterrors", "1")
@@ -1193,8 +1203,14 @@ class RunQueueExecuteTasks(RunQueueExecute):
if task in self.rq.scenequeue_covered:
continue
if len(self.rqdata.runq_revdeps[task]) > 0 and self.rqdata.runq_revdeps[task].issubset(self.rq.scenequeue_covered):
self.rq.scenequeue_covered.add(task)
found = True
ok = True
for revdep in self.rqdata.runq_revdeps[task]:
if self.rqdata.runq_fnid[task] != self.rqdata.runq_fnid[revdep]:
ok = False
break
if ok:
found = True
self.rq.scenequeue_covered.add(task)
# Detect when the real task needs to be run anyway by looking to see
# if any of its dependencies within the same package are scheduled
@@ -1217,9 +1233,6 @@ class RunQueueExecuteTasks(RunQueueExecute):
logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
for task in self.rq.scenequeue_covered:
self.task_skip(task)
event.fire(bb.event.StampUpdate(self.rqdata.target_pairs, self.rqdata.dataCache.stamp), self.cfgData)
schedulers = self.get_schedulers()
@@ -1313,8 +1326,14 @@ class RunQueueExecuteTasks(RunQueueExecute):
task = self.sched.next()
if task is not None:
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
if task in self.rq.scenequeue_covered:
logger.debug(2, "Setscene covered task %s (%s)", task,
self.rqdata.get_user_idstring(task))
self.task_skip(task)
return True
if self.rq.check_stamp_task(task, taskname):
logger.debug(2, "Stamp current task %s (%s)", task,
self.rqdata.get_user_idstring(task))
@@ -1402,18 +1421,20 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_revdeps.append(copy.copy(self.rqdata.runq_revdeps[task]))
sq_revdeps_new.append(set())
if (len(self.rqdata.runq_revdeps[task]) == 0) and task not in self.rqdata.runq_setscene:
endpoints[task] = None
endpoints[task] = set()
for task in self.rqdata.runq_setscene:
for dep in self.rqdata.runq_depends[task]:
endpoints[dep] = task
if dep not in endpoints:
endpoints[dep] = set()
endpoints[dep].add(task)
def process_endpoints(endpoints):
newendpoints = {}
for point, task in endpoints.items():
tasks = set()
if task:
tasks.add(task)
tasks |= task
if sq_revdeps_new[point]:
tasks |= sq_revdeps_new[point]
sq_revdeps_new[point] = set()
@@ -1436,7 +1457,29 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
deps.add(self.rqdata.runq_setscene.index(dep))
sq_revdeps_squash.append(deps)
elif len(sq_revdeps_new[task]) != 0:
bb.msg.fatal(bb.msg.domain.RunQueue, "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
# Resolve setscene inter-task dependencies
# e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene"
# Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies
for task in self.rqdata.runq_setscene:
realid = self.rqdata.taskData.gettask_id(self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]], self.rqdata.runq_task[task] + "_setscene", False)
idepends = self.rqdata.taskData.tasks_idepends[realid]
for (depid, idependtask) in idepends:
if depid not in self.rqdata.taskData.build_targets:
continue
depdata = self.rqdata.taskData.build_targets[depid][0]
if depdata is None:
continue
dep = self.rqdata.taskData.fn_index[depdata]
taskid = self.rqdata.get_task_id(self.rqdata.taskData.getfn_id(dep), idependtask.replace("_setscene", ""))
if taskid is None:
bb.msg.fatal("RunQueue", "Task %s depends upon nonexistant task %s:%s" % (self.rqdata.taskData.tasks_name[realid], dep, idependtask))
sq_revdeps_squash[self.rqdata.runq_setscene.index(task)].add(self.rqdata.runq_setscene.index(taskid))
# Have to zero this to avoid circular dependencies
sq_revdeps_squash[self.rqdata.runq_setscene.index(taskid)] = set()
#for task in xrange(len(sq_revdeps_squash)):
# print "Task %s: %s.%s is %s " % (task, self.taskData.fn_index[self.runq_fnid[self.runq_setscene[task]]], self.runq_task[self.runq_setscene[task]] + "_setscene", sq_revdeps_squash[task])
@@ -1496,8 +1539,9 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for task in xrange(len(self.sq_revdeps)):
if task not in valid_new and task not in noexec:
realtask = self.rqdata.runq_setscene[task]
logger.debug(2, 'No package found, so skipping setscene task %s',
self.rqdata.get_user_idstring(task))
self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)
logger.info('Executing SetScene Tasks')
@@ -1570,7 +1614,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
taskname = self.rqdata.runq_task[realtask] + "_setscene"
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]):
logger.debug(2, 'Stamp for underlying task %s(%s) is current, so skipping setscene variant',
task, self.rqdata.get_user_idstring(task))
task, self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)
return True
@@ -1612,7 +1656,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for task in oldcovered:
self.rq.scenequeue_covered.add(self.rqdata.runq_setscene[task])
logger.debug(1, 'We can skip tasks %s', self.rq.scenequeue_covered)
logger.debug(1, 'We can skip tasks %s', sorted(self.rq.scenequeue_covered))
self.rq.state = runQueueRunInit
return True

View File

@@ -39,7 +39,7 @@ class SignatureGenerator(object):
return
def get_taskhash(self, fn, task, deps, dataCache):
return 0
return "0"
def set_taskdata(self, hashes, deps):
return
@@ -72,11 +72,10 @@ class SignatureGeneratorBasic(SignatureGenerator):
def _build_data(self, fn, d):
tasklist, gendeps = bb.data.generate_dependencies(d)
tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
taskdeps = {}
basehash = {}
lookupcache = {}
for task in tasklist:
data = d.getVar(task, False)
@@ -101,6 +100,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
alldeps = seen - self.basewhitelist
for dep in sorted(alldeps):
data = data + dep
if dep in lookupcache:
var = lookupcache[dep]
else:
@@ -135,7 +135,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
k = fn + "." + task
data = dataCache.basetaskhash[k]
self.runtaskdeps[k] = []
for dep in sorted(deps):
for dep in sorted(deps, key=clean_basepath):
# We only manipulate the dependencies for packages not in the whitelist
if self.twl and not self.twl.search(dataCache.pkg_fn[fn]):
# then process the actual dependencies
@@ -159,7 +159,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
k = fn + "." + task
if runtime == "customfile":
sigfile = stampbase
elif runtime:
elif runtime and k in self.taskhash:
sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k]
else:
sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[k]
@@ -180,7 +180,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
data['gendeps'][dep] = self.gendeps[fn][dep]
data['varvals'][dep] = self.lookupcache[fn][dep]
if runtime:
if runtime and k in self.taskhash:
data['runtaskdeps'] = self.runtaskdeps[k]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
@@ -217,19 +217,32 @@ def dump_this_task(outfile, d):
task = "do_" + d.getVar("BB_CURRENTTASK", True)
bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile")
def clean_basepath(a):
if a.startswith("virtual:"):
b = a.rsplit(":", 1)[0] + a.rsplit("/", 1)[1]
else:
b = a.rsplit("/", 1)[1]
return b
def clean_basepaths(a):
b = {}
for x in a:
b[clean_basepath(x)] = a[x]
return b
def compare_sigfiles(a, b):
p1 = pickle.Unpickler(file(a, "rb"))
a_data = p1.load()
p2 = pickle.Unpickler(file(b, "rb"))
b_data = p2.load()
def dict_diff(a, b):
def dict_diff(a, b, whitelist=set()):
sa = set(a.keys())
sb = set(b.keys())
common = sa & sb
changed = set()
for i in common:
if a[i] != b[i]:
if a[i] != b[i] and i not in whitelist:
changed.add(i)
added = sa - sb
removed = sb - sa
@@ -237,20 +250,23 @@ def compare_sigfiles(a, b):
if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
print "changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist'])
if 'taskwhitelist' in a_data and a_data['taskwhitelist'] != b_data['taskwhitelist']:
print "taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist'])
print "changed items: %s" % a_data['taskwhitelist'].symmetric_difference(b_data['taskwhitelist'])
if a_data['taskdeps'] != b_data['taskdeps']:
print "Task dependencies changed from %s to %s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
print "Task dependencies changed from:\n%s\nto:\n%s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
if a_data['basehash'] != b_data['basehash']:
print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash'])
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'])
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
if changed:
for dep in changed:
print "List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep])
print "changed items: %s" % a_data['gendeps'][dep].symmetric_difference(b_data['gendeps'][dep])
if added:
for dep in added:
print "Dependency on variable %s was added" % (dep)
@@ -265,7 +281,9 @@ def compare_sigfiles(a, b):
print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
changed, added, removed = dict_diff(a_data['runtaskhashes'], b_data['runtaskhashes'])
a = clean_basepaths(a_data['runtaskhashes'])
b = clean_basepaths(b_data['runtaskhashes'])
changed, added, removed = dict_diff(a, b)
if added:
for dep in added:
print "Dependency on task %s was added" % (dep)
@@ -274,9 +292,10 @@ def compare_sigfiles(a, b):
print "Dependency on task %s was removed" % (dep)
if changed:
for dep in changed:
print "Hash for dependent task %s changed from %s to %s" % (dep, a_data['runtaskhashes'][dep], b_data['runtaskhashes'][dep])
print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
elif 'runtaskdeps' in a_data and 'runtaskdeps' in b_data and sorted(a_data['runtaskdeps']) != sorted(b_data['runtaskdeps']):
print "Tasks this task depends on changed from %s to %s" % (sorted(a_data['runtaskdeps']), sorted(b_data['runtaskdeps']))
print "changed items: %s" % a_data['runtaskdeps'].symmetric_difference(b_data['runtaskdeps'])
def dump_sigfile(a):
p1 = pickle.Unpickler(file(a, "rb"))

View File

@@ -153,7 +153,7 @@ class TaskData:
fnid = self.getfn_id(fn)
if fnid in self.failed_fnids:
bb.msg.fatal(bb.msg.domain.TaskData, "Trying to re-add a failed file? Something is broken...")
bb.msg.fatal("TaskData", "Trying to re-add a failed file? Something is broken...")
# Check if we've already seen this fn
if fnid in self.tasks_fnid:
@@ -175,7 +175,7 @@ class TaskData:
for dep in task_deps['depends'][task].split():
if dep:
if ":" not in dep:
bb.msg.fatal(bb.msg.domain.TaskData, "Error, dependency %s does not contain ':' character\n. Task 'depends' should be specified in the form 'packagename:task'" % (dep, fn))
bb.msg.fatal("TaskData", "Error for %s, dependency %s does not contain ':' character\n. Task 'depends' should be specified in the form 'packagename:task'" % (fn, dep))
ids.append(((self.getbuild_id(dep.split(":")[0])), dep.split(":")[1]))
self.tasks_idepends[taskid].extend(ids)

View File

@@ -40,12 +40,13 @@ class Configurator(gobject.GObject):
def __init__(self):
gobject.GObject.__init__(self)
self.local = None
self.bblayers = None
self.enabled_layers = {}
self.loaded_layers = {}
self.config = {}
self.orig_config = {}
self.preconf = None
self.postconf = None
# NOTE: cribbed from the cooker...
def _parse(self, f, data, include=False):
@@ -55,18 +56,16 @@ class Configurator(gobject.GObject):
parselog.critical("Unable to parse %s: %s" % (f, exc))
sys.exit(1)
def _loadLocalConf(self, path):
def _loadConf(self, path):
def getString(var):
return bb.data.getVar(var, data, True) or ""
self.local = path
if self.orig_config:
del self.orig_config
self.orig_config = {}
data = bb.data.init()
data = self._parse(self.local, data)
data = self._parse(path, data)
# We only need to care about certain variables
mach = getString('MACHINE')
@@ -76,6 +75,8 @@ class Configurator(gobject.GObject):
if sdkmach and sdkmach != self.config.get('SDKMACHINE', ''):
self.config['SDKMACHINE'] = sdkmach
distro = getString('DISTRO')
if not distro:
distro = "defaultsetup"
if distro and distro != self.config.get('DISTRO', ''):
self.config['DISTRO'] = distro
bbnum = getString('BB_NUMBER_THREADS')
@@ -109,10 +110,10 @@ class Configurator(gobject.GObject):
self.orig_config = copy.deepcopy(self.config)
def setLocalConfVar(self, var, val):
def setConfVar(self, var, val):
self.config[var] = val
def getLocalConfVar(self, var):
def getConfVar(self, var):
if var in self.config:
return self.config[var]
else:
@@ -135,9 +136,17 @@ class Configurator(gobject.GObject):
self.emit("layers-loaded")
def _addConfigFile(self, path):
conffiles = ["local.conf", "hob-pre.conf", "hob-post.conf"]
pref, sep, filename = path.rpartition("/")
if filename == "local.conf" or filename == "hob.local.conf":
self._loadLocalConf(path)
if filename == "hob-pre.conf":
self.preconf = path
if filename == "hob-post.conf":
self.postconf = path
if filename in conffiles:
self._loadConf(path)
elif filename == "bblayers.conf":
self._loadLayerConf(path)
@@ -158,11 +167,14 @@ class Configurator(gobject.GObject):
def addLayerConf(self, confpath):
layerpath = self._splitLayer(confpath)
name = self._getLayerName(layerpath)
if name not in self.enabled_layers:
if not layerpath or not name:
return None, None
elif name not in self.enabled_layers:
self.addLayer(name, layerpath)
return name, layerpath
else:
return None, None
return name, None
def addLayer(self, name, path):
self.enabled_layers[name] = path
@@ -204,26 +216,21 @@ class Configurator(gobject.GObject):
return "".join(layer_entry)
def writeLocalConf(self):
# Dictionary containing only new or modified variables
changed_values = {}
for var in self.config:
val = self.config[var]
if self.orig_config.get(var, None) != val:
changed_values[var] = val
def writeConfFile(self, conffile, contents):
"""
Make a backup copy of conffile and write a new file in its stead with
the lines in the contents list.
"""
# Create a backup of the conf file
bkup = "%s~" % conffile
os.rename(conffile, bkup)
if not len(changed_values):
return
# Write the contents list object to the conf file
with open(conffile, "w") as new:
new.write("".join(contents))
# Create a backup of the local.conf
bkup = "%s~" % self.local
os.rename(self.local, bkup)
# read the original conf into a list
with open(bkup, 'r') as config:
config_lines = config.readlines()
new_config_lines = ["\n"]
def updateConf(self, orig_lines, changed_values):
new_config_lines = []
for var in changed_values:
# Convenience function for re.subn(). If the pattern matches
# return a string which contains an assignment using the same
@@ -242,10 +249,10 @@ class Configurator(gobject.GObject):
# Iterate over the local.conf lines and if they are a match
# for the pattern comment out the line and append a new line
# with the new VAR op "value" entry
for line in config_lines:
for line in orig_lines:
new_line, replacements = p.subn(replace_val, line)
if replacements:
config_lines[cnt] = "#%s" % line
orig_lines[cnt] = "#%s" % line
new_config_lines.append(new_line)
replaced = True
cnt = cnt + 1
@@ -254,22 +261,53 @@ class Configurator(gobject.GObject):
new_config_lines.append("%s = \"%s\"\n" % (var, changed_values[var]))
# Add the modified variables
config_lines.extend(new_config_lines)
orig_lines.extend(new_config_lines)
return orig_lines
# Write the updated lines list object to the local.conf
with open(self.local, "w") as n:
n.write("".join(config_lines))
def writeConf(self):
pre_vars = ["MACHINE", "SDKMACHINE", "DISTRO",
"INCOMPATIBLE_LICENSE"]
post_vars = ["BB_NUMBER_THREADS", "PARALLEL_MAKE", "PACKAGE_CLASSES",
"IMAGE_FSTYPES", "HOB_BUILD_TOOLCHAIN",
"HOB_BUILD_TOOLCHAIN_HEADERS"]
pre_values = {}
post_values = {}
changed_values = {}
pre_lines = None
post_lines = None
for var in self.config:
val = self.config[var]
if self.orig_config.get(var, None) != val:
changed_values[var] = val
if not len(changed_values):
return
for var in changed_values:
if var in pre_vars:
pre_values[var] = changed_values[var]
elif var in post_vars:
post_values[var] = changed_values[var]
with open(self.preconf, 'r') as pre:
pre_lines = pre.readlines()
pre_lines = self.updateConf(pre_lines, pre_values)
if len(pre_lines):
self.writeConfFile(self.preconf, pre_lines)
with open(self.postconf, 'r') as post:
post_lines = post.readlines()
post_lines = self.updateConf(post_lines, post_values)
if len(post_lines):
self.writeConfFile(self.postconf, post_lines)
del self.orig_config
self.orig_config = copy.deepcopy(self.config)
def insertTempBBPath(self, bbpath, bbfiles):
# Create a backup of the local.conf
bkup = "%s~" % self.local
os.rename(self.local, bkup)
# read the original conf into a list
with open(bkup, 'r') as config:
with open(self.postconf, 'r') as config:
config_lines = config.readlines()
if bbpath:
@@ -277,9 +315,7 @@ class Configurator(gobject.GObject):
if bbfiles:
config_lines.append("BBFILES := \"${BBFILES} %s\"\n" % bbfiles)
# Write the updated lines list object to the local.conf
with open(self.local, "w") as n:
n.write("".join(config_lines))
self.writeConfFile(self.postconf, config_lines)
def writeLayerConf(self):
# If we've not added/removed new layers don't write
@@ -289,23 +325,14 @@ class Configurator(gobject.GObject):
# This pattern should find the existing BBLAYERS
pattern = 'BBLAYERS\s=\s\".*\"'
# Backup the users bblayers.conf
bkup = "%s~" % self.bblayers
os.rename(self.bblayers, bkup)
replacement = self._constructLayerEntry()
with open(bkup, "r") as f:
with open(self.bblayers, "r") as f:
contents = f.read()
p = re.compile(pattern, re.DOTALL)
new = p.sub(replacement, contents)
with open(self.bblayers, "w") as n:
n.write(new)
# At some stage we should remove the backup we've created
# though we should probably verify it first
#os.remove(bkup)
self.writeConfFile(self.bblayers, new)
# set loaded_layers for dirtiness tracking
self.loaded_layers = copy.deepcopy(self.enabled_layers)

View File

@@ -19,6 +19,9 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import logging
import tempfile
import datetime
progress_total = 0
@@ -49,31 +52,44 @@ class HobHandler(gobject.GObject):
"data-generated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"error" : (gobject.SIGNAL_RUN_LAST,
"fatal-error" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,
gobject.TYPE_STRING,)),
"command-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"reload-triggered" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,
gobject.TYPE_STRING)),
gobject.TYPE_STRING,)),
}
(CFG_PATH_LOCAL, CFG_PATH_HOB, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDK, FILES_MATCH_CLASS, GENERATE_TGTS, REPARSE_FILES, BUILD_IMAGE) = range(10)
(CFG_PATH_LOCAL, CFG_PATH_PRE, CFG_PATH_POST, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDK, FILES_MATCH_CLASS, GENERATE_TGTS, REPARSE_FILES, BUILD_IMAGE) = range(11)
def __init__(self, taskmodel, server):
gobject.GObject.__init__(self)
self.current_command = None
self.building = None
self.building = False
self.build_toolchain = False
self.build_toolchain_headers = False
self.generating = False
self.build_queue = []
self.current_phase = None
self.bbpath_ok = False
self.bbfiles_ok = False
self.build_type = "image"
self.image_dir = os.path.join(tempfile.gettempdir(), 'hob-images')
self.model = taskmodel
self.server = server
deploy_dir = self.server.runCommand(["getVariable", "DEPLOY_DIR"])
self.image_out_dir = os.path.join(deploy_dir, "images")
self.image_output_types = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]).split(" ")
self.bbpath = self.server.runCommand(["getVariable", "BBPATH"])
self.bbfiles = self.server.runCommand(["getVariable", "BBFILES"])
def run_next_command(self):
if self.current_command and not self.generating:
@@ -81,9 +97,12 @@ class HobHandler(gobject.GObject):
self.generating = True
if self.current_command == self.CFG_PATH_LOCAL:
self.current_command = self.CFG_PATH_HOB
self.server.runCommand(["findConfigFilePath", "hob.local.conf"])
elif self.current_command == self.CFG_PATH_HOB:
self.current_command = self.CFG_PATH_PRE
self.server.runCommand(["findConfigFilePath", "hob-pre.conf"])
elif self.current_command == self.CFG_PATH_PRE:
self.current_command = self.CFG_PATH_POST
self.server.runCommand(["findConfigFilePath", "hob-post.conf"])
elif self.current_command == self.CFG_PATH_POST:
self.current_command = self.CFG_PATH_LAYERS
self.server.runCommand(["findConfigFilePath", "bblayers.conf"])
elif self.current_command == self.CFG_PATH_LAYERS:
@@ -111,14 +130,13 @@ class HobHandler(gobject.GObject):
self.current_command = self.BUILD_IMAGE
else:
self.current_command = self.CFG_PATH_LAYERS
self.server.runCommand(["resetCooker"])
self.server.runCommand(["reparseFiles"])
elif self.current_command == self.BUILD_IMAGE:
self.building = "image"
if self.generating:
self.emit("data-generated")
self.generating = False
bbpath = self.server.runCommand(["getVariable", "BBPATH"])
bbfiles = self.server.runCommand(["getVariable", "BBFILES"])
self.building = True
self.server.runCommand(["buildTargets", self.build_queue, "build"])
self.build_queue = []
self.current_command = None
@@ -129,11 +147,14 @@ class HobHandler(gobject.GObject):
# If we're running a build, use the RunningBuild event handler
if self.building:
self.current_phase = "building"
running_build.handle_event(event)
elif isinstance(event, bb.event.TargetsTreeGenerated):
self.current_phase = "data generation"
if event._model:
self.model.populate(event._model)
elif isinstance(event, bb.event.ConfigFilesFound):
self.current_phase = "configuration lookup"
var = event._variable
if var == "distro":
distros = event._values
@@ -148,9 +169,11 @@ class HobHandler(gobject.GObject):
sdk_machines.sort()
self.emit("sdk-machines-updated", sdk_machines)
elif isinstance(event, bb.event.ConfigFilePathFound):
self.current_phase = "configuration lookup"
path = event._path
self.emit("config-found", path)
elif isinstance(event, bb.event.FilesMatchingFound):
self.current_phase = "configuration lookup"
# FIXME: hard coding, should at least be a variable shared between
# here and the caller
if event._pattern == "rootfs_":
@@ -162,25 +185,37 @@ class HobHandler(gobject.GObject):
formats.sort()
self.emit("package-formats-found", formats)
elif isinstance(event, bb.command.CommandCompleted):
self.current_phase = None
self.run_next_command()
elif isinstance(event, bb.command.CommandFailed):
self.emit("error", event.error)
self.emit("command-failed", event.error)
elif isinstance(event, bb.event.CacheLoadStarted):
self.current_phase = "cache loading"
bb.ui.crumbs.hobeventhandler.progress_total = event.total
pbar.set_text("Loading cache: %s/%s" % (0, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.CacheLoadProgress):
self.current_phase = "cache loading"
pbar.set_text("Loading cache: %s/%s" % (event.current, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.CacheLoadCompleted):
pbar.set_text("Loading cache: %s/%s" % (bb.ui.crumbs.hobeventhandler.progress_total, bb.ui.crumbs.hobeventhandler.progress_total))
self.current_phase = None
pbar.set_text("Loading...")
elif isinstance(event, bb.event.ParseStarted):
self.current_phase = "recipe parsing"
if event.total == 0:
return
bb.ui.crumbs.hobeventhandler.progress_total = event.total
pbar.set_text("Processing recipes: %s/%s" % (0, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.ParseProgress):
self.current_phase = "recipe parsing"
pbar.set_text("Processing recipes: %s/%s" % (event.current, bb.ui.crumbs.hobeventhandler.progress_total))
elif isinstance(event, bb.event.ParseCompleted):
self.current_phase = None
pbar.set_fraction(1.0)
pbar.set_text("Loading...")
elif isinstance(event, logging.LogRecord):
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
if event.levelno >= format.CRITICAL:
self.emit("fatal-error", event.getMessage(), self.current_phase)
return
def event_handle_idle_func (self, eventHandler, running_build, pbar):
@@ -217,48 +252,43 @@ class HobHandler(gobject.GObject):
pmake = "-j %s" % threads
self.server.runCommand(["setVariable", "BB_NUMBER_THREADS", pmake])
def build_image(self, image, image_path, configurator):
def build_targets(self, tgts, configurator, build_type="image"):
self.build_type = build_type
targets = []
targets.append(image)
nbbp = None
nbbf = None
targets.extend(tgts)
if self.build_toolchain and self.build_toolchain_headers:
targets.append("meta-toolchain-sdk")
elif self.build_toolchain:
targets.append("meta-toolchain")
self.build_queue = targets
bbpath_ok = False
bbpath = self.server.runCommand(["getVariable", "BBPATH"])
if image_path in bbpath.split(":"):
bbpath_ok = True
if not self.bbpath_ok:
if self.image_dir in self.bbpath.split(":"):
self.bbpath_ok = True
else:
nbbp = self.image_dir
bbfiles_ok = False
bbfiles = self.server.runCommand(["getVariable", "BBFILES"]).split(" ")
for files in bbfiles:
if not self.bbfiles_ok:
import re
pattern = "%s/\*.bb" % image_path
if re.match(pattern, files):
bbfiles_ok = True
pattern = "%s/\*.bb" % self.image_dir
if not bbpath_ok:
nbbp = image_path
else:
nbbp = None
for files in self.bbfiles.split(" "):
if re.match(pattern, files):
self.bbfiles_ok = True
if not bbfiles_ok:
nbbf = "%s/*.bb" % image_path
else:
nbbf = None
if not self.bbfiles_ok:
nbbf = "%s/*.bb" % self.image_dir
if not bbfiles_ok or not bbpath_ok:
if nbbp or nbbf:
configurator.insertTempBBPath(nbbp, nbbf)
self.bbpath_ok = True
self.bbfiles_ok = True
self.current_command = self.REPARSE_FILES
self.run_next_command()
def build_packages(self, pkgs):
self.building = "packages"
self.server.runCommand(["buildTargets", pkgs, "build"])
def cancel_build(self, force=False):
if force:
# Force the cooker to stop as quickly as possible
@@ -279,39 +309,35 @@ class HobHandler(gobject.GObject):
if self.build_toolchain_headers != enabled:
self.build_toolchain_headers = enabled
def queue_image_recipe_path(self, path):
self.build_queue.append(path)
def build_complete_cb(self, running_build):
if len(self.build_queue) > 0:
next = self.build_queue.pop(0)
if next.endswith('.bb'):
self.build_file(next)
self.building = 'image'
self.build_file(next)
else:
self.build_packages(next.split(" "))
else:
self.building = None
self.emit("build-complete")
def set_fstypes(self, fstypes):
self.server.runCommand(["setVariable", "IMAGE_FSTYPES", fstypes])
def add_image_output_type(self, output_type):
if output_type not in self.image_output_types:
self.image_output_types.append(output_type)
fstypes = " ".join(self.image_output_types)
fstypes = " ".join(self.image_output_types).lstrip(" ")
self.set_fstypes(fstypes)
return fstypes
return self.image_output_types
def remove_image_output_type(self, output_type):
if output_type in self.image_output_types:
ind = self.image_output_types.index(output_type)
self.image_output_types.pop(ind)
fstypes = " ".join(self.image_output_types)
fstypes = " ".join(self.image_output_types).lstrip(" ")
self.set_fstypes(fstypes)
return fstypes
return self.image_output_types
def get_image_deploy_dir(self):
return self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"])
return self.image_out_dir
def make_temp_dir(self):
bb.utils.mkdirhier(self.image_dir)
def remove_temp_dir(self):
bb.utils.remove(self.image_dir, True)
def get_temp_recipe_path(self, name):
timestamp = datetime.date.today().isoformat()
image_file = "hob-%s-variant-%s.bb" % (name, timestamp)
recipepath = os.path.join(self.image_dir, image_file)
return recipepath

View File

@@ -38,13 +38,14 @@ class HobPrefs(gtk.Dialog):
else:
self.selected_image_types = handler.remove_image_output_type(ot)
self.configurator.setLocalConfVar('IMAGE_FSTYPES', "%s" % self.selected_image_types)
self.configurator.setConfVar('IMAGE_FSTYPES', "%s" % " ".join(self.selected_image_types).lstrip(" "))
self.reload_required = True
def sdk_machine_combo_changed_cb(self, combo, handler):
sdk_mach = combo.get_active_text()
if sdk_mach != self.curr_sdk_mach:
self.curr_sdk_mach = sdk_mach
self.configurator.setLocalConfVar('SDKMACHINE', sdk_mach)
self.configurator.setConfVar('SDKMACHINE', sdk_mach)
handler.set_sdk_machine(sdk_mach)
def update_sdk_machines(self, handler, sdk_machines):
@@ -67,7 +68,7 @@ class HobPrefs(gtk.Dialog):
distro = combo.get_active_text()
if distro != self.curr_distro:
self.curr_distro = distro
self.configurator.setLocalConfVar('DISTRO', distro)
self.configurator.setConfVar('DISTRO', distro)
handler.set_distro(distro)
self.reload_required = True
@@ -91,7 +92,7 @@ class HobPrefs(gtk.Dialog):
package_format = combo.get_active_text()
if package_format != self.curr_package_format:
self.curr_package_format = package_format
self.configurator.setLocalConfVar('PACKAGE_CLASSES', 'package_%s' % package_format)
self.configurator.setConfVar('PACKAGE_CLASSES', 'package_%s' % package_format)
handler.set_package_format(package_format)
self.reload_required = True
@@ -113,7 +114,7 @@ class HobPrefs(gtk.Dialog):
def include_gplv3_cb(self, toggle):
excluded = toggle.get_active()
orig_incompatible = self.configurator.getLocalConfVar('INCOMPATIBLE_LICENSE')
orig_incompatible = self.configurator.getConfVar('INCOMPATIBLE_LICENSE')
new_incompatible = ""
if excluded:
if not orig_incompatible:
@@ -125,18 +126,18 @@ class HobPrefs(gtk.Dialog):
if new_incompatible != orig_incompatible:
self.handler.set_incompatible_license(new_incompatible)
self.configurator.setLocalConfVar('INCOMPATIBLE_LICENSE', new_incompatible)
self.configurator.setConfVar('INCOMPATIBLE_LICENSE', new_incompatible)
self.reload_required = True
def change_bb_threads_cb(self, spinner):
val = spinner.get_value_as_int()
self.handler.set_bbthreads(val)
self.configurator.setLocalConfVar('BB_NUMBER_THREADS', val)
self.configurator.setConfVar('BB_NUMBER_THREADS', val)
def change_make_threads_cb(self, spinner):
val = spinner.get_value_as_int()
self.handler.set_pmake(val)
self.configurator.setLocalConfVar('PARALLEL_MAKE', "-j %s" % val)
self.configurator.setConfVar('PARALLEL_MAKE', "-j %s" % val)
def toggle_toolchain_cb(self, check):
enabled = check.get_active()
@@ -144,7 +145,7 @@ class HobPrefs(gtk.Dialog):
if enabled:
toolchain = '1'
self.handler.toggle_toolchain(enabled)
self.configurator.setLocalConfVar('HOB_BUILD_TOOLCHAIN', toolchain)
self.configurator.setConfVar('HOB_BUILD_TOOLCHAIN', toolchain)
def toggle_headers_cb(self, check):
enabled = check.get_active()
@@ -152,20 +153,21 @@ class HobPrefs(gtk.Dialog):
if enabled:
headers = '1'
self.handler.toggle_toolchain_headers(enabled)
self.configurator.setLocalConfVar('HOB_BUILD_TOOLCHAIN_HEADERS', headers)
self.configurator.setConfVar('HOB_BUILD_TOOLCHAIN_HEADERS', headers)
def set_parent_window(self, parent):
self.set_transient_for(parent)
def write_changes(self):
self.configurator.writeLocalConf()
self.configurator.writeConf()
def prefs_response_cb(self, dialog, response):
if self.reload_required:
glib.idle_add(self.handler.reload_data)
self.reload_required = False
def __init__(self, configurator, handler, curr_sdk_mach, curr_distro, pclass,
cpu_cnt, pmake, bbthread, selected_image_types, all_image_types,
pmake, bbthread, selected_image_types, all_image_types,
gplv3disabled, build_toolchain, build_toolchain_headers):
"""
"""
@@ -184,7 +186,6 @@ class HobPrefs(gtk.Dialog):
self.curr_sdk_mach = curr_sdk_mach
self.curr_distro = curr_distro
self.curr_package_format = pclass
self.cpu_cnt = cpu_cnt
self.pmake = pmake
self.bbthread = bbthread
self.selected_image_types = selected_image_types.split(" ")
@@ -282,7 +283,6 @@ class HobPrefs(gtk.Dialog):
# set a high maximum as a value for upper bounds is required by the
# gtk.Adjustment
spin_max = 30 # seems like a high enough arbitrary number
#spin_max = self.cpu_cnt * 3
hbox.pack_start(label, expand=False, fill=False, padding=6)
bbadj = gtk.Adjustment(value=self.bbthread, lower=1, upper=spin_max, step_incr=1)
bbspinner = gtk.SpinButton(adjustment=bbadj, climb_rate=1, digits=0)
@@ -327,9 +327,9 @@ class HobPrefs(gtk.Dialog):
self.sdk_machine_combo.set_tooltip_text("Select the host architecture of the external machine")
self.sdk_machine_combo.show()
hbox.pack_start(self.sdk_machine_combo, expand=False, fill=False, padding=6)
headerscheck = gtk.CheckButton("Include development headers with toolchain")
headerscheck.show()
headerscheck.set_active(self.build_toolchain_headers)
headerscheck.connect("toggled", self.toggle_headers_cb)
hbox.pack_start(headerscheck, expand=False, fill=False, padding=6)
# headerscheck = gtk.CheckButton("Include development headers with toolchain")
# headerscheck.show()
# headerscheck.set_active(self.build_toolchain_headers)
# headerscheck.connect("toggled", self.toggle_headers_cb)
# hbox.pack_start(headerscheck, expand=False, fill=False, padding=6)
self.connect("response", self.prefs_response_cb)

View File

@@ -21,6 +21,7 @@
import gobject
import gtk
from bb.ui.crumbs.configurator import Configurator
from bb.ui.crumbs.hig import CrumbsDialog
class LayerEditor(gtk.Dialog):
"""
@@ -117,6 +118,12 @@ class LayerEditor(gtk.Dialog):
self.find_layer(self)
def find_layer(self, parent):
def conf_error(parent, lbl):
dialog = CrumbsDialog(parent, lbl)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
dialog = gtk.FileChooserDialog("Add new layer", parent,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_NO,
@@ -128,10 +135,19 @@ class LayerEditor(gtk.Dialog):
path = dialog.get_filename()
dialog.destroy()
lbl = "<b>Error</b>\nUnable to load layer <i>%s</i> because " % path
if response == gtk.RESPONSE_YES:
# FIXME: verify we've actually got a layer conf?
if path.endswith(".conf"):
if path.endswith("layer.conf"):
name, layerpath = self.configurator.addLayerConf(path)
if name:
if name and layerpath:
self.newly_added[name] = layerpath
self.layer_store.append([name, layerpath, True])
return
elif name:
return
else:
lbl += "there was a problem parsing the layer.conf."
else:
lbl += "it is not a layer.conf file."
conf_error(parent, lbl)

View File

@@ -63,9 +63,15 @@ class RunningBuild (gobject.GObject):
pids_to_task = {}
tasks_to_iter = {}
def __init__ (self):
def __init__ (self, sequential=False):
gobject.GObject.__init__ (self)
self.model = RunningBuildModel()
self.sequential = sequential
def reset (self):
self.pids_to_task.clear()
self.tasks_to_iter.clear()
self.model.clear()
def handle_event (self, event, pbar=None):
# Handle an event from the event queue, this may result in updating
@@ -90,7 +96,14 @@ class RunningBuild (gobject.GObject):
parent = self.tasks_to_iter[(package, task)]
if(isinstance(event, logging.LogRecord)):
if (event.msg.startswith ("Running task")):
# FIXME: this is a hack! More info in Yocto #1433
# http://bugzilla.pokylinux.org/show_bug.cgi?id=1433, temporarily
# mask the error message as it's not informative for the user.
if event.msg.startswith("Execution of event handler 'run_buildstats' failed"):
return
if (event.levelno < logging.INFO or
event.msg.startswith("Running task")):
return # don't add these to the list
if event.levelno >= logging.ERROR:
@@ -105,18 +118,18 @@ class RunningBuild (gobject.GObject):
# if we know which package we belong to, we'll append onto its list.
# otherwise, we'll jump to the top of the master list
if parent:
if self.sequential or not parent:
tree_add = self.model.append
else:
tree_add = self.model.prepend
tree_add(parent,
(None,
package,
task,
event.getMessage(),
icon,
color,
0))
(None,
package,
task,
event.getMessage(),
icon,
color,
0))
elif isinstance(event, bb.build.TaskStarted):
(package, task) = (event._package, event._task)
@@ -130,13 +143,17 @@ class RunningBuild (gobject.GObject):
if ((package, None) in self.tasks_to_iter):
parent = self.tasks_to_iter[(package, None)]
else:
parent = self.model.prepend(None, (None,
package,
None,
"Package: %s" % (package),
None,
Colors.OK,
0))
if self.sequential:
add = self.model.append
else:
add = self.model.prepend
parent = add(None, (None,
package,
None,
"Package: %s" % (package),
None,
Colors.OK,
0))
self.tasks_to_iter[(package, None)] = parent
# Because this parent package now has an active child mark it as
@@ -162,6 +179,10 @@ class RunningBuild (gobject.GObject):
# that we need to attach to a task.
self.tasks_to_iter[(package, task)] = i
# If we don't handle these the GUI does not proceed
elif isinstance(event, bb.build.TaskInvalid):
return
elif isinstance(event, bb.build.TaskBase):
current = self.tasks_to_iter[(package, task)]
parent = self.tasks_to_iter[(package, None)]
@@ -225,14 +246,20 @@ class RunningBuild (gobject.GObject):
Colors.OK,
0))
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
# Emit the appropriate signal depending on the number of failures
if (failures >= 1):
self.emit ("build-failed")
else:
self.emit ("build-succeeded")
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
elif isinstance(event, bb.command.CommandFailed):
if event.error.startswith("Exited with"):
# If the command fails with an exit code we're done, emit the
# generic signal for the UI to notify the user
self.emit("build-complete")
elif isinstance(event, bb.event.CacheLoadStarted) and pbar:
pbar.set_title("Loading cache")
@@ -242,7 +269,7 @@ class RunningBuild (gobject.GObject):
pbar.update(event.current, self.progress_total)
elif isinstance(event, bb.event.CacheLoadCompleted) and pbar:
pbar.update(self.progress_total, self.progress_total)
pbar.hide()
elif isinstance(event, bb.event.ParseStarted) and pbar:
if event.total == 0:
return
@@ -272,8 +299,9 @@ class RunningBuildTreeView (gtk.TreeView):
__gsignals__ = {
"button_press_event" : "override"
}
def __init__ (self):
def __init__ (self, readonly=False):
gtk.TreeView.__init__ (self)
self.readonly = readonly
# The icon that indicates whether we're building or failed.
renderer = gtk.CellRendererPixbuf ()
@@ -285,7 +313,7 @@ class RunningBuildTreeView (gtk.TreeView):
self.message_renderer = gtk.CellRendererText ()
self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3)
self.message_column.add_attribute(self.message_renderer, 'background', 5)
self.message_renderer.set_property('editable', 5)
self.message_renderer.set_property('editable', (not self.readonly))
self.append_column (self.message_column)
def do_button_press_event(self, event):
@@ -293,31 +321,49 @@ class RunningBuildTreeView (gtk.TreeView):
if event.button == 3:
selection = super(RunningBuildTreeView, self).get_selection()
(model, iter) = selection.get_selected()
if iter is not None:
can_paste = model.get(iter, model.COL_LOG)[0]
(model, it) = selection.get_selected()
if it is not None:
can_paste = model.get(it, model.COL_LOG)[0]
if can_paste == 'pastebin':
# build a simple menu with a pastebin option
menu = gtk.Menu()
menuitem = gtk.MenuItem("Copy")
menu.append(menuitem)
menuitem.connect("activate", self.clipboard_handler, (model, it))
menuitem.show()
menuitem = gtk.MenuItem("Send log to pastebin")
menu.append(menuitem)
menuitem.connect("activate", self.pastebin_handler, (model, iter))
menuitem.connect("activate", self.pastebin_handler, (model, it))
menuitem.show()
menu.show()
menu.popup(None, None, None, event.button, event.time)
def _add_to_clipboard(self, clipping):
"""
Add the contents of clipping to the system clipboard.
"""
clipboard = gtk.clipboard_get()
clipboard.set_text(clipping)
clipboard.store()
def pastebin_handler(self, widget, data):
"""
Send the log data to pastebin, then add the new paste url to the
clipboard.
"""
(model, iter) = data
paste_url = do_pastebin(model.get(iter, model.COL_MESSAGE)[0])
(model, it) = data
paste_url = do_pastebin(model.get(it, model.COL_MESSAGE)[0])
# @todo Provide visual feedback to the user that it is done and that
# it worked.
print paste_url
clipboard = gtk.clipboard_get()
clipboard.set_text(paste_url)
clipboard.store()
self._add_to_clipboard(paste_url)
def clipboard_handler(self, widget, data):
"""
"""
(model, it) = data
message = model.get(it, model.COL_MESSAGE)[0]
self._add_to_clipboard(message)

View File

@@ -38,7 +38,7 @@ class BuildRep(gobject.GObject):
with open(pathname, 'r') as f:
contents = f.readlines()
pkg_pattern = "^\s*(IMAGE_INSTALL)\s*([+=.?]+)\s*(\"\S*\")"
pkg_pattern = "^\s*(IMAGE_INSTALL)\s*([+=.?]+)\s*(\".*?\")"
img_pattern = "^\s*(require)\s+(\S+.bb)"
for line in contents:
@@ -89,7 +89,7 @@ class TaskListModel(gtk.ListStore):
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_PATH) = range(10)
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_PATH, COL_PN) = range(11)
__gsignals__ = {
"tasklist-populated" : (gobject.SIGNAL_RUN_LAST,
@@ -122,8 +122,17 @@ class TaskListModel(gtk.ListStore):
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
"""
Helper method to determine whether name is a target pn
"""
def non_target_name(self, name):
if ('-native' in name) or ('-cross' in name) or name.startswith('virtual/'):
return True
return False
def contents_changed_cb(self, tree_model, path, it=None):
pkg_cnt = self.contents.iter_n_children(None)
self.emit("contents-changed", pkg_cnt)
@@ -132,7 +141,7 @@ class TaskListModel(gtk.ListStore):
if not model.get_value(it, self.COL_INC) or model.get_value(it, self.COL_TYPE) == 'image':
return False
name = model.get_value(it, self.COL_NAME)
if name.endswith('-native') or name.endswith('-cross'):
if self.non_target_name(name):
return False
else:
return True
@@ -196,7 +205,7 @@ class TaskListModel(gtk.ListStore):
return False
else:
name = model.get_value(it, self.COL_NAME)
if name.count('-native') or name.count('cross'):
if self.non_target_name(name):
return False
return True
@@ -226,28 +235,39 @@ class TaskListModel(gtk.ListStore):
lic = event_model["pn"][item]["license"]
group = event_model["pn"][item]["section"]
filename = event_model["pn"][item]["filename"]
depends = event_model["depends"].get(item, "")
rdepends = event_model["rdepends-pn"].get(item, "")
if rdepends:
for rdep in rdepends:
if event_model["packages"].get(rdep, ""):
pn = event_model["packages"][rdep].get("pn", "")
if pn:
depends.append(pn)
self.squish(depends)
deps = " ".join(depends)
if name.count('task-') > 0:
if ('task-' in name):
atype = 'task'
elif name.count('-image-') > 0:
elif ('-image-' in name):
atype = 'image'
self.set(self.append(), self.COL_NAME, name, self.COL_DESC, summary,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, deps, self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_PATH, filename)
# Create a combined list of build and runtime dependencies and
# then remove any duplicate entries and any entries for -dev
# packages
depends = event_model["depends"].get(item, [])
rdepends = event_model["rdepends-pn"].get(item, [])
packages = {}
for pkg in event_model["packages"]:
if event_model["packages"][pkg]["pn"] == name:
deps = []
deps.extend(depends)
deps.extend(event_model["rdepends-pkg"].get(pkg, []))
deps.extend(rdepends)
deps = self.squish(deps)
# rdepends-pn includes pn-dev
if ("%s-dev" % item) in deps:
deps.remove("%s-dev" % item)
# rdepends-on includes pn
if pkg in deps:
deps.remove(pkg)
packages[pkg] = deps
for p in packages:
self.set(self.append(), self.COL_NAME, p, self.COL_DESC, summary,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, " ".join(packages[p]), self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_PATH, filename,
self.COL_PN, item)
self.emit("tasklist-populated")
@@ -315,9 +335,14 @@ class TaskListModel(gtk.ListStore):
"""
def mark(self, opath):
usersel = {}
it = self.get_iter_first()
name = self[opath][self.COL_NAME]
removed = []
it = self.get_iter_first()
# The name of the item we're removing, so that we can use it to find
# other items which either depend on it, or were brought in by it
marked_name = self[opath][self.COL_NAME]
# Remove the passed item
self.remove_item_path(opath)
# Remove all dependent packages, update binb
@@ -327,9 +352,9 @@ class TaskListModel(gtk.ListStore):
inc = self[path][self.COL_INC]
deps = self[path][self.COL_DEPS]
binb = self[path][self.COL_BINB]
binb = self[path][self.COL_BINB].split(', ')
itype = self[path][self.COL_TYPE]
iname = self[path][self.COL_NAME]
itname = self[path][self.COL_NAME]
# We ignore anything that isn't a package
if not itype == "package":
@@ -339,17 +364,22 @@ class TaskListModel(gtk.ListStore):
# we should keep it and its dependencies, the easiest way to do so
# is to save its name and re-mark it for inclusion once dependency
# processing is complete
if binb == "User Selected":
usersel[iname] = self[path][self.COL_IMG]
if "User Selected" in binb:
usersel[itname] = self[path][self.COL_IMG]
# If the iterated item is included and depends on the removed
# item it should also be removed.
# FIXME: need to ensure partial name matching doesn't happen
if inc and deps.count(name):
if inc and marked_name in deps and itname not in removed:
# found a dependency, remove it
removed.append(itname)
self.mark(path)
if inc and binb.count(name):
bib = self.find_alt_dependency(name)
self[path][self.COL_BINB] = bib
# If the iterated item was brought in by the removed (passed) item
# try and find an alternative dependee and update the binb column
if inc and marked_name in binb:
binb.remove(marked_name)
self[path][self.COL_BINB] = ', '.join(binb).lstrip(', ')
# Re-add any removed user selected items
for u in usersel:
@@ -387,85 +417,66 @@ class TaskListModel(gtk.ListStore):
it = self.contents.iter_next(it)
"""
Find the name of an item in the image contents which depends on the item
name.
Returns either an item name (str) or None
Check whether the item at item_path is included or not
"""
def find_alt_dependency(self, name):
it = self.contents.get_iter_first()
while it:
# iterate all items in the contents model
path = self.contents.get_path(it)
deps = self.contents[path][self.COL_DEPS]
itname = self.contents[path][self.COL_NAME]
inc = self.contents[path][self.COL_INC]
if itname != name and inc and deps.count(name) > 0:
# if this item depends on the item, return this items name
return itname
it = self.contents.iter_next(it)
return ""
"""
Check the self.contents gtk.TreeModel for an item
where COL_NAME matches item_name
Returns True if a match is found, False otherwise
"""
def contents_includes_name(self, item_name):
it = self.contents.get_iter_first()
while it:
path = self.contents.get_path(it)
if self.contents[path][self.COL_NAME] == item_name:
return True
it = self.contents.iter_next(it)
return False
def contents_includes_path(self, item_path):
return self[item_path][self.COL_INC]
"""
Add this item, and any of its dependencies, to the image contents
"""
def include_item(self, item_path, binb="", image_contents=False):
name = self[item_path][self.COL_NAME]
deps = self[item_path][self.COL_DEPS]
cur_inc = self[item_path][self.COL_INC]
if not cur_inc:
self[item_path][self.COL_INC] = True
self[item_path][self.COL_BINB] = binb
item_name = self[item_path][self.COL_NAME]
item_deps = self[item_path][self.COL_DEPS]
self[item_path][self.COL_INC] = True
item_bin = self[item_path][self.COL_BINB].split(', ')
if binb and not binb in item_bin:
item_bin.append(binb)
self[item_path][self.COL_BINB] = ', '.join(item_bin).lstrip(', ')
# We want to do some magic with things which are brought in by the
# base image so tag them as so
if image_contents:
self[item_path][self.COL_IMG] = True
if self[item_path][self.COL_TYPE] == 'image':
self.selected_image = name
self.selected_image = item_name
if deps:
# add all of the deps and set their binb to this item
for dep in deps.split(" "):
if item_deps:
# Ensure all of the items deps are included and, where appropriate,
# add this item to their COL_BINB
for dep in item_deps.split(" "):
# If the contents model doesn't already contain dep, add it
# We only care to show things which will end up in the
# resultant image, so filter cross and native recipes
dep_included = self.contents_includes_name(dep)
path = self.find_path_for_item(dep)
if not dep_included and not dep.endswith("-native") and not dep.endswith("-cross"):
if path:
self.include_item(path, name, image_contents)
else:
pass
# Set brought in by for any no longer orphan packages
elif dep_included and path:
if not self[path][self.COL_BINB]:
self[path][self.COL_BINB] = name
dep_path = self.find_path_for_item(dep)
if not dep_path:
continue
dep_included = self.contents_includes_path(dep_path)
if dep_included and not dep in item_bin:
# don't set the COL_BINB to this item if the target is an
# item in our own COL_BINB
dep_bin = self[dep_path][self.COL_BINB].split(', ')
if not item_name in dep_bin:
dep_bin.append(item_name)
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
elif not dep_included:
self.include_item(dep_path, binb=item_name, image_contents=image_contents)
"""
Find the model path for the item_name
Returns the path in the model or None
"""
def find_path_for_item(self, item_name):
# We don't include virtual/* or *-native items in the model so save a
# heavy iteration loop by exiting early for these items
if self.non_target_name(item_name):
return None
it = self.get_iter_first()
path = None
while it:
path = self.get_path(it)
if (self[path][self.COL_NAME] == item_name):
return path
if (self.get_value(it, self.COL_NAME) == item_name):
return self.get_path(it)
else:
it = self.iter_next(it)
return None
@@ -505,7 +516,7 @@ class TaskListModel(gtk.ListStore):
it = self.contents.get_iter_first()
while it:
sel = self.contents.get_value(it, self.COL_BINB) == "User Selected"
sel = "User Selected" in self.contents.get_value(it, self.COL_BINB)
name = self.contents.get_value(it, self.COL_NAME)
allpkgs.append(name)
if sel:
@@ -513,6 +524,20 @@ class TaskListModel(gtk.ListStore):
it = self.contents.iter_next(it)
return userpkgs, allpkgs
"""
Return a squished (uniquified) list of the PN's of all selected items
"""
def get_selected_pn(self):
pns = []
it = self.contents.get_iter_first()
while it:
if self.contents.get_value(it, self.COL_BINB):
pns.append(self.contents.get_value(it, self.COL_PN))
it = self.contents.iter_next(it)
return self.squish(pns)
def image_contents_removed(self):
it = self.get_iter_first()
while it:
@@ -547,7 +572,7 @@ class TaskListModel(gtk.ListStore):
if not itype == 'package':
continue
if deps.count(pn) != 0:
if pn in deps:
revdeps.append(name)
if pn in revdeps:

View File

@@ -64,7 +64,7 @@ class MainWindow (gtk.Window):
self.set_icon_name("applications-development")
self.set_default_size(1000, 650)
self.build = RunningBuild()
self.build = RunningBuild(sequential=True)
self.build.connect("build-failed", self.running_build_failed_cb)
self.build.connect("build-succeeded", self.running_build_succeeded_cb)
self.build.connect("build-started", self.build_started_cb)
@@ -110,6 +110,28 @@ class MainWindow (gtk.Window):
rep = self.model.get_build_rep()
rep.writeRecipe(self.save_path, self.model)
# Prevent the busy cursor being shown after hob exits if quit is called
# whilst the busy cursor is set
self.set_busy_cursor(False)
self.handler.remove_temp_dir()
gtk.main_quit()
"""
In the case of a fatal error give the user as much information as possible
and then exit.
"""
def fatal_error_cb(self, handler, errormsg, phase):
lbl = "<b>Error!</b>\nThere was an unrecoverable error during the"
lbl = lbl + " <i>%s</i> phase of BitBake. This must be" % phase
lbl = lbl + " rectified before the GUI will function. The error"
lbl = lbl + " message which which caused this is:\n\n\"%s\"" % errormsg
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
dialog.add_button("Exit", gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
self.set_busy_cursor(False)
gtk.main_quit()
def scroll_tv_cb(self, model, path, it, view):
@@ -122,6 +144,7 @@ class MainWindow (gtk.Window):
self.build_succeeded = False
def image_changed_string_cb(self, model, new_image):
self.selected_image = new_image
# disconnect the image combo's signal handler
if self.image_combo_id:
self.image_combo.disconnect(self.image_combo_id)
@@ -136,7 +159,8 @@ class MainWindow (gtk.Window):
it = self.model.images.iter_next(it)
cnt = cnt + 1
# Reconnect the signal handler
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
def image_changed_cb(self, combo):
model = self.image_combo.get_model()
@@ -151,6 +175,7 @@ class MainWindow (gtk.Window):
self.toggle_package(path, model, image=True)
if len(userp):
self.model.set_selected_packages(userp)
self.selected_image = model[path][self.model.COL_NAME]
def reload_triggered_cb(self, handler, image, packages):
if image:
@@ -160,13 +185,6 @@ class MainWindow (gtk.Window):
def data_generated(self, handler):
self.generating = False
self.image_combo.set_model(self.model.images_model())
# Without this the image combo is incorrectly sized on first load of the GUI
self.image_combo.set_active(0)
self.image_combo.set_active(-1)
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
self.enable_widgets()
def machine_combo_changed_cb(self, combo, handler):
@@ -175,8 +193,8 @@ class MainWindow (gtk.Window):
self.curr_mach = mach
# Flush this straight to the file as MACHINE is changed
# independently of other 'Preferences'
self.configurator.setLocalConfVar('MACHINE', mach)
self.configurator.writeLocalConf()
self.configurator.setConfVar('MACHINE', mach)
self.configurator.writeConf()
handler.set_machine(mach)
handler.reload_data()
@@ -218,7 +236,6 @@ class MainWindow (gtk.Window):
def busy_idle_func(self):
if self.generating:
self.progress.set_text("Loading...")
self.progress.pulse()
return True
else:
@@ -231,12 +248,13 @@ class MainWindow (gtk.Window):
def busy(self, handler):
self.generating = True
self.progress.set_text("Loading...")
self.set_busy_cursor()
if self.image_combo_id:
self.image_combo.disconnect(self.image_combo_id)
self.image_combo_id = None
self.progress.pulse()
gobject.timeout_add (200, self.busy_idle_func)
gobject.timeout_add (100, self.busy_idle_func)
self.disable_widgets()
def enable_widgets(self):
@@ -263,6 +281,14 @@ class MainWindow (gtk.Window):
pkgsaz_model.set_default_sort_func(None)
self.pkgsaz_tree.set_model(pkgsaz_model)
self.image_combo.set_model(self.model.images_model())
# Without this the image combo is incorrectly sized on first load of the GUI
self.image_combo.set_active(0)
self.image_combo.set_active(-1)
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
# We want the contents to be alphabetised so create a TreeModelSort to
# use in the view
contents_model = gtk.TreeModelSort(self.model.contents_model())
@@ -278,13 +304,11 @@ class MainWindow (gtk.Window):
self.image_combo.disconnect(self.image_combo_id)
self.image_combo_id = None
self.model.set_selected_image(self.selected_image)
self.selected_image = None
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
if self.selected_packages:
self.model.set_selected_packages(self.selected_packages)
self.selected_packages = None
def reset_clicked_cb(self, button):
lbl = "<b>Reset your selections?</b>\n\nAny new changes you have made will be lost"
@@ -296,14 +320,17 @@ class MainWindow (gtk.Window):
if response == gtk.RESPONSE_OK:
self.reset_build()
self.search.set_text("")
self.selected_image = None
return
def reset_build(self):
self.image_combo.disconnect(self.image_combo_id)
self.image_combo_id = None
if self.image_combo_id:
self.image_combo.disconnect(self.image_combo_id)
self.image_combo_id = None
self.image_combo.set_active(-1)
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
self.model.reset()
if not self.image_combo_id:
self.image_combo_id = self.image_combo.connect("changed", self.image_changed_cb)
def layers_cb(self, action):
resp = self.layers.run()
@@ -312,6 +339,7 @@ class MainWindow (gtk.Window):
def add_layer_cb(self, action):
self.layers.find_layer(self)
self.layers.save_current_layers()
def preferences_cb(self, action):
resp = self.prefs.run()
@@ -368,17 +396,31 @@ class MainWindow (gtk.Window):
gtk.RESPONSE_OK))
response = chooser.run()
rep = BuildRep(None, None, None)
recipe = chooser.get_filename()
if response == gtk.RESPONSE_OK:
rep.loadRecipe(chooser.get_filename())
rep.loadRecipe(recipe)
self.save_path = recipe
self.model.load_image_rep(rep)
self.dirty = False
chooser.destroy()
self.model.load_image_rep(rep)
self.dirty = False
def bake_clicked_cb(self, button):
build_image = True
rep = self.model.get_build_rep()
if not rep.base_image:
# If no base image and no user selected packages don't build anything
if not self.selected_image and not len(rep.userpkgs):
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
# Else if no base image, ask whether to just build packages or whether
# to build a rootfs with the selected packages in
elif not self.selected_image:
lbl = "<b>Build empty image or only packages?</b>\nA base image"
lbl = lbl + " has not been selected.\n\'Empty image' will build"
lbl = lbl + " an image with only the selected packages as its"
@@ -397,14 +439,29 @@ class MainWindow (gtk.Window):
elif response == gtk.RESPONSE_OK:
rep.base_image = "empty"
if build_image:
import tempfile, datetime
# Ensure at least one value is set in IMAGE_FSTYPES.
have_selected_fstype = False
if (len(self.prefs.selected_image_types) and
len(self.prefs.selected_image_types[0])):
have_selected_fstype = True
image_name = "hob-%s-variant-%s" % (rep.base_image, datetime.date.today().isoformat())
image_file = "%s.bb" % (image_name)
image_dir = os.path.join(tempfile.gettempdir(), 'hob-images')
bb.utils.mkdirhier(image_dir)
recipepath = os.path.join(image_dir, image_file)
if build_image and not have_selected_fstype:
lbl = "<b>No image output type selected</b>\nThere is no image output"
lbl = lbl + " selected for the build. Please set an output image type"
lbl = lbl + " in the preferences (Edit -> Preferences)."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
return
elif build_image:
self.handler.make_temp_dir()
recipepath = self.handler.get_temp_recipe_path(rep.base_image)
image_name = recipepath.rstrip(".bb")
path, sep, image_name = image_name.rpartition("/")
image = []
image.append(image_name)
rep.writeRecipe(recipepath, self.model)
# In the case where we saved the file for the purpose of building
@@ -413,29 +470,45 @@ class MainWindow (gtk.Window):
if not self.save_path:
self.files_to_clean.append(recipepath)
self.handler.build_image(image_name, image_dir, self.configurator)
self.handler.build_targets(image, self.configurator)
else:
self.handler.build_packages(rep.allpkgs.split(" "))
self.handler.build_targets(self.model.get_selected_pn(), self.configurator, "packages")
# Disable parts of the menu which shouldn't be used whilst building
self.set_menus_sensitive(False)
self.nb.set_current_page(1)
def set_menus_sensitive(self, sensitive):
self.add_layers_action.set_sensitive(sensitive)
self.layers_action.set_sensitive(sensitive)
self.prefs_action.set_sensitive(sensitive)
self.open_action.set_sensitive(sensitive)
def back_button_clicked_cb(self, button):
self.toggle_createview()
def toggle_createview(self):
self.build.model.clear()
self.set_menus_sensitive(True)
self.build.reset()
self.nb.set_current_page(0)
def build_complete_cb(self, running_build):
# Have the handler process BB events again
self.handler.building = False
self.stopping = False
self.back.connect("clicked", self.back_button_clicked_cb)
self.back.set_sensitive(True)
self.cancel.set_sensitive(False)
for f in self.files_to_clean:
os.remove(f)
try:
os.remove(f)
except OSError:
pass
self.files_to_clean.remove(f)
self.files_to_clean = []
lbl = "<b>Build completed</b>\n\nClick 'Edit Image' to start another build or 'View Messages' to view the messages output during the build."
if self.handler.building == "image" and self.build_succeeded:
if self.handler.build_type == "image" and self.build_succeeded:
deploy = self.handler.get_image_deploy_dir()
lbl = lbl + "\n<a href=\"file://%s\" title=\"%s\">Browse folder of built images</a>." % (deploy, deploy)
@@ -481,14 +554,17 @@ class MainWindow (gtk.Window):
"""
# Whether the item is currently included
inc = self.model[opath][self.model.COL_INC]
# FIXME: due to inpredictability of the removal of packages we are
# temporarily disabling this feature
# If the item is already included, mark it for removal then
# the sweep_up() method finds affected items and marks them
# appropriately
if inc:
self.model.mark(opath)
self.model.sweep_up()
# If the item isn't included, mark it for inclusion
else:
# if inc:
# self.model.mark(opath)
# self.model.sweep_up()
# # If the item isn't included, mark it for inclusion
# else:
if not inc:
self.model.include_item(item_path=opath,
binb="User Selected",
image_contents=image)
@@ -500,19 +576,22 @@ class MainWindow (gtk.Window):
inc = model[path][self.model.COL_INC]
# Warn user before removing included packages
if inc:
pn = model[path][self.model.COL_NAME]
revdeps = self.model.find_reverse_depends(pn)
if len(revdeps):
lbl = "<b>Remove %s?</b>\n\nThis action cannot be undone and all packages which depend on this will be removed\nPackages which depend on %s include %s." % (pn, pn, ", ".join(revdeps).rstrip(","))
else:
lbl = "<b>Remove %s?</b>\n\nThis action cannot be undone." % pn
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dialog.add_button("Remove", gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_CANCEL:
return
# FIXME: due to inpredictability of the removal of packages we are
# temporarily disabling this feature
return
# pn = model[path][self.model.COL_NAME]
# revdeps = self.model.find_reverse_depends(pn)
# if len(revdeps):
# lbl = "<b>Remove %s?</b>\n\nThis action cannot be undone and all packages which depend on this will be removed\nPackages which depend on %s include %s." % (pn, pn, ", ".join(revdeps).rstrip(","))
# else:
# lbl = "<b>Remove %s?</b>\n\nThis action cannot be undone." % pn
# dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
# dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
# dialog.add_button("Remove", gtk.RESPONSE_OK)
# response = dialog.run()
# dialog.destroy()
# if response == gtk.RESPONSE_CANCEL:
# return
self.set_busy_cursor()
# Convert path to path in original model
@@ -711,7 +790,7 @@ class MainWindow (gtk.Window):
vbox = gtk.VBox(False, 12)
vbox.set_border_width(6)
vbox.show()
build_tv = RunningBuildTreeView()
build_tv = RunningBuildTreeView(readonly=True)
build_tv.show()
build_tv.set_model(self.build.model)
self.build.model.connect("row-inserted", self.scroll_tv_cb, build_tv)
@@ -762,18 +841,27 @@ class MainWindow (gtk.Window):
actions = gtk.ActionGroup('ImageCreator')
self.actions = actions
actions.add_actions([('Quit', gtk.STOCK_QUIT, None, None,
None, self.menu_quit,),
actions.add_actions([('Quit', gtk.STOCK_QUIT, None, None, None, self.menu_quit,),
('File', None, '_File'),
('Save', gtk.STOCK_SAVE, None, None, None, self.save_cb),
('Save As', gtk.STOCK_SAVE_AS, None, None, None, self.save_as_cb),
('Open', gtk.STOCK_OPEN, None, None, None, self.open_cb),
('AddLayer', None, 'Add Layer', None, None, self.add_layer_cb),
('Edit', None, '_Edit'),
('Help', None, '_Help'),
('Layers', None, 'Layers', None, None, self.layers_cb),
('Preferences', gtk.STOCK_PREFERENCES, None, None, None, self.preferences_cb),
('About', gtk.STOCK_ABOUT, None, None, None, self.about_cb)])
self.add_layers_action = gtk.Action('AddLayer', 'Add Layer', None, None)
self.add_layers_action.connect("activate", self.add_layer_cb)
self.actions.add_action(self.add_layers_action)
self.layers_action = gtk.Action('Layers', 'Layers', None, None)
self.layers_action.connect("activate", self.layers_cb)
self.actions.add_action(self.layers_action)
self.prefs_action = gtk.Action('Preferences', 'Preferences', None, None)
self.prefs_action.connect("activate", self.preferences_cb)
self.actions.add_action(self.prefs_action)
self.open_action = gtk.Action('Open', 'Open', None, None)
self.open_action.connect("activate", self.open_cb)
self.actions.add_action(self.open_action)
uimanager.insert_action_group(actions, 0)
uimanager.add_ui_from_string(menu_items)
@@ -781,6 +869,14 @@ class MainWindow (gtk.Window):
menubar.show_all()
return menubar
def info_button_clicked_cb(self, button):
info = "We cannot accurately predict the image contents before they are built so instead a best"
info = info + " attempt at estimating what the image will contain is listed."
dialog = CrumbsDialog(self, info, gtk.STOCK_DIALOG_INFO)
dialog.add_buttons(gtk.STOCK_CLOSE, gtk.RESPONSE_OK)
resp = dialog.run()
dialog.destroy()
def create_build_gui(self):
vbox = gtk.VBox(False, 12)
@@ -824,11 +920,19 @@ class MainWindow (gtk.Window):
ins.set_current_page(0)
ins.show_all()
label = gtk.Label("Image contents:")
hbox = gtk.HBox(False, 1)
hbox.show()
label = gtk.Label("Estimated image contents:")
self.model.connect("contents-changed", self.update_package_count_cb, label)
label.set_property("xalign", 0.00)
label.show()
vbox.pack_start(label, expand=False, fill=False, padding=6)
hbox.pack_start(label, expand=False, fill=False, padding=6)
info = gtk.Button("?")
info.set_tooltip_text("What does this mean?")
info.show()
info.connect("clicked", self.info_button_clicked_cb)
hbox.pack_start(info, expand=False, fill=False, padding=6)
vbox.pack_start(hbox, expand=False, fill=False, padding=6)
con = self.contents()
con.show()
vbox.pack_start(con, expand=True, fill=True)
@@ -850,7 +954,7 @@ class MainWindow (gtk.Window):
return vbox
def update_package_count_cb(self, model, count, label):
lbl = "Image contents (%s packages):" % count
lbl = "Estimated image contents (%s packages):" % count
label.set_text(lbl)
def contents(self):
@@ -892,11 +996,29 @@ class MainWindow (gtk.Window):
return scroll
def main (server, eventHandler):
import multiprocessing
cpu_cnt = multiprocessing.cpu_count()
gobject.threads_init()
# NOTE: For now we require that the user run with pre and post files to
# read and store configuration set in the GUI.
# We hope to adjust this long term as tracked in Yocto Bugzilla #1441
# http://bugzilla.pokylinux.org/show_bug.cgi?id=1441
reqfiles = 0
dep_files = server.runCommand(["getVariable", "__depends"]) or set()
dep_files.union(server.runCommand(["getVariable", "__base_depends"]) or set())
for f in dep_files:
if f[0].endswith("hob-pre.conf"):
reqfiles = reqfiles + 1
elif f[0].endswith("hob-post.conf"):
reqfiles = reqfiles + 1
if reqfiles == 2:
break
if reqfiles < 2:
print("""The hob UI requires a pre file named hob-pre.conf and a post
file named hob-post.conf to store and read its configuration from. Please run
hob with these files, i.e.\n
\bitbake -u hob -r conf/hob-pre.conf -R conf/hob-post.conf""")
return
taskmodel = TaskListModel()
configurator = Configurator()
handler = HobHandler(taskmodel, server)
@@ -907,16 +1029,16 @@ def main (server, eventHandler):
if not sdk_mach:
sdk_mach = server.runCommand(["getVariable", "SDK_ARCH"])
distro = server.runCommand(["getVariable", "DISTRO"])
if not distro:
distro = "defaultsetup"
bbthread = server.runCommand(["getVariable", "BB_NUMBER_THREADS"])
if not bbthread:
bbthread = cpu_cnt
handler.set_bbthreads(cpu_cnt)
bbthread = 1
else:
bbthread = int(bbthread)
pmake = server.runCommand(["getVariable", "PARALLEL_MAKE"])
if not pmake:
pmake = cpu_cnt
handler.set_pmake(cpu_cnt)
pmake = 1
else:
# The PARALLEL_MAKE variable will be of the format: "-j 3" and we only
# want a number for the spinner, so strip everything from the variable
@@ -934,13 +1056,15 @@ def main (server, eventHandler):
incompatible = server.runCommand(["getVariable", "INCOMPATIBLE_LICENSE"])
gplv3disabled = False
if incompatible and incompatible.lower().find("gplv3"):
if incompatible and incompatible.lower().find("gplv3") != -1:
gplv3disabled = True
build_toolchain = bool(server.runCommand(["getVariable", "HOB_BUILD_TOOLCHAIN"]))
handler.toggle_toolchain(build_toolchain)
build_headers = bool(server.runCommand(["getVariable", "HOB_BUILD_TOOLCHAIN_HEADERS"]))
handler.toggle_toolchain_headers(build_headers)
prefs = HobPrefs(configurator, handler, sdk_mach, distro, pclass, cpu_cnt,
prefs = HobPrefs(configurator, handler, sdk_mach, distro, pclass,
pmake, bbthread, selected_image_types, all_image_types,
gplv3disabled, build_toolchain, build_headers)
layers = LayerEditor(configurator, None)
@@ -958,6 +1082,7 @@ def main (server, eventHandler):
configurator.connect("layers-loaded", layers.load_current_layers)
configurator.connect("layers-changed", handler.reload_data)
handler.connect("config-found", configurator.configFound)
handler.connect("fatal-error", window.fatal_error_cb)
try:
# kick the while thing off

View File

@@ -74,6 +74,7 @@ def main(server, eventHandler):
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
logger.addHandler(console)
@@ -120,8 +121,8 @@ def main(server, eventHandler):
# For "normal" logging conditions, don't show note logs from tasks
# but do show them if the user has changed the default log level to
# include verbose/debug messages
if logger.getEffectiveLevel() > format.VERBOSE:
if event.taskpid != 0 and event.levelno <= format.NOTE:
#if logger.getEffectiveLevel() > format.VERBOSE:
if event.taskpid != 0 and event.levelno <= format.NOTE:
continue
logger.handle(event)
continue
@@ -188,7 +189,8 @@ def main(server, eventHandler):
logger.error("Command execution failed: %s", event.error)
break
if isinstance(event, bb.command.CommandExit):
return_value = event.exitcode
if not return_value:
return_value = event.exitcode
continue
if isinstance(event, bb.cooker.CookerExit):
break
@@ -199,6 +201,7 @@ def main(server, eventHandler):
logger.info("consider defining a PREFERRED_PROVIDER entry to match %s", event._item)
continue
if isinstance(event, bb.event.NoProvider):
return_value = 1
if event._runtime:
r = "R"
else:

View File

@@ -283,7 +283,7 @@ class NCursesUI:
# if isinstance(event, bb.build.TaskFailed):
# if event.logfile:
# if data.getVar("BBINCLUDELOGS", d):
# bb.msg.error(bb.msg.domain.Build, "log data follows (%s)" % logfile)
# bb.error("log data follows (%s)" % logfile)
# number_of_lines = data.getVar("BBINCLUDELOGS_LINES", d)
# if number_of_lines:
# os.system('tail -n%s %s' % (number_of_lines, logfile))
@@ -297,7 +297,7 @@ class NCursesUI:
# print '| %s' % l
# f.close()
# else:
# bb.msg.error(bb.msg.domain.Build, "see log in %s" % logfile)
# bb.error("see log in %s" % logfile)
if isinstance(event, bb.command.CommandCompleted):
# stop so the user can see the result of the build, but

View File

@@ -443,7 +443,7 @@ def lockfile(name, shared=False, retry=True):
return lf
lf.close()
except Exception:
continue
pass
if not retry:
return None
@@ -505,7 +505,6 @@ def preserved_envvars_exported():
'SHELL',
'TERM',
'USER',
'USERNAME',
]
def preserved_envvars_exported_interactive():
@@ -565,18 +564,27 @@ def create_interactive_env(d):
for k in preserved_envvars_exported_interactive():
os.setenv(k, bb.data.getVar(k, d, True))
def approved_variables():
"""
Determine and return the list of whitelisted variables which are approved
to remain in the envrionment.
"""
approved = []
if 'BB_ENV_WHITELIST' in os.environ:
approved = os.environ['BB_ENV_WHITELIST'].split()
else:
approved = preserved_envvars()
if 'BB_ENV_EXTRAWHITE' in os.environ:
approved.extend(os.environ['BB_ENV_EXTRAWHITE'].split())
return approved
def clean_environment():
"""
Clean up any spurious environment variables. This will remove any
variables the user hasn't chose to preserve.
variables the user hasn't chosen to preserve.
"""
if 'BB_PRESERVE_ENV' not in os.environ:
if 'BB_ENV_WHITELIST' in os.environ:
good_vars = os.environ['BB_ENV_WHITELIST'].split()
else:
good_vars = preserved_envvars()
if 'BB_ENV_EXTRAWHITE' in os.environ:
good_vars.extend(os.environ['BB_ENV_EXTRAWHITE'].split())
good_vars = approved_variables()
filter_environment(good_vars)
def empty_environment():
@@ -830,21 +838,6 @@ def which(path, item, direction = 0):
return ""
def init_logger(logger, verbose, debug, debug_domains):
"""
Set verbosity and debug levels in the logger
"""
if debug:
bb.msg.set_debug_level(debug)
elif verbose:
bb.msg.set_verbose(True)
else:
bb.msg.set_debug_level(0)
if debug_domains:
bb.msg.set_debug_domains(debug_domains)
def to_boolean(string, default=None):
if not string:
return default

View File

@@ -1,41 +1,61 @@
# This is a single Makefile to handle all generated Yocto Project documents.
# The Makefile needs to live in the documents directory and all figures used
# in any manuals must be PNG files and live in the individual book's figures
# directory.
# in any manuals must be .PNG files and live in the individual book's figures
# directory. Note that the figures for the Yocto Project Development Manual
# differ between the 'master' and 'edison' branches.
#
# The Makefile has these targets:
#
# pdf: generates a PDF version of a manual. Not valid for the Quick Start
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# pdf: generates a PDF version of a manual. Not valid for the Quick Start
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# validate: validates
# publish: pushes generated files to the Yocto Project website
# clean: removes files
# publish: pushes generated files to the Yocto Project website
# clean: removes files
#
# The Makefile generates an HTML and PDF version of every document except the
# Yocto Project Quick Start. The Quick Start is in HTML form only. The variable
# The command-line argument DOC represents the folder name in which a particular
# document is stored. The command-line argument VER represents the distro
# version of the Yocto Release for which the manuals are being generated.
# You must invoke the Makefile with the DOC and VER arguments.
# DOC is used to indicate the folder name for a given manual. The variable
# VER represents the distro version of the Yocto Release for which the manuals
# are being generated. The variable BRANCH is used to indicate the 'edison'
# branch and is used only when DOC=dev-manual (making the YP Development
# Manual).
#
# To build the HTML and PDF versions of the manual you must invoke the Makefile
# with the DOC argument. If you are going to publish the manual then you
# you must invoke the Makefile with both the DOC and the VER argument.
# If you are building the 'edison' version of the YP DEvelopment Manual then
# you must use the DOC and BRANCH arguments.
#
# Examples:
#
# make DOC=bsp-guide VER=1.1
# make DOC=yocto-project-qs VER=1.1
# make pdf DOC=yocto-project-qs VER=1.1
# make DOC=bsp-guide
# make DOC=yocto-project-qs
# make pdf DOC=poky-ref-manual
# make DOC=dev-manual BRANCH=edison
#
# The first example generates the HTML and PDF versions of the BSP Guide for
# the Yocto Project 1.1 Release. The second example generates the HTML version
# of the Quick Start. The third example generates an error because you cannot
# generate a PDF version of the Quick Start.
# The first example generates the HTML and PDF versions of the BSP Guide.
# The second example generates the HTML version only of the Quick Start. Note that
# the Quick Start only has an HTML version available. The third example generates
# both the PDF and HTML versions of the Yocto Project Reference Manual. The
# last example generates both the PDF and HTML 'edison' versions of the YP
# Development Manual.
#
# Use the publish target to push the generated manuals to the Yocto Project
# website. All files needed for the manual's HTML form are pushed as well as the
# PDF version (if applicable).
# Examples:
#
# make publish DOC=bsp-guide VER=1.1
# make publish DOC=adt-manual VER=1.1
# make publish DOC=bsp-guide VER=1.2
# make publish DOC=adt-manual VER=1.2
# make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
# make publish DOC=dev-manual VER=1.2
#
# The first example publishes the 1.2 version of both the PDF and HTML versions of
# the BSP Guide. The second example publishes the 1.2 version of both the PDF and
# HTML versions of the ADT Manual. The third example publishes the PDF and HTML
# 'edison' versions of the YP Development Manual. Finally, the last example publishes
# the PDF and HTML 'master' versions of the YP Development Manual.
#
ifeq ($(DOC),bsp-guide)
@@ -59,7 +79,32 @@ XSLTOPTS = --stringparam html.stylesheet style.css \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html pdf tarball
TARFILES = style.css dev-manual.html dev-manual.pdf figures/dev-title.png
#
# Note that the tarfile might produce the "Cannot stat: No such file or directory" error
# message for .PNG files that are not present when building a particular branch. The
# list of files is all-inclusive for all branches.
#
ifeq ($(BRANCH),edison)
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos-edison.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-edison.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures
STYLESHEET = $(DOC)/*.css
@@ -84,7 +129,7 @@ XSLTOPTS = --stringparam html.stylesheet style.css \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html pdf tarball
TARFILES = poky-ref-manual.html style.css figures/poky-title.png figures/ss-sato.png
TARFILES = poky-ref-manual.html style.css figures/poky-title.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures
STYLESHEET = $(DOC)/*.css

View File

@@ -1,32 +1,35 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='using-the-command-line'>
<title>Using the Command Line</title>
<para>
Recall that earlier we talked about how to use an existing toolchain
Recall that earlier the manual discussed how to use an existing toolchain
tarball that had been installed into <filename>/opt/poky</filename>,
which is outside of the Yocto Project build tree
(see <xref linkend='using-an-existing-toolchain-tarball'>
“Using an Existing Toolchain Tarball)</xref>.
(see the section "<link linkend='using-an-existing-toolchain-tarball'>Using an Existing
Toolchain Tarball)</link>".
And, that sourcing your architecture-specific environment setup script
initializes a suitable cross-toolchain development environment.
This setup occurs by adding the compiler, QEMU scripts, QEMU binary,
During the setup, locations for the compiler, QEMU scripts, QEMU binary,
a special version of <filename>pkgconfig</filename> and other useful
utilities to the <filename>PATH</filename> variable.
utilities are added to the <filename>PATH</filename> variable.
Variables to assist <filename>pkgconfig</filename> and <filename>autotools</filename>
are also defined so that,
for example, <filename>configure.sh</filename> can find pre-generated
test results for tests that need target hardware on which to run.
These conditions allow you to easily use the toolchain outside of the
Yocto Project build environment on both autotools-based projects and
makefile-based projects.
Makefile-based projects.
</para>
<section id='autotools-based-projects'>
<title>Autotools-Based Projects</title>
<para>
For an autotools-based project you can use the cross-toolchain by just
For an Autotools-based project, you can use the cross-toolchain by just
passing the appropriate host option to <filename>configure.sh</filename>.
The host option you use is derived from the name of the environment setup
script in <filename>/opt/poky</filename> resulting from unpacking the
@@ -37,26 +40,42 @@
<filename>environment-setup-armv5te-poky-linux-gnueabi</filename>.
Thus, the following command works:
<literallayout class='monospaced'>
$ configure &dash;&dash;host-armv5te-poky-linux-gnueabi &dash;&dash;with-libtool-sysroot=&lt;sysroot-dir&gt;
$ configure --host=armv5te-poky-linux-gnueabi \
--with-libtool-sysroot=&lt;sysroot-dir&gt;
</literallayout>
</para>
<para>
This single command updates your project and rebuilds it using the appropriate
cross-toolchain tools.
</para>
<note>
If <filename>configure</filename> script results in problems recognizing the
<filename>--with-libtool-sysroot=&lt;sysroot-dir&gt;</filename> option,
regenerate the script to enable the support by doing the following and then
re-running the script:
<literallayout class='monospaced'>
$ libtoolize --automake
$ aclocal -I ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal \
[-I &lt;dir_containing_your_project-specific_m4_macros&gt;]
$ autoconf
$ autoheader
$ automake -a
</literallayout>
</note>
</section>
<section id='makefile-based-projects'>
<title>Makefile-Based Projects</title>
<para>
For a makefile-based project you use the cross-toolchain by making sure
For a Makefile-based project, you use the cross-toolchain by making sure
the tools are used.
You can do this as follows:
<literallayout class='monospaced'>
CC=arm-poky-linux-gnueabi-gcc
LD=arm-poky-linux-gnueabi-ld
CFLAGS=”${CFLAGS} &dash;&dash;sysroot=&lt;sysroot-dir&gt;
CXXFLAGS=”${CXXFLAGS} &dash;&dash;sysroot=&lt;sysroot-dir&gt;
CFLAGS=”${CFLAGS} --sysroot=&lt;sysroot-dir&gt;
CXXFLAGS=”${CXXFLAGS} --sysroot=&lt;sysroot-dir&gt;
</literallayout>
</para>
</section>

View File

@@ -1,19 +1,21 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-eclipse'>
<title>Working Within Eclipse</title>
<para>
The Eclipse IDE is a popular development environment and it fully supports
development using Yocto Project.
When you install and configure the Eclipse Yocto Project Plug-in into
the Eclipse IDE you maximize your Yocto Project design experience.
the Eclipse IDE, you maximize your Yocto Project design experience.
Installing and configuring the Plug-in results in an environment that
has extensions specifically designed to let you more easily develop software.
These extensions allow for cross-compilation and deployment and execution of
These extensions allow for cross-compilation, deployment, and execution of
your output into a QEMU emulation session.
You can also perform cross-debugging and profiling.
The environment also has a suite of tools that allows you to perform
The environment also supports a suite of tools that allows you to perform
remote profiling, tracing, collection of power data, collection of
latency data, and collection of performance data.
</para>
@@ -24,221 +26,389 @@
<section id='setting-up-the-eclipse-ide'>
<title>Setting Up the Eclipse IDE</title>
<para>
To develop within the Eclipse IDE you need to do the following:
To develop within the Eclipse IDE, you need to do the following:
<orderedlist>
<listitem><para>Be sure the optimal version of Eclipse IDE
is installed.</para></listitem>
<listitem><para>Install Eclipse plug-in requirements prior to installing
the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Install the optimal version of the Eclipse IDE.</para></listitem>
<listitem><para>Configure the Eclipse IDE.</para></listitem>
<listitem><para>Install the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem>
</orderedlist>
<note>
Do not install Eclipse from your distribution's package repository.
Be sure to install Eclipse from the official Eclipse download site as directed
in the next section.
</note>
</para>
<section id='installing-eclipse-ide'>
<title>Installing Eclipse IDE</title>
<title>Installing the Eclipse IDE</title>
<para>
It is recommended that you have the Indigo 3.7 version of the
Eclipse IDE installed on your development system.
If you dont have this version you can find it at
<ulink url='http://www.eclipse.org/downloads'></ulink>.
From that site, choose the Eclipse Classic version.
If you dont have this version, you can find it at
<ulink url='&ECLIPSE_MAIN_URL;'></ulink>.
From that site, choose the Eclipse Classic version particular to your development
host.
This version contains the Eclipse Platform, the Java Development
Tools (JDT), and the Plug-in Development Environment.
</para>
<para>
Once you have downloaded the tarball, extract it into a clean
directory and complete the installation.
directory.
For example, the following commands unpack and install the Eclipse IDE
tarball found in the <filename>Downloads</filename> area
into a clean directory using the default name <filename>eclipse</filename>:
<literallayout class='monospaced'>
$ cd ~
$ tar -xzvf ~/Downloads/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz
</literallayout>
</para>
<para>
One issue exists that you need to be aware of regarding the Java
Virtual machines garbage collection (GC) process.
The GC process does not clean up the permanent generation
space (PermGen).
This space stores meta-data descriptions of classes.
This space stores metadata descriptions of classes.
The default value is set too small and it could trigger an
out-of-memory error such as the following:
<literallayout class='monospaced'>
Java.lang.OutOfMemoryError: PermGen space
</literallayout>
</para>
<para>
This error causes the application to hang.
</para>
<para>
To fix this issue you can use the &dash;&dash;vmargs option when you start
Eclipse to increase the size of the permanent generation space:
To fix this issue, you can use the <filename>--vmargs</filename>
option when you start Eclipse to increase the size of the permanent generation space:
<literallayout class='monospaced'>
eclipse &dash;&dash;vmargs &dash;&dash;XX:PermSize=256M
eclipse --vmargs --XX:PermSize=256M
</literallayout>
</para>
</section>
<section id='installing-required-plug-ins-and-the-eclipse-yocto-plug-in'>
<title>Installing Required Plug-ins and the Eclipse Yocto Plug-in</title>
<section id='configuring-the-eclipse-ide'>
<title>Configuring the Eclipse IDE</title>
<para>
Before installing the Yocto Plug-in you need to be sure that the
CDT 8.0, RSE 3.2, and Autotools plug-ins are all installed in the
following order.
After installing these three plug-ins, you can install the
Eclipse Yocto Plug-in.
Use the following URLs for the plug-ins:
Before installing and configuring the Eclipse Yocto Plug-in, you need to configure
the Eclipse IDE.
Follow these general steps to configure Eclipse:
<orderedlist>
<listitem><para><emphasis>CDT 8.0</emphasis>
<ulink url='http://download.eclipse.org/tools/cdt/releases/indigo/'></ulink>:
For CDT main features select the checkbox so you get all items.
For CDT optional features expand the selections and check
“C/C++ Remote Launch”.</para></listitem>
<listitem><para><emphasis>RSE 3.2</emphasis>
<ulink url='http://download.eclipse.org/tm/updates/3.2'></ulink>:
Check the box next to “TM and RSE Main Features” so you select all
those items.
Note that all items in the main features depend on 3.2.1 version.
Expand the items under “TM and RSE Uncategorized 3.2.1” and
select the following: “Remote System Explorer End-User Runtime”,
“Remote System Explorer Extended SDK”, “Remote System Explorer User Actions”,
“RSE Core”, “RSE Terminals UI”, and “Target Management Terminal”.</para></listitem>
<listitem><para><emphasis>Autotools</emphasis>
<ulink url='http://download.eclipse.org/technology/linuxtools/update/'></ulink>:
Expand the items under “Linux Tools” and select “Autotools support for
CDT (Incubation)”.</para></listitem>
<listitem><para><emphasis>Yocto Plug-in</emphasis>
<ulink url='http://www.yoctoproject.org/downloads/eclipse-plugin/1.0'></ulink>:
Check the box next to “Development tools &amp; SDKs for Yocto Linux”
to select all the items.</para></listitem>
</orderedlist>
</para>
<para>
Follow these general steps to install a plug-in:
<orderedlist>
<listitem><para>From within the Eclipse IDE select the
Install New Software” item from the Help” menu.</para></listitem>
<listitem><para>Click “Add…” in the “Work with:” area.</para></listitem>
<listitem><para>Enter the URL for the repository and leave the “Name”
field blank.</para></listitem>
<listitem><para>Check the boxes next to the software you need to
install and then complete the installation.
For information on the specific software packages you need to include,
see the previous list.</para></listitem>
<listitem><para>Start the Eclipse IDE.</para></listitem>
<listitem><para>Make sure you are in your Workbench and select
"Install New Software" from the "Help" pull-down menu.
</para></listitem>
<listitem><para>Select <filename>indigo - &ECLIPSE_INDIGO_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Expand the box next to <filename>Programming Languages</filename>
and select the <filename>Autotools Support for CDT (incubation)</filename>
and <filename>C/C++ Development Tools</filename> boxes.</para></listitem>
<listitem><para>Expand the box next to "Linux Tools" and select the
"LTTng - Linux Tracing Toolkit(incubation)" boxes.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
<listitem><para>After the Eclipse IDE restarts and from the Workbench, select
"Install New Software" from the "Help" pull-down menu.</para></listitem>
<listitem><para>Click the
"Available Software Sites" link.</para></listitem>
<listitem><para>Check the box next to
<filename>&ECLIPSE_UPDATES_URL;</filename>
and click "OK".</para></listitem>
<listitem><para>Select <filename>&ECLIPSE_UPDATES_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Check the box next to <filename>TM and RSE Main Features</filename>.
</para></listitem>
<listitem><para>Expand the box next to <filename>TM and RSE Optional Add-ons</filename>
and select every item except <filename>RSE Unit Tests</filename> and
<filename>RSE WinCE Services (incubation)</filename>.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
<listitem><para>If necessary, select
"Install New Software" from the "Help" pull-down menu so you can click the
"Available Software Sites" link again.</para></listitem>
<listitem><para>After clicking "Available Software Sites", check the box next to
<filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename>
and click "OK".</para></listitem>
<listitem><para>Select <filename>&ECLIPSE_INDIGO_CDT_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Check the box next to <filename>CDT Main Features</filename>.
</para></listitem>
<listitem><para>Expand the box next to <filename>CDT Optional Features</filename>
and select <filename>C/C++ Remote Launch</filename> and
<filename>Target Communication Framework (incubation)</filename>.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
</orderedlist>
</para>
</section>
<section id='configuring-the-plug-in'>
<title>Configuring the Plug-in</title>
<section id='installing-the-eclipse-yocto-plug-in'>
<title>Installing or Accessing the Eclipse Yocto Plug-in</title>
<para>
Configuring the Eclipse Yocto Plug-in involves choosing the Cross
Compiler Options, selecting the Target Architecture, and choosing
the Target Options.
These settings are the default settings for all projects.
You do have opportunities to change them later if you choose to when
you configure the project.
See “Configuring the Cross Toolchain” section later in the manual.
You can install the Eclipse Yocto Plug-in into the Eclipse application
one of two ways: using the Eclipse IDE and installing the plug-in as new software, or
using a built zip file.
If you don't want to permanently install the plug-in but just want to try it out
within the Eclipse environment, you can import the plug-in project from the
Yocto Project source repositories.
</para>
<section id='new-software'>
<title>Installing the Plug-in as New Software</title>
<para>
To install the Eclipse Yocto Plug-in as new software directly into the Eclipse IDE,
follow these steps:
<orderedlist>
<listitem><para>Start up the Eclipse IDE.</para></listitem>
<listitem><para>In Eclipse, select "Install New Software" from the "Help" menu.</para></listitem>
<listitem><para>Click "Add..." in the "Work with:" area.</para></listitem>
<listitem><para>Enter
<filename>&ECLIPSE_DL_PLUGIN_URL;</filename>
in the URL field and provide a meaningful name in the "Name" field.</para></listitem>
<listitem><para>Click "OK" to have the entry added to the "Work with:"
drop-down list.</para></listitem>
<listitem><para>Select the entry for the plug-in from the "Work with:" drop-down
list.</para></listitem>
<listitem><para>Check the box next to <filename>Development tools and SDKs for Yocto Linux</filename>.
</para></listitem>
<listitem><para>Complete the remaining software installation steps and
then restart the Eclipse IDE to finish the installation of the plug-in.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='zip-file-method'>
<title>Installing the Plug-in from a Zip File</title>
<para>
To install the Eclipse Yocto Plug-in by building and installing a plug-in
zip file, follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>Locate the <filename>build.sh</filename> script in the
Git repository you created in the previous step.
The script is located in the <filename>scripts</filename>.</para></listitem>
<listitem><para>Be sure to set and export the <filename>ECLIPSE_HOME</filename> environment
variable to the top-level directory in which you installed the Indigo
version of Eclipse.
For example, if your Eclipse directory is <filename>$HOME/eclipse</filename>,
use the following:
<literallayout class='monospaced'>
$ export ECLIPSE_HOME=$HOME/eclipse
</literallayout></para></listitem>
<listitem><para>Run the <filename>build.sh</filename> script and provide the
name of the Git branch along with the Yocto Project release you are
using.
Here is an example that uses the <filename>master</filename> Git repository
and the <filename>&DISTRO;</filename> release:
<literallayout class='monospaced'>
$ scripts/build.sh master &DISTRO;
</literallayout>
After running the script, the file
<filename>org.yocto.sdk-&lt;release&gt;-&lt;date&gt;-archive.zip</filename>
is in the current directory.</para></listitem>
<listitem><para>If necessary, start the Eclipse IDE and be sure you are in the
Workbench.</para></listitem>
<listitem><para>Select "Install New Software" from the "Help" pull-down menu.
</para></listitem>
<listitem><para>Click "Add".</para></listitem>
<listitem><para>Provide anything you want in the "Name" field.</para></listitem>
<listitem><para>Click "Archive" and browse to the ZIP file you built
in step four.
This ZIP file should not be "unzipped", and must be the
<filename>*archive.zip</filename> file created by running the
<filename>build.sh</filename> script.</para></listitem>
<listitem><para>Check the box next to the new entry in the installation window and complete
the installation.</para></listitem>
<listitem><para>Restart the Eclipse IDE if necessary.</para></listitem>
</orderedlist>
</para>
<para>
At this point you should be able to configure the Eclipse Yocto Plug-in as described in the
"<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>"
section.</para>
</section>
<section id='yocto-project-source'>
<title>Importing the Plug-in Project into the Eclipse Environment</title>
<para>
Importing the Eclipse Yocto Plug-in project from the Yocto Project source repositories
is useful when you want to try out the latest plug-in from the tip of plug-in's
development tree.
It is important to understand when you import the plug-in you are not installing
it into the Eclipse application.
Rather, you are importing the project and just using it.
To import the plug-in project, follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem>
<listitem><para>Expand the "General" box and select "existing projects into workspace"
and then click "Next".</para></listitem>
<listitem><para>Select the root directory and browse to "~/yocto-eclipse/plugins".
</para></listitem>
<listitem><para>There will be three things there.
Select each one and install one at a time.
Do all three.</para></listitem>
</orderedlist>
</para>
<para>
The left navigation pane in the Eclipse application shows the default projects.
Right-click on one of these projects and run it as an Eclipse application.
This brings up a second instance of Eclipse IDE that has the Yocto Plug-in.
</para>
</section>
</section>
<section id='configuring-the-eclipse-yocto-plug-in'>
<title>Configuring the Eclipse Yocto Plug-in</title>
<para>
Configuring the Eclipse Yocto Plug-in involves setting the Cross
Compiler options and the Target options.
The configurations you choose become the default settings for all projects.
You do have opportunities to change them later when
you configure the project (see the following section).
</para>
<para>
To start, you need to do the following from within the Eclipse IDE:
<itemizedlist>
<listitem><para>Choose Windows -&gt; Preferences to display
the Preferences Dialog</para></listitem>
<listitem><para>Click “Yocto SDK”</para></listitem>
<listitem><para>Choose <filename>Windows -&gt; Preferences</filename> to display
the <filename>Preferences</filename> Dialog</para></listitem>
<listitem><para>Click <filename>Yocto ADT</filename></para></listitem>
</itemizedlist>
</para>
<section id='configuring-the-cross-compiler-options'>
<title>Configuring the Cross-Compiler Options</title>
<para>
Choose between Stand-alone Prebuilt Toolchain and Build System Derived Toolchain for Cross
Compiler Options.
To configure the Cross Compiler Options, you must select the type of toolchain,
point to the toolchain, specify the sysroot location, and select the target architecture.
<itemizedlist>
<listitem><para><emphasis>Stand-alone Prebuilt Toolchain</emphasis> Select this mode
when you are not concerned with building a target image or you do not have
a Yocto Project build tree on your development system.
For example, suppose you are an application developer and do not
need to build a target image.
Instead, you just want to use an architecture-specific toolchain on an
existing kernel and target root filesystem.
When you use Stand-alone Prebuilt Toolchain you are using the toolchain installed
in the <filename>/opt/poky</filename> directory.</para></listitem>
<listitem><para><emphasis>Build System Derived Toolchain</emphasis> Select this mode
if you are building images for target hardware or your
development environment already has a Yocto Project build tree.
In this case you likely already have a Yocto Project build tree installed on
your system or you (or someone else) will be building one.
When you select Build System Derived Toolchain you are using the toolchain bundled
inside the Yocto Project build tree.
If you use this mode you must also supply the Yocto Project build directory
in the Preferences Dialog.</para></listitem>
<listitem><para><emphasis>Selecting the Toolchain Type:</emphasis>
Choose between <filename>Standalone pre-built toolchain</filename>
and <filename>Build system derived toolchain</filename> for Cross
Compiler Options.
<itemizedlist>
<listitem><para><emphasis>
<filename>Standalone Pre-built Toolchain:</filename></emphasis>
Select this mode when you are using a stand-alone cross-toolchain.
For example, suppose you are an application developer and do not
need to build a target image.
Instead, you just want to use an architecture-specific toolchain on an
existing kernel and target root filesystem.
</para></listitem>
<listitem><para><emphasis>
<filename>Build System Derived Toolchain:</filename></emphasis>
Select this mode if the cross-toolchain has been installed and built
as part of the Yocto Project build tree.
When you select <filename>Build system derived toolchain</filename>,
you are using the toolchain bundled
inside the Yocto Project build tree.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para><emphasis>Point to the Toolchain:</emphasis>
If you are using a stand-alone pre-built toolchain, you should be pointing to the
<filename>&YOCTO_ADTPATH_DIR;</filename> directory.
This is the location for toolchains installed by the ADT Installer or by hand.
Sections "<link linkend='configuring-and-running-the-adt-installer-script'>Configuring
and Running the ADT Installer Script</link>" and
"<link linkend='using-an-existing-toolchain-tarball'>Using a Cross-Toolchain
Tarball</link>" describe two ways to install
a stand-alone cross-toolchain in the
<filename>/opt/poky</filename> directory.
<note>It is possible to install a stand-alone cross-toolchain in a directory
other than <filename>/opt/poky</filename>.
However, doing so is discouraged.</note></para>
<para>If you are using a system-derived toolchain, the path you provide
for the <filename>Toolchain Root Location</filename>
field is the Yocto Project's build directory.
See section "<link linkend='using-the-toolchain-from-within-the-build-tree'>Using
BitBake and the Yocto Project Build Tree</link>" for
information on how to install the toolchain into the Yocto
Project build tree.</para></listitem>
<listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
This location is where the root filesystem for the
target hardware is created on the development system by the ADT Installer.
The QEMU user-space tools, the
NFS boot process, and the cross-toolchain all use the sysroot location.
</para></listitem>
<listitem><para><emphasis>Select the Target Architecture:</emphasis>
The target architecture is the type of hardware you are
going to use or emulate.
Use the pull-down <filename>Target Architecture</filename> menu to make
your selection.
The pull-down menu should have the supported architectures.
If the architecture you need is not listed in the menu, you
will need to build the image.
See the "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
of The Yocto Project Quick Start for more information.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='configuring-the-sysroot'>
<title>Configuring the Sysroot</title>
<para>
Specify the sysroot location, which is where the root filesystem for the
target hardware is created on the development system by the ADT Installer.
The QEMU user-space tools, the
NFS boot process and the cross-toolchain all use the sysroot location
regardless of wheather you select (Stand-alone Prebuilt Toolchain or Build System Derived Toolchain).
</para>
</section>
<section id='configuring-the-target-options'>
<title>Configuring the Target Options</title>
<section id='selecting-the-target-architecture'>
<title>Selecting the Target Architecture</title>
<para>
Use the pull-down Target Architecture menu and select the
target architecture.
</para>
<para>
The Target Architecture is the type of hardware you are
going to use or emulate.
This pull-down menu should have the supported architectures.
If the architecture you need is not listed in the menu then you
will need to re-visit
<xref linkend='adt-prepare'>
“Preparing to Use the Application Development Toolkit (ADT)”</xref>
section earlier in this document.
</para>
</section>
<section id='choosing-the-target-options'>
<title>Choosing the Target Options</title>
<para>
You can choose to emulate hardware using the QEMU emulator, or you
can choose to use actual hardware.
can choose to run your image on actual hardware.
<itemizedlist>
<listitem><para><emphasis>External HW</emphasis> Select this option
if you will be using actual hardware.</para></listitem>
<listitem><para><emphasis>QEMU</emphasis> Select this option if
you will be using the QEMU emulator.
If you are using the emulator you also need to locate the Kernel
and specify any custom options.</para>
<para>If you select Build System Derived Toolchain the target kernel you built
will be located in the
Yocto Project build tree in <filename>tmp/deploy/images</filename> directory.
If you select Stand-alone Prebuilt Toolchain the pre-built kernel you downloaded is located
in the directory you specified when you downloaded the image.</para>
<para>Most custom options are for advanced QEMU users to further
customize their QEMU instance.
These options are specified between paired angled brackets.
Some options must be specified outside the brackets.
In particular, the options <filename>serial</filename>,
<filename>nographic</filename>, and <filename>kvm</filename> must all
be outside the brackets.
Use the <filename>man qemu</filename> command to get help on all the options
and their use.
The following is an example:
<listitem><para><emphasis><filename>QEMU:</filename></emphasis> Select this option if
you will be using the QEMU emulator.
If you are using the emulator, you also need to locate the kernel
and specify any custom options.</para>
<para>If you selected <filename>Build system derived toolchain</filename>,
the target kernel you built will be located in the
Yocto Project build tree in <filename>tmp/deploy/images</filename> directory.
If you selected <filename>Standalone pre-built toolchain</filename>, the
pre-built image you downloaded is located
in the directory you specified when you downloaded the image.</para>
<para>Most custom options are for advanced QEMU users to further
customize their QEMU instance.
These options are specified between paired angled brackets.
Some options must be specified outside the brackets.
In particular, the options <filename>serial</filename>,
<filename>nographic</filename>, and <filename>kvm</filename> must all
be outside the brackets.
Use the <filename>man qemu</filename> command to get help on all the options
and their use.
The following is an example:
<literallayout class='monospaced'>
serial &lt;-m 256 -full-screen&gt;
</literallayout>
</para>
<para>
Regardless of the mode, Sysroot is already defined in the “Sysroot”
field.</para></listitem>
</literallayout></para>
<para>
Regardless of the mode, Sysroot is already defined as part of the
Cross Compiler Options configuration in the
<filename>Sysroot Location:</filename> field.</para></listitem>
<listitem><para><emphasis><filename>External HW:</filename></emphasis> Select this option
if you will be using actual hardware.</para></listitem>
</itemizedlist>
</para>
<para>
Click the “OK” button to save your plug-in configurations.
Click the <filename>OK</filename> button to save your plug-in configurations.
</para>
</section>
</section>
@@ -246,127 +416,141 @@
<section id='creating-the-project'>
<title>Creating the Project</title>
<para>
You can create two types of projects: Autotools-based, or Makefile-based.
This section describes how to create autotools-based projects from within
This section describes how to create Autotools-based projects from within
the Eclipse IDE.
For information on creating projects in a terminal window see
<xref linkend='using-the-command-line'>Using the Command Line</xref>
section.
For information on creating Makefile-based projects in a terminal window, see the section
"<link linkend='using-the-command-line'>Using the Command Line</link>".
</para>
<para>
To create a project based on a Yocto template and then display the source code,
follow these steps:
<orderedlist>
<listitem><para>Select File -> New -> Project.</para></listitem>
<listitem><para>Double click “CC++”.</para></listitem>
<listitem><para>Double click “C Project” to create the project.</para></listitem>
<listitem><para>Double click “Yocto SDK Project.</para></listitem>
<listitem><para>Select Hello World ANSI C Autotools Project.
This is an Autotools-based project based on a Yocto Project template.</para></listitem>
<listitem><para>Put a name in the “Project name:” field.</para></listitem>
<listitem><para>Click “Next”.</para></listitem>
<listitem><para>Add information in the “Author” field.</para></listitem>
<listitem><para>Use “GNU General Public License v2.0” for the License.</para></listitem>
<listitem><para>Click “Finish”.</para></listitem>
<listitem><para>Answer Yes” to the open perspective prompt.</para></listitem>
<listitem><para>In the Project Explorer expand your project.</para></listitem>
<listitem><para>Expand src.</para></listitem>
<listitem><para>Double click on your source file and the code appears
in the window.
This is the template.</para></listitem>
<listitem><para>Select <filename>File -&gt; New -&gt; Project</filename>.</para></listitem>
<listitem><para>Double click <filename>CC++</filename>.</para></listitem>
<listitem><para>Double click <filename>C Project</filename> to create the project.</para></listitem>
<listitem><para>Expand <filename>Yocto ADT Project</filename>.</para></listitem>
<listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>.
This is an Autotools-based project based on a Yocto Project template.</para></listitem>
<listitem><para>Put a name in the <filename>Project name:</filename> field.
Do not use hyphens as part of the name.</para></listitem>
<listitem><para>Click <filename>Next</filename>.</para></listitem>
<listitem><para>Add information in the <filename>Author</filename> and
<filename>Copyright notice</filename> fields.</para></listitem>
<listitem><para>Be sure the <filename>License</filename> field is correct.</para></listitem>
<listitem><para>Click <filename>Finish</filename>.</para></listitem>
<listitem><para>If the "open perspective" prompt appears, click "Yes" so that you
in the C/C++ perspective.</para></listitem>
<listitem><para>The left-hand navigation pane shows your project.
You can display your source by double clicking the project's source file.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='configuring-the-cross-toolchains'>
<title>Configuring the Cross-Toolchains</title>
<para>
The previous section, <xref linkend='configuring-the-cross-compiler-options'>
“Configuring the Cross-Compiler Options”</xref>, set up the default project
The earlier section, "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring
the Eclipse Yocto Plug-in</link>", sets up the default project
configurations.
You can change these settings for a given project by following these steps:
You can override these settings for a given project by following these steps:
<orderedlist>
<listitem><para>Select Project -> Invoke Yocto Tools -> Reconfigure Yocto.
This brings up the project's Yocto Settings Dialog.
Settings are inherited from the default project configuration.
The information in this dialogue is identical to that chosen earlier
for the Cross Compiler Option (Stand-alone Prebuilt Toolchain or Build System Derived Toolchain),
the Target Architecture, and the Target Options.
The settings are inherited from the Yocto Plug-in configuration performed
after installing the plug-in.</para></listitem>
<listitem><para>Select Project -> Reconfigure Project.
This runs the <filename>autogen.sh</filename> in the workspace for your project.
The script runs <filename>libtoolize</filename>, <filename>aclocal</filename>,
<filename>autoconf</filename>, <filename>autoheader</filename>,
<filename>automake &dash;&dash;a</filename>, and
<filename>./configure</filename>.</para></listitem>
<listitem><para>Select <filename>Project -&gt; Change Yocto Project Settings</filename>:
This selection brings up the <filename>Project Yocto Settings</filename> Dialog
and allows you to make changes specific to an individual project.
</para>
<para>By default, the Cross Compiler Options and Target Options for a project
are inherited from settings you provide using the <filename>Preferences</filename>
Dialog as described earlier
in the "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse
Yocto Plug-in</link>" section.
The <filename>Project Yocto Settings</filename>
Dialog allows you to override those default settings
for a given project.</para></listitem>
<listitem><para>Make your configurations for the project and click "OK".</para></listitem>
<listitem><para>Select <filename>Project -&gt; Reconfigure Project</filename>:
This selection reconfigures the project by running
<filename>autogen.sh</filename> in the workspace for your project.
The script also runs <filename>libtoolize</filename>, <filename>aclocal</filename>,
<filename>autoconf</filename>, <filename>autoheader</filename>,
<filename>automake --a</filename>, and
<filename>./configure</filename>.
Click on the <filename>Console</filename> tab beneath your source code to
see the results of reconfiguring your project.</para></listitem>
</orderedlist>
</para>
</section>
<section id='building-the-project'>
<title>Building the Project</title>
<para>
To build the project, select Project -&gt; Build Project.
To build the project, select <filename>Project -&gt; Build Project</filename>.
The console should update and you can note the cross-compiler you are using.
</para>
</section>
<section id='starting-qemu-in-user-space-nfs-mode'>
<title>Starting QEMU in User Space NFS Mode</title>
<para>
To start the QEMU emulator from within Eclipse, follow these steps:
<orderedlist>
<listitem><para>Select Run -> External Tools -> External Tools Configurations...
This selection brings up the External Tools Configurations Dialogue.</para></listitem>
<listitem><para>Go to the left navigation area and expand Program.
You should find the image listed.
For example, qemu-x86_64-poky-linux.</para></listitem>
<listitem><para>Click on the image.
This brings up a new environment in the main area of the External
Tools Configurations Dialogue.
The Main tab is selected.</para></listitem>
<listitem><para>Click “Run” next.
This brings up a shell window.</para></listitem>
<listitem><para>Enter your host root password in the shell window at the prompt.
This sets up a Tap 0 connection needed for running in user-space NFS mode.</para></listitem>
<listitem><para>Expose the <filename>Run -&gt; External Tools</filename> menu.
Your image should appear as a selectable menu item.
</para></listitem>
<listitem><para>Select your image from the menu to launch the
emulator in a new window.</para></listitem>
<listitem><para>If needed, enter your host root password in the shell window at the prompt.
This sets up a <filename>Tap 0</filename> connection needed for running in user-space
NFS mode.</para></listitem>
<listitem><para>Wait for QEMU to launch.</para></listitem>
<listitem><para>Once QEMU launches you need to determine the IP Address
for the user-space NFS.
You can do that by going to a terminal in the QEMU and entering the
<filename>ipconfig</filename> command.</para></listitem>
<listitem><para>Once QEMU launches, you can begin operating within that
environment.
For example, you could determine the IP Address
for the user-space NFS by using the <filename>ifconfig</filename> command.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='deploying-and-debugging-the-application'>
<title>Deploying and Debugging the Application</title>
<para>
Once QEMU is running you can deploy your application and use the emulator
to perform debugging.
Once the QEMU emulator is running the image, using the Eclipse IDE
you can deploy your application and use the emulator to perform debugging.
Follow these steps to deploy the application.
<orderedlist>
<listitem><para>Select Run -> Debug Configurations...</para></listitem>
<listitem><para>In the left area expand C/C++Remote Application.</para></listitem>
<listitem><para>Select <filename>Run -&gt; Debug Configurations...</filename></para></listitem>
<listitem><para>In the left area, expand <filename>C/C++Remote Application</filename>.</para></listitem>
<listitem><para>Locate your project and select it to bring up a new
tabbed view in the Debug Configurations dialogue.</para></listitem>
tabbed view in the <filename>Debug Configurations</filename> Dialog.</para></listitem>
<listitem><para>Enter the absolute path into which you want to deploy
the application.
Use the Remote Absolute File Path for C/C++Application:.
For example, enter <filename>/usr/bin/&lt;programname&gt;</filename>.</para></listitem>
<listitem><para>Click on the Debugger tab to see the cross-tool debugger
you are using.</para></listitem>
the application.
Use the <filename>Remote Absolute File Path for C/C++Application:</filename> field.
For example, enter <filename>/usr/bin/&lt;programname&gt;</filename>.</para></listitem>
<listitem><para>Click on the <filename>Debugger</filename> tab to see the cross-tool debugger
you are using.</para></listitem>
<listitem><para>Click on the <filename>Main</filename> tab.</para></listitem>
<listitem><para>Create a new connection to the QEMU instance
by clicking on “new”.</para></listitem>
<listitem><para>Select “TCF, which means Target Communication Framework.</para></listitem>
<listitem><para>Click “Next”.</para></listitem>
<listitem><para>Clear out the “host name” field and enter the IP Address
determined earlier.</para></listitem>
<listitem><para>Click Finish to close the new connections dialogue.</para></listitem>
<listitem><para>Use the drop-down menu now in the “Connection” field and pick
the IP Address you entered.</para></listitem>
<listitem><para>Click “Debug” to bring up a login screen and login.</para></listitem>
by clicking on <filename>new</filename>.</para></listitem>
<listitem><para>Select <filename>TCF</filename>, which means Target Communication
Framework.</para></listitem>
<listitem><para>Click <filename>Next</filename>.</para></listitem>
<listitem><para>Clear out the <filename>host name</filename> field and enter the IP Address
determined earlier.</para></listitem>
<listitem><para>Click <filename>Finish</filename> to close the
<filename>New Connections</filename> Dialog.</para></listitem>
<listitem><para>Use the drop-down menu now in the <filename>Connection</filename> field and pick
the IP Address you entered.</para></listitem>
<listitem><para>Click <filename>Debug</filename> to bring up a login screen
and login.</para></listitem>
<listitem><para>Accept the debug perspective.</para></listitem>
</orderedlist>
</para>
@@ -374,58 +558,93 @@
<section id='running-user-space-tools'>
<title>Running User-Space Tools</title>
<para>
As mentioned earlier in the manual several tools exist that enhance
As mentioned earlier in the manual, several tools exist that enhance
your development experience.
These tools are aids in developing and debugging applications and images.
You can run these user-space tools from within the Yocto Eclipse
Plug-in through the Window -> YoctoTools menu.
You can run these user-space tools from within the Eclipse IDE through the
<filename>YoctoTools</filename> menu.
</para>
<para>
Once you pick a tool you need to configure it for the remote target.
Once you pick a tool, you need to configure it for the remote target.
Every tool needs to have the connection configured.
You must select an existing TCF-based RSE connection to the remote target.
If one does not exist, click "New" to create one.
If one does not exist, click <filename>New</filename> to create one.
</para>
<para>
Here are some specifics about the remote tools:
<itemizedlist>
<listitem><para><emphasis>OProfile:</emphasis> Selecting this tool causes
the oprofile-server on the remote target to launch on the local host machine.
The oprofile-viewer must be installed on the local host machine and the
oprofile-server must be installed on the remote target, respectively, in order
to use.
You can locate both the viewer and server from
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/'></ulink>.
You need to compile and install the oprofile-viewer from the source code
on your local host machine.
The oprofile-server is installed by default in the image.</para></listitem>
<listitem><para><emphasis>Lttng-ust:</emphasis> Selecting this tool runs
<filename>usttrace</filename> on the remote target, transfers the output data back to the
local host machine and uses <filename>lttv-gui</filename> to graphically display the output.
The <filename>lttv-gui</filename> must be installed on the local host machine to use this tool.
For information on how to use <filename>lttng</filename> to trace an application, see
<ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para>
<para>For "Application" you must supply the absolute path name of the
application to be traced by user mode lttng.
For example, typing <filename>/path/to/foo</filename> triggers
<filename>usttrace /path/to/foo</filename> on the remote target to trace the
program <filename>/path/to/foo</filename>.</para>
<para>"Argument" is passed to <filename>usttrace</filename>
running on the remote target.</para></listitem>
<listitem><para><emphasis>PowerTOP:</emphasis> Selecting this tool runs
"PowerTOP" on the remote target machine and displays the results in a
new view called "powertop".</para>
<para>"Time to gather data(sec):" is the time passed in seconds before data
is gathered from the remote target for analysis.</para>
<para>"show pids in wakeups list:" corresponds to the <filename>-p</filename> argument
passed to <filename>powertop</filename>.</para></listitem>
<listitem><para><emphasis>LatencyTOP and Perf:</emphasis> "LatencyTOP"
identifies system latency, while <filename>perf</filename> monitors the system's
performance counter registers.
Selecting either of these tools causes an RSE terminal view to appear
from which you can run the tools.
Both tools refresh the entire screen to display results while they run.</para></listitem>
<listitem><para><emphasis><filename>OProfile</filename>:</emphasis> Selecting this tool causes
the <filename>oprofile-server</filename> on the remote target to launch on
the local host machine.
The <filename>oprofile-viewer</filename> must be installed on the local host machine and the
<filename>oprofile-server</filename> must be installed on the remote target,
respectively, in order to use.
You must compile and install the <filename>oprofile-viewer</filename> from the source code
on your local host machine.
Furthermore, in order to convert the target's sample format data into a form that the
host can use, you must have <filename>oprofile</filename> version 0.9.4 or
greater installed on the host.</para>
<para>You can locate both the viewer and server from
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>.
<note>The <filename>oprofile-server</filename> is installed by default on
the <filename>core-image-sato-sdk</filename> image.</note></para></listitem>
<listitem><para><emphasis><filename>Lttng-ust</filename>:</emphasis> Selecting this tool runs
<filename>usttrace</filename> on the remote target, transfers the output data back
to the local host machine, and uses the <filename>lttng</filename> Eclipse plug-in to
graphically display the output.
For information on how to use <filename>lttng</filename> to trace an application, see
<ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para>
<para>For <filename>Application</filename>, you must supply the absolute path name of the
application to be traced by user mode <filename>lttng</filename>.
For example, typing <filename>/path/to/foo</filename> triggers
<filename>usttrace /path/to/foo</filename> on the remote target to trace the
program <filename>/path/to/foo</filename>.</para>
<para><filename>Argument</filename> is passed to <filename>usttrace</filename>
running on the remote target.</para>
<para>Before you use the <filename>lttng-ust</filename> tool, you need to setup
the <filename>lttng</filename> Eclipse plug-in and create a <filename>lttng</filename>
project.
Do the following:
<orderedlist>
<listitem><para>Follow these
<ulink url='http://wiki.eclipse.org/Linux_Tools_Project/LTTng#Downloading_and_installing_the_LTTng_parser_library'>instructions</ulink>
to download and install the <filename>lttng</filename> parser library.
</para></listitem>
<listitem><para>Select <filename>Window -> Open Perspective -> Other</filename>
and then select <filename>LTTng</filename>.</para></listitem>
<listitem><para>Click <filename>OK</filename> to change the Eclipse perspective
into the <filename>LTTng</filename> perspective.</para></listitem>
<listitem><para>Create a new <filename>LTTng</filename> project by selecting
<filename>File -> New -> Project</filename>.</para></listitem>
<listitem><para>Choose <filename>LTTng -> LTTng Project</filename>.</para></listitem>
<listitem><para>Click <filename>YoctoTools -> lttng-ust</filename> to start user mode
<filename>lttng</filename> on the remote target.</para></listitem>
</orderedlist></para>
<para>After the output data has been transferred from the remote target back to the local
host machine, new traces will be imported into the selected <filename>LTTng</filename> project.
Then you can go to the <filename>LTTng</filename> project, right click the imported
trace, and set the trace type as the <filename>LTTng</filename> kernel trace.
Finally, right click the imported trace and select <filename>Open</filename>
to display the data graphically.</para></listitem>
<listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> Selecting this tool runs
<filename>powertop</filename> on the remote target machine and displays the results in a
new view called <filename>powertop</filename>.</para>
<para><filename>Time to gather data(sec):</filename> is the time passed in seconds before data
is gathered from the remote target for analysis.</para>
<para><filename>show pids in wakeups list:</filename> corresponds to the
<filename>-p</filename> argument
passed to <filename>powertop</filename>.</para></listitem>
<listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis>
<filename>latencytop</filename> identifies system latency, while
<filename>perf</filename> monitors the system's
performance counter registers.
Selecting either of these tools causes an RSE terminal view to appear
from which you can run the tools.
Both tools refresh the entire screen to display results while they run.</para></listitem>
</itemizedlist>
</para>
</section>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-intro'>
@@ -13,29 +14,41 @@
<section id='book-intro'>
<title>Introducing the Application Development Toolkit (ADT)</title>
<para>
Fundamentally, the ADT consists of an architecture-specific cross-toolchain and
a matching sysroot that are both built by the Poky build system.
a matching sysroot that are both built by the Yocto Project build system Poky.
The toolchain and sysroot are based on a metadata configuration and extensions,
which allows you to cross develop for the target on the host machine.
which allows you to cross-develop on the host machine for the target.
</para>
<para>
Additionally, to provide an effective development platform, the Yocto Project
makes available and suggests other tools you can use with the ADT.
These other tools include the Eclipse IDE Yocto Plug-in, an emulator (QEMU),
and various user-space tools that greatly enhance your development experience.
</para>
<para>
The resulting combination of the architecture-specific cross-toolchain and sysroot
along with these additional tools yields a custom-built, cross-development platform
for a user-targeted product.
</para>
</section>
<section id='adt-components'>
<title>ADT Components</title>
<para>
This section provides a brief description of what comprises the ADT.
</para>
<section id='the-cross-toolchain'>
<title>The Cross-Toolchain</title>
<para>
The cross-toolchain consists of a cross-compiler, cross-linker, and cross-debugger
that are used to develop for targeted hardware.
that are used to develop user-space applications for targeted hardware.
This toolchain is created either by running the ADT Installer script or
through a Yocto Project build tree that is based on your metadata
configuration or extension for your targeted device.
@@ -45,80 +58,76 @@
<section id='sysroot'>
<title>Sysroot</title>
<para>
The matching target sysroot contains needed headers and libraries for generating
binaries that run on the target architecture.
The sysroot is based on the target root filesystem image that is built by
Poky and uses the same metadata configuration used to build the cross-toolchain.
the Yocto Project's build system Poky and uses the same metadata configuration
used to build the cross-toolchain.
</para>
</section>
<section id='the-qemu-emulator'>
<title>The QEMU Emulator</title>
<para>
The QEMU emulator allows you to simulate your hardware while running your
application or image.
QEMU is made available a number of ways:
<itemizedlist>
<listitem><para>If you use the ADT Installer script to install ADT you can
specify whether or not to install QEMU.</para></listitem>
<listitem><para>If you use the ADT Installer script to install ADT, you can
specify whether or not to install QEMU.</para></listitem>
<listitem><para>If you have downloaded a Yocto Project release and unpacked
it to create a Yocto Project source directory followed by sourcing
the Yocto Project environment setup script, QEMU is installed and automatically
available.</para></listitem>
it to create a Yocto Project file structure and you have sourced
the Yocto Project environment setup script, QEMU is installed and automatically
available.</para></listitem>
<listitem><para>If you have installed the cross-toolchain
tarball followed by sourcing the toolchain's setup environment script, QEMU
is installed and automatically available.</para></listitem>
tarball and you have sourcing the toolchain's setup environment script, QEMU
is also installed and automatically available.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='user-space-tools'>
<title>User-Space Tools</title>
<para>
User-space tools are included as part of the distribution.
You will find these tools helpful during development.
The tools include LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust.
These tools are common development tools for the Linux platform.
<itemizedlist>
<listitem><para><emphasis>LatencyTOP</emphasis> LatencyTOP focuses on latency
that causes skips in audio,
stutters in your desktop experience, or situations that overload your server
even when you have plenty of CPU power left.
You can find out more about LatencyTOP at
<ulink url='http://www.latencytop.org/'></ulink>.
</para></listitem>
<listitem><para><emphasis>PowerTOP</emphasis> Helps you determine what
software is using the most power.
You can find out more about PowerTOP at
<ulink url='http://www.linuxpowertop.org/'></ulink>.
</para></listitem>
<listitem><para><emphasis>OProfile</emphasis> A system-wide profiler for Linux
systems that is capable
of profiling all running code at low overhead.
You can find out more about OProfile at
<ulink url='http://oprofile.sourceforge.net/about/'></ulink>.
</para></listitem>
<listitem><para><emphasis>Perf</emphasis> Performance counters for Linux used
to keep track of certain
types of hardware and software events.
For more information on these types of counters see
<ulink url='https://perf.wiki.kernel.org/index.php'></ulink> and click
on “Perf tools.”
</para></listitem>
<listitem><para><emphasis>SystemTap</emphasis> A free software infrastructure
that simplifies
information gathering about a running Linux system.
This information helps you diagnose performance or functional problems.
SystemTap is not available as a user-space tool through the Yocto Eclipse IDE Plug-in.
See <ulink url='http://sourceware.org/systemtap'></ulink> for more information
on SystemTap.
</para></listitem>
<listitem><para><emphasis>Lttng-ust</emphasis> A User-space Tracer designed to
provide detailed information on user-space activity.
See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust.
</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para><emphasis>LatencyTOP:</emphasis> LatencyTOP focuses on latency
that causes skips in audio,
stutters in your desktop experience, or situations that overload your server
even when you have plenty of CPU power left.
You can find out more about LatencyTOP at
<ulink url='http://www.latencytop.org/'></ulink>.</para></listitem>
<listitem><para><emphasis>PowerTOP:</emphasis> Helps you determine what
software is using the most power.
You can find out more about PowerTOP at
<ulink url='https://01.org/powertop/'></ulink>.</para></listitem>
<listitem><para><emphasis>OProfile:</emphasis> A system-wide profiler for Linux
systems that is capable of profiling all running code at low overhead.
You can find out more about OProfile at
<ulink url='http://oprofile.sourceforge.net/about/'></ulink>.</para></listitem>
<listitem><para><emphasis>Perf:</emphasis> Performance counters for Linux used
to keep track of certain types of hardware and software events.
For more information on these types of counters see
<ulink url='https://perf.wiki.kernel.org/'></ulink> and click
on “Perf tools.”</para></listitem>
<listitem><para><emphasis>SystemTap:</emphasis> A free software infrastructure
that simplifies information gathering about a running Linux system.
This information helps you diagnose performance or functional problems.
SystemTap is not available as a user-space tool through the Yocto Eclipse IDE Plug-in.
See <ulink url='http://sourceware.org/systemtap'></ulink> for more information
on SystemTap.</para></listitem>
<listitem><para><emphasis>Lttng-ust:</emphasis> A User-space Tracer designed to
provide detailed information on user-space activity.
See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust.
</para></listitem>
</itemizedlist>
</para>
</section>
</section>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='adt-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -15,7 +16,7 @@
</imageobject>
</mediaobject>
<title></title>
<title></title>
<authorgroup>
<author>
@@ -31,17 +32,32 @@
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>Initial Document released with Yocto Project 1.0 on 6 April 2011.</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.1</revnumber>
<date>15 March 2012</date>
<revremark>Released with the Yocto Project 1.1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.2</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -50,6 +66,15 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='&YOCTO_DOCS_ADT_URL;'>
Application Developer's Toolkit (ADT) User's Guide</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
</bookinfo>

View File

@@ -1,46 +1,50 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-package'>
<title>Optionally Customizing the Development Packages Installation</title>
<para>
Because the Yocto Project is suited for embedded Linux development it is
Because the Yocto Project is suited for embedded Linux development, it is
likely that you will need to customize your development packages installation.
For example, if you are developing a minimal image then you might not need
For example, if you are developing a minimal image, then you might not need
certain packages (e.g. graphics support packages).
Thus, you would like to be able to remove those packages from your target sysroot.
</para>
<section id='package-management-systems'>
<title>Package Management Systems</title>
<para>
The Yocto Project supports the generation of sysroot files using
three different Package Management Systems (PMS):
<itemizedlist>
<listitem><para><emphasis>OPKG</emphasis> A less well known PMS whose use
originated in the OpenEmbedded and OpenWrt embedded Linux projects.
This PMS works with files packaged in an <filename>.ipk</filename> format.
See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more
information about OPKG.</para></listitem>
<listitem><para><emphasis>RPM</emphasis> A more widely known PMS intended for GNU/Linux
distributions.
This PMS works with files packaged in an <filename>.rms</filename> format.
The Yocto Project currently installs through this PMS by default.
See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink>
for more information about RPM.</para></listitem>
<listitem><para><emphasis>Debian</emphasis> The PMS for Debian-based systems
is built on many PMS tools.
The lower-level PMS tool <filename>dpkg</filename> forms the base of the Debian PMS.
For information on dpkg see
<ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para><emphasis>OPKG:</emphasis> A less well known PMS whose use
originated in the OpenEmbedded and OpenWrt embedded Linux projects.
This PMS works with files packaged in an <filename>.ipk</filename> format.
See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more
information about OPKG.</para></listitem>
<listitem><para><emphasis>RPM:</emphasis> A more widely known PMS intended for GNU/Linux
distributions.
This PMS works with files packaged in an <filename>.rms</filename> format.
The Yocto Project currently installs through this PMS by default.
See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink>
for more information about RPM.</para></listitem>
<listitem><para><emphasis>Debian:</emphasis> The PMS for Debian-based systems
is built on many PMS tools.
The lower-level PMS tool <filename>dpkg</filename> forms the base of the Debian PMS.
For information on dpkg see
<ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='configuring-the-pms'>
<title>Configuring the PMS</title>
<para>
Whichever PMS you are using you need to be sure that the
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
@@ -48,31 +52,43 @@
Additional values specify additional formats for convenience or testing.
See the configuration file for details.
</para>
<note>
For build performance information related to the PMS, see
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink> in The Yocto Project Reference Manual.
</note>
<para>
As an example, consider a scenario where you are using OPKG and you want to add
the <filename>libglade</filename> package to the target sysroot.
</para>
<para>
First, you should generate the ipk file for the <filename>libglade</filename> package and add it
into a working opkg repository.
First, you should generate the <filename>ipk</filename> file for the
<filename>libglade</filename> package and add it
into a working <filename>opkg</filename> repository.
Use these commands:
<literallayout class='monospaced'>
$ bitbake libglade
$ bitbake package-index
</literallayout>
</para>
<para>
Next, source the environment setup script found in the Yocto Project source directory.
Next, source the environment setup script found in the Yocto Project files.
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.
Finally, have an OPKG configuration file <filename>&lt;conf_file&gt;</filename>
that corresponds to the <filename>opkg</filename> 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;cconf_file&gt;> -o &lt;sysroot-dir&gt; --force-overwrite install libglade
$ opkg-cl f &lt;cconf_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
$ opkg-cl f &lt;conf_file&gt; -o &lt;sysroot_dir&gt; update
$ opkg-cl f &lt;cconf_file&gt; -o &lt;sysroot_dir&gt; \
--force-overwrite install libglade
$ opkg-cl f &lt;cconf_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>

View File

@@ -1,48 +1,16 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-prepare'>
<title>Preparing to Use the Application Development Toolkit (ADT)</title>
<para>
In order to use the ADT you must install it, source a script to set up the
environment, and be sure the kernel and filesystem image specific to the target architecture
exists.
</para>
<para>
This section describes how to be sure you meet these requirements.
Througout this section two important terms are used:
<itemizedlist>
<listitem><para><emphasis>Yocto Project Source Tree:</emphasis>
This term refers to the directory structure created as a result of downloading
and unpacking a Yocto Project release tarball.
The Yocto Project source tree contains BitBake, Documentation, Meta-data and
other files.
The name of the top-level directory of the Yocto Project source tree
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>poky-bernard-5.0.1.tar.bz2</filename>
results in a Yocto Project source tree whose Yocto Project source directory is named
<filename>poky-bernard-5.0.1</filename>.</para></listitem>
<listitem><para><emphasis>Yocto Project Build Tree:</emphasis>
This term refers to the area where you run your builds.
The area is created when you source the Yocto Project setup environment script
that is found in the Yocto Project source directory
(e.g. <filename>poky-init-build-env</filename>).
You can create the Yocto Project build tree anywhere you want on your
development system.
Here is an example that creates the tree in <filename>mybuilds</filename>
and names the Yocto Project build directory <filename>YP-5.0.1</filename>:
<literallayout class='monospaced'>
$ source poky-bernard-5.0.1/poky-init-build-env $HOME/mybuilds/YP-5.0.1
</literallayout>
If you don't specifically name the build directory then BitBake creates it
in the current directory and uses the name <filename>build</filename>.
Also, if you supply an existing directory then BitBake uses that
directory as the Yocto Project build directory and populates the build tree
beneath it.</para></listitem>
</itemizedlist>
In order to use the ADT, you must install it, <filename>source</filename> a script to set up the
environment, and be sure both the kernel and filesystem image specific to the target architecture
exist.
This chapter describes how to be sure you meet the ADT requirements.
</para>
<section id='installing-the-adt'>
@@ -50,28 +18,28 @@
<para>
The following list describes how you can install the ADT, which includes the cross-toolchain.
Regardless of the installation you choose, however, you must source the cross-toolchain
Regardless of the installation you choose, you must <filename>source</filename> the cross-toolchain
environment setup script before you use the toolchain.
See the <xref linkend='setting-up-the-environment'>Setting Up the Environment”</xref>
See the "<link linkend='setting-up-the-cross-development-environment'>Setting Up the
Cross-Development Environment</link>"
section for more information.
<itemizedlist>
<listitem><para><emphasis>Use the ADT Installer Script:</emphasis>
This method is the recommended way to install the ADT because it
automates much of the process for you.
For example, you can configure the installation to install the QEMU emulator
and the user-space NFS, specify which root filesystem profiles to download,
and define the target sysroot location.
</para></listitem>
This method is the recommended way to install the ADT because it
automates much of the process for you.
For example, you can configure the installation to install the QEMU emulator
and the user-space NFS, specify which root filesystem profiles to download,
and define the target sysroot location.</para></listitem>
<listitem><para><emphasis>Use an Existing Toolchain Tarball:</emphasis>
Using this method you select and download an architecture-specific
toolchain tarball and then hand-install the toolchain.
If you use this method you just get the cross-toolchain and QEMU - you do not
get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
<listitem><para><emphasis>Use the Toolchain from Within a Yocto Project Build Tree:</emphasis>
If you already have a Yocto Project build tree you can install the cross-toolchain
using that tree.
However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you
do not get any of the other benefits without taking separate steps.</para></listitem>
Using this method, you select and download an architecture-specific
toolchain tarball and then hand-install the toolchain.
If you use this method, you just get the cross-toolchain and QEMU - you do not
get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
<listitem><para><emphasis>Use the Toolchain from within a Yocto Project Build Tree:</emphasis>
If you already have a Yocto Project build tree, you can build the cross-toolchain
within tree.
However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you
do not get any of the other benefits without taking separate steps.</para></listitem>
</itemizedlist>
</para>
@@ -79,7 +47,7 @@
<title>Using the ADT Installer</title>
<para>
To run the ADT Installer you need to first get the ADT Installer tarball and then run the ADT
To run the ADT Installer, you need to first get the ADT Installer tarball and then run the ADT
Installer Script.
</para>
@@ -88,125 +56,136 @@
<para>
The ADT Installer is contained in the ADT Installer tarball.
You can download the tarball into any directory from
<ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.0/adt-installer/'></ulink>.
Or, you can use BitBake to generate the tarball inside the existing Yocto Project build tree.
You can download the tarball into any directory from the
<ulink url='&YOCTO_DL_URL;/releases'>Index of Releases</ulink>, specifically
at
<ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink>.
Or, you can use BitBake to generate the tarball inside the existing Yocto Project
build tree.
</para>
<para>
If you use BitBake to generate the ADT Installer tarball, you must
source the Yocto Project environment setup script located in the Yocto Project
source directory before running the BitBake command that creates the tarball.
<filename>source</filename> the Yocto Project environment setup script
(<filename>oe-init-build-env</filename>) located
in the Yocto Project file structure before running the <filename>bitbake</filename>
command that creates the tarball.
</para>
<para>
The following example commands download the Yocto Project release tarball, create the Yocto
Project source tree, set up the environment while also creating the Yocto Project build tree,
and finally run the BitBake command that results in the tarball
The following example commands download the Yocto Project release tarball, set up the Yocto
Project files structure, set up the environment while also creating the
default Yocto Project build tree,
and run the <filename>bitbake</filename> command that results in the tarball
<filename>~/yocto-project/build/tmp/deploy/sdk/adt_installer.tar.bz2</filename>:
<literallayout class='monospaced'>
$ cd ~
$ mkdir yocto-project
$ cd yocto-project
$ wget http://www.yoctoproject.org/downloads/poky/poky-bernard-5.0.1.tar.bz2
$ tar xjf poky-bernard-5.0.1.tar.bz2
$ source poky-bernard-5.0.1/poky-init-build-env poky-5.0.1-build
$ wget &YOCTO_RELEASE_DL_URL;/&YOCTO_POKY_TARBALL;
$ tar xjf &YOCTO_POKY_TARBALL;
$ source &OE_INIT_PATH;
$ bitbake adt-installer
</literallayout>
</para>
</section>
<section id='configuring-and-running-the-adt-installer-script'>
<title>Configuring and Running the ADT Installer Script</title>
<para>
Before running the ADT Installer script you need to unpack the tarball.
Before running the ADT Installer script, you need to unpack the tarball.
You can unpack the tarball in any directory you wish.
For example, this command copies the ADT Installer tarball from where
it was built into the home directory and then unpacks the tarball into
a top-level directory named <filename>adt-installer</filename>:
<literallayout class='monospaced'>
$ cd ~
$ cp ~/poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME
$ tar -xjf adt_installer.tar.bz2
</literallayout>
Unpacking it creates the directory <filename>adt-installer</filename>,
which contains the ADT Installer script and its configuration file.
which contains the ADT Installer script (<filename>adt_installer</filename>)
and its configuration file (<filename>adt_installer.conf</filename>).
</para>
<para>
Before you run the script, however, you should examine the ADT Installer configuration
file (<filename>adt_installer</filename>) and be sure you are going to get what you want.
file and be sure you are going to get what you want.
Your configurations determine which kernel and filesystem image are downloaded.
</para>
<para>
The following list describes the configurations you can define for the ADT Installer.
For configuration values and restrictions see the comments in
For configuration values and restrictions, see the comments in
the <filename>adt-installer.conf</filename> file:
<itemizedlist>
<listitem><para><filename>YOCTOADT_IPKG_REPO</filename> This area
includes the IPKG-based packages and the root filesystem upon which
the installation is based.
If you want to set up your own IPKG repository pointed to by
<filename>YOCTOADT_IPKG_REPO</filename>, you need to be sure that the
directory structure follows the same layout as the reference directory
set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>.
Also, your repository needs to be accessible through HTTP.
</para></listitem>
<listitem><para><filename>YOCTOADT-TARGETS</filename> The machine
target architectures for which you want to set up cross-development
environments.
</para></listitem>
<listitem><para><filename>YOCTOADT_QEMU</filename> Indicates whether
or not to install the emulator QEMU.
</para></listitem>
<listitem><para><filename>YOCTOADT_NFS_UTIL</filename> Indicates whether
or not to install user-mode NFS.
If you plan to use the Yocto Eclipse IDE plug-in against QEMU,
you should install NFS.
<note>
To boot QEMU images using our userspace NFS server, you need
to be running portmap or rpcbind.
If you are running rpcbind, you will also need to add the -i
option when rpcbind starts up.
Please make sure you understand the security implications of doing this.
Your firewall settings may also have to be modified to allow
NFS booting to work.
</note>
</para></listitem>
<listitem><para><filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename> - The root
filesystem images you want to download from the <filename>YOCTOADT_IPKG_REPO</filename>
repository.
</para></listitem>
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_&lt;arch&gt;</filename> - The
particular root filesystem used to extract and create the target sysroot.
The value of this variable must have been specified with
<filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>.
For example, if you downloaded both <filename>minimal</filename> and
<filename>sato-sdk</filename> images by setting <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>
to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>
must be set to either "minimal" or "sato-sdk".
</para></listitem>
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</filename> - The
location on the development host where the target sysroot will be created.
</para></listitem>
<listitem><para><filename>YOCTOADT_REPO</filename>: This area
includes the IPKG-based packages and the root filesystem upon which
the installation is based.
If you want to set up your own IPKG repository pointed to by
<filename>YOCTOADT_REPO</filename>, you need to be sure that the
directory structure follows the same layout as the reference directory
set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>.
Also, your repository needs to be accessible through HTTP.</para></listitem>
<listitem><para><filename>YOCTOADT_TARGETS</filename>: The machine
target architectures for which you want to set up cross-development
environments.</para></listitem>
<listitem><para><filename>YOCTOADT_QEMU</filename>: Indicates whether
or not to install the emulator QEMU.</para></listitem>
<listitem><para><filename>YOCTOADT_NFS_UTIL</filename>: Indicates whether
or not to install user-mode NFS.
If you plan to use the Yocto Eclipse IDE plug-in against QEMU,
you should install NFS.
<note>To boot QEMU images using our userspace NFS server, you need
to be running <filename>portmap</filename> or <filename>rpcbind</filename>.
If you are running <filename>rpcbind</filename>, you will also need to add the
<filename>-i</filename> option when <filename>rpcbind</filename> starts up.
Please make sure you understand the security implications of doing this.
You might also have to modify your firewall settings to allow
NFS booting to work.</note></para></listitem>
<listitem><para><filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>: The root
filesystem images you want to download from the
<filename>YOCTOADT_IPKG_REPO</filename> repository.</para></listitem>
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_&lt;arch&gt;</filename>: The
particular root filesystem used to extract and create the target sysroot.
The value of this variable must have been specified with
<filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>.
For example, if you downloaded both <filename>minimal</filename> and
<filename>sato-sdk</filename> images by setting
<filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>
to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_&lt;arch&gt;</filename>
must be set to either <filename>minimal</filename> or
<filename>sato-sdk</filename>.</para></listitem>
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</filename>: The
location on the development host where the target sysroot is created.
</para></listitem>
</itemizedlist>
</para>
<para>
After you have configured the <filename>adt_installer.conf</filename> file,
run the installer using the following command:
run the installer using the following command.
Be sure that you are not trying to use cross-compilation tools.
When you run the installer, the environment must use a
host <filename>gcc</filename>:
<literallayout class='monospaced'>
$ adt_installer
$ ./adt_installer
</literallayout>
</para>
<note>
The ADT Installer requires the <filename>libtool</filename> package to complete.
If you install the recommended packages as described in the
<ulink url='http://www.yoctoproject.org/docs/yocto-project-qs/yocto-project-qs.html'>
Yocto Project Quick Start</ulink> then you will have libtool installed.
If you install the recommended packages as described in
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section of The Yocto Project Quick Start, then you will have libtool installed.
</note>
<para>
Once the installer begins to run you are asked whether you want to run in
Once the installer begins to run, you are asked whether you want to run in
interactive or silent mode.
If you want to closely monitor the installation then choose “I” for interactive
If you want to closely monitor the installation, choose “I” for interactive
mode rather than “S” for silent mode.
Follow the prompts from the script to complete the installation.
</para>
@@ -214,140 +193,257 @@
<para>
Once the installation completes, the ADT, which includes the cross-toolchain, is installed.
You will notice environment setup files for the cross-toolchain in
<filename>/opt/poky/$SDKVERSION</filename>,
<filename>&YOCTO_ADTPATH_DIR;</filename>,
and image tarballs in the <filename>adt-installer</filename>
directory according to your installer configurations, and the target sysroot located
according to the <filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</filename> variable
also in your configuration file.
</para>
</section>
</section>
</section>
<section id='using-an-existing-toolchain-tarball'>
<title>Using a Cross-Toolchain Tarball</title>
<para>
If you want to simply install the cross-toolchain by hand you can do so by using an existing
If you want to simply install the cross-toolchain by hand, you can do so by using an existing
cross-toolchain tarball.
If you install the cross-toolchain by hand you will have to set up the target sysroot separately.
If you use this method to install the cross-toolchain and you still need to install the target
sysroot, you will have to install sysroot separately.
</para>
<para>
Follow these steps:
<orderedlist>
<listitem><para>Go to
<ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.0/toolchain'></ulink>
and find the folder that matches your host development system
(i.e. 'i686' for 32-bit machines or 'x86_64' for 64-bit machines).</para>
</listitem>
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
and find the folder that matches your host development system
(i.e. <filename>i686</filename> for 32-bit machines or
<filename>x86-64</filename> for 64-bit machines).</para></listitem>
<listitem><para>Go into that folder and download the toolchain tarball whose name
includes the appropriate target architecture.
For example, if your host development system is an Intel-based 64-bit system and
you are going to use your cross-toolchain for an arm target go into the
<filename>x86_64</filename> folder and download the following tarball:
<literallayout class='monospaced'>
yocto-eglibc-x86_64-arm-toolchain-gmae-1.0.tar.bz2
</literallayout>
<note>
Alternatively you can build the toolchain tarball if you have a Yocto Project build tree.
Use the <filename>bitbake meta-toolchain</filename> command after you have
sourced the <filename>poky-build-init script</filename> located in the Yocto Project
source directory.
When the <filename>bitbake</filename> command completes the toolchain tarball will
be in <filename>tmp/deploy/sdk</filename> in the Yocto Project build tree.
</note></para></listitem>
<listitem><para>Make sure you are in the root directory and then expand
the tarball.
The tarball expands into <filename>/opt/poky/$SDKVERSION</filename>.
Once the tarball in unpacked the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the directory.
</para></listitem>
includes the appropriate target architecture.
For example, if your host development system is an Intel-based 64-bit system and
you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the
<filename>x86_64</filename> folder and download the following tarball:
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.tar.bz2
</literallayout>
<note><para>As an alternative to steps one and two, you can build the toolchain tarball
if you have a Yocto Project build tree.
If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename>
command.
The resulting tarball will support such development.
However, if you are not concerned with GMAE,
you can generate the tarball using <filename>bitbake meta-toolchain</filename>.</para>
<para>Use the appropriate <filename>bitbake</filename> command only after you have
sourced the <filename>oe-build-init-env</filename> script located in the Yocto
Project files.
When the <filename>bitbake</filename> command completes, the tarball will
be in <filename>tmp/deploy/sdk</filename> in the Yocto Project build tree.
</para></note></para></listitem>
<listitem><para>Make sure you are in the root directory with root privileges and then expand
the tarball.
The tarball expands into <filename>&YOCTO_ADTPATH_DIR;</filename>.
Once the tarball is expanded, the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the directory.
</para></listitem>
</orderedlist>
</para>
</section>
<section id='using-the-toolchain-from-within-the-build-tree'>
<title>Using BitBake and the Yocto Project Build Tree</title>
<para>
A final way of installing just the cross-toolchain is to use BitBake within an existing
Yocto Project build tree.
Follow these steps:
A final way of installing just the cross-toolchain is to use BitBake to build the
toolchain within an existing Yocto Project build tree.
This method does not install the toolchain into the <filename>/opt</filename> directory.
As with the previous method, if you need to install the target sysroot, you must
do this separately.
</para>
<para>
Follow these steps to build and install the toolchain into the build tree:
<orderedlist>
<listitem><para>Source the environment setup script located in the Yocto Project
source directory.
The script has the string <filename>init-build-env</filename>
as part of the name.</para></listitem>
<listitem><para>At this point you should be sure that the
<filename>MACHINE</filename> variable
in the <filename>local.conf</filename> file is set for the target architecture.
You can find the <filename>local.conf</filename> file in the Yocto Project source
directory.
Comments within the <filename>local.conf</filename> file list the values you
can use for the <filename>MACHINE</filename> variable.
<note>You can populate the build tree with the cross-toolchains for more
than a single architecture.
You just need to edit the <filename>MACHINE</filename> variable in the
<filename>local.conf</filename> file and re-run the BitBake command.</note></para></listitem>
<listitem><para>Source the environment setup script
<filename>oe-init-build-env</filename> located in the Yocto Project
files.</para></listitem>
<listitem><para>At this point, you should be sure that the
<filename>MACHINE</filename> variable
in the <filename>local.conf</filename> file found in the
<filename>conf</filename> directory of the Yocto Project build directory
is set for the target architecture.
Comments within the <filename>local.conf</filename> file list the values you
can use for the <filename>MACHINE</filename> variable.
<note>You can populate the build tree with the cross-toolchains for more
than a single architecture.
You just need to edit the <filename>MACHINE</filename> variable in the
<filename>local.conf</filename> file and re-run the BitBake
command.</note></para></listitem>
<listitem><para>Run <filename>bitbake meta-ide-support</filename> to complete the
cross-toolchain installation.
<note>If you change your working directory after you source the environment
setup script and before you run the BitBake command the command will not work.
Be sure to run the BitBake command immediately after checking or editing the
<filename>local.conf</filename> but without changing your working directory.</note>
Once BitBake finishes, the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the
Yocto Project build tree in the <filename>tmp</filename> directory.
Setup script filenames contain the strings <filename>environment-setup</filename>.
</para></listitem>
cross-toolchain installation.
<note>If change out of your working directory after you
<filename>source</filename> the environment setup script and before you run
the <filename>bitbake</filename> command, the command might not work.
Be sure to run the <filename>bitbake</filename> command immediately
after checking or editing the <filename>local.conf</filename> but without
changing out of your working directory.</note>
Once the <filename>bitbake</filename> command finishes,
the tarball for the cross-toolchain is generated within the Yocto Project build tree.
You will notice environment setup files for the cross-toolchain in the
Yocto Project build tree in the <filename>tmp</filename> directory.
Setup script filenames contain the strings <filename>environment-setup</filename>.
</para></listitem>
</orderedlist>
</para>
</section>
</section>
<section id='setting-up-the-environment'>
<title>Setting Up the Environment</title>
<section id='setting-up-the-cross-development-environment'>
<title>Setting Up the Cross-Development Environment</title>
<para>
Before you can use the cross-toolchain you need to set up the toolchain environment by
sourcing the environment setup script.
Before you can develop using the cross-toolchain, you need to set up the
cross-development environment by sourcing the toolchain's environment setup script.
If you used the ADT Installer or used an existing ADT tarball to install the ADT,
then you can find this script in the <filename>/opt/poky/$SDKVERSION</filename>
then you can find this script in the <filename>&YOCTO_ADTPATH_DIR;</filename>
directory.
If you used BitBake and the Yocto Project Build Tree to install the cross-toolchain
then you can find the environment setup scripts in in the Yocto Project build tree
in the <filename>tmp</filename> directory.
If you installed the toolchain in the build tree, you can find the environment setup
script for the toolchain in the Yocto Project build tree's <filename>tmp</filename> directory.
</para>
<para>
Be sure to run the environment setup script that matches the architecture for
which you are developing.
Environment setup scripts begin with the string “environment-setup” and include as
part of their name the architecture.
For example, the environment setup script for a 64-bit IA-based architecture would
Environment setup scripts begin with the string “<filename>environment-setup</filename>
and include as part of their name the architecture.
For example, the toolchain environment setup script for a 64-bit IA-based architecture would
be the following:
<literallayout class='monospaced'>
/opt/poky/1.0/environment-setup-x86_64-poky-linux
&YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux
</literallayout>
</para>
</section>
<section id='kernels-and-filesystem-images'>
<title>Kernels and Filesystem Images</title>
<section id='securing-kernel-and-filesystem-images'>
<title>Securing Kernel and Filesystem Images</title>
<para>
You will need to have a kernel and filesystem image to boot using your
hardware or the QEMU emulator.
That means you either have to build them or know where to get them.
You can find lots of details on how to get or build images and kernels for your
architecture in the "Yocto Project Quick Start" found at
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'></ulink>.
<note>
Yocto Project provides basic kernels and filesystem images for several
architectures (x86, x86-64, mips, powerpc, and arm) that you can use
unaltered in the QEMU emulator.
These kernels and filesystem images reside in the Yocto Project release
area - <ulink url='http://autobuilder.yoctoproject.org/downloads/yocto-1.0/machines/'></ulink>
and are ideal for experimentation within Yocto Project.
</note>
hardware or the QEMU emulator.
Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem
as the target sysroot, you need to extract the root filesystem.
</para>
<section id='getting-the-images'>
<title>Getting the Images</title>
<para>
To get the kernel and filesystem images, you either have to build them or download
pre-built versions.
You can find examples for both these situations in the
"<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of
The Yocto Project Quick Start.
</para>
<para>
The Yocto Project provides basic kernel and filesystem images for several
architectures (<filename>x86</filename>, <filename>x86-64</filename>,
<filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>)
that you can use unaltered in the QEMU emulator.
These kernel images reside in the Yocto Project release
area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink>
and are ideal for experimentation within Yocto Project.
For information on the image types you can build using the Yocto Project, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" appendix in
The Yocto Project Reference Manual.
</para>
<para>
If you plan on remotely deploying and debugging your application from within the
Eclipse IDE, you must have an image that contains the Yocto Target Communication
Framework (TCF) agent (<filename>tcf-agent</filename>).
By default, the Yocto Project provides only one type pre-built image that contains the
<filename>tcf-agent</filename>.
And, those images are SDK (e.g.<filename>core-image-sato-sdk</filename>).
</para>
<para>
If you want to use a different image type that contains the <filename>tcf-agent</filename>,
you can do so one of two ways:
<itemizedlist>
<listitem><para>Modify the <filename>conf/local.conf</filename> configuration file in
the Yocto Project build directory and then rebuild the image.
With this method, you need to modify the <filename>EXTRA_IMAGE_FEATURES</filename>
variable to have the value of "tools-debug" before rebuilding the image.
Once the image is rebuilt, the <filename>tcf-agent</filename> will be included
in the image and is launched automatically after the boot.</para></listitem>
<listitem><para>Manually build the <filename>tcf-agent</filename>.
To build the agent, follow these steps:
<orderedlist>
<listitem><para>Be sure the ADT is installed as described in the
"<link linkend='installing-the-adt'>Installing the ADT</link>" section.
</para></listitem>
<listitem><para>Set up the cross-development environment as described in the
"<link linkend='setting-up-the-cross-development-environment'>Setting
Up the Cross-Development Environment</link>" section.</para></listitem>
<listitem><para>Get the <filename>tcf-agent</filename> source code using
the following commands:
<literallayout class='monospaced'>
$ git clone http://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
$ cd agent
</literallayout></para></listitem>
<listitem><para>Modify the <filename>Makefile.inc</filename> file
for the cross-compilation environment by setting the
<filename>OPSYS</filename> and <filename>MACHINE</filename>
variables according to your target.</para></listitem>
<listitem><para>Use the cross-development tools to build the
<filename>tcf-agent</filename>.
Before you "Make" the file, be sure your cross-tools are set up first.
See the "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
section for information on how to make sure the cross-tools are set up
correctly.</para>
<para>If the build is successful, the <filename>tcf-agent</filename> output will
be <filename>obj/$(OPSYS)/$(MACHINE)/Debug/agent</filename>.</para></listitem>
<listitem><para>Deploy the agent into the image's root filesystem.</para></listitem>
</orderedlist>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='extracting-the-root-filesystem'>
<title>Extracting the Root Filesystem</title>
<para>
You must extract the root filesystem if you want to boot the image using NFS
or you want to use the root filesystem as the target sysroot.
For example, the Eclipse IDE environment with the Eclipse Yocto Plug-in installed allows you
to use QEMU to boot under NFS.
Another example is if you want to develop your target application using the
root filesystem as the target sysroot.
</para>
<para>
To extract the root filesystem, first <filename>source</filename>
the cross-development environment setup script and then
use the <filename>runqemu-extract-sdk</filename> command on the
filesystem image.
For example, the following commands set up the environment and then extract
the root filesystem from a previously built filesystem image tarball named
<filename>core-image-sato-sdk-qemux86.tar.bz2</filename>.
The example extracts the root filesystem into the <filename>$HOME/qemux86-sato</filename>
directory:
<literallayout class='monospaced'>
$ source $HOME/poky/build/tmp/environment-setup-i586-poky-linux
$ runqemu-extract-sdk \
tmp/deploy/images/core-image-sato-sdk-qemux86.tar.bz2 \
$HOME/qemux86-sato
</literallayout>
In this case, you could now point to the target sysroot at
<filename>$HOME/qemux86-sato</filename>.
</para>
</section>
</section>
</chapter>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -654,7 +654,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +662,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +946,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,11 +958,26 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='bsp-guide' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -19,10 +20,17 @@
<authorgroup>
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>
<firstname>Tom</firstname> <surname>Zanussi</surname>
<affiliation>
<orgname>Intel Corporation</orgname>
</affiliation>
<email>tom.zanussi@intel.com</email>
</author>
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>
<affiliation>
<orgname>Linux Foundation</orgname>
</affiliation>
<email>richard.purdie@linuxfoundation.org</email>
</author>
</authorgroup>
@@ -30,24 +38,38 @@
<revhistory>
<revision>
<revnumber>0.9</revnumber>
<date>27 October 2010</date>
<revremark>This manual revision is the initial manual and corresponds to the
Yocto Project 0.9 Release.</revremark>
<date>24 November 2010</date>
<revremark>The initial document draft released with the Yocto Project 0.9 Release.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>This manual revision corresponds to the Yocto Project 1.0 Release.</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.1</revnumber>
<date>15 March 2012</date>
<revremark>Released with the Yocto Project 1.1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.2</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -56,6 +78,14 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='&YOCTO_DOCS_BSP_URL;'>
Board Support Package (BSP) Developer's Guide</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
</bookinfo>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -654,7 +654,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +662,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -771,6 +771,17 @@ h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title {
@@ -936,8 +947,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -948,11 +959,26 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -0,0 +1,704 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-bsp-appendix'>
<title>BSP Development Example</title>
<para>
This appendix provides a complete BSP development example.
The example assumes the following:
<itemizedlist>
<listitem><para>No previous preparation or use of the Yocto Project.</para></listitem>
<listitem><para>Use of the Crown Bay Board Support Package (BSP) as a "base" BSP from
which to work.
The example begins with the Crown Bay BSP as the starting point
but ends by building a new 'atom-pc' BSP, which was based on the Crown Bay BSP.
</para></listitem>
<listitem><para>Shell commands assume <filename>bash</filename></para></listitem>
<listitem><para>Example was developed on an Intel-based Core i7 platform running
Ubuntu 10.04 LTS released in April of 2010.</para></listitem>
</itemizedlist>
</para>
<section id='getting-local-yocto-project-files-and-bsp-files'>
<title>Getting Local Yocto Project Files and BSP Files</title>
<para>
You need to have the Yocto Project files available on your host system.
You can get files through tarball extraction or by cloning the <filename>poky</filename>
Git repository.
The following paragraphs describe both methods.
For additional information, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>".
</para>
<para>
As mentioned, one way to get the Yocto Project files is to use Git to clone the
<filename>poky</filename> repository.
These commands create a local copy of the Git repository.
By default, the top-level directory of the repository is named <filename>poky</filename>:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
$ cd poky
</literallayout>
Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball.
These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named
<filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
</literallayout>
<note><para>If you're using the tarball method, you can ignore all the following steps that
ask you to carry out Git operations.
You already have the results of those operations
in the form of the &DISTRO_NAME; release tarballs.
Consequently, there is nothing left to do other than extract those tarballs into the
proper locations.</para>
<para>Once you expand the released tarball, you have a snapshot of the Git repository
that represents a specific release.
Fundamentally, this is different than having a local copy of the Yocto Project
Git repository.
Given the tarball method, changes you make are building on top of a release.
With the Git repository method you have the ability to track development
and keep changes in revision control.</para></note>
</para>
<para>
With the local <filename>poky</filename> Git repository set up,
you have all the development branches available to you from which you can work.
Next, you need to be sure that your local repository reflects the exact
release in which you are interested.
From inside the repository you can see the development branches that represent
areas of development that have diverged from the main (master) branch
at some point, such as a branch to track a maintenance release's development.
You can also see the tag names used to mark snapshots of stable releases or
points in the repository.
Use the following commands to list out the branches and the tags in the repository,
respectively.
<literallayout class='monospaced'>
$ git branch -a
$ git tag -l
</literallayout>
For this example, we are going to use the Yocto Project &DISTRO; Release, which is code
named "&DISTRO_NAME;".
To make sure we have a local area (branch in Git terms) on our machine that
reflects the &DISTRO; release, we can use the following commands:
<literallayout class='monospaced'>
$ cd ~/poky
$ git fetch --tags
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
The <filename>git fetch --tags</filename> is somewhat redundant since you just set
up the repository and should have all the tags.
The <filename>fetch</filename> command makes sure all the tags are available in your
local repository.
The Git <filename>checkout</filename> command with the <filename>-b</filename> option
creates a local branch for you named <filename>&DISTRO_NAME;</filename>.
Your local branch begins in the same state as the Yocto Project &DISTRO; released tarball
marked with the <filename>&DISTRO_NAME;-&POKYVERSION;</filename> tag in the source repositories.
</para>
</section>
<section id='choosing-a-base-bsp-app'>
<title>Choosing a Base BSP</title>
<para>
For this example, the base BSP is the <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark> Processor E660 with Intel Platform
Controller Hub EG20T Development Kit, which is otherwise referred to as "Crown Bay."
The BSP layer is <filename>meta-crownbay</filename>.
The base BSP is simply the BSP
we will be using as a starting point, so don't worry if you don't actually have Crown Bay
hardware.
The remainder of the example transforms the base BSP into a BSP that should be
able to boot on generic atom-pc (netbook) hardware.
</para>
<para>
For information on how to choose a base BSP, see
"<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>".
</para>
</section>
<section id='getting-your-base-bsp-app'>
<title>Getting Your Base BSP</title>
<para>
You need to have the base BSP layer on your development system.
Similar to the local Yocto Project files, you can get the BSP
layer in couple of different ways:
download the BSP tarball and extract it, or set up a local Git repository that
has the Yocto Project BSP layers.
You should use the same method that you used to get the local Yocto Project files earlier.
See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get
the BSP files.
</para>
<para>
This example assumes the BSP layer will be located within a directory named
<filename>meta-intel</filename> contained within the <filename>poky</filename>
parent directory.
The following steps will automatically create the
<filename>meta-intel</filename> directory and the contained
<filename>meta-crownbay</filename> starting point in both the Git and the tarball cases.
</para>
<para>
If you're using the Git method, you could do the following to create
the starting layout after you have made sure you are in the <filename>poky</filename>
directory created in the previous steps:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-intel.git
$ cd meta-intel
</literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the &DISTRO_NAME; version of the BSP tarball from the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-1.1/machines/crownbay-noemgd/crownbay-noemgd-edison-6.0.0.tar.bz2'></ulink>.
Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball:
<literallayout class='monospaced'>
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2
$ cd meta-intel
</literallayout>
</para>
<para>
The <filename>meta-intel</filename> directory contains all the metadata
that supports BSP creation.
If you're using the Git method, the following
step will switch to the &DISTRO_NAME; metadata.
If you're using the tarball method, you already have the correct metadata and can
skip to the next step.
Because <filename>meta-intel</filename> is its own Git repository, you will want
to be sure you are in the appropriate branch for your work.
For this example we are going to use the <filename>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
<section id='making-a-copy-of-the-base bsp-to-create-your-new-bsp-layer-app'>
<title>Making a Copy of the Base BSP to Create Your New BSP Layer</title>
<para>
Now that you have the local Yocto Project files and the base BSP files, you need to create a
new layer for your BSP.
To create your BSP layer, you simply copy the <filename>meta-crownbay</filename>
layer to a new layer.
</para>
<para>
For this example, the new layer will be named <filename>meta-mymachine</filename>.
The name should follow the BSP layer naming convention, which is
<filename>meta-&lt;name&gt;</filename>.
The following assumes your working directory is <filename>meta-intel</filename>
inside the local Yocto Project files.
To start your new layer, just copy the new layer alongside the existing
BSP layers in the <filename>meta-intel</filename> directory:
<literallayout class='monospaced'>
$ cp -a meta-crownbay/ meta-mymachine
</literallayout>
</para>
</section>
<section id='making-changes-to-your-bsp-app'>
<title>Making Changes to Your BSP</title>
<para>
Right now you have two identical BSP layers with different names:
<filename>meta-crownbay</filename> and <filename>meta-mymachine</filename>.
You need to change your configurations so that they work for your new BSP and
your particular hardware.
The following sections look at each of these areas of the BSP.
</para>
<section id='changing-the-bsp-configuration'>
<title>Changing the BSP Configuration</title>
<para>
We will look first at the configurations, which are all done in the layers
<filename>conf</filename> directory.
</para>
<para>
First, since in this example the new BSP will not support EMGD, we will get rid of the
<filename>crownbay.conf</filename> file and then rename the
<filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>.
Much of what we do in the configuration directory is designed to help the Yocto Project
build system work with the new layer and to be able to find and use the right software.
The following two commands result in a single machine configuration file named
<filename>mymachine.conf</filename>.
<literallayout class='monospaced'>
$ rm meta-mymachine/conf/machine/crownbay.conf
$ mv meta-mymachine/conf/machine/crownbay-noemgd.conf \
meta-mymachine/conf/machine/mymachine.conf
</literallayout>
</para>
<para>
Next, we need to make changes to the <filename>mymachine.conf</filename> itself.
The only changes we want to make for this example are to the comment lines.
Changing comments, of course, is never strictly necessary, but it's alway good form to make
them reflect reality as much as possible.
Here, simply substitute the Crown Bay name with an appropriate name for the BSP
(<filename>mymachine</filename> in this case) and change the description to
something that describes your hardware.
</para>
<para>
Note that inside the <filename>mymachine.conf</filename> is the
<filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement.
This statement identifies the kernel that the BSP is going to use.
In this case, the BSP is using <filename>linux-yocto</filename>, which is the
current Linux Yocto kernel based on the Linux 3.0 release.
</para>
<para>
The next configuration file in the new BSP layer we need to edit is
<filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-layer'>Layer Configuration File</ulink>" section
in The Board Support Packages (BSP) Development Guide for more information on this configuration file.
Basically, we are changing the existing statements to work with our BSP.
</para>
<para>
The file contains these statements that reference the Crown Bay BSP:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS += "crownbay"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6"
</literallayout>
</para>
<para>
Simply substitute the machine string name <filename>crownbay</filename>
with the new machine name <filename>mymachine</filename> to get the following:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS += "mymachine"
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
BBFILE_PRIORITY_mymachine = "6"
</literallayout>
</para>
</section>
<section id='changing-the-recipes-in-your-bsp'>
<title>Changing the Recipes in Your BSP</title>
<para>
Now we will take a look at the recipes in your new layer.
The standard BSP structure has areas for BSP, graphics, core, and kernel recipes.
When you create a BSP, you use these areas for appropriate recipes and append files.
Recipes take the form of <filename>.bb</filename> files, while append files take
the form of <filename>.bbappend</filename> files.
If you want to leverage the existing recipes the Yocto Project build system uses
but change those recipes, you can use <filename>.bbappend</filename> files.
All new recipes and append files for your layer must go in the layers
<filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>,
<filename>recipes-core</filename>, and
<filename>recipes-graphics</filename> directories.
</para>
<section id='changing-recipes-bsp'>
<title>Changing&nbsp;&nbsp;<filename>recipes-bsp</filename></title>
<para>
First, let's look at <filename>recipes-bsp</filename>.
For this example we are not adding any new BSP recipes.
And, we only need to remove the formfactor we do not want and change the name of
the remaining one that doesn't support EMGD.
These commands take care of the <filename>recipes-bsp</filename> recipes:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay
$ mv meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \
meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
</literallayout>
</para>
</section>
<section id='changing-recipes-graphics'>
<title>Changing&nbsp;&nbsp;<filename>recipes-graphics</filename></title>
<para>
Now let's look at <filename>recipes-graphics</filename>.
For this example we want to remove anything that supports EMGD and
be sure to rename remaining directories appropriately.
The following commands clean up the <filename>recipes-graphics</filename> directory:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay
$ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
</literallayout>
</para>
<para>
At this point the <filename>recipes-graphics</filename> directory just has files that
support Video Electronics Standards Association (VESA) graphics modes and not EMGD.
</para>
</section>
<section id='changing-recipes-core'>
<title>Changing&nbsp;&nbsp;<filename>recipes-core</filename></title>
<para>
Now let's look at changes in <filename>recipes-core</filename>.
The file <filename>task-core-tools.bbappend</filename> in
<filename>recipes-core/tasks</filename> appends the similarly named recipe
located in the local Yocto Project files at
<filename>meta/recipes-core/tasks</filename>.
The append file in our layer right now is Crown Bay-specific and supports
EMGD and non-EMGD.
Here are the contents of the file:
<literallayout class='monospaced'>
RRECOMMENDS_task-core-tools-profile_append_crownbay = " systemtap"
RRECOMMENDS_task-core-tools-profile_append_crownbay-noemgd = " systemtap"
</literallayout>
</para>
<para>
The <filename>RRECOMMENDS</filename> statements list packages that
extend usability.
The first <filename>RRECOMMENDS</filename> statement can be removed, while the
second one can be changed to reflect <filename>meta-mymachine</filename>:
<literallayout class='monospaced'>
RRECOMMENDS_task-core-tools-profile_append_mymachine = " systemtap"
</literallayout>
</para>
</section>
<section id='changing-recipes-kernel'>
<title>Changing&nbsp;&nbsp;<filename>recipes-kernel</filename></title>
<para>
Finally, let's look at <filename>recipes-kernel</filename> changes.
Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined
earlier in the <filename>mymachine.conf</filename>.
The recipe for that kernel is not located in the
BSP layer but rather in the local Yocto Project files at
<filename>meta/recipes-kernel/linux</filename> and is
named <filename>linux-yocto_3.0.bb</filename>.
The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
statements point to the exact commits used by the Yocto Project development team
in their source repositories that identify the right kernel for our hardware.
In other words, the <filename>SRCREV</filename> values are simply Git commit
IDs that identify which commit on each
of the kernel branches (machine and meta) will be checked out and used to build
the kernel.
</para>
<para>
However, in the <filename>meta-mymachine</filename> layer in
<filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
file named <filename>linux-yocto_3.0.bbappend</filename> that
appends information to the recipe of the same name in <filename>meta/recipes-kernel/linux</filename>.
Thus, the <filename>SRCREV</filename> statements in the append file override
the more general statements found in <filename>meta</filename>.
</para>
<para>
The <filename>SRCREV</filename> statements in the append file currently identify
the kernel that supports the Crown Bay BSP with and without EMGD support.
Here are the statements:
<note>The commit ID strings used in this manual might not match the actual commit
ID strings found in the <filename>linux-yocto_3.0.bbappend</filename> file.
For the example, this difference does not matter.</note>
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
SRCREV_meta_pn-linux-yocto_crownbay ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
<para>
You will notice that there are two pairs of <filename>SRCREV</filename> statements.
The top pair identifies the kernel that supports
EMGD, which we dont care about in this example.
The bottom pair identifies the kernel that we will use:
<filename>linux-yocto</filename>.
At this point though, the unique commit strings all are still associated with
Crown Bay and not <filename>meta-mymachine</filename>.
</para>
<para>
To fix this situation in <filename>linux-yocto_3.0.bbappend</filename>,
we delete the two <filename>SRCREV</filename> statements that support
EMGD (the top pair).
We also change the remaining pair to specify <filename>mymachine</filename>
and insert the commit identifiers to identify the kernel in which we
are interested, which will be based on the <filename>atom-pc-standard</filename>
kernel.
In this case, because we're working with the &DISTRO_NAME; branch of everything, we
need to use the <filename>SRCREV</filename> values for the atom-pc branch
that are associated with the &DISTRO_NAME; release.
To find those values, we need to find the <filename>SRCREV</filename>
values that &DISTRO_NAME; uses for the atom-pc branch, which we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
file.
</para>
<para>
The machine <filename>SRCREV</filename> we want is in the
<filename>SRCREV_machine_atom-pc</filename> variable.
The meta <filename>SRCREV</filename> isn't specified in this file, so it must be
specified in the base kernel recipe in the
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.0.bb</filename>
file, in the <filename>SRCREV_meta</filename> variable found there.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
<para>
In this example, we're using the <filename>SRCREV</filename> values we
found already captured in the &DISTRO_NAME; release because we're creating a BSP based on
&DISTRO_NAME;.
If, instead, we had based our BSP on the master branches, we would want to use
the most recent <filename>SRCREV</filename> values taken directly from the kernel repo.
We will not be doing that for this example.
However, if you do base a future BSP on master and
if you are familiar with Git repositories, you probably wont have trouble locating the
exact commit strings in the Yocto Project source repositories you need to change
the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-3.0-1.1.x</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/linux-yocto-3.0-1.1.x/'></ulink>.
</para>
<para>
If you need a little more assistance after going to the link then do the following:
<orderedlist>
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
<listitem><para>Click on the <filename>yocto/standard/common-pc/atom-pc</filename>
branch</para></listitem>
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
<listitem><para>Copy the commit string for use in the
<filename>linux-yocto_3.0.bbappend</filename> file</para></listitem>
</orderedlist>
</para>
<para>
For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
branch use the same procedure except expand the <filename>meta</filename>
branch in step 2 above.
</para>
<para>
Also in the <filename>linux-yocto_3.0.bbappend</filename> file are
<filename>COMPATIBLE_MACHINE</filename>, <filename>KMACHINE</filename>,
and <filename>KERNEL_FEATURES</filename> statements.
Two sets of these exist: one set supports EMGD and one set does not.
Because we are not interested in supporting EMGD those three can be deleted.
The remaining three must be changed so that <filename>mymachine</filename> replaces
<filename>crownbay-noemgd</filename> and <filename>crownbay</filename>.
Because we are using the <filename>atom-pc</filename> branch for this new BSP, we can also find
the exact branch we need for the <filename>KMACHINE</filename> variable in our new BSP from the value
we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
file we looked at in a previous step.
In this case, the value we want is in the <filename>KMACHINE_atom-pc</filename> variable in that file.
Here is the final <filename>linux-yocto_3.0.bbappend</filename> file after all
the edits:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_mymachine = "mymachine"
KMACHINE_mymachine = "yocto/standard/common-pc/atom-pc"
KERNEL_FEATURES_append_mymachine += " cfg/smp.scc"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
</literallayout>
</para>
</section>
</section>
<section id='bsp-recipe-change-summary'>
<title>BSP Recipe Change Summary</title>
<para>
In summary, the edits to the layers recipe files result in removal of any files and
statements that do not support your targeted hardware in addition to the inclusion
of any new recipes you might need.
In this example, it was simply a matter of ridding the new layer
<filename>meta-mymachine</filename> of any code that supported the EMGD features
and making sure we were identifying the kernel that supports our example, which
is the <filename>atom-pc-standard</filename> kernel.
We did not introduce any new recipes to the layer.
</para>
<para>
Finally, it is also important to update the layers <filename>README</filename>
file so that the information in it reflects your BSP.
</para>
</section>
</section>
<section id='preparing-for-the-build-app'>
<title>Preparing for the Build</title>
<para>
To get ready to build your image that uses the new layer you need to do the following:
<orderedlist>
<listitem><para>Get the environment ready for the build by sourcing the environment
script.
The environment script is in the top-level of the local Yocto Project files
directory structure.
The script has the string
<filename>init-build-env</filename> in the files name.
For this example, the following command gets the build environment ready:
<literallayout class='monospaced'>
$ source oe-init-build-env yocto-build
</literallayout>
When you source the script a build directory is created in the current
working directory.
In our example we were in the <filename>poky</filename> directory.
Thus, entering the previous command created the <filename>yocto-build</filename> directory.
If you do not provide a name for the build directory it defaults to
<filename>build</filename>.
The <filename>yocto-build</filename> directory contains a
<filename>conf</filename> directory that has
two configuration files you will need to check: <filename>bblayers.conf</filename>
and <filename>local.conf</filename>.</para></listitem>
<listitem><para>Check and edit the resulting <filename>local.conf</filename> file.
This file minimally identifies the machine for which to build the image by
configuring the <filename>MACHINE</filename> variable.
For this example you must set the variable to mymachine as follows:
<literallayout class='monospaced'>
MACHINE ??= “mymachine”
</literallayout>
You should also be sure any other variables in which you are interested are set.
Some variables to consider are <filename>BB_NUMBER_THREADS</filename>
and <filename>PARALLEL_MAKE</filename>, both of which can greatly reduce your build time
if your development system supports multiple cores.
For development systems that support multiple cores, a good rule of thumb is to set
both the <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
variables to twice the number of cores your system supports.</para></listitem>
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
the path to your new BSP layer.
In this example, you need to include this path as part of the
<filename>BBLAYERS</filename> variable:
<literallayout class='monospaced'>
$HOME/poky/meta-intel/meta-mymachine
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
The appendix
<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>
Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables.
</para>
</section>
<section id='building-the-image-app'>
<title>Building and Booting the Image</title>
<para>
To build the image for our <filename>meta-mymachine</filename> BSP enter the following command
from the same shell from which you ran the setup script.
You should run the <filename>bitbake</filename> command without any intervening shell commands.
For example, moving your working directory around could cause problems.
Here is the command for this example:
<literallayout class='monospaced'>
$ bitbake -k core-image-sato
</literallayout>
</para>
<para>
This command specifies an image that has Sato support and that can be run from a USB device or
from a CD without having to first install anything.
The build process takes significant time and includes thousands of tasks, which are reported
at the console.
If the build results in any type of error you should check for misspellings in the
files you changed or problems with your host development environment such as missing packages.
</para>
<para>
Finally, once you have an image, you can try booting it from a device
(e.g. a USB device).
To prepare a bootable USB device, insert a USB flash drive into your build system and
copy the <filename>.hddimg</filename> file, located in the
<filename>poky/build/tmp/deploy/images</filename>
directory after a successful build to the flash drive.
Assuming the USB flash drive takes device <filename>/dev/sdc</filename>,
use <filename>dd</filename> to copy the live image to it.
For example:
<literallayout class='monospaced'>
# dd if=core-image-sato-mymachine-20120111232235.hddimg of=/dev/sdc
# sync
# eject /dev/sdc
</literallayout>
You should now have a bootable USB flash device.
</para>
<para>
Insert the device
into a bootable USB socket on the target, and power it on.
The system should boot to the Sato graphical desktop.
<footnote><para>Because
this new image is not in any way tailored to the system you're
booting it on, which is assumed to be some sort of atom-pc (netbook) system for this
example, it might not be completely functional though it should at least boot to a text
prompt.
Specifically, it might fail to boot into graphics without some tweaking.
If this ends up being the case, a possible next step would be to replace the
<filename>mymachine.conf</filename>
contents with the contents of <filename>atom-pc.conf</filename> and replace
<filename>xorg.conf</filename> with <filename>atom-pc xorg.conf</filename>
in <filename>meta-yocto</filename> and see if it fares any better.
In any case, following the previous steps will give you a buildable image that
will probably boot on most systems.
Getting things working like you want
them to for your hardware will normally require some amount of experimentation with
configuration settings.</para></footnote>
</para>
<para>
For reference, the sato image produced by the previous steps for &DISTRO_NAME;
should look like the following in terms of size.
If your sato image is much different from this,
you probably made a mistake in one of the above steps:
<literallayout class='monospaced'>
358709248 2012-01-11 20:43 core-image-sato-mymachine-20120111232235.hddimg
</literallayout>
<note>The previous instructions are also present in the README that was copied
from meta-crownbay, which should also be updated to reflect the specifics of your
new BSP.
That file and the <filename>README.hardware</filename> file in the top-level
<filename>poky</filename> directory
also provides some suggestions for things to try if booting fails and produces
strange error messages.</note>
</para>
</section>
</appendix>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,779 +0,0 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id='dev-manual-cases'>
<title>Development Cases</title>
<para>
For the purposes of this manual we are going to focus on two common development cases or groupings:
System Development and User Application Development.
System Development covers Board Support Package (BSP) development and kernel image modification.
User Application Development covers development of applications that you intend to run on some
target hardware.
</para>
<para>
[WRITERS NOTE: What is undetermined at this point is how much of the entire development process
we include in this particular chapter.
In other words, do we cover debugging and emulation steps here on a case-specific basis?
Or, do we capture that information in the appropriate subsequent chapter by case?]
</para>
<section id='system-development'>
<title>System Development</title>
<para>
System development involves modification or creation of an image that you want to run on
a specific hardware target.
Usually when you want to create an image that runs on embedded hardware the image does
not require the same amount of features that a full-fledged Linux distribution provides.
Thus, you can create a much smaller image that is designed to just use the hardware
features for your particular hardware.
</para>
<para>
To help you understand how system development works in the Yocto Project, this section
covers two types of image development: BSP creation and kernel modification.
</para>
<section id='developing-a-board-support-package-bsp'>
<title>Developing a Board Support Package (BSP)</title>
<para>
A BSP is a package of recipes that when applied while building an image results in
an image you can run on a particular board.
Thus, the package, when compiled into the new image, supports the operation of the board.
</para>
<para>
Packages consist of recipes.
Recipes are sets of instructions for building a package.
The recipes describe where to get source code and what patches to apply.
Recipes also describe dependencies for libraries or for other recipes.
They also contain configuration and compilation options.
Recipes are logical units of execution.
</para>
<para>
Here are the basic steps involved in creating a BSP:
<orderedlist>
<listitem><para>Be sure you are set up to use Yocto Project (see
<xref linkend='dev-manual-start'>Getting Started with the Yocto Project</xref>).</para></listitem>
<listitem><para>Choose a BSP available with Yocto Project that most closely represents
your hardware.</para></listitem>
<listitem><para>Get set up with a base BSP.</para></listitem>
<listitem><para>Make a copy of the existing BSP and isolate your work by creating a layer
for your recipes.</para></listitem>
<listitem><para>Make configuration and recipe changes to your new BSP layer.</para></listitem>
<listitem><para>Prepare for the build.</para></listitem>
<listitem><para>Select and configure the kernel. (WRITER'S NOTE: Not sure on this step).</para></listitem>
<listitem><para>Identify the machine branch in the Git repository.</para></listitem>
<listitem><para>Build the image.</para></listitem>
</orderedlist>
You can view a video presentation of the BSP creation process
<ulink url='http://free-electrons.com/blog/elc-2011-videos'>here</ulink>.
You can also find supplemental information in the
<ulink url='http://yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
Board Support Package (BSP) Development Guide</ulink>.
Finally, there is wiki page write up of the example located
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
here</ulink> you might find helpful.
</para>
<section id='setting-up-yocto-project'>
<title>Setting Up Yocto Project</title>
<para>
For general host development system preparation such as package requirements and
operating system requirements, see
<xref linkend='dev-manual-start'>Getting Started with the Yocto Project</xref>)Chapter 2 of
this manual or the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
Yocto Project Quick Start</ulink>.
</para>
<para>
You need to have the Yocto Project source tree available on your host system.
You can get that through tarball extraction or by initializing and checking out the
Yocto Project Git repository.
Typically, checking out the Git repository is the method to use.
This allows you to maintain a complete history of changes and facilitates you
contributing back to the Yocto Project.
However, if you just want the source you can download the Yocto Project Release
tarball from the
<ulink url='http://yoctoproject.org/download'>download page</ulink>.
If you download the tarball you can extract it into any directory you want using the
tar command.
For example, the following commands extract the 1.0.1 release tarball into
<filename>/usr/local/yocto</filename> with the Yocto Project source directory as
<filename>poky.bernard.5.0.1.tar.bz2</filename>:
<literallayout class='monospaced'>
/usr/local/yocto$ tar xfj poky.bernard.5.0.1.tar.bz2
</literallayout>
</para>
<para>
The following transcript shows how to initialize a Git repository and checkout the
Yocto Project source tree:
<literallayout class='monospaced'>
/usr/local/yocto$ git init
Initialized empty Git repository in /usr/local/yocto/.git
/usr/local/yocto$ git remote add poky git://git.yoctoproject.org/poky.git
/usr/local/yocto$ git remote update
Fetching poky
remote: Counting objects: 106111, done.
remote: Compressing objects: 100% (36106/36106), done.
remote: Total 106111 (delta 72275), reused 99193 (delta 66808)
Receiving objects: 100% (106111/106111), 69.51 MiB | 518 KiB/s, done.
Resolving deltas: 100% (72275/72275), done.
From git://git.yoctoproject.org/poky
* [new branch] 1.1_M1 -> poky/1.1_M1
* [new branch] 1.1_M2 -> poky/1.1_M2
* [new branch] bernard -> poky/bernard
* [new branch] blinky -> poky/blinky
* [new branch] clyde -> poky/clyde
* [new branch] elroy -> poky/elroy
* [new branch] green -> poky/green
* [new branch] laverne -> poky/laverne
* [new branch] master -> poky/master
* [new branch] pinky -> poky/pinky
* [new branch] purple -> poky/purple
* [new tag] 1.1_M1.final -> 1.1_M1.final
* [new tag] 1.1_M2.rc1 -> 1.1_M2.rc1
* [new tag] bernard-5.0.1 -> bernard-5.0.1
* [new tag] pinky-3.1.2 -> pinky-3.1.2
From git://git.yoctoproject.org/poky
* [new tag] 1.1_M1.rc1 -> 1.1_M1.rc1
* [new tag] 1.1_M1.rc2 -> 1.1_M1.rc2
* [new tag] bernard-1.0rc1 -> bernard-1.0rc1
* [new tag] bernard-5.0 -> bernard-5.0
* [new tag] bernard-5.0-alpha -> bernard-5.0-alpha
* [new tag] bernard-5.0rc1 -> bernard-5.0rc1
* [new tag] bernard-5.0rc2 -> bernard-5.0rc2
* [new tag] laverne-4.0 -> laverne-4.0
* [new tag] laverne-4.0.1 -> laverne-4.0.1
* [new tag] m4 -> m4
* [new tag] purple-3.2 -> purple-3.2
* [new tag] purple-3.2.1 -> purple-3.2.1
</literallayout>
</para>
<para>
Once you have the repository set up, you have many development branches from which
you can work.
For this example we are going to use the Yocto Project 1.0.1 Release,
which maps to the <filename>Bernard 5.0.1</filename> tag in Git.
<literallayout class='monospaced'>
/usr/local/yocto$ git checkout -b Bernard-5.0.1 bernard-5.0.1
Switched to a new branch 'bernard-5.0.1'
</literallayout>
</para>
</section>
<section id='choosing-a-base-bsp'>
<title>Choosing a Base BSP</title>
<para>
The Yocto Project ships with several BSPs that support various hardware.
It is best to base your new BSP on an existing BSP rather than create all the
recipes and configuration files from scratch.
While it is possible to create everything from scratch, basing your new BSP
on something that is close is much easier.
Or, at a minimum, it gives you some structure with which to start.
</para>
<para>
At this point you need to understand your target hardware well enough to determine which
existing BSP most closely matches it.
Things to consider are your hardwares on-board features such as CPU type and graphics support.
You should look at the README files for supported BSPs to get an idea of which one
you could use.
A generic Atom-based BSP to consider is the Crown Bay with no Intel® Embedded Media
Graphics Driver (EMGD) support.
That is the BSP that this example is going to use.
</para>
<para>
To see the supported BSPs, go to the Yocto Project
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and click on “BSP Downloads.”
</para>
</section>
<section id='getting-your-base-bsp'>
<title>Getting Your Base BSP</title>
<para>
You need to have the base BSP layer on your development system.
Like the Yocto Project source tree you can get the BSP layer one of two ways:
download the tarball and extract it, or initialize a Git repository and check out the BSP.
You should use the same method that you used for the Yocto Project source tree.
</para>
<para>
If you are using tarball extraction then simply download the tarball for the base
BSP you chose in the previous step and then extract it into any directory
you choose using the tar command.
Upon extraction, the BSP source directory (layer) will be named
<filename>meta-&lt;BSP_name&gt;</filename>.
The following command extracts the Crown Bay BSP into a directory named
<filename>meta-crownbay</filename>:
<literallayout class='monospaced'>
/usr/local$ tar xjf crownbay-noemgd-bernard-5.0.1.tar.bz2
</literallayout>
</para>
<para>
If you initialized a Yocto Project Git repository then you need to do the same for the
BSP, which is located in the meta-intel Git repository.
The meta-intel repository contains all the metadata that supports BSP creation.
</para>
<para>
The following transcript shows the steps to create and set up the meta-intel Git
repository inside the Yocto Project Git repository:
<literallayout class='monospaced'>
/usr/local/yocto$ mkdir meta-intel
/usr/local/yocto$ cd meta-intel
/usr/local/yocto/meta-intel$ git init
Initialized empty Git repository in /usr/local/yocto/meta-intel/.git/
/usr/local/yocto/meta-intel$ git remote add meta-intel \ git://git.yoctoproject.org/meta-intel.git
/usr/local/yocto/meta-intel$ git remote update
Fetching meta-intel
remote: Counting objects: 1240, done.
remote: Compressing objects: 100% (1008/1008), done.
remote: Total 1240 (delta 513), reused 85 (delta 27)
Receiving objects: 100% (1240/1240), 1.55 MiB | 510 KiB/s, done.
Resolving deltas: 100% (513/513), done.
From git://git.yoctoproject.org/meta-intel
* [new branch] 1.1_M1 -> meta-intel/1.1_M1
* [new branch] 1.1_M2 -> meta-intel/1.1_M2
* [new branch] bernard -> meta-intel/bernard
* [new branch] dvhart/n450 -> meta-intel/dvhart/n450
* [new branch] laverne -> meta-intel/laverne
* [new branch] master -> meta-intel/master
</literallayout>
</para>
<para>
Once you have the repository set up, you have many development branches from
which you can work.
For this example we are going to use Bernard 5.0.
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ git checkout -b Bernard-5.0.1 meta-intel/bernard
Branch Bernard-5.0.1 set up to track remote branch bernard from meta-intel.
Switched to a new branch 'bernard-5.0.1'
</literallayout>
</para>
</section>
<section id='making-a-copy-of-the-base bsp-to-create-your-new-bsp-layer'>
<title>Making a Copy of the Base BSP to Create Your New BSP Layer</title>
<para>
Now that you have the Yocto Project and base BSP source you need to create a
new layer for your BSP.
</para>
<para>
Layers are ideal for isolating and storing work for a given piece of hardware.
A layer is really just a location or area in which you place the recipes for your BSP.
In fact, a BSP is, in itself, a special type of layer.
Consider an application as another example that illustrates a layer.
Suppose you are creating an application that has library or other dependencies in
order for it to compile and run.
The layer, in this case, would be where all the recipes that define those dependencies
are kept. The key point for a layer is that it is an isolated area that contains
all the relevant information for the project that the Yocto Project build system knows about.
</para>
<note>
The Yocto Project supports four BSPs that are part of the
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within <filename>meta</filename>, which can be found in the Yocto Project source directory.
Consequently, they are not totally isolated in the spirit of layers unless you think
of <filename>meta</filename> as a layer itself.
On the other hand, the Yocto Project has isolated BSP layers within
<filename>meta-intel</filename> for the Crown Bay, Emenlow, Jasper Forest, N450, and
Sugar Bay.
[WRITER'S NOTE: <filename>meta-yocto</filename>, <filename>meta</filename>, and
<filename>meta-intel</filename> need some explanation.
Not sure about the relationship of meta-yocto as compared to meta-intel.]
</note>
<para>
When you set up a layer for a new BSP you should follow a standard layout.
This layout is described in
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html#bsp-filelayout'>
Example Filesystem Layout</ulink> section of the Board Support Package (BSP) Development
Guide.
In the standard layout you will notice a suggested hierarchy for BSP kernel recipes,
graphics recipes, and configuration information.
You can see the standard layout for the Crown Bay BSP in this example by examining the
directory structure of <filename>meta-crownbay</filename>.
</para>
<para>
To create your BSP layer you simply copy the <filename>meta-crownbay</filename>
layer to a new layer.
For this example the new layer is named <filename>meta-mymachine</filename>.
The name must follow the BSP layer naming convention, which is
<filename>meta-&lt;name&gt;</filename>.
The following example assumes a meta-intel Git repository.
If you downloaded and expanded a Crown Bay tarball then you simply copy the resulting
<filename>meta-crownbay</filename> directory structure to a location of your choice:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ cp -a meta-crownbay/ meta-mymachine
</literallayout>
</para>
</section>
<section id='making-changes-to-your-bsp'>
<title>Making Changes to Your BSP</title>
<para>
Right now you have two identical BSP layers with different names:
<filename>meta-crownbay</filename> and <filename>meta-mymachine</filename>.
You need to change your configurations so that they work for your new BSP and
your particular hardware.
We will look first at the configurations, which are all done in the layers
<filename>conf</filename> directory.
</para>
<para>
First, since in this example the new BSP will not support EMGD we will get rid of the
<filename>crownbay.conf</filename> file and then rename the
<filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>.
Much of what we do in the configuration directory is designed to help the Yocto Project
build system work with the new layer and to be able to find and use the right software.
The following two commands result in a single machine configuration file named
<filename>mymachine.conf</filename>.
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ rm meta-mymachine/conf/machine/crownbay.conf
/usr/local/yocto/meta-intel$ mv meta-mymachine/conf/machine/crownbay-noemgd.conf \
meta-mymachine/conf/machine/mymachine.conf
</literallayout>
</para>
<para>
The next step makes changes to <filename>mymachine.conf</filename> itself.
The only changes needed for this example are changes to the comment lines and to the
Source Revision (<filename>SRCREV</filename>) lines at the bottom of the file.
</para>
<para>
For the comments the string <filename>crownbay-noemgd</filename> needs to be changed to
<filename>mymachine</filename>.
</para>
<para>
To understand how to complete the changes to the <filename>SRCREV</filename>
statements we need to know which kernel we are using.
The <filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement in the file specifies
the kernel we are going to use.
We are going to use <filename>linux-yocto-stable</filename>.
The <filename>SRCREV</filename> statement pairs point to the exact machine branch
(commit) and <filename>meta</filename> branch in the Git repository.
Right now the <filename>SRCREV</filename> variables are as follows in
<filename>mymachine.conf</filename>:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \ "56fe215d3f1a2cc3a5a26482ac9809ba44495695"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \ "e1f85a470934a0cf6abde5d95533e74501822c6b"
SRCREV_machine_pn-linux-yocto-stable_crownbay-noemgd ?= \ "56fe215d3f1a2cc3a5a26482ac9809ba44495695"
SRCREV_meta_pn-linux-yocto-stable_crownbay-noemgd ?= \ "e1f85a470934a0cf6abde5d95533e74501822c6b"
</literallayout>
</para>
<para>
You will notice that there are two pairs of <filename>SRCREV</filename> statements.
The first pair points to a current development kernel, which we dont care about
in this example.
The bottom pair points to the stable kernel that we will use:
<filename>linux-yocto-stable</filename>.
At this point though, the unique commit strings all are still associated with
Crown Bay.
So the next changes we make to the configuration file gets rid of the pair that points
to the development kernel and provides new commit strings that points to the
<filename>atom-pc-standard</filename>, which we are choosing for the initial build of this BSP.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto-stable_mymachine ?= \ "72ca49ab08b8eb475cec82a10049503602325791"
SRCREV_meta_pn-linux-yocto-stable_mymachine ?= \ "ec26387cb168e9e0976999b528b5a9dd62e3157a"
</literallayout>
</para>
<para>
If you are familiar with Git repositories you probably wont have trouble locating the
exact commit strings you need to change the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-2.6.34</filename> kernel
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-2.6.34'>here</ulink>.
</para>
<para>
If you need a little more assistance after going to the link then do the following:
<orderedlist>
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
<listitem><para>Click on the <filename>atom-pc-standard</filename> branch</para></listitem>
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
<listitem><para>Copy the commit string for use in the <filename>mymachine.conf</filename>
file</para></listitem>
</orderedlist>
</para>
<para>
For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
branch use the same procedure except expand the <filename>wrs_meta</filename>
branch in step 2 above.
</para>
<para>
The next configuration file in the new BSP layer we need to edit is <filename>layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
<ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html#bsp-filelayout-layer'>
Layer Configuration File</ulink> section in the Board Support Packages (BSP) Development Guide
for more information on this configuration file.
Basically, we are removing statements that support EMGD and changing the ones that support no EMGD.
</para>
<para>
First, remove these statements from the file:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS_crownbayd += "crownbay"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6"
</literallayout>
</para>
<para>
This leaves three similar statements that we care about:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS_crownbay-noemgd += "crownbay-noemgd"
BBFILE_PATTERN_crownbay-noemgd := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay-noemgd = "6"
</literallayout>
</para>
<para>
Simply substitute the machine string name <filename>crownbay-noemgd</filename>
with the new machine name <filename>mymachine</filename> to get the following:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS_mymachine += "mymachine"
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
BBFILE_PRIORITY_mymachine = "6"
</literallayout>
</para>
<para>
Now we will take a look at the recipes in your new layer.
The standard BSP structure has areas for BSP, graphics, and kernel recipes.
When you create a BSP you use these areas for appropriate recipes and append files.
Recipes take the form of <filename>.bb</filename> files.
If you want to leverage off of existing recipes elsewhere in the Yocto Project
source tree but change them you can use <filename>.bbappend</filename> files.
All new recipes and append files for your layer go in the layers
<filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>, and
<filename>recipes-graphics</filename> directories.
</para>
<para>
For this example we are not adding any new BSP recipes.
And, we only need to remove the formfactor we do not want and change the name of
the remaining one that supports no EMGD.
These commands take care of the new layers BSP recipes:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ rm -rf \
meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay
/usr/local/yocto/meta-intel$ mv \
meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \
meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
</literallayout>
</para>
<para>
For this example we want to remove anything that supports EMGD.
The following command cleans up the <filename>recipes-graphics</filename> directory:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ rm rf \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-emgd*
</literallayout>
</para>
<para>
At this point the <filename>recipes-graphics</filename> directory just has files that
support Video Electronics Standards Association (VESA) graphics modes.
However, we still need to rename a directory in the layer.
This command applies the final change to the <filename>recipes-graphics</filename> directory:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ mv \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
</literallayout>
</para>
<para>
Finally, let us look at the <filename>recipes-kernel</filename> directory in the example.
The only file we are concerned with for the example is
<filename>linux-yocto-stable_git.bbappend</filename>.
The other files all support the EMGD feature of Crown Bay.
These commands clean up the directory:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel$ rm rf meta-mymachine/recipes-kernel/linux/linux-yocto
/usr/local/yocto/meta-intel$ rm rf \
meta-mymachine/recipes-kernel/linux/linux-yocto-stable
/usr/local/yocto/meta-intel$ rm \
meta-mymachine/recipes-kernel/linux/linux-yocto_git.bbappend
</literallayout>
</para>
<para>
The <filename>linux-yocto-stable_git.bbappend</filename> file appends a Yocto Project
recipe having the same name.
The changes we need to make are to remove the statements that support EMGD
and change the remaining Crown Bay strings to be <filename>mymachine</filename>.
We also do not need to include the pointer to the EMGD licenses patch at the end of
the file.
Here is the original file:
<literallayout class='monospaced'>
FILESEXTRAPATHS := “${THISDIR}/${PN}”
COMPATIBLE_MACHINE_crownbay = “crownbay”
KMACHINE_CROWNBAY = “CROWNBAY”
COMPATIBLE_MACHINE_crownbay-noemgd = “crownbay-noemgd”
KMACHINE_crownbay-noemgd = “crownbay”
SRC_URI += file://0001-crownbay-update-a-handful-of-EMGD-licenses.patch
</literallayout>
</para>
<para>
After editing the file it looks like this:
<literallayout class='monospaced'>
FILESEXTRAPATHS := “${THISDIR}/${PN}”
COMPATIBLE_MACHINE_mymachine = “mymachine”
KMACHINE_mymachine = “mymachine
</literallayout>
</para>
<para>
In summary, the edits to the layers recipe files result in removal of any files and
statements that do not support your targeted hardware in addition to the inclusion
of any new recipes you might need.
In this example, it was simply a matter of ridding the new layer <filename>meta-machine</filename>
of any code that supported the EMGD features.
We did not introduce any new recipes to the layer.
</para>
<para>
Finally, it is also important to update the layers <filename>README</filename>
file so that the information in it reflects your BSP.
</para>
</section>
<section id='preparing-for-the-build'>
<title>Preparing for the Build</title>
<para>
Once you have made all the changes to your BSP layer there remains a few things
you need to do for the Yocto Project build system in order for it to create your image.
You need to get the build environment ready by sourcing an environment setup script
and you need to be sure two key configuration files are configured appropriately.
</para>
<para>
The entire process for building an image is overviewed in the
<ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'>
Building an Image</ulink> section of the Yocto Project Quick Start.
You might want to reference this information.
The remainder of this section will apply to our example of the <filename>meta-mymachine</filename> layer.
</para>
<para>
To get ready to build your new layer you need to do the following:
<orderedlist>
<listitem><para>Get the environment ready for the build by sourcing the environment
script.
The environment script is in the Yocto Project source directory and has the string
<filename>init-build-env</filename> in the files name.
For this example, the following command gets the build environment ready:
<literallayout class='monospaced'>
/usr/local/yocto$ source oe-init-build-env yocto-build
</literallayout>
When you source the script a build directory is created in the current
working directory.
In our example we were in the Yocto Project source directory.
Thus, entering the previous command created the <filename>yocto-build</filename> directory.
If you do not provide a name for the build directory it defaults to build.
The build directory contains a <filename>conf</filename> directory that contains
two configuration files you will need to check: <filename>bblayers.conf</filename>
and <filename>local.conf</filename>.</para></listitem>
<listitem><para>Check and edit the resulting <filename>local.conf</filename> file.
This file minimally identifies the machine for which to build the image by
configuring the <filename>MACHINE</filename> variable.
For this example you must set the variable to mymachine as follows:
<literallayout class='monospaced'>
MACHINE ??= “mymachine”
</literallayout>
You should also be sure any other variables in which you are interested are set.
Some variables to consider are <filename>BB_NUMBER_THREADS</filename>
and <filename>PARALLEL_MAKE</filename>, both of which can greatly reduce your build time
if you are using a multi-threaded development system (e.g. values of
<filename>8</filename> and <filename>j 6</filename>, respectively are optimal
for a development machine that has four available cores).</para></listitem>
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
the path to your new BSP layer.
In this example you need to include the pathname to <filename>meta-mymachine</filename>.
For example, if you created a Yocto Project Git repository named
<filename>yocto</filename> in <filename>/usr/local</filename> then the
<filename>BBLAYERS</filename> variable in the file would need to include the following path:
<literallayout class='monospaced'>
/usr/local/yocto/meta-intel/meta-mymachine
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
The appendix
<ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html#ref-variables-glos'>
Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables.
</para>
</section>
<section id='building-the-image'>
<title>Building the Image</title>
<para>
The Yocto Project uses the BitBake tool to build images based on the type of image
you want to create.
You can find more information on BitBake
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.
</para>
<para>
The build process supports several types of images to satisfy different needs.
When you issue the BitBake command you provide a “top-level” recipe that essentially
starts the process off of building the type of image you want.
</para>
<para>
You can find these recipes in the <filename>meta/recipes-core/images</filename> and
<filename>meta/recipes-sato/images</filename> directories of the Yocto Project source
tree or Git repository.
Although the recipe names are somewhat explanatory, here is a list that describes them:
<itemizedlist>
<listitem><para><emphasis>Base</emphasis> A foundational basic image without support
for X that can be reasonably used for customization.</para></listitem>
<listitem><para><emphasis>Core</emphasis> A foundational basic image with support for
X that can be reasonably used for customization.</para></listitem>
<listitem><para><emphasis>Direct Disk</emphasis> An image that you can copy directory to
the disk of the target device.</para></listitem>
<listitem><para><emphasis>Live</emphasis> An image you can run from a USB device or from
a CD without having to first install something.</para></listitem>
<listitem><para><emphasis>Minimal</emphasis> A small image without a GUI.
This image is not much more than a kernel with a shell.</para></listitem>
<listitem><para><emphasis>Minimal Development</emphasis> A Minimal image suitable for
development work.</para></listitem>
<listitem><para><emphasis>Minimal Direct Disk</emphasis> A Minimal Direct Disk image.</para></listitem>
<listitem><para><emphasis>Minimal RAM-based Initial Root Filesystem</emphasis> A minimal image
that has the <filename>initramfs</filename> as part of the kernel, which allows the
system to find the first “init” program more efficiently.</para></listitem>
<listitem><para><emphasis>Minimal Live</emphasis> A Minimal Live image.</para></listitem>
<listitem><para><emphasis>Minimal MTD Utilities</emphasis> A minimal image that has support
for the MTD utilities, which let the user interact with the MTD subsystem in
the kernel to perform operations on flash devices.</para></listitem>
<listitem><para><emphasis>Sato</emphasis> An image with Sato support, a mobile environment
and visual style that works well with mobile devices.</para></listitem>
<listitem><para><emphasis>Sato Development</emphasis> A Sato image suitable for
development work.</para></listitem>
<listitem><para><emphasis>Sato Direct Disk</emphasis> A Sato Direct Disk image.</para></listitem>
<listitem><para><emphasis>Sato Live</emphasis> A Sato Live image.</para></listitem>
<listitem><para><emphasis>Sato SDK</emphasis> A Sato image that includes the Yocto Project
toolchain and development libraries.</para></listitem>
<listitem><para><emphasis>Sato SDK Direct Disk</emphasis> A Sato SDK Direct
Disk image.</para></listitem>
<listitem><para><emphasis>Sato SDK Live</emphasis> A Sato SDK Live image.</para></listitem>
</itemizedlist>
</para>
<para>
The remainder of this section applies to our example of the <filename>meta-mymachine</filename> layer.
</para>
<para>
To build the image for our <filename>meta-mymachine</filename> BSP enter the following command
from the same shell from which you ran the setup script.
You should run the <filename>bitbake</filename> command without any intervening shell commands.
For example, moving your working directory around could cause problems.
Here is the command for this example:
<literallayout class='monospaced'>
/usr/local/yocto/yocto-build$ bitbake k poky-image-sato-live
</literallayout>
</para>
<para>
This command requests an image that has Sato support and can be run from a USB device or
from a CD without having to first install anything.
The build process takes significant time and includes thousands of tasks, which are reported
at the console.
If the build results in any type of error you should check for misspellings in the
files you changed or problems with your host development environment such as missing packages.
</para>
</section>
</section>
<section id='modifying-a-kernel'>
<title>Modifying a Kernel</title>
<para>
[WRITER'S NOTE: This section is a second example that focuses on just modifying the kernel.
I don't have any information on this yet.
</para>
<para>
Here are some points to consider though:
<itemizedlist>
<listitem><para>Reference Darren's presentation
<ulink url='http://events.linuxfoundation.org/events/embedded-linux-conference/hart'>
here</ulink></para></listitem>
<listitem><para>Reference <xref linkend='dev-manual-start'>Getting Started with the Yocto Project</xref>
section to get set up at minimum.</para></listitem>
<listitem><para>Are there extra steps I need specific to kernel development to get started?</para></listitem>
<listitem><para>What do I do to get set up?
Is it a matter of just installing YP and having some pieces together?
What are the pieces?</para></listitem>
<listitem><para>Where do I get the base kernel to start with?</para></listitem>
<listitem><para>Do I install the appropriate toolchain?</para></listitem>
<listitem><para>What kernel git repository do I use?</para></listitem>
<listitem><para>What is the conversion script?
What does it do?</para></listitem>
<listitem><para>What do I have to do to integrate the kernel layer?</para></listitem>
<listitem><para>What do I use to integrate the kernel layer?
HOB?
Do I just Bitbake it?</para></listitem>
<listitem><para>Using the System Image Creator.]</para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='user-application-development'>
<title>User Application Development</title>
<para>
[WRITER'S NOTE: This section is the second major development case - developing an application.
Here are points to consider:
<itemizedlist>
<listitem><para>User-space Application Development scenario overview.</para></listitem>
<listitem><para>Using the Yocto Eclipse Plug-in.</para></listitem>
<listitem><para>Back-door support.</para></listitem>
<listitem><para>I feel there is more to this area than we have captured during our two review meetings.]</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,127 +1,185 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-intro'>
<title>The Yocto Project Development Manual</title>
<section id='intro'>
<title>Introduction</title>
<para>
WRITER NOTE: The goal of this manual is to provide an over-arching development guide for using the Yocto Project.
The intent is to give the reader the “big picture” around development.
Much of the information in the manual will be detailed in other manuals.
For example, detailed information on Git, repositories and open-source in general can be found in many places.
Another example is getting set up to use the Yocto Project, which our Yocto Project Quick Start covers.
However, this manual needs to at least address it.
One might ask “What becomes of the Poky Reference Manual?”
This manual, over time, needs to develop into a pure reference manual where all procedural information
eventually ends up in an appropriate guide.
A good example of information perfect for the Poky Reference Manual is the appendix on variable
definitions (glossary).
</para>
<para>
Welcome to the Yocto Project Development Manual!
This manual gives you an idea of how to use the Yocto Project to develop embedded Linux
images and user-space applications to run on targeted devices.
Reading this manual gives you an overview of image, kernel, and user-space application development
using the Yocto Project.
Because much of the information in this manual is general, it contains many references to other
sources where you can find more detail.
For example, detailed information on Git, repositories and open source in general
can be found in many places.
Another example is how to get set up to use the Yocto Project, which our
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> covers.
</para>
<section id='intro'>
<title>Introduction</title>
<para>
The Yocto Project Development Manual, however, does provide detailed examples on how to create a
Board Support Package (BSP), change the kernel source code, and re-configure the kernel.
You can find this information in the appendices of the manual.
</para>
</section>
<para>
Welcome to the Yocto Project Development Guide!
This guide provides an over-arching view of the development process within the Yocto Project.
This guide is just that a guide.
It helps you understand the bigger picture involving development using the Yocto Project.
</para>
</section>
<section id='what-this-manual-provides'>
<title>What this Manual Provides</title>
<section id='what-this-manual-provides'>
<title>What this Manual Provides</title>
<para>
The following list describes what you can get from this guide:
<itemizedlist>
<listitem><para>Information that lets you get set
up to develop using the Yocto Project.</para></listitem>
<listitem><para>Information to help developers who are new to the open source environment
and to the distributed revision control system Git, which the Yocto Project
uses.</para></listitem>
<listitem><para>An understanding of common end-to-end development models and tasks.</para></listitem>
<listitem><para>Development case overviews for both system development and user-space
applications.</para></listitem>
<listitem><para>An overview and understanding of the emulation environment used with
the Yocto Project (QEMU).</para></listitem>
<!-- <listitem><para>A discussion of target-level analysis techniques, tools, tips,
and tricks.</para></listitem>
<listitem><para>Considerations for deploying your final product.</para></listitem> -->
<listitem><para>An understanding of basic kernel architecture and
concepts.</para></listitem>
<!-- <listitem><para>Information that will help you migrate an existing project to the
Yocto Project development environment.</para></listitem> -->
<listitem><para>Many references to other sources of related information.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
The following list describes what you can get from this guide:
<itemizedlist>
<listitem><para>A general idea of and references to information that lets you get set
up to develop using the Yocto Project.</para></listitem>
<listitem><para>Information to help developers that are new to the open source environment
and to the distributed revision control system Git, which the Yocto Project
uses.</para></listitem>
<listitem><para>An understanding of common end-to-end development models.</para></listitem>
<listitem><para>Development case overviews for both system development and user-space
applications.</para></listitem>
<listitem><para>An overview and understanding of the emulation environment used with
the Yocto Project (QEMU).</para></listitem>
<listitem><para>A discussion of target-level analysis techniques, tools, tips,
and tricks.</para></listitem>
<listitem><para>Considerations for deploying your final product.</para></listitem>
<listitem><para>An understanding of basic kernel architecture and
concepts.</para></listitem>
<listitem><para>Information that will help you migrate an existing project to the
Yocto Project development environment.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='what-this-manual-does-not-provide'>
<title>What this Manual Does Not Provide</title>
<section id='what-this-manual-does-not-provide'>
<title>What this Manual Does Not Provide</title>
<para>
This manual will not give you the following:
<itemizedlist>
<listitem><para>Step-by-step instructions if those instructions exist in other Yocto
Project documentation.
For example, the
<ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Development Toolkit (ADT)
User's Guide</ulink> contains detailed
instruction on how to obtain and configure the
<trademark class='trade'>Eclipse</trademark> Yocto Plug-in.</para></listitem>
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
<ulink url='&YOCTO_DOCS_REF_URL;'>
Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is covered better through the
Internet than in this manual.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
This manual will not give you the following:
<itemizedlist>
<listitem><para>Step-by-step instructions when these instructions exist in other Yocto
Project documentation.
For example, The Application Development Toolkit (ADT) Users Guide contains detailed
instruction on how to obtain and configure the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the Poky Reference Manual.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is better covered in the public
domain than in this manual.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='other-information'>
<title>Other Information</title>
<section id='other-information'>
<title>Other Information</title>
<para>
Because this manual presents overview information for many different topics, you will
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para>The <ulink url='http://www.yoctoproject.org'>Yocto Project Website</ulink> - The
home page for the Yocto Project
provides lots of information on the project as well as links to software
and documentation.</para></listitem>
<listitem><para>The <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html'>
Yocto Project Quick Start</ulink> - This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para>The <ulink url='http://www.yoctoproject.org/docs/1.1/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink> - This manual is the complete reference
guide to the Yocto Project build component.
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><ulink url='http://www.yoctoproject.org/docs/1.1/adt-manual/adt-manual.html'>
Application Development Toolkit (ADT) User's Guide</ulink> - This guide provides
information that lets you get going with the ADT to develop projects using the
Yocto Project.</para></listitem>
<listitem><para><ulink url='http://www.yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
Board Support Package (BSP) Developer's Guide</ulink> - This guide defines the
structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><ulink url='http://www.yoctoproject.org/docs/1.1/kernel-manual/kernel-manual.html'>
Yocto Project Kernel Architecture and Use Manual</ulink> - This manual
describes the architecture of the Yocto Project kernel and provides some work flow
examples.</para></listitem>
<listitem><para><ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
Yocto Eclipse Plug-in</ulink> - A step-by-step instructional video that
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><ulink url='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink> - A
list of commonly asked questions and their answers.</para></listitem>
<listitem><para><ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.0-release-notes-poky-5.0'>
Release Notes</ulink> - Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
</itemizedlist>
</para>
</section>
<para>
Because this manual presents overview information for many different topics, you will
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para><emphasis>The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
</emphasis> The home page for the Yocto Project provides lots of information on the project
as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_REF_URL;'>
The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
Yocto Eclipse Plug-in</ulink>:</emphasis> A step-by-step instructional video that
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>:</emphasis>
A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1.2-release-notes-poky-&POKYVERSION;'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this
application.</para></listitem>
<listitem><para><emphasis>
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> for a
Yocto Project Discussions mailing list.</para></listitem>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> for a
Yocto Project Discussions mailing list about the Poky build system.</para></listitem>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink>
for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
Two IRC channels on freenode are available
for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis>
<ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
The company that acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://developer.berlios.de/projects/bitbake/'>
BitBake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bitbake.berlios.de/manual/'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
</para></listitem>
<listitem><para><emphasis>
<ulink url='http://pimlico-project.org/'>Pimlico</ulink>:</emphasis>
A suite of lightweight Personal Information Management (PIM) applications designed
primarily for handheld and mobile devices.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open-source machine emulator and virtualizer.</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

File diff suppressed because it is too large Load Diff

View File

@@ -1,44 +1,690 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-model'>
<title>Common Development Models</title>
<para>
[WRITERS NOTE: This chapter presents common development models within the Yocto Project.
Reading this chapter will give the user a feel for the overall development process.
The chapter will follow the framework for the manual.
The team decided to present a single development model and not to try and represent all the
various possibilities that might exist.
The chapter will include an over-arching diagram that shows a simple, most-common development model.
The diagram will consist of boxes that represent high-level areas of the development process.
For example, a box for “Setting Up” will be in the model.
A box for “Debugging” will exist.
The diagram needs to account for the two use-cases we are going to showcase
(system development and application development)].
Many development models exist for which you can use the Yocto Project.
However, for the purposes of this manual we are going to focus on two common ones:
System Development and User Application Development.
System Development covers Board Support Package (BSP) development and kernel modification
or configuration.
User Application Development covers development of applications that you intend to run on some
target hardware.
</para>
<section id='place-holder-section-one'>
<title>Place-Holder Section One</title>
<para>
This chapter presents overviews of both system and application models.
If you want to examine specific examples of the system development models,
see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix and the
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
For a user-space application development example that uses the
<trademark class='trade'>Eclipse</trademark> IDE,
see <ulink url='&YOCTO_DOCS_ADT_URL;'>The Yocto Project Application Development
Toolkit (ADT) User's Guide</ulink>.
</para>
<section id='system-development-model'>
<title>System Development</title>
<para>
Text needed here.
System development involves modification or creation of an image that you want to run on
a specific hardware target.
Usually, when you want to create an image that runs on embedded hardware, the image does
not require the same number of features that a full-fledged Linux distribution provides.
Thus, you can create a much smaller image that is designed to use only the hardware
features for your particular hardware.
</para>
<para>
To help you understand how system development works in the Yocto Project, this section
covers two types of image development: BSP creation and kernel modification or
configuration.
</para>
<section id='developing-a-board-support-package-bsp'>
<title>Developing a Board Support Package (BSP)</title>
<para>
A BSP is a packageof recipes that, when applied, during a build results in
an image that you can run on a particular board.
Thus, the package, when compiled into the new image, supports the operation of the board.
</para>
<note>
For a brief list of terms used when describing the development process in the Yocto Project,
see the "<link linkend='yocto-project-terms'>Yocto Project Terms</link>" section.
</note>
<para>
The remainder of this section presents the basic steps used to create a BSP
based on an existing BSP that ships with the Yocto Project.
You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
</para>
<para>
The following illustration and list summarize the BSP creation general workflow.
</para>
<para>
<imagedata fileref="figures/bsp-dev-flow.png" width="6in" depth="7in" align="center" scalefit="1" />
</para>
<para>
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See the
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>"
and the
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: You need to have the Yocto Project files available on your host system.
Having the Yocto Project files on your system gives you access to the build
process and to the tools you need.
For information on how to get these files, see the
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
the BSP files on your system gives you access to the build
process and to the tools you need for creating a BSP.
For information on how to get these files, see the
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Choose a Yocto Project-supported BSP as your base BSP</emphasis>:
The Yocto Project ships with several BSPs that support various hardware.
It is best to base your new BSP on an existing BSP rather than create all the
recipes and configuration files from scratch.
While it is possible to create everything from scratch, basing your new BSP
on something that is close is much easier.
Or, at a minimum, leveraging off an existing BSP
gives you some structure with which to start.</para>
<para>At this point you need to understand your target hardware well enough to determine which
existing BSP it most closely matches.
Things to consider are your hardwares on-board features, such as CPU type and graphics support.
You should look at the README files for supported BSPs to get an idea of which one
you could use.
A generic <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark>-based BSP to consider is the
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page on the Yocto Project
website and click on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
isolating and storing work for a given piece of hardware.
A layer is really just a location or area in which you place the recipes for your BSP.
In fact, a BSP is, in itself, a special type of layer.
</para>
<para>
Another example that illustrates a layer is an application.
Suppose you are creating an application that has library or other dependencies in
order for it to compile and run.
The layer, in this case, would be where all the recipes that define those dependencies
are kept.
The key point for a layer is that it is an isolated area that contains
all the relevant information for the project that the Yocto Project build
system knows about.</para>
<note>The Yocto Project supports four BSPs that are part of the
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within the local Yocto Project files.
Consequently, they are not totally isolated in the spirit of layers unless you think
of <filename>meta-yocto</filename> as a layer itself.
On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
N450, and Sugar Bay are isolated.</note>
<para>When you set up a layer for a new BSP, you should follow a standard layout.
This layout is described in the section
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
section of the Board Support Package (BSP) Development Guide.
In the standard layout, you will notice a suggested structure for recipes and
configuration information.
You can see the standard layout for the Crown Bay BSP in this example by examining the
directory structure of the <filename>meta-crownbay</filename> layer inside the
local Yocto Project files.</para></listitem>
<listitem><para><emphasis>Make configuration changes to your new BSP
layer</emphasis>: The standard BSP layer structure organizes the files you need
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
directories within the BSP layer.
Configuration changes identify where your new layer is on the local system
and identify which kernel you are going to use.
</para></listitem>
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
changes include altering recipes (<filename>.bb</filename> files), removing
recipes you don't use, and adding new recipes that you need to support your hardware.
</para></listitem>
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your BSP layer, there remains a few things
you need to do for the Yocto Project build system in order for it to create your image.
You need to get the build environment ready by sourcing an environment setup script
and you need to be sure two key configuration files are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the section
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
of the Yocto Project Quick Start.
You might want to reference this information.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake
tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" appendix
in The Yocto Project Reference Manual for information on
supported images.</para></listitem>
</orderedlist>
</para>
<para>
You can view a video presentation on "Building Custom Embedded Images with Yocto"
at <ulink url='http://free-electrons.com/blog/elc-2011-videos'>Free Electrons</ulink>.
You can also find supplemental information in
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Board Support Package (BSP) Development Guide</ulink>.
Finally, there is wiki page write up of the example also located
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
here</ulink> that you might find helpful.
</para>
</section>
<section id='modifying-the-kernel'>
<title><anchor id='kernel-spot' />Modifying the Kernel</title>
<para>
Kernel modification involves changing the Linux Yocto kernel, which could involve changing
configuration options as well as adding new kernel recipes.
Configuration changes can be added in the form of configuration fragments, while recipe
modification comes through the kernel's <filename>recipes-kernel</filename> area
in a kernel layer you create.
</para>
<para>
The remainder of this section presents a high-level overview of the Linux Yocto
kernel architecture and the steps to modify the Linux Yocto kernel.
For a complete discussion of the kernel, see
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
You can reference the appendix
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
for a detailed example that changes the configuration of a kernel.
</para>
<section id='kernel-overview'>
<title>Kernel Overview</title>
<para>
Traditionally, when one thinks of a patched kernel, they think of a base kernel
source tree and a fixed structure that contains kernel patches.
The Yocto Project, however, employs mechanisms, that in a sense, result in a kernel source
generator.
By the end of this section, this analogy will become clearer.
</para>
<para>
You can find a web interface to the Linux Yocto kernel source repositories at
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a grouping of
Git repositories titled "Yocto Linux Kernel."
Within this group, you will find several kernels supported by
the Yocto Project:
<itemizedlist>
<listitem><para><emphasis><filename>linux-yocto-2.6.34</filename></emphasis> - The
stable Linux Yocto kernel that is based on the Linux 2.6.34 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-2.6.37</filename></emphasis> - The
stable Linux Yocto kernel that is based on the Linux 2.6.37 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.0</filename></emphasis> - The stable
Linux Yocto kernel that is based on the Linux 3.0 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.0-1.1.x</filename></emphasis> - The
stable Linux Yocto kernel to use with the Yocto Project Release 1.1.x. This kernel
is based on the Linux 3.0 release</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.2</filename></emphasis> - The
stable Linux Yocto kernel to use with the Yocto Project Release 1.2. This kernel
is based on the Linux 3.2 release</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-dev</filename></emphasis> - A development
kernel based on the latest upstream release candidate available.</para></listitem>
</itemizedlist>
</para>
<para>
The kernels are maintained using the Git revision control system
that structures them using the familiar "tree", "branch", and "leaf" scheme.
Branches represent diversions from general code to more specific code, while leaves
represent the end-points for a complete and unique kernel whose source files
when gathered from the root of the tree to the leaf accumulate to create the files
necessary for a specific piece of hardware and its features.
The following figure displays this concept:
<para>
<imagedata fileref="figures/kernel-overview-1.png"
width="6in" depth="6in" align="center" scale="100" />
</para>
<para>
Within the figure, the "Kernel.org Branch Point" represents the point in the tree
where a supported base kernel is modified from the Linux kernel.
For example, this could be the branch point for the <filename>linux-yocto-3.0</filename>
kernel.
Thus, everything further to the right in the structure is based on the
<filename>linux-yocto-3.0</filename> kernel.
Branch points to right in the figure represent where the
<filename>linux-yocto-3.0</filename> kernel is modified for specific hardware
or types of kernels, such as real-time kernels.
Each leaf thus represents the end-point for a kernel designed to run on a specific
targeted device.
</para>
<para>
The overall result is a Git-maintained repository from which all the supported
Yocto Project kernel types can be derived for all the supported Yocto Project devices.
A big advantage to this scheme is the sharing of common features by keeping them in
"larger" branches within the tree.
This practice eliminates redundant storage of similar features shared among kernels.
</para>
<note>
Keep in mind the figure does not take into account all the supported Linux Yocto
kernel types, but rather shows a single generic kernel just for conceptual purposes.
Also keep in mind that this structure represents the Yocto Project source repositories
that are either pulled from during the build or established on the host development system
prior to the build by either cloning a particular kernel's Git repository or by
downloading and unpacking a tarball.
</note>
<para>
Storage of all the available kernel source code is one thing, while representing the
code on your host development system is another.
Conceptually, you can think of the Yocto Project kernel source repositories as all the
source files necessary for all the supported kernels.
As a developer, you are just interested in the source files for the kernel on
on which you are working.
And, furthermore, you need them available on your host system.
</para>
<para>
You make kernel source code available on your host development system by using
Git to create a bare clone of the Linux Yocto kernel Git repository
in which you are interested.
Then, you use Git again to clone a copy of that bare clone.
This copy represents the directory structure on your host system that is particular
to the kernel you want.
These are the files you actually modify to change the kernel.
See the <link linkend='local-kernel-files'>Linux Yocto Kernel</link> item earlier
in this manual for an example of how to set up the kernel source directory
structure on your host system.
</para>
<para>
This next figure illustrates how the kernel source files might be arranged on
your host system.
</para>
<para>
<imagedata fileref="figures/kernel-overview-3-edison.png"
width="6in" depth="4in" align="center" scale="100" />
</para>
<para>
In the previous figure, the file structure on the left represents the bare clone
set up to track the Yocto Project kernel Git repository.
The structure on the right represents the copy of the bare clone.
When you make modifcations to the kernel source code, this is the area in which
you work.
Once you make corrections, you must use Git to push the committed changes to the
bare clone.
The example in <xref linkend='modifying-the-kernel-source-code'>
Modifying the Kernel Source Code</xref> provides a detailed example.
</para>
<para>
What happens during the build?
When you build the kernel on your development system all files needed for the build
are taken from the Yocto Project source repositories pointed to by the
<filename>SRC_URI</filename> variable and gathered in a temporary work area
where they are subsequently used to create the unique kernel.
Thus, in a sense, the process constructs a local source tree specific to your
kernel to generate the new kernel image - a source generator if you will.
</para>
The following figure shows the temporary file structure
created on your host system when the build occurs.
This build directory contains all the source files used during the build.
</para>
<para>
<imagedata fileref="figures/kernel-overview-2.png"
width="6in" depth="5in" align="center" scale="100" />
</para>
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
You can also reference the
"<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</link>"
section for a detailed example that modifies the kernel.
</para>
</section>
<section id='kernel-modification-workflow'>
<title>Kernel Modification Workflow</title>
<para>
This illustration and the following list summarizes the kernel modification general workflow.
</para>
<para>
<imagedata fileref="figures/kernel-dev-flow.png"
width="6in" depth="7.5in" align="center" scalefit="1" />
</para>
<para>
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: Having the Yocto Project files on your system gives you access to
the build process and tools you need.
For information on how to get these files, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
</para></listitem>
<listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git
repository</emphasis>: This repository is the area for your configuration
fragments, new kernel recipes, and the kernel <filename>.bbappend</filename>
file used during the build.
It is good practice to set this repository up inside the local Yocto
Project files Git repository.
For information on how to get these files, see the bulleted item
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
earlier in this manual.
<note>While it is certainly possible to modify the kernel without involving
a local Git repository, the suggested workflow for kernel modification
using the Yocto Project does use a Git repository.</note></para></listitem>
<listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your
system</emphasis>: In order to make modifications to the kernel you need two things:
a bare clone of the Linux Yocto kernel you are modifying and
a copy of that bare clone.
The bare clone is required by the build process and is the area to which you
push your kernel source changes (pulling does not work with bare clones).
The copy of the bare clone is a local Git repository that contains all the kernel's
source files.
You make your changes to the files in this copy of the bare clone.
For information on how to set these two items up, see the bulleted item
"<link linkend='local-kernel-files'>Linux Yocto Kernel</link>"
earlier in this manual.</para></listitem>
<listitem><para><emphasis>Make changes to the kernel source code if
applicable</emphasis>: Modifying the kernel does not always mean directly
changing source files.
However, if you have to do this, you make the changes in the local
Git repository you set up to hold the source files (i.e. the copy of the
bare clone).
Once the changes are made, you need to use Git commands to commit the changes
and then push them to the bare clone.</para></listitem>
<listitem><para><emphasis>Make kernel configuration changes
if applicable</emphasis>:
If your situation calls for changing the kernel's configuration, you can
use <filename>menuconfig</filename>
to enable and disable kernel configurations.
Using <filename>menuconfig</filename> allows you to interactively develop and test the
configuration changes you are making to the kernel.
When saved, changes using <filename>menuconfig</filename> update the kernel's
<filename>.config</filename>.
Try to resist the temptation of directly editing the <filename>.config</filename>
file found in the Yocto Project build directory at
<filename>tmp/sysroots/&lt;machine-name&gt;/kernel</filename>.
Doing so, can produce unexpected results when the Yocto Project build system
regenerates the configuration file.</para>
<para>Once you are satisfied with the configuration changes made using
<filename>menuconfig</filename>, you can directly examine the
<filename>.config</filename> file against a saved original and gather those
changes into a config fragment to be referenced from within the kernel's
<filename>.bbappend</filename> file.</para></listitem>
<listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
The standard
layer structure organizes recipe files inside the
<filename>meta-kernel-dev</filename> layer that is within the
<filename>poky-extras</filename> Git repository.
If you need to add new kernel recipes, you add them within this layer.
Also within this area, you will find the <filename>.bbappend</filename>
file that appends information to the kernel's recipe file used during the
build.
</para></listitem>
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your kernel (configurations, source code changes, recipe additions,
or recipe changes), there remains a few things
you need to do in order for the Yocto Project build system (BitBake) to create your image.
If you have not done so, you need to get the build environment ready by sourcing
the environment setup script described earlier.
You also need to be sure two key configuration files
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
You might want to reference this information.
Also, you should look at the detailed examples found in the appendices at
at the end of this manual.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project
build system Poky uses the BitBake
tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the appendix
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" in
The Yocto Project Reference Manual for information on supported images.</para></listitem>
<listitem><para><emphasis>Make your configuration changes available
in the kernel layer</emphasis>: Up to this point, all the configuration changes to the
kernel have been done and tested iteratively.
Once they are tested and ready to go, you can move them into the kernel layer,
which allows you to distribute the layer.</para></listitem>
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
If the changes you made
are suited for all Linux Yocto users, you might want to send them on for inclusion
into the Linux Yocto Git repository.
If the changes are accepted, the Yocto Project Maintainer pulls them into
the master branch of the kernel tree.
Doing so makes them available to everyone using the kernel.</para></listitem>
</orderedlist>
</para>
</section>
</section>
</section>
<section id='place-holder-section-two'>
<title>Place-Holder Section Two</title>
<title>Application Development Workflow</title>
<para>
Text needed here.
Application development involves creation of an application that you want to be able
to run on your target hardware, which is running a Linux Yocto image.
The Yocto Project provides an Application Development Toolkit (ADT) that
facilitates quick development and integration of your application into its run-time environment.
Using the ADT you can employ cross-development toolchains designed for your target hardware
to compile and link your application.
You can then deploy your application to the actual hardware or to the QEMU emulator for testing.
If you are familiar with the popular Eclipse IDE, you can use an Eclipse Yocto Plug-in to
allow you to develop, deploy, and test your application all from within Eclipse.
</para>
<para>
While we strongly suggest using the Yocto Project ADT to develop your application, you might
not want to.
If this is the case, you can still use pieces of the Yocto Project for your development process.
However, because the process can vary greatly, this manual does not provide detail on the process.
</para>
<section id='workflow-using-the-adt-and-eclipse'>
<title>Workflow Using the ADT and <trademark class='trade'>Eclipse</trademark></title>
<para>
To help you understand how application development works in the Yocto Project ADT
environment, this section
provides an overview of the general development process.
If you want to see a detailed example of the process as it is used from within the Eclipse
IDE, see
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Application Development Toolkit (ADT) User's Manual</ulink>.
</para>
<para>
This illustration and the following list summarizes the application development general workflow.
</para>
<para>
<imagedata fileref="figures/app-dev-flow.png"
width="7in" depth="8in" align="center" scale="100" />
</para>
<para>
<orderedlist>
<listitem><para><emphasis>Prepare the Host System for the Yocto Project</emphasis>:
See
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<!--
WRITER NOTE: The areas to get the kernel and root filesystem are located in the Index of
downloads. There are many forms of each. The files that have "rootfs" are just the
target root filesystems. The file that is very small and starts with bzImage is just
the kernel image isolated so that it can be written to a special on-board area of
flash memory. Some systems require this. In the machines directory there are
files that combine the kernel image and the root filesystem. These files are the ISO
and HDDIMG files. ISO images are designed to be deployed on a DVD or CD. The ISO
images are designed to be deployed on a USB stick. There might be some relics in
the machine directory. For example, there is the "emenlow-bernard-5.0.0.tar.bz2"
file. Nobody seems to know what this is. If a developer needs the image and the
root filesystem I think that they want the small kernel image and a matching root
filesystem. Although, Paul Eggleton says that the HDDIMG types could be used to
develop on. I am not sure that we can use one of those in the ADT though as they
want you to point to the kernel image and the target root filesystem. Maybe you
could just point to the same spot. I am not sure.
-->
<listitem><para><emphasis>Secure the Linux Yocto Kernel Target Image</emphasis>:
You must have a target kernel image that has been built using the Yocto Project.</para>
<para>Depending on whether the Yocto Project has a pre-built image that matches your target
architecture and where you are going to run the image while you develop your application
(QEMU or real hardware), the area from which you get the image differs.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> if your target architecture is supported
and you are going to develop and test your application on actual hardware.
</para></listitem>
<listitem><para>Download the image from the
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> if your target architecture is supported
and you are going to develop and test your application using the QEMU
emulator.</para></listitem>
<listitem><para>Build your image if you cannot find a pre-built image that matches
your target architecture.
If your target architecture is similar to a supported architecture, you can
modify the kernel image before you build it.
See the
"<link linkend='kernel-modification-workflow'>Kernel Modification Workflow</link>"
section earlier in this manual for information on how to create a modified
Linux Yocto kernel.</para></listitem>
</itemizedlist></para>
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in the Yocto Project Quick Start.</para></listitem>
<listitem><para><emphasis>Install the ADT</emphasis>:
The ADT provides a target-specific cross-development toolchain, the root filesystem,
the QEMU emulator, and other tools that can help you develop your application.
While it is possible to get these pieces separately, the Yocto Project provides an
easy method.
You can get these pieces by running an ADT installer script, which is configurable.
For information on how to install the ADT, see the
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Using the ADT Installer</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem</emphasis>:
If you choose not to install the ADT using the ADT Installer,
you need to find and download the
appropriate root filesystems.
You can find these tarballs in the same areas used for the kernel images.
Depending on the type of image you are running, the root filesystem you need differs.
For example, if you are developing an application that runs on an image that
supports Sato, you need to get root filesystem that supports Sato.
</para></listitem>
<listitem><para><emphasis>Create and Build your Application</emphasis>:
At this point, you need to have source files for your application.
Once you have the files, you can use the Eclipse IDE to import them and build the
project.
If you are not using Eclipse, you need to use the cross-development tools you have
installed to create the image.</para></listitem>
<listitem><para><emphasis>Deploy the Image with the Application</emphasis>:
If you are using the Eclipse IDE, you can deploy your image to the hardware or to
QEMU through the project's preferences.
If you are not using the Eclipse IDE, then you need to deploy the application using
other methods to the hardware.
Or, if you are using QEMU, you need to use that tool and load your image in for testing.
</para></listitem>
<listitem><para><emphasis>Test and Debug the Application</emphasis>:
Once your application is deployed, you need to test it.
Within the Eclipse IDE, you can use the debubbing environment along with the
set of user-space tools installed along with the ADT to debug your application.
Of course, the same user-space tools are available separately to use if you choose
not to use the Eclipse IDE.</para></listitem>
</orderedlist>
</para>
</section>
<section id='workflow-without-adt'>
<title>Workflow Without ADT</title>
<para>
If you want to develop an application outside of the Yocto Project ADT environment, you
can still employ the cross-development toolchain, the QEMU emulator, and a number of supported
target image files.
You just need to follow these general steps:
<orderedlist>
<listitem><para><emphasis>Install the cross-development toolchain for your target hardware:</emphasis>
For information on how to install the toolchain, see the
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>Download the Target Image:</emphasis> The Yocto Project supports
several target architectures and has many pre-built kernel images and root filesystem
images.</para>
<para>If you are going to develop your application on hardware, go to the
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> download area and choose a target machine area
from which to download the kernel image and root filesystem.
This download area could have several files in it that support development using
actual hardware.
For example, the area might contain <filename>.hddimg</filename> files that combine the
kernel image with the filesystem, boot loaders, etc.
Be sure to get the files you need for your particular development process.</para>
<para>If you are going to develop your application and then run and test it using the QEMU
emulator, go to the
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> download area.
From this area, go down into the directory for your target architecture
(e.g. <filename>qemux86_64</filename> for an
<trademark class='registered'>Intel</trademark>-based 64-bit architecture).
Download kernel, root filesystem, and any other files you need for your process.
<note>In order to use the root filesystem in QEMU, you need to extract it.
See the
"<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
root filesystem.</note></para></listitem>
<listitem><para><emphasis>Develop and Test your Application:</emphasis> At this point,
you have the tools to develop your application.
If you need to separately install and use the QEMU emulator, you can go to
<ulink url='http://www.qemu.org'>QEMU Home Page</ulink> to download and learn about the
emulator.</para></listitem>
</orderedlist>
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-start'>
@@ -7,93 +8,235 @@
<para>
This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
You can find enough information to set your development host up and build or use images for
hardware supported by the Yocto Project by reading the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'>
Yocto Project Quick Start</ulink> located on the <ulink url='http://www.yoctoproject.org'>
Yocto Project website</ulink>.
You can find enough information to set up your development host and build or use images for
hardware supported by the Yocto Project by reading
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>.
</para>
<para>
The remainder of this chapter summarizes what is in the Yocto Project Quick Start and provides
some higher level concepts you might want to consider.
some higher-level concepts you might want to consider.
</para>
<section id='introducing-the-yocto-project'>
<title>Introducing the Yocto Project</title>
<para>
The Yocto Project is an open-source collaboration project focused on embedded Linux developers.
The project provides a recent Linux kernel along with a set of system commands, libraries,
and system components suitable for the embedded developer.
The Yocto Project also features the Sato reference User Interface should you be dealing with
devices with restricted screens.
The Yocto Project is an open-source collaboration project focused on embedded Linux development.
The project currently provides a build system, which is sometimes referred to as "Poky",
and provides various ancillary tools suitable for the embedded developer.
The Yocto Project also features the Sato reference User Interface, which is optimized for
stylus driven, low-resolution screens.
</para>
<para>
You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux
images and user-space applications for architectures based on ARM, MIPS, PowerPC, x86 and x86-64.
You can perform target-level testing and debugging as well as test in a hardware emulated environment.
And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to
You can use the Yocto Project build system, which uses
<ulink url='http://bitbake.berlios.de/manual/'>BitBake</ulink>, to develop complete Linux
images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
x86 and x86-64.
While the Yocto Project does not provide a strict testing framework,
it does provide or generate for you artifacts that let you perform target-level and
emulated testing and debugging.
Additionally, if you are an <trademark class='trade'>Eclipse</trademark>
IDE user, you can install an Eclipse Yocto Plug-in to allow you to
develop within that familiar environment.
</para>
</section>
<section id='getting-setup'>
<title>Getting Setup</title>
<title>Getting Set Up</title>
<para>
Here is what you need to get set up to use the Yocto Project:
<itemizedlist>
<listitem><para><emphasis>Host System:</emphasis> You need a recent release of Fedora,
OpenSUSE, Debian, or Ubuntu.
You should have a reasonably current Linux-based host system.
You should also have about 100 gigabytes of free disk space if you plan on building
images.</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> Depending on your host system (Debian-based or RPM-based),
you need certain packages.
See the <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'>
The Packages</ulink> section in the Yocto Project Quick start for the exact package
requirements.</para></listitem>
<listitem><para><emphasis>Yocto Project Release:</emphasis> You need a release of the Yocto Project.
You can get set up for this one of two ways depending on whether you are going to be contributing
back into the Yocto Project source repository or not.
<listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
Linux-based host system.
You will have the best results with a recent release of Fedora,
OpenSUSE, or Ubuntu as these releases are frequently tested against the Yocto Project
and officially supported.
You should also have about 100 gigabytes of free disk space for building images.
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7).
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section in the Yocto Project Quick start for the exact package
requirements and the installation commands to install them
for the supported distributions.</para></listitem>
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
You need a release of the Yocto Project.
You can get set up with local Yocto Project files one of two ways depending on whether you
are going to be contributing back into the Yocto Project source repository or not.
<note>
Regardless of the method you use, this manual refers to the resulting
hierarchical set of files as "the Yocto Project files" or "the Yocto Project file
structure."
</note>
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
back into the Yocto Project you can simply download the Yocto Project release you want
from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.
If you are interested in supported Board Support Packages (BSPs) you can also download
these release tarballs from the same site and locate them in a directory of your
choice.</para></listitem>
<listitem><para><emphasis>Git Method:</emphasis> If you are going to be contributing
back into the Yocto Project you should probably use Git commands to set up a local
Git repository of the Yocto Project.
Doing so creates a history of changes you might make and allows you to easily submit
changes upstream to the project.
For an example of how to set up your own local Git repository of Yocto Project,
see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which covers checking out the Yocto sources.</para></listitem>
back into the Yocto Project, you can simply download the Yocto Project release you want
from the websites <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.</para>
<para>For example, the following command extracts the Yocto Project &DISTRO;
release tarball
into the current working directory and sets up the Yocto Project file structure
with a top-level directory named <filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj &YOCTO_POKY_TARBALL;
</literallayout></para>
<para>This method does not produce a Git repository.
Instead, you simply end up with a local snapshot of the
Yocto Project files that are based on the particular release in the
tarball.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
back into the Yocto Project or you simply want to keep up
with the latest developments, you should use Git commands to set up a local
Git repository of the Yocto Project files.
Doing so creates a Git repository with a complete history of changes and allows
you to easily submit your changes upstream to the project.
Because you cloned the repository, you have access to all the Yocto Project development
branches and tag names used in the upstream repository.</para>
<para>The following transcript shows how to clone the Yocto Project Files'
Git repository into the current working directory.
<note>The name of the Yocto Project Files Git repository in the Yocto Project Files
Source Repositories is <filename>poky</filename>.
You can view the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note>
The command creates the local repository in a directory named <filename>poky</filename>.
For information on Git used within the Yocto Project, see the
"<link linkend='git'>Git</link>" section.
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/
remote: Counting objects: 116882, done.
remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (80651/80651), done. </literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis> The same considerations
exist for BSPs.
You can get set up for BSP development one of two ways:
<listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis>
If you are going to be making modifications to a supported Linux Yocto kernel, you
need to establish local copies of the source.
You can find Git repositories of supported Linux Yocto Kernels organized under
"Yocto Linux Kernel" in the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>This setup involves creating a bare clone of the Linux Yocto kernel and then
copying that cloned repository.
You can create the bare clone and the copy of the bare clone anywhere you like.
For simplicity, it is recommended that you create these structures outside of the
Yocto Project files' Git repository.</para>
<para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.0-1.1.x</filename> kernel and then create a copy of
that clone.
<note>When you have a local Linux Yocto kernel Git repository, you can
reference that repository rather than the upstream Git repository as
part of the <filename>clone</filename> command.
Doing so can speed up the process.</note></para>
<para>In the following example, the bare clone is named
<filename>linux-yocto-3.0-1.1.x.git</filename>, while the
copy is named <filename>my-linux-yocto-3.0-1.1.x-work</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0-1.1.x linux-yocto-3.0-1.1.x.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0-1.1.x.git/
remote: Counting objects: 2259181, done.
remote: Compressing objects: 100% (373259/373259), done.
remote: Total 2259181 (delta 1892638), reused 2231556 (delta 1865300)
Receiving objects: 100% (2259181/2259181), 482.44 MiB | 580 KiB/s, done.
Resolving deltas: 100% (1892638/1892638), done.
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.0-1.1.x.git my-linux-yocto-3.0-1.1.x-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.0-1.1.x/.git/
Checking out files: 100% (36898/36898), done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
The <filename>poky-extras</filename> Git repository contains metadata needed
only if you are modifying and building the kernel image.
In particular, it contains the kernel BitBake append (<filename>.bbappend</filename>)
files that you
edit to point to your locally modified kernel source files and to build the kernel
image.
Pointing to these local files is much more efficient than requiring a download of the
source files from upstream each time you make changes to the kernel.</para>
<para>You can find the <filename>poky-extras</filename> Git Repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
It is good practice to create this Git repository inside the Yocto Project
files Git repository.</para>
<para>Following is an example that creates the <filename>poky-extras</filename> Git
repository inside the Yocto Project files Git repository, which is named
<filename>poky</filename> in this case:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
remote: Counting objects: 561, done.
remote: Compressing objects: 100% (501/501), done.
remote: Total 561 (delta 159), reused 306 (delta 39)
Receiving objects: 100% (561/561), 519.96 KiB | 479 KiB/s, done.
Resolving deltas: 100% (159/159), done.
</literallayout></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis>
Similar considerations exist for BSPs.
You can get set up for BSP development one of two ways: tarball extraction or
with a local Git repository.
It is a good idea to use the same method used to set up the Yocto Project Files.
Regardless of the method you use, the Yocto Project uses the following BSP layer
naming scheme:
<literallayout class='monospaced'>
meta-&lt;BSP_name&gt;
</literallayout>
where &lt;BSP_name&gt; is the recognized BSP name.
Here are some examples:
<literallayout class='monospaced'>
meta-crownbay
meta-emenlow
meta-n450
</literallayout>
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same
<ulink url='http://yoctoproject.org/download'>download site</ulink>.
Once you have the tarball just extract it into a directory of your choice.</para></listitem>
<listitem><para><emphasis>Git Method:</emphasis> For an example of how to integrate
the metadata for BSPs into your local Yocto Project Git repository see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which covers how to check out the meta-intel repository.</para></listitem>
<ulink url='&YOCTO_HOME_URL;/download'>download site</ulink> used
to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form
of a hierarchical directory structure.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
with a Yocto Project Files Git repository, you should also use this method
to set up the <filename>meta-intel</filename> Git repository.
You can locate the <filename>meta-intel</filename> Git repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
the Yocto Project Files Git repository.
For example, the following transcript shows the steps to clone the
<filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-intel.git
Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
remote: Counting objects: 3279, done.
remote: Compressing objects: 100% (2708/2708), done.
remote: Total 3279 (delta 1761), reused 194 (delta 105)
Receiving objects: 100% (3279/3279), 1.75 MiB | 377 KiB/s, done.
Resolving deltas: 100% (1761/1761), done.
</literallayout></para>
<para>The same
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing using the
Eclipse Integrated Development Environment (IDE) you will need this plug-in.
<listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
applications using the Eclipse Integrated Development Environment (IDE),
you will need this plug-in.
See the
<ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>
Setting up the Eclipse IDE</ulink> section in the Yocto Application Development Toolkit (ADT)
"<ulink url='&YOCTO_DOCS_ADT_URL;#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem>
</itemizedlist>
</para>
@@ -105,8 +248,8 @@
<para>
The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#building-image'>
Building an Image</ulink> section in the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section in the Yocto Project Quick Start.
</para>
<para>
@@ -116,13 +259,22 @@
previous section.</para></listitem>
<listitem><para>Initialize the build environment by sourcing a build environment
script.</para></listitem>
<listitem><para>Make sure the <filename>conf/local.conf</filename> configuration file is set
up how you want it.
This file defines the target machine architecture and and other build configurations.</para></listitem>
<listitem><para>Build the image using the BitBake command.
If you want information on Bitbake, see the user manual at
<ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem>
<listitem><para>Optionally, you can run the image in the QEMU emulator.</para></listitem>
<listitem><para>Optionally ensure the <filename>/conf/local.conf</filename> configuration file,
which is found in the Yocto Project build directory,
is set up how you want it.
This file defines many aspects of the build environment including
the target machine architecture through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable,
the development machine's processor use through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</ulink></filename> and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
a centralized tarball download directory through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'>DL_DIR</ulink></filename> variable.</para></listitem>
<listitem><para>Build the image using the <filename>bitbake</filename> command.
If you want information on BitBake, see the user manual at
<ulink url='&OE_DOCS_URL;/bitbake/html'></ulink>.</para></listitem>
<listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem>
</orderedlist>
</para>
</section>
@@ -131,18 +283,38 @@
<title>Using Pre-Built Binaries and QEMU</title>
<para>
Another option you have to get started is to use a pre-built binary.
This scenario is ideal for developing software applications to run on your target hardware.
To do this you need to install the stand-alone Yocto toolchain tarball and then download the
pre-built kernel that you will boot using the QEMU emulator.
Next, you must download the filesystem for your target machines architecture.
Finally, you set up the environment to emulate the hardware then start the emulator.
Another option you have to get started is to use pre-built binaries.
The Yocto Project provides many types of binaries with each release.
See the <ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>
section for descriptions of the types of binaries that ship with a Yocto Project
release.
</para>
<para>
Using a pre-built binary is ideal for developing software applications to run on your
target hardware.
To do this, you need to be able to access the appropriate cross-toolchain tarball for
the architecture on which you are developing.
If you are using an SDK type image, the image ships with the complete toolchain native to
the architecture.
If you are not using an SDK type image, you need to separately download and
install the stand-alone Yocto Project cross-toolchain tarball.
</para>
<para>
Regardless of the type of image you are using, you need to download the pre-built kernel
that you will boot in the QEMU emulator and then download and extract the target root
filesystem for your target machines architecture.
You can get architecture-specific binaries and filesystem from
<ulink url='&YOCTO_MACHINES_DL_URL;'>machines</ulink>.
You can get stand-alone toolchains from
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'>toolchains</ulink>.
Once you have all your files, you set up the environment to emulate the hardware
by sourcing an environment setup script.
Finally, you start the QEMU emulator.
You can find details on all these steps in the
<ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#using-pre-built'>
Using Pre-Built Binaries and QEMU</ulink> section in the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section of the Yocto Project Quick Start.
</para>
</section>
</chapter>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='dev-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -12,7 +13,7 @@
<imagedata fileref='figures/dev-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</imageobject>
</mediaobject>
<title></title>
@@ -30,22 +31,42 @@
<revhistory>
<revision>
<revnumber>1.1</revnumber>
<date>TBD 2011</date>
<revremark>This revision is the initial document draft and corresponds with
the Yocto Project 1.1 Release.</revremark>
<date>6 October 2011</date>
<revremark>The initial document released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.1</revnumber>
<date>15 March 2012</date>
<revremark>Released with the Yocto Project 1.1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.2</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">
Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by
Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='&YOCTO_DOCS_DEV_URL;'>
The Yocto Project Development Manual</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
</bookinfo>
@@ -58,12 +79,9 @@
<xi:include href="dev-manual-model.xml"/>
<xi:include href="dev-manual-cases.xml"/>
<xi:include href="dev-manual-bsp-appendix.xml"/>
<!-- <index id='index'>
<title>Index</title>
</index>
-->
<xi:include href="dev-manual-kernel-appendix.xml"/>
</book>
<!--

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

View File

@@ -654,7 +654,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +662,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +946,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,11 +958,26 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-concepts'>
@@ -44,14 +45,16 @@
management techniques.</para></listitem>
<listitem><para>Deliver the most up-to-date kernel possible while still ensuring that
the baseline kernel is the most stable official release.</para></listitem>
<listitem><para>Include major technological features as part of Yocto Project's up-rev
strategy.</para></listitem>
<listitem><para>Present a Git tree, that just like the upstream kernel.org tree, has a
clear and continuous history.</para></listitem>
<listitem><para>Include major technological features as part of Yocto Project's
upward revision strategy.</para></listitem>
<listitem><para>Present a kernel Git repository that, similar to the upstream
<filename>kernel.org</filename> tree,
has a clear and continuous history.</para></listitem>
<listitem><para>Deliver a key set of supported kernel types, where each type is tailored
to a specific use case (i.e. networking, consumer, devices, and so forth).</para></listitem>
<listitem><para>Employ a Git branching strategy that from a customer's point of view
results in a linear path from the baseline kernel.org, through a select group of features and
to meet a specific use (e.g. networking, consumer, devices, and so forth).</para></listitem>
<listitem><para>Employ a Git branching strategy that, from a developer's point of view,
results in a linear path from the baseline <filename>kernel.org</filename>,
through a select group of features and
ends with their BSP-specific commits.</para></listitem>
</itemizedlist>
</para>
@@ -60,27 +63,29 @@
<section id='kernel-big-picture'>
<title>Yocto Project Kernel Development and Maintenance Overview</title>
<para>
Yocto Project kernel, like other kernels, is based off the Linux kernel release
The Yocto Project kernel, like other kernels, is based off the Linux kernel release
from <ulink url='http://www.kernel.org'></ulink>.
At the beginning of our major development cycle, we choose our Yocto Project kernel
based on factors like release timing, the anticipated release timing of "final" (i.e. non "rc")
upstream kernel.org versions, and Yocto Project feature requirements.
Typically this will be a kernel that is in the
final stages of development by the community (i.e. still in the release
candidate or "rc" phase) and not yet a final release.
But by being in the final stages of external development, we know that the
kernel.org final release will clearly land within the early stages of
At the beginning of a major development cycle, the Yocto Project team
chooses its Yocto Project kernel
based on factors like release timing, the anticipated release timing of final
upstream <filename>kernel.org</filename> versions, and Yocto Project feature requirements.
Typically, the kernel chosen is in the
final stages of development by the community.
In other words, the kernel is in the release
candidate or "rc" phase and not yet a final release.
But, by being in the final stages of external development, the team knows that the
<filename>kernel.org</filename> final release will clearly be within the early stages of
the Yocto Project development window.
</para>
<para>
This balance allows us to deliver the most up-to-date kernel
as possible, while still ensuring that we have a stable official release as
our baseline kernel version.
This balance allows the team to deliver the most up-to-date kernel
as possible, while still ensuring that the team has a stable official release for
the baseline kernel version.
</para>
<para>
The ultimate source for the Yocto Project kernel is a released kernel
from kernel.org.
In addition to a foundational kernel from kernel.org the released
from <filename>kernel.org</filename>.
In addition to a foundational kernel from <filename>kernel.org</filename>, the released
Yocto Project kernel contains a mix of important new mainline
developments, non-mainline developments (when there is no alternative),
Board Support Package (BSP) developments,
@@ -88,37 +93,21 @@
These additions result in a commercially released Yocto Project kernel that caters
to specific embedded designer needs for targeted hardware.
</para>
<!-- <para>
The following figure represents the overall place the Yocto Project kernel fills.
</para>
<para>
<imagedata fileref="figures/kernel-big-picture.png" width="6in" depth="6in" align="center" scale="100" />
</para>
<para>
In the figure the ultimate source for the Yocto Project kernel is a released kernel
from kernel.org.
In addition to a foundational kernel from kernel.org the commercially released
Yocto Project kernel contains a mix of important new mainline
developments, non-mainline developments, Board Support Package (BSP) developments,
and custom features.
These additions result in a commercially released Yocto Project kernel that caters
to specific embedded designer needs for targeted hardware.
</para> -->
<para>
Once a Yocto Project kernel is officially released the Yocto Project team goes into
their next development cycle, or "uprev" cycle while continuing maintenance on the
released kernel.
Once a Yocto Project kernel is officially released, the Yocto Project team goes into
their next development cycle, or upward revision (uprev) cycle, while still
continuing maintenance on the released kernel.
It is important to note that the most sustainable and stable way
to include feature development upstream is through a kernel uprev process.
Back-porting of hundreds of individual fixes and minor features from various
kernel versions is not sustainable and can easily compromise quality.
Back-porting hundreds of individual fixes and minor features from various
kernel versions is not sustainable and can easily compromise quality.
</para>
<para>
During the uprev cycle, the Yocto Project team uses an ongoing analysis of
kernel development, BSP support, and release timing to select the best
possible kernel.org version.
possible <filename>kernel.org</filename> version.
The team continually monitors community kernel
development to look for significant features of interest.
<!-- The illustration depicts this by showing the team looking back to kernel.org for new features,
BSP features, and significant bug fixes. -->
The team does consider back-porting large features if they have a significant advantage.
User or community demand can also trigger a back-port or creation of new
functionality in the Yocto Project baseline kernel during the uprev cycle.
@@ -130,7 +119,7 @@
It is the Yocto Project team's policy to not back-port minor features to the released kernel.
They only consider back-porting significant technological jumps - and, that is done
after a complete gap analysis.
The reason for this policy is that simply back-porting any small to medium sized change
The reason for this policy is that back-porting any small to medium sized change
from an evolving kernel can easily create mismatches, incompatibilities and very
subtle errors.
</para>
@@ -160,21 +149,26 @@
<section id='architecture-overview'>
<title>Overview</title>
<para>
As mentioned earlier, a key goal of Yocto Project is to present the developer with
As mentioned earlier, a key goal of the Yocto Project is to present the
developer with
a kernel that has a clear and continuous history that is visible to the user.
The architecture and mechanisms used achieve that goal in a manner similar to the
upstream kernel.org.
upstream <filename>kernel.org</filename>.
</para>
<para>
You can think of the Yocto Project kernel as consisting of a baseline kernel with
added features logically structured on top of the baseline.
The features are tagged and organized by way of a branching strategy implemented by the
source code manager (SCM) Git.
source code manager (SCM) Git.
For information on Git as applied to the Yocto Project, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>" section in the
Yocto Project Development Manual.
</para>
<para>
The result is that the user has the ability to see the added features and
the commits that make up those features.
In addition to being able to see added features, the user can also view the history of what
made up the baseline kernel as well.
made up the baseline kernel.
</para>
<para>
The following illustration shows the conceptual Yocto Project kernel.
@@ -183,18 +177,20 @@
<imagedata fileref="figures/kernel-architecture-overview.png" width="6in" depth="7in" align="center" scale="100" />
</para>
<para>
In the illustration, the "kernel.org Branch Point" marks the specific spot (or release) from
which the Yocto Project kernel is created. From this point "up" in the tree features and
differences are organized and tagged.
In the illustration, the "Kernel.org Branch Point"
marks the specific spot (or release) from
which the Yocto Project kernel is created.
From this point "up" in the tree, features and differences are organized and tagged.
</para>
<para>
The "Yocto Project Baseline Kernel" contains functionality that is common to every kernel
type and BSP that is organized further up the tree. Placing these common features in the
type and BSP that is organized further up the tree.
Placing these common features in the
tree this way means features don't have to be duplicated along individual branches of the
structure.
</para>
<para>
From the Yocto Project Baseline Kernel branch points represent specific functionality
From the Yocto Project Baseline Kernel, branch points represent specific functionality
for individual BSPs as well as real-time kernels.
The illustration represents this through three BSP-specific branches and a real-time
kernel branch.
@@ -209,8 +205,9 @@
kernel as they apply to a given BSP.
</para>
<para>
The resulting tree structure presents a clear path of markers (or branches) to the user
that for all practical purposes is the kernel needed for any given set of requirements.
The resulting tree structure presents a clear path of markers (or branches) to the
developer that, for all practical purposes, is the kernel needed for any given set
of requirements.
</para>
</section>
@@ -221,50 +218,52 @@
no longer shared and thus, needs to be isolated.
For example, board-specific incompatibilities would require different functionality
and would require a branch to separate the features.
Likewise, for specific kernel features the same branching strategy is used.
Likewise, for specific kernel features, the same branching strategy is used.
</para>
<para>
This branching strategy results in a tree that has features organized to be specific
for particular functionality, single kernel types, or a subset of kernel types.
This strategy results in not having to store the same feature twice internally in the
tree.
Rather we store the unique differences required to apply the feature onto the kernel type
in question.
This strategy also results in not having to store the same feature twice
internally in the tree.
Rather, the kernel team stores the unique differences required to apply the
feature onto the kernel type in question.
<note>
The Yocto Project team strives to place features in the tree such that they can be
shared by all boards and kernel types where possible.
However, during development cycles or when large features are merged,
the team cannot always follow this practice.
In those cases, the team uses isolated branches to merge features.
</note>
</para>
<note><para>
The Yocto Project team strives to place features in the tree such that they can be
shared by all boards and kernel types where possible.
However, during development cycles or when large features are merged this practice
cannot always be followed.
In those cases isolated branches are used for feature merging.
</para></note>
<para>
BSP-specific code additions are handled in a similar manner to kernel-specific additions.
Some BSPs only make sense given certain kernel types.
So, for these types, we create branches off the end of that kernel type for all
So, for these types, the team creates branches off the end of that kernel type for all
of the BSPs that are supported on that kernel type.
From the perspective of the tools that create the BSP branch, the BSP is really no
different than a feature.
Consequently, the same branching strategy applies to BSPs as it does to features.
So again, rather than store the BSP twice, only the unique differences for the BSP across
the supported multiple kernels are uniquely stored.
So again, rather than store the BSP twice, the team only stores the unique
differences for the BSP across the supported multiple kernels.
</para>
<para>
While this strategy can result in a tree with a significant number of branches, it is
important to realize that from the user's point of view, there is a linear
path that travels from the baseline kernel.org, through a select group of features and
ends with their BSP-specific commits.
important to realize that from the developer's point of view, there is a linear
path that travels from the baseline <filename>kernel.org</filename>, through a select
group of features and ends with their BSP-specific commits.
In other words, the divisions of the kernel are transparent and are not relevant
to the developer on a day-to-day basis.
From the user's perspective, this is the "master" branch.
They do not need not be aware of the existence of any other branches at all.
Of course there is value in the existence of these branches
From the developer's perspective, this path is the "master" branch.
The developer does not need not be aware of the existence of any other branches at all.
Of course, there is value in the existence of these branches
in the tree, should a person decide to explore them.
For example, a comparison between two BSPs at either the commit level or at the line-by-line
code diff level is now a trivial operation.
code <filename>diff</filename> level is now a trivial operation.
</para>
<para>
Working with the kernel as a structured tree follows recognized community best practices.
In particular, the kernel as shipped with the product should be
considered an 'upstream source' and viewed as a series of
In particular, the kernel as shipped with the product, should be
considered an "upstream source" and viewed as a series of
historical and documented modifications (commits).
These modifications represent the development and stabilization done
by the Yocto Project kernel development team.
@@ -273,7 +272,7 @@
Because commits only change at significant release points in the product life cycle,
developers can work on a branch created
from the last relevant commit in the shipped Yocto Project kernel.
As mentioned previously, the structure is transparent to the user
As mentioned previously, the structure is transparent to the developer
because the kernel tree is left in this state after cloning and building the kernel.
</para>
</section>
@@ -281,20 +280,25 @@
<section id='source-code-manager-git'>
<title>Source Code Manager - Git</title>
<para>
The Source Code Manager (SCM) is Git and it is the obvious mechanism for meeting the
previously mentioned goals.
Not only is it the SCM for kernel.org but Git continues to grow in popularity and
supports many different work flows, front-ends and management techniques.
The Source Code Manager (SCM) is Git.
This SCM is the obvious mechanism for meeting the previously mentioned goals.
Not only is it the SCM for <filename>kernel.org</filename> but,
Git continues to grow in popularity and supports many different work flows,
front-ends and management techniques.
</para>
<para>
You can find documentation on Git at <ulink url='http://git-scm.com/documentation'></ulink>.
Also, the Yocto Project Development manual has an introduction to Git and describes a
minimal set of commands that allow you to be functional with Git.
You can also get an introduction to Git as it applies to the Yocto Project in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>"
section in the Yocto Project Development Manual.
These referenced sections overview Git and describe a minimal set of
commands that allow you to be functional using Git.
<note>
You can use as much, or as little, of what Git has to offer to accomplish what
you need for your project.
You do not have to be a "Git Master" in order to use it with the Yocto Project.
</note>
</para>
<note><para>
It should be noted that you can use as much, or as little, of what Git has to offer
as is appropriate to your project.
</para></note>
</section>
</section>
@@ -307,17 +311,19 @@
present a simplified view of the kernel for ease of use.
</para>
<para>
The fundamental properties of the tools that manage and construct the
Yocto Project kernel are:
Fundamentally, the kernel tools that manage and construct the
Yocto Project kernel accomplish the following:
<itemizedlist>
<listitem><para>Group patches into named, reusable features.</para></listitem>
<listitem><para>Allow top down control of included features.</para></listitem>
<listitem><para>Bind kernel configuration to kernel patches and features.</para></listitem>
<listitem><para>Allow top-down control of included features.</para></listitem>
<listitem><para>Bind kernel configurations to kernel patches and features.</para></listitem>
<listitem><para>Present a seamless Git repository that blends Yocto Project value
with the kernel.org history and development.</para></listitem>
with the <filename>kernel.org</filename> history and development.</para></listitem>
</itemizedlist>
</para>
<!--<para>
WRITER NOTE: Put this in for post 1.1 if possible:
The tools that construct a kernel tree will be discussed later in this
document. The following tools form the foundation of the Yocto Project
kernel toolkit:
@@ -330,11 +336,6 @@ kernel toolkit:
</itemizedlist>
</para> -->
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-doc-intro'>
@@ -11,7 +12,7 @@
The Yocto Project presents the kernel as a fully patched, history-clean Git
repository.
The Git tree represents the selected features, board support,
and configurations extensively tested by Yocto Project.
and configurations extensively tested by the Yocto Project.
The Yocto Project kernel allows the end user to leverage community
best practices to seamlessly manage the development, build and debug cycles.
</para>
@@ -20,28 +21,47 @@
on its history, organization, benefits, and use.
The manual consists of two sections:
<itemizedlist>
<listitem><para>Concepts - Describes concepts behind the kernel.
<listitem><para><emphasis>Concepts:</emphasis> Describes concepts behind the kernel.
You will understand how the kernel is organized and why it is organized in
the way it is. You will understand the benefits of the kernel's organization
and the mechanisms used to work with the kernel and how to apply it in your
design process.</para></listitem>
<listitem><para>Using the Kernel - Describes best practices and "how-to" information
that lets you put the kernel to practical use. Some examples are "How to Build a
Project Specific Tree", "How to Examine Changes in a Branch", and "Saving Kernel
Modifications."</para></listitem>
<listitem><para><emphasis>Using the Kernel:</emphasis> Describes best practices
and "how-to" information
that lets you put the kernel to practical use.
Some examples are how to examine changes in a branch and how to
save kernel modifications.</para></listitem>
</itemizedlist>
</para>
<para>
For more information on the kernel, see the following links:
For more information on the Linux kernel, see the following links:
<itemizedlist>
<listitem><para><ulink url='http://ldn.linuxfoundation.org/book/1-a-guide-kernel-development-process'></ulink></para></listitem>
<listitem><para><ulink url='http://userweb.kernel.org/~akpm/stuff/tpp.txt'></ulink></para></listitem>
<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>
<listitem><para>The Linux Foundation's guide for kernel development
process - <ulink url='http://ldn.linuxfoundation.org/book/1-a-guide-kernel-development-process'></ulink></para></listitem>
<!-- <listitem><para><ulink url='http://userweb.kernel.org/~akpm/stuff/tpp.txt'></ulink></para></listitem> -->
<listitem><para>A fairly emcompassing guide on Linux kernel development -
<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>
For more discussion on the Yocto Project kernel, you can see these sections
in <ulink url='&YOCTO_DOCS_DEV_URL;'>The Yocto Project Development Manual</ulink>:
<itemizedlist>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-overview'>Kernel Overview</ulink>"</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-kernel-appendix'>Kernel Modification Example</ulink>"</para></listitem>
</itemizedlist>
</para>
<para>
For general information on the Yocto Project, visit the website at
<ulink url='&YOCTO_HOME_URL;'></ulink>.
</para>
</section>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='kernel-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -31,23 +32,37 @@
<revision>
<revnumber>0.9</revnumber>
<date>24 November 2010</date>
<revremark>This revision is the initial document draft and corresponds with
the Yocto Project 0.9 Release.</revremark>
<revremark>The initial document draft released with the Yocto Project 0.9 Release.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>This revision corresponds with the Yocto Project 1.0 Release.</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.1</revnumber>
<date>15 March 2012</date>
<revremark>Released with the Yocto Project 1.1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.2</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -56,6 +71,14 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
</bookinfo>

View File

@@ -654,7 +654,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +662,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +946,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,11 +958,26 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
DESCRIPTION = "GNU Helloworld application"
SECTION = "examples"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=adefda309052235aa5d1e99ce7557010"
SRC_URI = "${GNU_MIRROR}/hello/hello-${PV}.tar.bz2"

View File

@@ -1,6 +1,7 @@
DESCRIPTION = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "file://helloworld.c"

View File

@@ -2,6 +2,7 @@ require xorg-lib-common.inc
DESCRIPTION = "X11 Pixmap library"
LICENSE = "X-BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=3e07763d16963c3af12db271a31abaa5"
DEPENDS += "libxext"
PR = "r2"
PE = "1"

View File

@@ -3,6 +3,8 @@ SECTION = "base"
DEPENDS = "zlib"
HOMEPAGE = "http://www.linux-mtd.infradead.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c"
SRC_URI = "ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-${PV}.tar.gz"

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='faq'>
<title>FAQ</title>
@@ -7,29 +8,25 @@
<qandaentry>
<question>
<para>
How does Poky differ from <ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>?
How does Poky differ from <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>?
</para>
</question>
<answer>
<para>
Poky is a derivative of <ulink
url='http://www.openembedded.org/'>OpenEmbedded</ulink>, a stable,
smaller subset focused on the GNOME Mobile environment. Development
in Poky is closely tied to OpenEmbedded with features being merged
regularly between the two for mutual benefit.
Poky is the Yocto Project build system that was derived from <ulink
url='&OE_HOME_URL;'>OpenEmbedded</ulink>.
Poky is a stable, smaller subset focused on the mobile environment.
Development in the Yocto Project using Poky is closely tied to OpenEmbedded with
features being merged regularly between the two for mutual benefit.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7.
Can I still use Poky?
Can I still use the Yocto Project?
</para>
</question>
<answer>
@@ -37,8 +34,8 @@
You can use a stand-alone tarball to provide Python 2.6.
You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations:
<itemizedlist>
<listitem><para><ulink url='http://autobuilder.yoctoproject.org/downloads/miscsupport/yocto-1.0-python-nativesdk/python-nativesdk-standalone-i686.tar.bz2'>32-bit tarball</ulink></para></listitem>
<listitem><para><ulink url='http://autobuilder.yoctoproject.org/downloads/miscsupport/yocto-1.0-python-nativesdk/python-nativesdk-standalone-x86_64.tar.bz2'>64-bit tarball</ulink></para></listitem>
<listitem><para><ulink url='&YOCTO_PYTHON-i686_DL_URL;'>32-bit tarball</ulink></para></listitem>
<listitem><para><ulink url='&YOCTO_PYTHON-x86_64_DL_URL;'>64-bit tarball</ulink></para></listitem>
</itemizedlist>
</para>
<para>
@@ -57,10 +54,6 @@
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -70,216 +63,221 @@
<answer>
<para>
There are three areas that help with stability;
<itemizedlist>
<listitem>
<para>
We keep Poky small and focused - around 650 packages compared to over 5000 for full OE
</para>
</listitem>
<listitem>
<para>
We only support hardware that we have access to for testing
</para>
</listitem>
<listitem>
<para>
We have an autobuilder which provides continuous build and integration tests
</para>
</listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I get support for my board added to Poky?
</para>
</question>
<answer>
<para>
There are two main ways to get a board supported in Poky;
<itemizedlist>
<listitem>
<para>
Send us the board if we don't have it yet
</para>
</listitem>
<listitem>
<para>
Send us BitBake recipes if you have them (see the Poky handbook to find out how to create recipes)
</para>
</listitem>
</itemizedlist>
Usually if it's not a completely exotic board then adding support in Poky should be fairly straightforward.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Are there any products running poky ?
</para>
</question>
<answer>
<para>
The <ulink url='http://vernier.com/labquest/'>Vernier Labquest</ulink> is using Poky (for more about the Labquest see the case study at OpenedHand). There are a number of pre-production devices using Poky and we will announce those as soon as they are released.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
What is the Poky output ?
</para>
</question>
<answer>
<para>
The output of a Poky build will depend on how it was started, as the same set of recipes can be used to output various formats. Usually the output is a flashable image ready for the target device.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I add my package to Poky?
</para>
</question>
<answer>
<para>
To add a package you need to create a BitBake recipe - see the Poky handbook to find out how to create a recipe.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Do I have to reflash my entire board with a new poky image when recompiling a package?
</para>
</question>
<answer>
<para>
Poky can build packages in various formats, ipk (for ipkg/opkg), Debian package (.deb), or RPM. The packages can then be upgraded using the package tools on the device, much like on a desktop distribution like Ubuntu or Fedora.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
What is GNOME Mobile? What's the difference between GNOME Mobile and GNOME?
</para>
</question>
<answer>
<para>
<ulink url='http://www.gnome.org/mobile/'>GNOME Mobile</ulink> is a subset of the GNOME platform targeted at mobile and embedded devices. The the main difference between GNOME Mobile and standard GNOME is that desktop-orientated libraries have been removed, along with deprecated libraries, creating a much smaller footprint.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. What's wrong?
</para>
</question>
<answer>
<para>
You're probably running the build on an NTFS filesystem. Use a sane one like ext2/3/4 instead!
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I make Poky work in RHEL/CentOS?
</para>
</question>
<answer>
<para>
To get Poky working under RHEL/CentOS 5.1 you need to first install some required packages. The standard CentOS packages needed are:
<itemizedlist>
<listitem>
<para>
"Development tools" (selected during installation)
</para>
</listitem>
<listitem>
<para>
texi2html
</para>
</listitem>
<listitem>
<para>
compat-gcc-34
</para>
</listitem>
<listitem><para>The Yocto Project team keeps Poky small and focused.
It contains around 650 packages as compared to over 5000 for full
OpenEmbedded.</para></listitem>
<listitem><para>The Yocto Project only supports hardware that the
team has access to for testing.</para></listitem>
<listitem><para>The Yocto Project uses an an autobuilder,
which provides continuous build and integration tests.</para></listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I get support for my board added to the Yocto Project?
</para>
</question>
<answer>
<para>
There are two main ways to get a board supported in the Yocto Project;
<itemizedlist>
<listitem><para>Send the Yocto Project team information on the board
and if the team does not have it yet they will consider adding it.</para></listitem>
<listitem><para>Send the Yocto Project team the BitBake recipes if you have them.
</para></listitem>
</itemizedlist>
Usually, if the board is not completely exotic, adding support in
the Yocto Project is fairly straightforward.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Are there any products using Poky?
</para>
</question>
<answer>
<para>
The <ulink url='http://vernier.com/labquest/'>Vernier LabQuest</ulink> is using
the Yocto Project build system Poky.
See the <ulink url='http://www.vernier.com/products/interfaces/labq/'>Vernier LabQuest</ulink>
for more information.
There are a number of pre-production devices using Poky and the Yocto Project team
announces them as soon as they are released.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
What does the Yocto Project build system Poky produce as output?
</para>
</question>
<answer>
<para>
Because the same set of recipes can be used to create output of various formats, the
output of a Yocto Project build depends on how it was started.
Usually, the output is a flashable image ready for the target device.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I add my package to the Yocto Project?
</para>
</question>
<answer>
<para>
To add a package, you need to create a BitBake recipe.
For information on how to add a package, see the
"<link linkend='usingpoky-extend-addpkg'>Adding a Package</link>" section
earlier in this manual.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Do I have to reflash my entire board with a new Yocto Project image when recompiling
a package?
</para>
</question>
<answer>
<para>
The Yocto Project can build packages in various formats such as
<filename>ipk</filename> for <filename>ipkg</filename>/<filename>opkg</filename>,
Debian package (<filename>.deb</filename>), or RPM.
The packages can then be upgraded using the package tools on the device, much like
on a desktop distribution such as Ubuntu or Fedora.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME?
</para>
</question>
<answer>
<para>
GNOME Mobile is a subset of the <ulink url='http://www.gnome.org'>GNOME</ulink>
platform targeted at mobile and embedded devices.
The the main difference between GNOME Mobile and standard GNOME is that
desktop-orientated libraries have been removed, along with deprecated libraries,
creating a much smaller footprint.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I see the error '<filename>chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x</filename>'.
What is wrong?
</para>
</question>
<answer>
<para>
You are probably running the build on an NTFS filesystem.
Use <filename>ext2</filename>, <filename>ext3</filename>, or <filename>ext4</filename> instead.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How do I make the Yocto Project work in RHEL/CentOS?
</para>
</question>
<answer>
<para>
To get the Yocto Project working under RHEL/CentOS 5.1 you need to first
install some required packages.
The standard CentOS packages needed are:
<itemizedlist>
<listitem><para>"Development tools" (selected during installation)</para></listitem>
<listitem><para><filename>texi2html</filename></para></listitem>
<listitem><para><filename>compat-gcc-34</filename></para></listitem>
</itemizedlist>
On top of these, you need the following external packages:
<itemizedlist>
<listitem><para><filename>python-sqlite2</filename> from
<ulink url='http://dag.wieers.com/rpm/packages/python-sqlite2/'>DAG repository</ulink>
</para></listitem>
<listitem><para><filename>help2man</filename> from
<ulink url='http://centos.karan.org/el5/extras/testing/i386/RPMS/help2man-1.33.1-2.noarch.rpm'>Karan repository</ulink></para></listitem>
</itemizedlist>
</para>
<para>
On top of those the following external packages are needed:
<itemizedlist>
<listitem>
<para>
python-sqlite2 from <ulink
url='http://dag.wieers.com/rpm/packages/python-sqlite2/'>DAG
repository</ulink>
</para>
</listitem>
<listitem>
<para>
help2man from <ulink
url='http://centos.karan.org/el5/extras/testing/i386/RPMS/help2man-1.33.1-2.noarch.rpm'>Karan
repository</ulink>
</para>
</listitem>
</itemizedlist>
</para>
<para>
Once these packages are installed Poky will be able to build standard images however there
may be a problem with QEMU segfaulting. You can either disable the generation of binary
locales by setting <glossterm><link linkend='var-ENABLE_BINARY_LOCALE_GENERATION'>ENABLE_BINARY_LOCALE_GENERATION</link>
</glossterm> to "0" or remove the linux-2.6-execshield.patch from the kernel and rebuild
it since its that patch which causes the problems with QEMU.
Once these packages are installed, the Yocto Project will be able to build standard
images.
However, there might be a problem with the QEMU emulator segfaulting.
You can either disable the generation of binary locales by setting
<filename><link linkend='var-ENABLE_BINARY_LOCALE_GENERATION'>ENABLE_BINARY_LOCALE_GENERATION</link>
</filename> to "0" or by removing the <filename>linux-2.6-execshield.patch</filename>
from the kernel and rebuilding it since that is the patch that causes the problems with QEMU.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I see lots of 404 responses for files on
http://autobuilder.yoctoproject.org/sources/*. Is something wrong?
<filename>http://www.yoctoproject.org/sources/*</filename>. Is something wrong?
</para>
</question>
<answer>
<para>
Nothing is wrong, Poky will check any configured source mirrors before downloading
from the upstream sources. It does this searching for both source archives and
pre-checked out versions of SCM managed software. This is so in large installations,
it can reduce load on the SCM servers themselves. The address above is one of the
default mirrors configured into standard Poky so if an upstream source disappears,
we can place sources there so builds continue to work.
Nothing is wrong.
The Yocto Project checks any configured source mirrors before downloading
from the upstream sources.
The Yocto Project does this searching for both source archives and
pre-checked out versions of SCM managed software.
These checks help in large installations because it can reduce load on the SCM servers
themselves.
The address above is one of the default mirrors configured into the
Yocto Project.
Consequently, if an upstream source disappears, the team
can place sources there so builds continue to work.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I have a machine specific data in a package for one machine only but the package is
being marked as machine specific in all cases, how do I stop it?
I have machine-specific data in a package for one machine only but the package is
being marked as machine-specific in all cases, how do I prevent this?
</para>
</question>
<answer>
<para>
Set <glossterm><link linkend='var-SRC_URI_OVERRIDES_PACKAGE_ARCH'>SRC_URI_OVERRIDES_PACKAGE_ARCH</link>
</glossterm> = "0" in the .bb file but make sure the package is manually marked as
machine specific in the case that needs it. The code which handles <glossterm><link
linkend='var-SRC_URI_OVERRIDES_PACKAGE_ARCH'>SRC_URI_OVERRIDES_PACKAGE_ARCH</link></glossterm>
is in base.bbclass.
Set <filename><link linkend='var-SRC_URI_OVERRIDES_PACKAGE_ARCH'>SRC_URI_OVERRIDES_PACKAGE_ARCH</link>
</filename> = "0" in the <filename>.bb</filename> file but make sure the package is
manually marked as
machine-specific in the case that needs it.
The code that handles
<filename><link linkend='var-SRC_URI_OVERRIDES_PACKAGE_ARCH'>
SRC_URI_OVERRIDES_PACKAGE_ARCH</link></filename> is in <filename>base.bbclass</filename>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -288,42 +286,60 @@
</question>
<answer>
<para>
Most source fetching by Poky is done by wget and you therefore need to specify the proxy
settings in a .wgetrc file in your home directory. Example settings in that file would be
'http_proxy = http://proxy.yoyodyne.com:18023/' and 'ftp_proxy = http://proxy.yoyodyne.com:18023/'.
Poky also includes a site.conf.sample file which shows how to configure cvs and git proxy servers
Most source fetching by the Yocto Project is done by <filename>wget</filename>
and you therefore need to specify the proxy settings in a
<filename>.wgetrc</filename> file in your home directory.
Example settings in that file would be
<literallayout class='monospaced'>
http_proxy = http://proxy.yoyodyne.com:18023/
ftp_proxy = http://proxy.yoyodyne.com:18023/
</literallayout>
The Yocto Project also includes a <filename>site.conf.sample</filename>
file that shows how to configure CVS and Git proxy servers
if needed.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I'm using Ubuntu Intrepid and am seeing build failures. Whats wrong?
I'm using Ubuntu Intrepid and am seeing build failures. Whats wrong?
</para>
</question>
<answer>
<para>
In Intrepid, Ubuntu turned on by default normally optional compile-time security features
and warnings. There are more details at <ulink
url='https://wiki.ubuntu.com/CompilerFlags'>https://wiki.ubuntu.com/CompilerFlags</ulink>.
You can work around this problem by disabling those options by adding " -Wno-format-security -U_FORTIFY_SOURCE"
to the BUILD_CPPFLAGS variable in conf/bitbake.conf.
In Intrepid, Ubuntu turns on by default the normally optional compile-time security features
and warnings.
There are more details at
<ulink url='https://wiki.ubuntu.com/CompilerFlags'>https://wiki.ubuntu.com/CompilerFlags</ulink>.
You can work around this problem by disabling those options by adding
the following to the <filename>BUILD_CPPFLAGS</filename> variable in the
<filename>conf/bitbake.conf</filename> file.
<literallayout class='monospaced'>
" -Wno-format-security -U_FORTIFY_SOURCE"
</literallayout>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Whats the difference between foo and foo-native?
Whats the difference between <filename>foo</filename> and <filename>foo-native</filename>?
</para>
</question>
<answer>
<para>
The *-native targets are designed to run on the system the build is running on. These are usually tools that are needed to assist the build in some way such as quilt-native which is used to apply patches. The non-native version is the one that would run on the target device.
The <filename>*-native</filename> targets are designed to run on the system
being used for the build.
These are usually tools that are needed to assist the build in some way such as
<filename>quilt-native</filename>, which is used to apply patches.
The non-native version is the one that runs on the target device.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -332,10 +348,17 @@
</question>
<answer>
<para>
If the same build is failing in totally different and random ways the most likely explanation is that either the hardware you're running it on has some problem or if you are running it under virtualisation, the virtualisation probably has bugs. Poky processes a massive amount of data causing lots of network, disk and cpu activity and is sensitive to even single bit failure in any of these areas. Totally random failures have always been traced back to hardware or virtualisation issues.
If the same build is failing in totally different and random ways,
the most likely explanation is that either the hardware you're running the
build on has some problem, or, if you are running the build under virtualisation,
the virtualisation probably has bugs.
The Yocto Project processes a massive amount of data causing lots of network, disk and
CPU activity and is sensitive to even single bit failures in any of these areas.
True random failures have always been traced back to hardware or virtualisation issues.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -344,7 +367,13 @@
</question>
<answer>
<para>
This is a difficult question and you need to consult your lawyer for the answer for your specific case. Its worth bearing in mind that for GPL compliance there needs to be enough information shipped to allow someone else to rebuild the same end result as you are shipping. This means sharing the source code, any patches applied to it but also any configuration information about how that package was configured and built.
This is a difficult question and you need to consult your lawyer for the answer
for your specific case.
It is worth bearing in mind that for GPL compliance there needs to be enough
information shipped to allow someone else to rebuild the same end result
you are shipping.
This means sharing the source code, any patches applied to it, and also any
configuration information about how that package was configured and built.
</para>
</answer>
</qandaentry>
@@ -357,9 +386,9 @@
</question>
<answer>
<para>
You need to create a form factor file as described in
<xref linkend='bsp-filelayout-misc-recipes'>"Miscellaneous Recipe Files"</xref>
and set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to one.
You need to create a form factor file as described in the
"<link linkend='bsp-filelayout-misc-recipes'>Miscellaneous Recipe Files</link>"
section and set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to one as follows:
<literallayout class='monospaced'>
HAVE_TOUCHSCREEN=1
</literallayout>
@@ -377,10 +406,10 @@
<para>
The default interfaces file provided by the netbase recipe does not
automatically bring up network interfaces.
Therefore you will need to add a BSP-specific netbase that includes an interfaces
Therefore, you will need to add a BSP-specific netbase that includes an interfaces
file.
See <xref linkend='bsp-filelayout-misc-recipes'>"Miscellaneous Recipe Files"</xref>
for information on creating these types of miscellaneous recipe files.
See the "<link linkend='bsp-filelayout-misc-recipes'>Miscellaneous Recipe Files</link>"
section for information on creating these types of miscellaneous recipe files.
</para>
<para>
For example, add the following files to your layer:
@@ -401,7 +430,7 @@
<answer>
<para>
Images are created to be 1.2 times the size of the populated root filesystem.
To modify this ratio so that there is more free space available you need to
To modify this ratio so that there is more free space available, you need to
set the configuration value <filename>IMAGE_OVERHEAD_FACTOR</filename>.
For example, setting <filename>IMAGE_OVERHEAD_FACTOR</filename> to 1.5 sets
the image size ratio to one and a half times the size of the populated
@@ -421,9 +450,10 @@
</question>
<answer>
<para>
We have tried to do this before but too many of the tools we depend on such as autoconf
The Yocto Project team has tried to do this before but too many of the tools
the Yocto Project depends on such as <filename>autoconf</filename>
break when they find spaces in pathnames.
Until that situation changes we will not support spaces in pathnames.
Until that situation changes, the team will not support spaces in pathnames.
</para>
</answer>
</qandaentry>
@@ -437,17 +467,18 @@
<answer>
<para>
The toolchain configuration is very flexible and customizable.
It is primarily controlled with the TCMODE variable.
It is primarily controlled with the
<filename><link linkend='var-TCMODE'>TCMODE</link></filename> variable.
This variable controls which file to include
(<filename>conf/distro/include/tcmode-*.inc</filename>).
</para>
<para>
The default value of TCMODE is "default".
The default value of <filename>TCMODE</filename> is "default".
However, other patterns are accepted.
In particular, "external-*" refers to external toolchains of which there are some basic examples
included with the core.
A user can use their own custom toolchain definition in their own layer
(or <filename>local.conf</filename> directory) at the location
(or as defined in the <filename>local.conf</filename> file) at the location
<filename>conf/distro/include/tcmode-*.inc</filename>.
</para>
<para>
@@ -461,29 +492,27 @@
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
How does Poky obtain source code and will it work behind my firewall or proxy server?
<para id='how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>
How does the Yocto Project build system obtain source code and will it work behind my
firewall or proxy server?
</para>
</question>
<answer>
<para>
The way Poky obtains source code is highly configurable.
You can setup Poky to get source code in most environmnents if
The way the Yocto Project obtains source code is highly configurable.
You can setup the Yocto Project to get source code in most environments if
HTTP transport is available.
</para>
<para>
When Poky searches for source code it first tries the local download directory.
When the build system searches for source code, it first tries the local download directory.
If that location fails, Poky tries PREMIRRORS, the upstream source,
and then MIRRORS in that order.
</para>
<para>
By default, Poky uses the Yocto Project source PREMIRRORS for SCM-based sources,
upstreams for normal tarballs and then falls back to a number of other mirrors
upstreams for normal tarballs, and then falls back to a number of other mirrors
including the Yocto Project source mirror if those fail.
</para>
<para>
@@ -492,16 +521,16 @@
configuration file:
<literallayout class='monospaced'>
PREMIRRORS_prepend = "\
git://.*/.* http://autobuilder.yoctoproject.org/sources/ \n \
ftp://.*/.* http://autobuilder.yoctoproject.org/sources/ \n \
http://.*/.* http://autobuilder.yoctoproject.org/sources/ \n \
https://.*/.* http://autobuilder.yoctoproject.org/sources/ \n"
git://.*/.* http://www.yoctoproject.org/sources/ \n \
ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
http://.*/.* http://www.yoctoproject.org/sources/ \n \
https://.*/.* http://www.yoctoproject.org/sources/ \n"
</literallayout>
</para>
<para>
These changes cause Poky to intercept GIT, FTP, HTTP, and HTTPS
These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS
requests and direct them to the <filename>http://</filename> sources mirror.
You can use <filename>file://</filename> urls to point to local directories
You can use <filename>file://</filename> URLs to point to local directories
or network shares as well.
</para>
<para>
@@ -509,8 +538,6 @@
<literallayout class='monospaced'>
BB_NO_NETWORK = "1"
</literallayout>
</para>
<para>
This statement tells BitBake to throw an error instead of trying to access the
Internet.
This technique is useful if you want to ensure code builds only from local sources.
@@ -520,8 +547,6 @@
<literallayout class='monospaced'>
BB_FETCH_PREMIRRORONLY = "1"
</literallayout>
</para>
<para>
This statement limits Poky to pulling source from the PREMIRRORS only.
Again, this technique is useful for reproducing builds.
</para>
@@ -530,8 +555,6 @@
<literallayout class='monospaced'>
BB_GENERATE_MIRROR_TARBALLS = "1"
</literallayout>
</para>
<para>
This statement tells Poky to generate mirror tarballs.
This technique is useful if you want to create a mirror server.
If not, however, the technique can simply waste time during the build.
@@ -539,30 +562,25 @@
<para>
Finally, consider an example where you are behind an HTTP-only firewall.
You could make the following changes to the <filename>local.conf</filename>
configuration file as long as the premirror server is up to date:
configuration file as long as the PREMIRROR server is up to date:
<literallayout class='monospaced'>
PREMIRRORS_prepend = "\
ftp://.*/.* http://autobuilder.yoctoproject.org/sources/ \n \
http://.*/.* http://autobuilder.yoctoproject.org/sources/ \n \
https://.*/.* http://autobuilder.yoctoproject.org/sources/ \n"
ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
http://.*/.* http://www.yoctoproject.org/sources/ \n \
https://.*/.* http://www.yoctoproject.org/sources/ \n"
BB_FETCH_PREMIRRORONLY = "1"
</literallayout>
</para>
<para>
These changes would cause Poky to successfully fetch source over HTTP and
any network accesses to anything other than the premirror would fail.
any network accesses to anything other than the PREMIRROR would fail.
</para>
<para>
Poky also honors the standard environment variables
Poky also honors the standard shell environment variables
<filename>http_proxy</filename>, <filename>ftp_proxy</filename>,
<filename>https_proxy</filename>, and <filename>all_proxy</filename>
to redirect requests through proxy servers.
</para>
</answer>
</qandaentry>
</qandaset>
</appendix>
<!--

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,170 +1,142 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='intro'>
<title>Introduction</title>
<section id='intro-welcome'>
<title>Welcome to Poky!</title>
<title>Introduction</title>
<para>
Poky is the build tool in the Yocto Project.
The Yocto Project uses Poky to build images (kernel, system, and application software) for
targeted hardware.
</para>
<para>
Before diving into Poky, it helps to have an understanding of the Yocto Project.
Especially useful for newcomers is the information in the Yocto Project Quick Start, which
you can find on the <ulink url="http://www.yoctoproject.org">Yocto Project website</ulink>.
Specifically, the guide is
at <ulink url="http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html"/>.
</para>
</section>
<section id='what-is-poky'>
<title>What is Poky?</title>
<para>
Within the Yocto Project, Poky provides an open source, full-platform build tool based on
Linux, X11, Matchbox, GTK+, Pimlico, Clutter,
and other <ulink url='http://gnome.org/mobile'>GNOME Mobile</ulink> technologies.
It provides a focused and stable subset of OpenEmbedded upon which you can easily and
reliably build and develop.
Poky fully supports a wide range of x86, ARM, MIPS and PowerPC hardware and device virtualization.
</para>
<para>
Poky is primarily a platform builder that generates filesystem images
based on open source software such as the Kdrive X server, the Matchbox
window manager, the GTK+ toolkit and the D-Bus message bus system. While images
for many kinds of devices can be generated, the standard example
machines target QEMU full-system emulation (x86, ARM, MIPS and PowerPC) and
real reference boards for each of these architectures.
Poky's ability to boot inside a QEMU
emulator makes it particularly suitable as a test platform for developing embedded software.
</para>
<para>
An important component integrated within Poky is Sato, a GNOME Mobile-based
user interface environment.
It is designed to work well with screens that use very high DPI and have restricted
sizes, such as those often found on smartphones and PDAs.
Because Sato is coded for speed and efficiency, it works smoothly on hand-held and
other embedded hardware.
It sits nicely on top of any device that uses the GNOME Mobile stack and it results in
a well-defined user experience.
</para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="figures/ss-sato.png" format="PNG" align='center' scalefit='1' width="100%" contentdepth="100%"/>
</imageobject>
<caption>
<para>The Sato Desktop - A screenshot from a machine running a Poky built image</para>
</caption>
</mediaobject>
</screenshot>
<para>
Poky has a growing open source community and is also backed up by commercial organizations
including Intel&reg; Corporation.
This manual provides reference information for the current release of the Yocto Project.
The Yocto Project is an open-source collaboration project focused on embedded Linux
developers.
Amongst other things, the Yocto Project uses the Poky build tool to
construct complete Linux images.
You can find complete introductory and getting started information on the Yocto Project
by reading the
<ulink url='&YOCTO_DOCS_QS_URL;'>
Yocto Project Quick Start</ulink>.
For task-based information using the Yocto Project, see
<ulink url='&YOCTO_DOCS_DEV_URL;'>
The Yocto Project Development Manual</ulink>.
You can also find lots of information on the Yocto Project on the
<ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>.
</para>
</section>
<section id='intro-manualoverview'>
<title>Documentation Overview</title>
<para>
The sections in this reference manual describe different aspects of Poky.
The <link linkend='usingpoky'>'Using Poky'</link> section provides an overview of the components
that make up Poky followed by information about using Poky and debugging images created in
the Yocto Project.
The <link linkend='extendpoky'>'Extending Poky'</link> and
<link linkend='bsp'>'Board Support Packages'</link> sections provide information
about how to extend and customize Poky along with advice on how to manage these changes.
The <link linkend='platdev'>'Platform Development with Poky'</link> section provides information about
interaction between Poky and target hardware for common platform development tasks such as software
development, debugging and profiling.
The rest of the manual consists of several reference sections, each providing details on a specific
area of Poky functionality.
</para>
<para>
This manual applies to Poky Release 5.0 (Bernard).
This reference manual consists of the following:
<itemizedlist>
<listitem><para><emphasis>
<link linkend='usingpoky'>Using the Yocto Project</link>:</emphasis> This chapter
provides an overview of the components that make up the Yocto Project
followed by information about debugging images created in the Yocto Project.
</para></listitem>
<listitem><para><emphasis>
<link linkend='extendpoky'>Extending the Yocto Project</link>:</emphasis> This chapter
provides information about how to extend and customize the Yocto Project
along with advice on how to manage these changes.</para></listitem>
<listitem><para><emphasis>
<link linkend='technical-details'>Technical Details</link>:</emphasis>
This chapter describes fundamental Yocto Project components as well as an explanation
behind how the Yocto Project uses shared state (sstate) cache to speed build time.
</para></listitem>
<listitem><para><emphasis>
<link linkend='bsp'>Board Support Packages (BSP) - Developer's Guide</link>:</emphasis>
This chapter describes the example filesystem layout for BSP development and
the click-through licensing scheme.</para></listitem>
<listitem><para><emphasis>
<link linkend='platdev'>Platform Development With the Yocto Project</link>:</emphasis>
This chapter describes application development, debugging, and profiling using
the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-structure'>Reference: Directory Structure</link>:</emphasis>
This appendix describes the directory structure of the Yocto Project files.
The Yocto Project files represent the file structure or Git repository created
as a result of setting up the Yocto Project on your host development system.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-bitbake'>Reference: BitBake</link>:</emphasis>
This appendix provides an overview of the BitBake tool and its role within
the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-classes'>Reference: Classes</link>:</emphasis>
This appendix describes the classes used in the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-images'>Reference: Images</link>:</emphasis>
This appendix describes the standard images that the Yocto Project supports.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-features'>Reference: Features</link>:</emphasis>
This appendix describes mechanisms for creating distribution, machine, and image
features during the build process using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-variables-glos'>Reference: Variables Glossary</link>:</emphasis>
This appendix presents most Yocto Project variables.
Entries describe the function of the variable and how to apply them.
</para></listitem>
<listitem><para><emphasis>
<link linkend='ref-varlocality'>Reference: Variable Context</link>:</emphasis>
This appendix provides variable locality or context.</para></listitem>
<listitem><para><emphasis>
<link linkend='faq'>Reference: FAQ</link>:</emphasis>
This appendix provides answers for commonly asked questions in the Yocto Project
development environment.</para></listitem>
<listitem><para><emphasis>
<link linkend='resources'>Reference: Contributing to the Yocto Project</link>:</emphasis>
This appendix provides guidance on how you can contribute back to the Yocto
Project.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='intro-requirements'>
<title>System Requirements</title>
<title>System Requirements</title>
<para>
Although we recommend Debian-based distributions
(Ubuntu 10.04 or newer) as the host system for Poky, nothing in Poky is
distribution-specific. Consequently, other distributions should work as long
as the appropriate prerequisites are installed. For example, we know of Poky being used
successfully on Redhat, SUSE, Gentoo and Slackware host systems.
For information on what you need to develop images using Yocto Project and Poky,
you should see the Yocto Project Quick Start on the <ulink url="http://www.yoctoproject.org">
Yocto Project website</ulink>.
The direct link to the quick start is
<ulink url='http://yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html'/>.
For Yocto Project system requirements, see the
<ulink url='&YOCTO_DOCS_QS_URL;#resources'>
What You Need and How You Get It</ulink> section in the Yocto Project Quick Start.
</para>
</section>
<section id='intro-getit'>
<title>Obtaining Poky</title>
<section id='intro-getit-releases'>
<title>Releases</title>
<para>Periodically, we make releases of Poky available
at <ulink url='http://yoctoproject.org/downloads/poky/'/>.
These releases are more stable and more rigorously tested than the nightly development images.
</para>
</section>
<section id='intro-getit-nightly'>
<title>Nightly Builds</title>
<para>
We make nightly builds of Poky for testing purposes and to make the
latest developments available. The output from these builds is available
at <ulink url='http://autobuilder.yoctoproject.org/'/>.
The numbers used in the builds increase for each subsequent build and can be used to
reference a specific build.
</para>
<para>
Automated builds are available for "standard" Poky and for Poky SDKs and toolchains.
Additionally, testing versions such as poky-bleeding can be made available as
'experimental' builds.
The toolchains can
be used either as external standalone toolchains or can be combined with Poky as a
pre-built toolchain to reduce build time. Using the external toolchains is simply a
case of untarring the tarball into the root of your system (it only creates files in
<filename>/opt/poky</filename>) and then enabling the option
in <filename>local.conf</filename>.
</para>
</section>
<section id='intro-getit-dev'>
<title>Development Checkouts</title>
<para>
Poky is available from our git repository located at
git://git.yoctoproject.org/poky.git; a web interface to the repository
can be accessed at <ulink url='http://git.yoctoproject.org/'/>.
</para>
<para>
The 'master' is where the development work takes place and you should use this if you're
interested in working with the latest cutting-edge developments. It is possible for the trunk
to suffer temporary periods of instability while new features are developed.
If these periods of instability are undesirable, we recommend using one of the release branches.
</para>
</section>
<title>Obtaining the Yocto Project</title>
<para>
The Yocto Project development team makes the Yocto Project available through a number
of methods:
<itemizedlist>
<listitem><para><emphasis>Releases:</emphasis> Stable, tested releases are available through
<ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
<listitem><para><emphasis>Nightly Builds:</emphasis> These releases are available at
<ulink url='http://autobuilder.yoctoproject.org/nightly'/>.
These builds include Yocto Project releases, meta-toolchain tarballs, and
experimental builds.</para></listitem>
<listitem><para><emphasis>Yocto Project Website:</emphasis> You can find releases
of the Yocto Project and supported BSPs at the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
Along with these downloads, you can find lots of other information at this site.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='intro-getit-dev'>
<title>Development Checkouts</title>
<para>
Development using the Yocto Project requires a local copy of the Yocto Project files.
You can get these files by downloading a Yocto Project release tarball and unpacking it,
or by establishing a Git repository of the files.
For information on both these methods, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Setup</ulink>"
section in The Yocto Project Development Manual.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -1,117 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
]>
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
x="0px" y="0px" width="300px" height="300px" viewBox="-40.981 -92.592 300 300" enable-background="new -40.981 -92.592 300 300"
xml:space="preserve">
<defs>
</defs>
<path fill="#6AC7BD" d="M48.96,48.476v0.003h0.001v-0.061C48.962,48.438,48.96,48.457,48.96,48.476z"/>
<g opacity="0.65">
<g>
<path fill="#EF412A" d="M24.482,23.998v-0.003C10.961,23.994,0,34.955,0,48.476l0.001,0.003v0.003
C0.003,62.001,10.962,72.96,24.482,72.96l0,0H0v24.482h0.003c13.52-0.002,24.479-10.962,24.479-24.481h0.003
C38.005,72.959,48.963,62,48.963,48.479v-0.003C48.962,34.957,38.001,23.998,24.482,23.998z M24.482,50.928
c-1.352,0-2.448-1.096-2.448-2.448s1.096-2.448,2.448-2.448s2.448,1.096,2.448,2.448S25.834,50.928,24.482,50.928z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#A9C542" d="M119.96,48.842c0.064-1.294,1.126-2.326,2.437-2.326c1.31,0,2.371,1.032,2.436,2.327
c12.378-1.223,22.046-11.662,22.046-24.36h-24.482C122.396,10.961,111.435,0,97.915,0v24.485
C97.917,37.183,107.584,47.619,119.96,48.842z M124.833,49.084c-0.064,1.295-1.126,2.327-2.436,2.327h-0.001v22.033h24.482v-0.003
C146.876,60.745,137.208,50.308,124.833,49.084z M119.949,48.963H97.915v24.479h0c12.698,0,23.137-9.668,24.36-22.043
C120.981,51.334,119.949,50.274,119.949,48.963z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#F9C759" d="M168.912,48.967c0-1.311,1.033-2.371,2.328-2.436c-1.222-12.379-11.661-22.049-24.361-22.049v24.481
c0,13.521,10.961,24.481,24.482,24.481v-22.03C170.007,51.415,168.912,50.319,168.912,48.967z M195.841,48.978
c0-0.005,0.001-0.009,0.001-0.014V24.482h-0.004c-12.698,0.002-23.136,9.672-24.356,22.049c1.294,0.064,2.326,1.125,2.326,2.436
s-1.032,2.372-2.327,2.436c1.198,12.187,11.333,21.743,23.763,22.042h-23.883v24.482h0.003
c13.515-0.002,24.47-10.954,24.478-24.467h0.002V48.979L195.841,48.978z M195.832,48.964h0.01v0.014L195.832,48.964z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#6AC7BD" d="M70.994,48.479H48.962v0.002h22.033C70.995,48.481,70.994,48.48,70.994,48.479z M73.44,24.001h-0.003
v22.031c0.002,0,0.003,0,0.005,0c1.352,0,2.448,1.096,2.448,2.448s-1.096,2.448-2.448,2.448c-1.351,0-2.446-1.094-2.448-2.445
H48.958v0.003c0.002,13.519,10.961,24.478,24.479,24.478s24.477-10.959,24.479-24.478v-0.003
C97.916,34.963,86.958,24.003,73.44,24.001z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#EF412A" d="M24.482,23.998v-0.003C10.961,23.994,0,34.955,0,48.476h22.034c0.002-1.351,1.097-2.445,2.448-2.445
c1.352,0,2.448,1.096,2.448,2.448s-1.096,2.448-2.448,2.448v22.01C24.469,59.427,13.514,48.479,0,48.479V72.96h24.481l0,0H0
v24.482h0.003c13.52-0.002,24.479-10.962,24.479-24.481h0.003C38.005,72.959,48.963,62,48.963,48.479v-0.003
C48.962,34.957,38.001,23.998,24.482,23.998z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#A9C542" d="M122.397,46.516c1.31,0,2.371,1.032,2.436,2.327c12.378-1.223,22.046-11.662,22.046-24.36h-24.482
L122.397,46.516L122.397,46.516z M97.915,0v24.482h24.481C122.396,10.961,111.435,0,97.915,0z M122.275,46.528
c-1.223-12.377-11.662-22.046-24.361-22.046v24.482h0v24.479h0c12.698,0,23.137-9.668,24.36-22.043
c-1.294-0.065-2.326-1.125-2.326-2.436C119.949,47.653,120.98,46.593,122.275,46.528z M124.833,49.084
c-0.064,1.295-1.126,2.327-2.436,2.327h-0.001v22.033h24.482v-0.003C146.876,60.745,137.208,50.308,124.833,49.084z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#F9C759" d="M173.795,49.1c-0.071,1.289-1.129,2.315-2.435,2.315c-1.354,0-2.449-1.096-2.449-2.448
c0-1.311,1.033-2.371,2.328-2.436c-1.222-12.379-11.661-22.049-24.361-22.049v24.481c0,13.521,10.961,24.481,24.482,24.481v24.482
h0.003c13.515-0.002,24.47-10.954,24.478-24.467h0.001v-0.016h-0.001C195.833,60.753,186.167,50.322,173.795,49.1z
M195.838,24.482c-12.698,0.002-23.136,9.672-24.356,22.049c1.293,0.064,2.324,1.124,2.326,2.433h22.033v0.015
c0-0.005,0.001-0.01,0.001-0.015V24.482H195.838z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#6AC7BD" d="M71.007,48.347c0.068-1.242,1.055-2.23,2.297-2.301c-0.795-8.026-5.454-14.913-12.103-18.762
C57.601,25.2,53.424,24,48.965,24h-0.003c0,4.46,1.199,8.638,3.283,12.24C56.093,42.891,62.98,47.552,71.007,48.347z
M48.962,48.418c0,0.02-0.001,0.038-0.001,0.058v0.003h0.001V48.418z M70.995,48.482c0-0.001,0-0.001,0-0.002H48.962v0.002H70.995
z M73.44,24.001h-0.003v22.031c0.002,0,0.003,0,0.005,0c1.352,0,2.448,1.096,2.448,2.448s-1.096,2.448-2.448,2.448
c-1.351,0-2.446-1.094-2.448-2.445H48.958v0.003c0.002,13.519,10.961,24.478,24.479,24.478s24.477-10.959,24.479-24.478v-0.003
C97.916,34.963,86.958,24.003,73.44,24.001z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#EF412A" d="M24.482,23.998v-0.003C10.961,23.994,0,34.955,0,48.476h22.034c0.002-1.351,1.097-2.445,2.448-2.445
c1.352,0,2.448,1.096,2.448,2.448s-1.096,2.448-2.448,2.448c-1.311,0-2.372-1.033-2.436-2.327
C9.669,49.824,0.001,60.262,0.001,72.96H0v24.482h0.003c13.52-0.002,24.479-10.962,24.479-24.481h0.003
C38.005,72.959,48.963,62,48.963,48.479v-0.003C48.962,34.957,38.001,23.998,24.482,23.998z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#A9C542" d="M119.949,48.963c0-1.352,1.096-2.448,2.448-2.448c1.31,0,2.371,1.032,2.436,2.327
c12.378-1.223,22.046-11.662,22.046-24.36h-24.482C122.396,10.961,111.435,0,97.915,0v24.482h24.479
c-13.52,0.002-24.478,10.962-24.478,24.481h0v24.479h0c12.698,0,23.137-9.668,24.36-22.043
C120.981,51.334,119.949,50.274,119.949,48.963z M124.833,49.084c-0.064,1.295-1.126,2.327-2.436,2.327h-0.001v22.033h24.482
v-0.003C146.876,60.745,137.208,50.308,124.833,49.084z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#F9C759" d="M195.841,48.979l-0.006-0.015h0.006V48.979c0-0.005,0.001-0.01,0.001-0.015V24.482h-0.004
c-12.698,0.002-23.136,9.672-24.356,22.049c1.294,0.064,2.326,1.125,2.326,2.436c0,1.352-1.096,2.448-2.447,2.448
c-1.354,0-2.449-1.096-2.449-2.448c0-1.311,1.033-2.371,2.328-2.436c-1.222-12.379-11.661-22.049-24.361-22.049v24.481
c0,13.521,10.961,24.481,24.482,24.481v24.482h0.003c13.519-0.002,24.479-10.963,24.479-24.482h-23.884
C185.203,73.126,195.841,62.299,195.841,48.979z"/>
</g>
</g>
<g opacity="0.65">
<g>
<path fill="#6AC7BD" d="M73.44,24.001h-0.003C59.919,24.003,48.96,34.959,48.958,48.476v0.003h0.003v0.002l-0.004,0.001v0.003
c0.002,13.519,10.961,24.478,24.479,24.478s24.477-10.959,24.479-24.478v-0.003C97.916,34.963,86.958,24.003,73.44,24.001z
M73.442,50.928c-1.352,0-2.448-1.096-2.448-2.448s1.096-2.448,2.448-2.448s2.448,1.096,2.448,2.448S74.794,50.928,73.442,50.928z
"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='poky-ref-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -26,7 +27,7 @@
<email>richard.purdie@linuxfoundation.org</email>
</author>
<author>
<!-- <author>
<firstname>Tomas</firstname> <surname>Frydrych</surname>
<affiliation>
<orgname>Intel Corporation</orgname>
@@ -38,29 +39,44 @@
</author>
<author>
<firstname>Dodji</firstname> <surname>Seketeli</surname>
</author>
</author> -->
</authorgroup>
<revhistory>
<revision>
<revnumber>4.0+git</revnumber>
<date>24 November 2010</date>
<revremark>Poky Master Documentation</revremark>
<revremark>Released with the Yocto Project 0.9 Release</revremark>
</revision>
<revision>
<revnumber>5.0+git</revnumber>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>Released with Yocto Project 1.0 (Bernard 5.0).</revremark>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with Yocto Project 1.0.1 on 23 May 2011.</revremark>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.1</revnumber>
<date>15 March 2012</date>
<revremark>Released with the Yocto Project 1.1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1.2</revnumber>
<date>July 2012</date>
<revremark>Released with the Yocto Project 1.1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2007-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -69,6 +85,14 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='&YOCTO_DOCS_REF_URL;'>
The Yocto Project Reference Manual</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
</bookinfo>
@@ -79,6 +103,8 @@
<xi:include href="extendpoky.xml"/>
<xi:include href="technical-details.xml"/>
<xi:include href="../bsp-guide/bsp.xml"/>
<xi:include href="development.xml"/>

View File

@@ -1,28 +1,29 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-bitbake'>
<title>Reference: BitBake</title>
<para>
BitBake is a program written in Python that interprets the metadata that makes up Poky.
At some point, people wonder what actually happens when you enter:
<literallayout class='monospaced'>
BitBake is a program written in Python that interprets the metadata that makes up the Yocto Project.
At some point, developers wonder what actually happens when you enter:
<literallayout class='monospaced'>
$ bitbake core-image-sato
</literallayout>
</literallayout>
</para>
<para>
This appendix provides an overview of what happens behind the scenes from BitBake's perspective.
</para>
<note><para>
<note>
BitBake strives to be a generic "task" executor that is capable of handling complex dependency relationships.
As such, it has no real knowledge of what the tasks being executed actually do.
BitBake just considers a list of tasks with dependencies and handles metadata
that consists of variables in a certain format that get passed to the tasks.
</para></note>
</note>
<section id='ref-bitbake-parsing'>
<title>Parsing</title>
@@ -33,61 +34,64 @@
<para>
The first thing BitBake does is look for the <filename>bitbake.conf</filename> file.
Poky keeps this file in <filename>meta/conf/</filename>.
BitBake finds it by examining the <filename>BBPATH</filename> environment
The Yocto Project keeps this file in the Yocto Project file's <filename>meta/conf/</filename>
directory.
BitBake finds it by examining its <filename>BBPATH</filename> environment
variable and looking for the <filename>meta/conf/</filename>
directory.
</para>
<para>
In Poky, <filename>bitbake.conf</filename> lists other configuration
In the Yocto Project, <filename>bitbake.conf</filename> lists other configuration
files to include from a <filename>conf/</filename>
directory below the directories listed in <filename>BBPATH</filename>.
In general the most important configuration file from a user's perspective
In general, the most important configuration file from a user's perspective
is <filename>local.conf</filename>, which contains a user's customized
settings for Poky.
settings for the Yocto Project build environment.
Other notable configuration files are the distribution
configuration file (set by the <glossterm><link linkend='var-DISTRO'>
DISTRO</link></glossterm> variable) and the machine configuration file
(set by the <glossterm><link linkend='var-MACHINE'>MACHINE</link>
</glossterm> variable).
The DISTRO and MACHINE environment variables are both usually set in
configuration file (set by the
<filename><link linkend='var-DISTRO'>DISTRO</link></filename> variable)
and the machine configuration file
(set by the
<filename><link linkend='var-MACHINE'>MACHINE</link></filename> variable).
The <filename>DISTRO</filename> and <filename>MACHINE</filename> BitBake environment
variables are both usually set in
the <filename>local.conf</filename> file.
Valid distribution
configuration files are available in the <filename>
meta/conf/distro/</filename> directory and valid machine configuration
files in the <filename>meta/conf/machine/</filename>
directory.
configuration files are available in the <filename>meta/conf/distro/</filename> directory
and valid machine configuration
files in the <filename>meta/conf/machine/</filename> directory.
Within the <filename>meta/conf/machine/include/</filename>
directory are various <filename>tune-*.inc</filename> configuration files that provide common
"tuning" settings specific to and shared between particular architectures and machines.
</para>
<para>
After the parsing of the configuration files some standard classes are included.
After the parsing of the configuration files, some standard classes are included.
The <filename>base.bbclass</filename> file is always included.
Other classes that are specified in the configuration using the
<glossterm><link linkend='var-INHERIT'>INHERIT</link></glossterm>
variable are also inculded.
Class files are searched for in a classes subdirectory
<filename><link linkend='var-INHERIT'>INHERIT</link></filename>
variable are also included.
Class files are searched for in a <filename>classes</filename> subdirectory
under the paths in <filename>BBPATH</filename> in the same way as
configuration files.
</para>
<para>
After classes are included, the
variable <glossterm><link linkend='var-BBFILES'>BBFILES</link></glossterm>
After classes are included, the variable
<filename><link linkend='var-BBFILES'>BBFILES</link></filename>
is set, usually in
<filename>local.conf</filename>, and defines the list of places to search for
<filename>.bb</filename> files.
By default, the BBFILES variable specifies the <filename>meta/recipes-*/
</filename> directory within Poky.
Adding extra content to BBFILES is best achieved through the use of BitBake
<link linkend='usingpoky-changes-layers'>"layers"</link>.
By default, the <filename>BBFILES</filename> variable specifies the
<filename>meta/recipes-*/</filename> directory within Poky.
Adding extra content to <filename>BBFILES</filename> is best achieved through the use of
BitBake layers as described in the
"<link linkend='usingpoky-changes-layers'>BitBake Layers</link>" section.
</para>
<para>
BitBake parses each <filename>.bb</filename> file in BBFILES and
BitBake parses each <filename>.bb</filename> file in <filename>BBFILES</filename> and
stores the values of various variables.
In summary, for each <filename>.bb</filename>
file the configuration plus the base class of variables are set, followed
@@ -111,29 +115,30 @@
<para>
Once all the <filename>.bb</filename> files have been
parsed, BitBake starts to build the target (core-image-sato in the previous section's
example) and looks for providers of that target.
parsed, BitBake starts to build the target (<filename>core-image-sato</filename>
in the previous section's example) and looks for providers of that target.
Once a provider is selected, BitBake resolves all the dependencies for
the target.
In the case of "core-image-sato", it would lead to <filename>task-base.bb</filename>,
which in turn leads to packages like <application>Contacts</application>,
<application>Dates</application> and <application>BusyBox</application>.
These packages in turn depend on glibc and the toolchain.
In the case of <filename>core-image-sato</filename>, it would lead to
<filename>task-base.bb</filename>,
which in turn leads to packages like <filename>Contacts</filename>,
<filename>Dates</filename> and <filename>BusyBox</filename>.
These packages in turn depend on <filename>eglibc</filename> and the toolchain.
</para>
<para>
Sometimes a target might have multiple providers.
A common example is "virtual/kernel", which is provided by each kernel package.
Each machine often elects the best kernel provider by using a line similar to the
Each machine often selects the best kernel provider by using a line similar to the
following in the machine configuration file:
</para>
<programlisting>
PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
</programlisting>
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
</literallayout>
<para>
The default <glossterm><link linkend='var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</link></glossterm>
The default <filename><link linkend='var-PREFERRED_PROVIDER'>PREFERRED_PROVIDER</link></filename>
is the provider with the same name as the target.
</para>
@@ -142,17 +147,18 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
that multiple versions might exist.
BitBake defaults to the highest version of a provider.
Version comparisons are made using the same method as Debian.
You can use the <glossterm><link linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></glossterm>
You can use the
<filename><link linkend='var-PREFERRED_VERSION'>PREFERRED_VERSION</link></filename>
variable to specify a particular version (usually in the distro configuration).
You can influence the order by using the
<glossterm><link linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm>
<filename><link linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></filename>
variable.
By default, files have a preference of "0".
Setting the DEFAULT_PREFERENCE to "-1" makes the package unlikely to be used unless it is
explicitly referenced.
Setting the DEFAULT_PREFERENCE to "1" makes it likely the package is used.
PREFERRED_VERSION overrides any DEFAULT_PREFERENCE setting.
DEFAULT_PREFERENCE is often used to mark newer and more experimental package
Setting the <filename>DEFAULT_PREFERENCE</filename> to "-1" makes the
package unlikely to be used unless it is explicitly referenced.
Setting the <filename>DEFAULT_PREFERENCE</filename> to "1" makes it likely the package is used.
<filename>PREFERRED_VERSION</filename> overrides any <filename>DEFAULT_PREFERENCE</filename> setting.
<filename>DEFAULT_PREFERENCE</filename> is often used to mark newer and more experimental package
versions until they have undergone sufficient testing to be considered stable.
</para>
@@ -165,8 +171,10 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
<title>Dependencies</title>
<para>
Each target BitBake builds consists of multiple tasks such as fetch, unpack, patch, configure,
and compile.
Each target BitBake builds consists of multiple tasks such as
<filename>fetch</filename>, <filename>unpack</filename>,
<filename>patch</filename>, <filename>configure</filename>,
and <filename>compile</filename>.
For best performance on multi-core systems, BitBake considers each task as an independent
entity with its own set of dependencies.
</para>
@@ -175,12 +183,11 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
Dependencies are defined through several variables.
You can find information about variables BitBake uses in the
<ulink url='http://bitbake.berlios.de/manual/'>BitBake manual</ulink>.
At a basic level it is sufficient to know that BitBake uses the
<glossterm><link linkend='var-DEPENDS'>DEPENDS</link></glossterm> and
<glossterm><link linkend='var-RDEPENDS'>RDEPENDS</link></glossterm> variables when
At a basic level, it is sufficient to know that BitBake uses the
<filename><link linkend='var-DEPENDS'>DEPENDS</link></filename> and
<filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename> variables when
calculating dependencies.
</para>
</section>
<section id='ref-bitbake-tasklist'>
@@ -191,39 +198,48 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
BitBake can now calculate exactly what tasks it needs to run and in what
order it needs to run them.
The build now starts with BitBake forking off threads up to the limit set in the
<glossterm><link linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link></glossterm> variable.
<filename><link linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link></filename> variable.
BitBake continues to fork threads as long as there are tasks ready to run,
those tasks have all their dependencies met, and the thread threshold has not been
exceeded.
</para>
<para>
It is worth noting that you can greatly speed up the build time by properly setting
the <filename>BB_NUMBER_THREADS</filename> variable.
See the
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section in the Yocto Project Quick Start for more information.
</para>
<para>
As each task completes, a timestamp is written to the directory specified by the
<glossterm><link linkend='var-STAMPS'>STAMPS</link></glossterm> variable (usually
<filename><link linkend='var-STAMPS'>STAMPS</link></filename> variable (usually
<filename>build/tmp/stamps/*/</filename>).
On subsequent runs, BitBake looks at the STAMPS directory and does not rerun
On subsequent runs, BitBake looks at the <filename>/build/tmp/stamps</filename>
directory and does not rerun
tasks that are already completed unless a timestamp is found to be invalid.
Currently, invalid timestamps are only considered on a per
<filename>.bb</filename> file basis.
So, for example, if the configure stamp has a timestamp greater than the
compile timestamp for a given target then the compile task would rerun.
compile timestamp for a given target, then the compile task would rerun.
Running the compile task again, however, has no effect on other providers
that depend on that target.
This behavior could change or become configurable in future versions of BitBake.
</para>
<note><para>
<note>
Some tasks are marked as "nostamp" tasks.
No timestamp file is created when these tasks are run.
Consequently, "nostamp" tasks are always rerun.
</para></note>
</note>
</section>
<section id='ref-bitbake-runtask'>
<title>Running a Task</title>
<para>
Tasks can either be a shell task or a python task.
Tasks can either be a shell task or a Python task.
For shell tasks, BitBake writes a shell script to
<filename>${WORKDIR}/temp/run.do_taskname.pid</filename> and then executes the script.
The generated shell script contains all the exported variables, and the shell functions
@@ -244,14 +260,56 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
<para>
Once all the tasks have been completed BitBake exits.
</para>
</section>
<para>
When running a task, BitBake tightly controls the execution environment
of the build tasks to make sure unwanted contamination from the build machine
cannot influence the build.
Consequently, if you do want something to get passed into the build
task's environment, you must take a few steps:
<orderedlist>
<listitem><para>Tell BitBake to load what you want from the environment
into the data store.
You can do so through the <filename>BB_ENV_WHITELIST</filename>
variable.
For example, assume you want to prevent the build system from
accessing your <filename>$HOME/.ccache</filename> directory.
The following command tells BitBake to load
<filename>CCACHE_DIR</filename> from the environment into the data
store:
<literallayout class='monospaced'>
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR"
</literallayout></para></listitem>
<listitem><para>Tell BitBake to export what you have loaded into the
environment store to the task environment of every running task.
Loading something from the environment into the data store
(previous step) only makes it available in the datastore.
To export it to the task environment of every running task,
use a command similar to the following in your
<filename>local.conf</filename> or distro configuration file:
<literallayout class='monospaced'>
export CCACHE_DIR
</literallayout></para></listitem>
</orderedlist>
</para>
<note>
A side effect of the previous steps is that BitBake records the variable
as a dependency of the build process in things like the shared state
checksums.
If doing so results in unnecessary rebuilds of tasks, you can whitelist the
variable so that the shared state code ignores the dependency when it creates
checksums.
For information on this process, see the <filename>BB_HASHBASE_WHITELIST</filename>
example in the "<link linkend='checksums'>Checksums (Signatures)</link>" section.
</note>
</section>
<section id='ref-bitbake-commandline'>
<title>BitBake Command Line</title>
<para>
Following is the BitBake manpage:
Following is the BitBake help output:
</para>
<screen>
@@ -268,7 +326,8 @@ Options:
-h, --help show this help message and exit
-b BUILDFILE, --buildfile=BUILDFILE
execute the task against this .bb file, rather than a
package from BBFILES.
package from BBFILES. Does not handle any
dependencies.
-k, --continue continue as much as possible after an error. While the
target that failed, and those that depend on it,
cannot be remade, the other dependencies of these
@@ -276,8 +335,6 @@ Options:
-a, --tryaltconfigs continue with builds by trying to use alternative
providers where possible.
-f, --force force run of specified cmd, regardless of stamp status
-i, --interactive drop into the interactive mode also called the BitBake
shell.
-c CMD, --cmd=CMD Specify task to execute. Note that this only executes
the specified task for the providee and the packages
it depends on, i.e. 'compile' does not implicitly call
@@ -285,26 +342,35 @@ Options:
what you are doing). Depending on the base.bbclass a
listtasks tasks is defined and will show available
tasks
-r FILE, --read=FILE read the specified file before bitbake.conf
-r PREFILE, --read=PREFILE
read the specified file before bitbake.conf
-R POSTFILE, --postread=POSTFILE
read the specified file after bitbake.conf
-v, --verbose output more chit-chat to the terminal
-D, --debug Increase the debug level. You can specify this more
than once.
-n, --dry-run don't execute, just go through the motions
-S, --dump-signatures
don't execute, just dump out the signature
construction information
-p, --parse-only quit after parsing the BB files (developers only)
-d, --disable-psyco disable using the psyco just-in-time compiler (not
recommended)
-s, --show-versions show current and preferred versions of all packages
-e, --environment show the global or per-package environment (this is
what used to be bbread)
-g, --graphviz emit the dependency trees of the specified packages in
the dot syntax
-I IGNORED_DOT_DEPS, --ignore-deps=IGNORED_DOT_DEPS
Stop processing at the given list of dependencies when
generating dependency graphs. This can help to make
the graph more appealing
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
make dependency graphs more appealing
-l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
Show debug logging for the specified logging domains
-P, --profile profile the command and print a report
-u UI, --ui=UI userinterface to use
-t SERVERTYPE, --servertype=SERVERTYPE
Choose which server to use, none, process or xmlrpc
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not
</screen>
</section>
@@ -321,22 +387,22 @@ Options:
<para>
Fetchers are usually triggered by entries in
<glossterm><link linkend='var-SRC_URI'>SRC_URI</link></glossterm>.
<filename><link linkend='var-SRC_URI'>SRC_URI</link></filename>.
You can find information about the options and formats of entries for specific
fetchers in the <ulink url='http://bitbake.berlios.de/manual/'>BitBake manual</ulink>.
</para>
<para>
One useful feature for certain SCM fetchers is the ability to
One useful feature for certain Source Code Manager (SCM) fetchers is the ability to
"auto-update" when the upstream SCM changes version.
Since this ability requires certain functionality from the SCM, not all
systems support it.
Currently Subversion, Bazaar and to a limited extent, Git support the ability to "auto-update".
This feature works using the <glossterm><link linkend='var-SRCREV'>SRCREV</link></glossterm>
This feature works using the <filename><link linkend='var-SRCREV'>SRCREV</link></filename>
variable.
See the
<link linkend='platdev-appdev-srcrev'>Developing within Poky with an External SCM-based Package</link>
section for more information.
"<link linkend='platdev-appdev-srcrev'>Development Within Yocto Project for a Package that Uses
an External SCM</link>" section for more information.
</para>
</section>

View File

@@ -1,26 +1,27 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-classes'>
<title>Reference: Classes</title>
<para>
Class files are used to abstract common functionality and share it amongst multiple
<filename>.bb</filename> files. Any metadata usually found in a
<filename>.bb</filename> file can also be placed in a class
file. Class files are identified by the extension
<filename>.bbclass</filename> and are usually placed
<filename>.bb</filename> files.
Any metadata usually found in a <filename>.bb</filename> file can also be placed in a class
file.
Class files are identified by the extension <filename>.bbclass</filename> and are usually placed
in a <filename>classes/</filename> directory beneath the
<filename>meta*/</filename> directory or the directory pointed
by BUILDDIR (e.g. <filename>build/</filename>)in the same way as
<filename>.conf</filename> files in the <filename
class="directory">conf</filename> directory. Class files are searched for
in BBPATH in the same was as <filename>.conf</filename> files too.
<filename>meta*/</filename> directory found in the Yocto Project file's area
Class files can also be pointed to by BUILDDIR (e.g. <filename>build/</filename>)in the same way as
<filename>.conf</filename> files in the <filename>conf</filename> directory.
Class files are searched for in <filename>BBPATH</filename>
using the same method by which <filename>.conf</filename> files are searched.
</para>
<para>
In most cases inheriting the class is enough to enable its features, although
for some classes you may need to set variables and/or override some of the
for some classes you might need to set variables or override some of the
default behaviour.
</para>
@@ -29,13 +30,14 @@
<para>
The base class is special in that every <filename>.bb</filename>
file inherits it automatically. It contains definitions of standard basic
file inherits it automatically.
This class contains definitions for standard basic
tasks such as fetching, unpacking, configuring (empty by default), compiling
(runs any Makefile present), installing (empty by default) and packaging
(empty by default). These are often overridden or extended by other classes
such as <filename>autotools.bbclass</filename> or
<filename>package.bbclass</filename>. The class also contains some commonly
used functions such as <filename>oe_runmake</filename>.
(runs any <filename>Makefile</filename> present), installing (empty by default) and packaging
(empty by default).
These classes are often overridden or extended by other classes
such as <filename>autotools.bbclass</filename> or <filename>package.bbclass</filename>.
The class also contains some commonly used functions such as <filename>oe_runmake</filename>.
</para>
</section>
@@ -43,84 +45,71 @@
<title>Autotooled Packages - <filename>autotools.bbclass</filename></title>
<para>
Autotools (autoconf, automake, libtool) bring standardization.
Autotools (<filename>autoconf</filename>, <filename>automake</filename>,
and <filename>libtool</filename>) bring standardization.
This class defines a set of tasks (configure, compile etc.) that
work for all autotooled packages.
work for all Autotooled packages.
It should usually be enough to define a few standard variables as documented in the
<link linkend='usingpoky-extend-addpkg-autotools'>simple autotools
example</link> section and then simply "inherit autotools".
This class can also work with software that emulates autotools.
"<link linkend='usingpoky-extend-addpkg-autotools'>Autotooled Package</link>" section
and then simply <filename>inherit autotools</filename>.
This class can also work with software that emulates Autotools.
</para>
<para>
It's useful to have some idea of how the tasks defined by this class work
and what they do behind the scenes.
<itemizedlist>
<listitem><para><filename>do_configure</filename> &dash; regenerates the
configure script (using <filename>autoreconf</filename>) and then launches it
with a standard set of arguments used during cross-compilation.
You can pass additional parameters to <filename>configure</filename> through the
<filename><link linkend='var-EXTRA_OECONF'>EXTRA_OECONF</link></filename> variable.
</para></listitem>
<listitem><para><filename>do_compile</filename> &dash; runs <filename>make</filename> with
arguments that specify the compiler and linker.
You can pass additional arguments through
the <filename><link linkend='var-EXTRA_OEMAKE'>EXTRA_OEMAKE</link></filename> variable.
</para></listitem>
<listitem><para><filename>do_install</filename> &dash; runs <filename>make install</filename>
and passes a DESTDIR option, which takes its value from the standard
<filename><link linkend='var-DESTDIR'>DESTDIR</link></filename> variable.
</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem>
<para>
<filename>do_configure</filename> &dash; regenerates the configure script (using autoreconf)
and then launches it with a standard set of arguments used during
cross-compilation.
You can pass additional parameters to
<filename>configure</filename> through the
<glossterm><link linkend='var-EXTRA_OECONF'>EXTRA_OECONF</link></glossterm> variable.
</para>
</listitem>
<listitem>
<para>
<filename>do_compile</filename> &dash; runs <filename>make</filename> with
arguments that specify the compiler and linker.
You can pass additional arguments through
the <glossterm><link linkend='var-EXTRA_OEMAKE'>EXTRA_OEMAKE</link>
</glossterm> variable.
</para>
</listitem>
<listitem>
<para>
<filename>do_install</filename> &dash; runs <filename>make install</filename>
and passes a <filename>DESTDIR</filename>
option, which takes its value from the standard
<glossterm><link linkend='var-DESTDIR'>DESTDIR</link></glossterm> variable.
</para>
</listitem>
</itemizedlist>
</section>
<section id='ref-classes-update-alternatives'>
<title>Alternatives - <filename>update-alternatives.bbclass</filename></title>
<para>
Several programs can fulfill the same or similar function and
be installed with the same name.
For example, the <filename>ar</filename>
command is available from the "busybox", "binutils" and "elfutils" packages.
Several programs can fulfill the same or similar function and be installed with the same name.
For example, the <filename>ar</filename> command is available from the
<filename>busybox</filename>, <filename>binutils</filename> and
<filename>elfutils</filename> packages.
The <filename>update-alternatives.bbclass</filename> class handles renaming the
binaries so that multiple packages can be installed without conflicts.
The <filename>ar</filename> command still works regardless of which packages are installed
or subsequently removed.
The class renames the conflicting binary in each package
and symlinks the highest priority binary during installation or removal
of packages.
The class renames the conflicting binary in each package and symlinks the highest
priority binary during installation or removal of packages.
</para>
<para>
Four variables control this class:
<itemizedlist>
<listitem><para><filename>ALTERNATIVE_NAME</filename> &dash; The name of the
binary that is replaced (<filename>ar</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_LINK</filename> &dash; The path to
the resulting binary (<filename>/bin/ar</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_PATH</filename> &dash; The path to the
real binary (<filename>/usr/bin/ar.binutils</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_PRIORITY</filename> &dash; The priority of
the binary.
The version with the most features should have the highest priority.</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem><para><filename>ALTERNATIVE_NAME</filename> &dash; The name of the
binary that is replaced (<filename>ar</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_LINK</filename> &dash; The path to
the resulting binary (<filename>/bin/ar</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_PATH</filename> &dash; The path to the
real binary (<filename>/usr/bin/ar.binutils</filename> in this example).</para></listitem>
<listitem><para><filename>ALTERNATIVE_PRIORITY</filename> &dash; The priority of
the binary.
The version with the most features should have the highest priority.</para></listitem>
</itemizedlist>
<para>
Currently, only one binary per package is supported.
Currently, the Yocto Project supports only one binary per package.
</para>
</section>
@@ -128,14 +117,15 @@
<title>Initscripts - <filename>update-rc.d.bbclass</filename></title>
<para>
This class uses update-rc.d to safely install an initscript on behalf of
the package. Details such as making sure the initscript is stopped before
a package is removed and started when the package is installed are taken
care of. Three variables control this class,
<link linkend='var-INITSCRIPT_PACKAGES'>INITSCRIPT_PACKAGES</link>,
<link linkend='var-INITSCRIPT_NAME'>INITSCRIPT_NAME</link> and
<link linkend='var-INITSCRIPT_PARAMS'>INITSCRIPT_PARAMS</link>. See the
links for details.
This class uses <filename>update-rc.d</filename> to safely install an
initialization script on behalf of the package.
The Yocto Project takes care of details such as making sure the script is stopped before
a package is removed and started when the package is installed.
Three variables control this class:
<filename><link linkend='var-INITSCRIPT_PACKAGES'>INITSCRIPT_PACKAGES</link></filename>,
<filename><link linkend='var-INITSCRIPT_NAME'>INITSCRIPT_NAME</link></filename> and
<filename><link linkend='var-INITSCRIPT_PARAMS'>INITSCRIPT_PARAMS</link></filename>.
See the variable links for details.
</para>
</section>
@@ -143,17 +133,17 @@
<title>Binary config scripts - <filename>binconfig.bbclass</filename></title>
<para>
Before pkg-config had become widespread, libraries shipped shell
Before <filename>pkg-config</filename> had become widespread, libraries shipped shell
scripts to give information about the libraries and include paths needed
to build software (usually named 'LIBNAME-config'). This class assists
any recipe using such scripts.
to build software (usually named <filename>LIBNAME-config</filename>).
This class assists any recipe using such scripts.
</para>
<para>
During staging Bitbake installs such scripts into the <filename
class="directory">sysroots/</filename> directory. It also changes all
paths to point into the <filename>sysroots/</filename>
directory so all builds which use the script will use the correct
During staging, BitBake installs such scripts into the
<filename>sysroots/</filename> directory.
BitBake also changes all paths to point into the <filename>sysroots/</filename>
directory so all builds that use the script will use the correct
directories for the cross compiling layout.
</para>
</section>
@@ -163,8 +153,8 @@
<para>
This class renames packages so that they follow the Debian naming
policy, i.e. 'glibc' becomes 'libc6' and 'glibc-devel' becomes
'libc6-dev'.
policy (i.e. <filename>eglibc</filename> becomes <filename>libc6</filename>
and <filename>eglibc-devel</filename> becomes <filename>libc6-dev</filename>.
</para>
</section>
@@ -172,15 +162,15 @@
<title>Pkg-config - <filename>pkgconfig.bbclass</filename></title>
<para>
Pkg-config brought standardisation and this class aims to make its
integration smooth for all libraries which make use of it.
<filename>pkg-config</filename> brought standardization and this class aims to make its
integration smooth for all libraries that make use of it.
</para>
<para>
During staging Bitbake installs pkg-config data into the <filename
class="directory">sysroots/</filename> directory. By making use of
sysroot functionality within pkgconfig this class no longer has to
manipulate the files.
During staging, BitBake installs <filename>pkg-config</filename> data into the
<filename>sysroots/</filename> directory.
By making use of sysroot functionality within <filename>pkg-config</filename>,
this class no longer has to manipulate the files.
</para>
</section>
@@ -188,126 +178,173 @@
<title>Distribution of sources - <filename>src_distribute_local.bbclass</filename></title>
<para>
Many software licenses require providing the sources for compiled
binaries. To simplify this process two classes were created:
Many software licenses require that source files be provided along with the binaries.
To simplify this process, two classes were created:
<filename>src_distribute.bbclass</filename> and
<filename>src_distribute_local.bbclass</filename>.
</para>
<para>
Result of their work are <filename>tmp/deploy/source/</filename>
subdirs with sources sorted by <glossterm><link linkend='var-LICENSE'>LICENSE</link>
</glossterm> field. If recipe lists few licenses (or has entries like "Bitstream Vera") source archive is put in each
license dir.
The results of these classes are <filename>tmp/deploy/source/</filename>
subdirs with sources sorted by
<filename><link linkend='var-LICENSE'>LICENSE</link></filename> field.
If recipes list few licenses (or have entries like "Bitstream Vera"),
the source archive is placed in each license directory.
</para>
<para>
Src_distribute_local class has three modes of operating:
This class operates using three modes:
<itemizedlist>
<listitem><para><emphasis>copy:</emphasis> Copies the files to the
distribute directory.</para></listitem>
<listitem><para><emphasis>symlink:</emphasis> Symlinks the files to the
distribute directory.</para></listitem>
<listitem><para><emphasis>move+symlink:</emphasis> Moves the files into
the distribute directory and then symlinks them back.</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem><para>copy - copies the files to the distribute dir</para></listitem>
<listitem><para>symlink - symlinks the files to the distribute dir</para></listitem>
<listitem><para>move+symlink - moves the files into distribute dir, and symlinks them back</para></listitem>
</itemizedlist>
</section>
<section id='ref-classes-perl'>
<title>Perl modules - <filename>cpan.bbclass</filename></title>
<para>
Recipes for Perl modules are simple - usually needs only
pointing to source archive and inheriting of proper bbclass.
Building is split into two methods dependly on method used by
module authors.
Recipes for Perl modules are simple.
These recipes usually only need to point to the source's archive and then inherit the
proper <filename>.bbclass</filename> file.
Building is split into two methods depending on which method the module authors used.
</para>
<para>
Modules which use old Makefile.PL based build system require
using of <filename>cpan.bbclass</filename> in their recipes.
Modules that use old <filename>Makefile.PL</filename>-based build system require
<filename>cpan.bbclass</filename> in their recipes.
</para>
<para>
Modules which use Build.PL based build system require
using of <filename>cpan_build.bbclass</filename> in their recipes.
Modules that use <filename>Build.PL</filename>-based build system require
using <filename>cpan_build.bbclass</filename> in their recipes.
</para>
</section>
<section id='ref-classes-distutils'>
<title>Python extensions - <filename>distutils.bbclass</filename></title>
<para>
Recipes for Python extensions are simple - they usually only
require pointing to the source archive and inheriting the proper
bbclasses.
Building is split into two methods depending on the build method
used by the module authors.
Recipes for Python extensions are simple.
These recipes usually only need to point to the source's archive and then inherit
the proper <filename>.bbclass</filename> file.
Building is split into two methods dependling on which method the module authors used.
</para>
<para>
Extensions which use autotools based build system require use
of autotools and distutils-base bbclasses in their recipes.
Extensions that use an Autotools-based build system require Autotools and
<filename>distutils</filename>-based <filename>.bbclasse</filename> files in their recipes.
</para>
<para>
Extensions which use distutils build system require use
of <filename>distutils.bbclass</filename> in their recipes.
Extensions that use <filename>distutils</filename>-based build systems require
<filename>distutils.bbclass</filename> in their recipes.
</para>
</section>
<section id='ref-classes-devshell'>
<title>Developer Shell - <filename>devshell.bbclass</filename></title>
<para>
This class adds the devshell task. Its usually up to distribution policy
to include this class (Poky does). See the <link
linkend='platdev-appdev-devshell'>developing with 'devshell' section</link>
This class adds the <filename>devshell</filename> task.
Distribution policy dictates whether to include this class as the Yocto Project does.
See the
"<link linkend='platdev-appdev-devshell'>Development Within a Development Shell</link>" section
for more information about using devshell.
</para>
</section>
<section id='ref-classes-package'>
<title>Packaging - <filename>package*.bbclass</filename></title>
<para>
The packaging classes add support for generating packages from a builds
output. The core generic functionality is in
<filename>package.bbclass</filename>, code specific to particular package
types is contained in various sub classes such as
<filename>package_deb.bbclass</filename>, <filename>package_ipk.bbclass</filename>
and <filename>package_rpm.bbclass</filename>. Most users will
want one or more of these classes and this is controlled by the <glossterm>
<link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></glossterm>
variable. The first class listed in this variable will be used for image
generation. Since images are generated from packages a packaging class is
The packaging classes add support for generating packages from a build's
output.
The core generic functionality is in <filename>package.bbclass</filename>.
The code specific to particular package types is contained in various sub-classes such as
<filename>package_deb.bbclass</filename>, <filename>package_ipk.bbclass</filename>,
and <filename>package_rpm.bbclass</filename>.
Most users will want one or more of these classes.
</para>
<para>
You can control the list of resulting package formats by using the
<filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></filename>
variable defined in the <filename>local.conf</filename> configuration file
found in the Yocto Project file's <filename>conf</filename> directory.
When defining the variable, you can specify one or more package types.
Since images are generated from packages, a packaging class is
needed to enable image generation.
The first class listed in this variable is used for image generation.
</para>
<para>
The package class you choose can affect build-time performance and has space
ramifications.
In general, building a package with RPM takes about thirty percent more time as
compared to using IPK to build the same or similar package.
This comparison takes into account a complete build of the package with all
dependencies previously built.
The reason for this discrepancy is because the RPM package manager creates and
processes more metadata than the IPK package manager.
Consequently, you might consider setting <filename>PACKAGE_CLASSES</filename>
to "package_ipk" if you are building smaller systems.
</para>
<para>
Keep in mind, however, that RPM starts to provide more abilities than IPK due to
the fact that it processes more metadata.
For example, this information includes individual file types, file checksum generation
and evaluation on install, sparse file support, conflict detection and resolution
for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks.
</para>
<para>
Another consideration for packages built using the RPM package manager is space.
For smaller systems, the extra space used for the Berkley Database and the amount
of metadata can affect your ability to do on-device upgrades.
</para>
<para>
You can find additional information on the effects of the package class at these
two Yocto Project mailing list links:
<itemizedlist>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/pipermail/poky/2011-May/006362.html'>
https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html</ulink></para></listitem>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/pipermail/poky/2011-May/006363.html'>
https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html</ulink></para></listitem>
</itemizedlist>
</para>
</section>
<section id='ref-classes-kernel'>
<title>Building kernels - <filename>kernel.bbclass</filename></title>
<para>
This class handles building of Linux kernels and the class contains code to know how to build both 2.4 and 2.6 kernel trees. All needed headers are
staged into <glossterm><link
linkend='var-STAGING_KERNEL_DIR'>STAGING_KERNEL_DIR</link></glossterm>
directory to allow building of out-of-tree modules using <filename>module.bbclass</filename>.
This class handles building Linux kernels.
The class contains code to build all kernel trees.
All needed headers are staged into the
<filename><link linkend='var-STAGING_KERNEL_DIR'>STAGING_KERNEL_DIR</link></filename>
directory to allow out-of-tree module builds using <filename>module.bbclass</filename>.
</para>
<para>
This means that each kernel module built is packaged separately and inter-module dependencies are
created by parsing the <filename>modinfo</filename> output. If all modules are
required then installing the "kernel-modules" package will install all
packages with modules and various other kernel packages such as "kernel-vmlinux".
This means that each built kernel module is packaged separately and inter-module
dependencies are created by parsing the <filename>modinfo</filename> output.
If all modules are required, then installing the <filename>kernel-modules</filename>
package installs all packages with modules and various other kernel packages
such as <filename>kernel-vmlinux</filename>.
</para>
<para>
Various other classes are used by the kernel and module classes internally including
<filename>kernel-arch.bbclass</filename>, <filename>module_strip.bbclass</filename>,
<filename>module-base.bbclass</filename> and <filename>linux-kernel-base.bbclass</filename>.
<filename>module-base.bbclass</filename>, and <filename>linux-kernel-base.bbclass</filename>.
</para>
</section>
@@ -315,18 +352,20 @@
<title>Creating images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename></title>
<para>
Those classes add support for creating images in many formats. First the
rootfs is created from packages by one of the <filename>rootfs_*.bbclass</filename>
files (depending on package format used) and then image is created.
These classes add support for creating images in several formats.
First, the root filesystem is created from packages using
one of the <filename>rootfs_*.bbclass</filename>
files (depending on the package format used) and then the image is created.
</para>
The <glossterm><link
linkend='var-IMAGE_FSTYPES'>IMAGE_FSTYPES</link></glossterm>
variable controls which types of image to generate.
The list of packages to install into the image is controlled by the
<glossterm><link
linkend='var-IMAGE_INSTALL'>IMAGE_INSTALL</link></glossterm>
variable.
<para>
The <filename><link linkend='var-IMAGE_FSTYPES'>IMAGE_FSTYPES</link></filename>
variable controls the types of images to generate.
</para>
<para>
The <filename><link linkend='var-IMAGE_INSTALL'>IMAGE_INSTALL</link></filename>
variable controls the list of packages to install into the image.
</para>
</section>
@@ -334,11 +373,12 @@
<title>Host System sanity checks - <filename>sanity.bbclass</filename></title>
<para>
This class checks prerequisite software is present to
notify the users of potential problems that will affect their build. It
also performs basic checks of the user configuration from local.conf to
prevent common mistakes resulting in build failures. It's usually up to
distribution policy whether to include this class (Poky does).
This class checks to see if prerequisite software is present so that
users can be notified of potential problems that might affect their build.
The class also performs basic user configuration checks from
the <filename>local.conf</filename> configuration file to
prevent common mistakes that cause build failures.
Distribution policy usually whether to include this class as the Yocto Project does.
</para>
</section>
@@ -346,11 +386,92 @@
<title>Generated output quality assurance checks - <filename>insane.bbclass</filename></title>
<para>
This class adds a step to package generation which sanity checks the
packages generated by Poky. There are an ever increasing range of checks
it performs, checking for common problems which break builds/packages/images,
see the bbclass file for more information. It's usually up to distribution
policy whether to include this class (Poky does).
This class adds a step to the package generation process that sanity checks the
packages generated by the Yocto Project.
A range of checks are performed that check the build's output
for common problems that show up during runtime.
Distribution policy usually dictates whether to include this class as the Yocto Project does.
</para>
<para>
You can configure the sanity checks so that specific test failures either raise a warning or
an error message.
Typically, failures for new tests generate a warning.
Subsequent failures for the same test would then generate an error message
once the metadata is in a known and good condition.
You use the <filename>WARN_QA</filename> variable to specify tests for which you
want to generate a warning message on failure.
You use the <filename>ERROR_QA</filename> variable to specify tests for which you
want to generate an error message on failure.
</para>
<para>
The following list shows the tests you can list with the <filename>WARN_QA</filename>
and <filename>ERROR_QA</filename> variables:
<itemizedlist>
<listitem><para><emphasis><filename>ldflags:</filename></emphasis>
Ensures that the binaries were linked with the
<filename>LDFLAGS</filename> options provided by the build system.
If this test fails, check that the <filename>LDFLAGS</filename> variable
is being passed to the linker command.</para></listitem>
<listitem><para><emphasis><filename>useless-rpaths:</filename></emphasis>
Checks for dynamic library load paths (rpaths) in the binaries that
by default on a standard system are searched by the linker (e.g.
<filename>/lib</filename> and <filename>/usr/lib</filename>).
While these paths will not cause any breakage, they do waste space and
are unnecessary.</para></listitem>
<listitem><para><emphasis><filename>rpaths:</filename></emphasis>
Checks for rpaths in the binaries that contain build system paths such
as <filename>TMPDIR</filename>.
If this test fails, bad <filename>-rpath</filename> options are being
passed to the linker commands and your binaries have potential security
issues.</para></listitem>
<listitem><para><emphasis><filename>dev-so:</filename></emphasis>
Checks that the <filename>.so</filename> symbolic links are in the
<filename>-dev</filename> package and not in any of the other packages.
In general, these symlinks are only useful for development purposes.
Thus, the <filename>-dev</filename> package is the correct location for
them.
Some very rare cases do exist for dynamically loaded modules where
these symlinks are needed instead in the main package.
</para></listitem>
<listitem><para><emphasis><filename>debug-files:</filename></emphasis>
Checks for <filename>.debug</filename> directories in anything but the
<filename>-dbg</filename> package.
The debug files should all be in the <filename>-dbg</filename> package.
Thus, anything packaged elsewhere is incorrect packaging.</para></listitem>
<listitem><para><emphasis><filename>arch:</filename></emphasis>
Checks the Executable and Linkable Format (ELF) type, bit size and endianness
of any binaries to ensure it matches the target architecture.
This test fails if any binaries don't match the type since there would be an
incompatibility.
Sometimes software, like bootloaders, might need to bypass this check.
</para></listitem>
<listitem><para><emphasis><filename>debug-deps:</filename></emphasis>
Checks that <filename>-dbg</filename> packages only depend on other
<filename>-dbg</filename> packages and not on any other types of packages,
which would cause a packaging bug.</para></listitem>
<listitem><para><emphasis><filename>dev-deps:</filename></emphasis>
Checks that <filename>-dev</filename> packages only depend on other
<filename>-dev</filename> packages and not on any other types of packages,
which would be a packaging bug.</para></listitem>
<listitem><para><emphasis><filename>pkgconfig:</filename></emphasis>
Checks <filename>.pc</filename> files for any
<filename>TMPDIR/WORKDIR</filename> paths.
Any <filename>.pc</filename> file containing these paths is incorrect
since <filename>pkg-config</filename> itself adds the correct sysroot prefix
when the files are accessed.</para></listitem>
<listitem><para><emphasis><filename>la:</filename></emphasis>
Checks <filename>.la</filename> files for any <filename>TMPDIR</filename>
paths.
Any <filename>.la</filename> file continaing these paths is incorrect since
<filename>libtool</filename> adds the correct sysroot prefix when using the
files automatically itself.</para></listitem>
<listitem><para><emphasis><filename>desktop:</filename></emphasis>
Runs the <filename>desktop-file-validate</filename> program against any
<filename>.desktop</filename> files to validate their contents against
the specification for <filename>.desktop</filename> files.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -358,23 +479,43 @@
<title>Autotools configuration data cache - <filename>siteinfo.bbclass</filename></title>
<para>
Autotools can require tests which have to execute on the target hardware.
Since this isn't possible in general when cross compiling, siteinfo is
Autotools can require tests that must execute on the target hardware.
Since this is not possible in general when cross compiling, site information is
used to provide cached test results so these tests can be skipped over but
the correct values used. The <link linkend='structure-meta-site'>meta/site directory</link>
contains test results sorted into different categories like architecture, endianess and
the libc used. Siteinfo provides a list of files containing data relevant to
the current build in the <glossterm><link linkend='var-CONFIG_SITE'>CONFIG_SITE
</link></glossterm> variable which autotools will automatically pick up.
still make the correct values available.
The <filename><link linkend='structure-meta-site'>meta/site directory</link></filename>
contains test results sorted into different categories such as architecture, endianness, and
the <filename>libc</filename> used.
Site information provides a list of files containing data relevant to
the current build in the
<filename><link linkend='var-CONFIG_SITE'>CONFIG_SITE</link></filename> variable
that Autotools automatically picks up.
</para>
<para>
The class also provides variables like <glossterm><link
linkend='var-SITEINFO_ENDIANESS'>SITEINFO_ENDIANESS</link></glossterm>
and <glossterm><link linkend='var-SITEINFO_BITS'>SITEINFO_BITS</link>
</glossterm> which can be used elsewhere in the metadata.
The class also provides variables like
<filename><link linkend='var-SITEINFO_ENDIANNESS'>SITEINFO_ENDIANNESS</link></filename>
and <filename><link linkend='var-SITEINFO_BITS'>SITEINFO_BITS</link></filename>
that can be used elsewhere in the metadata.
</para>
<para>
This class is included from <filename>base.bbclass</filename> and is hence always active.
Because this class is included from <filename>base.bbclass</filename>, it is always active.
</para>
</section>
<section id='ref-classes-useradd'>
<title>Adding Users - <filename>useradd.bbclass</filename></title>
<para>
If you have packages that install files that are owned by custom users or groups,
you can use this class to specify those packages and associate the users and groups
with those packages.
The <filename>meta-skeleton/recipes-skeleton/useradd/useradd-example.bb</filename>
recipe in the Yocto Project Files provides a simple exmample that shows how to add three
users and groups to two packages.
See the <filename>useradd-example.bb</filename> for more information on how to
use this class.
</para>
</section>
@@ -382,50 +523,81 @@
<title>Other Classes</title>
<para>
Only the most useful/important classes are covered here but there are
others, see the <filename>meta/classes</filename> directory for the rest.
Thus far, this appendix has discussed only the most useful and important
classes.
However, other classes exist within the <filename>meta/classes</filename> directory
in the Yocto Project file's directory structure.
You can examine the <filename>.bbclass</filename> files directly for more
information.
</para>
</section>
<!-- Undocumented classes are:
base_srpm.bbclass
allarch.bbclass
binconfig.bbclass
bootimg.bbclass
buildstats.bbclass
ccache.inc
ccdv.bbclass
cmake.bbclass
cml1.bbclass
cross.bbclass
flow-lossage.bbclass
cross-canadian.bbclass
deploy.bbclass
distrodata.bbclass
gconf.bbclass
gettext.bbclass
gnome.bbclass
gtk-doc.bbclass
gtk-icon-cache.bbclass
icecc.bbclass
image-mklibs.bbclass
image-prelink.bbclass
image-swab.bbclass
imagetest-dummy.bbclass
imagetest-qemu.bbclass
insserv.bbclass
lib_package.bbclass
license.bbclass
logging.bbclass
meta.bbclass
metadata_scm.bbclass
mirrors.bbclass
mozilla.bbclass
multimachine.bbclass
multilib*.bbclass
native.bbclass
nativesdk.bbclass
oelint.bbclass
own-mirrors.bbclass
packagedata.bbclass
packagehistory.bbclass
patch.bbclass
patcher.bbclass
perlnative.bbclass
pkg_distribute.bbclass
pkg_metainfo.bbclass
poky.bbclass
populate_sdk*.bbclass
prserv.bbclass
python-dir.bbclass
qemu.bbclass
qmake*.bbclass
qt4*.bbclass
recipe_sanity.bbclass
relocatable.bbclass
rm_work.bbclass
rpm_core.bbclass
scons.bbclass
sdk.bbclass
sdl.bbclass
setuptools.bbclass
sip.bbclass
siteconfig.bbclass
sourcepkg.bbclass
srec.bbclass
sstate.bbclass
staging.bbclass
syslinux.bbclass
task.bbclass
terminal.bbclass
tinderclient.bbclass
tmake.bbclass
toolchain-scripts.bbclass
typecheck.bbclass
utility-tasks.bbclass
utils.bbclass
xfce.bbclass
xlibs.bbclass
-->

View File

@@ -1,301 +1,161 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-features'>
<title>Reference: Features</title>
<para>'Features' provide a mechanism for working out which packages
should be included in the generated images. Distributions can
select which features they want to support through the
<glossterm linkend='var-DISTRO_FEATURES'><link
linkend='var-DISTRO_FEATURES'>DISTRO_FEATURES</link></glossterm>
variable which is set in the distribution configuration file
(poky.conf for Poky). Machine features are set in the
<glossterm linkend='var-MACHINE_FEATURES'><link
linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link></glossterm>
variable which is set in the machine configuration file and
specifies which hardware features a given machine has.
<para>
Features provide a mechanism for working out which packages
should be included in the generated images.
Distributions can select which features they want to support through the
<filename><link linkend='var-DISTRO_FEATURES'>DISTRO_FEATURES</link></filename>
variable, which is set in the <filename>poky.conf</filename> distribution configuration file.
Machine features are set in the
<filename><link linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link></filename>
variable, which is set in the machine configuration file and
specifies the hardware features for a given machine.
</para>
<para>These two variables are combined to work out which kernel modules,
utilities and other packages to include. A given distribution can
support a selected subset of features so some machine features might not
be included if the distribution itself doesn't support them.
<para>
These two variables combine to work out which kernel modules,
utilities, and other packages to include.
A given distribution can support a selected subset of features so some machine features might not
be included if the distribution itself does not support them.
</para>
<section id='ref-features-distro'>
<title>Distro</title>
<para>The items below are valid options for <glossterm linkend='var-DISTRO_FEATURES'><link
linkend='var-DISTRO_FEATURES'>DISTRO_FEATURES</link></glossterm>.
</para>
<itemizedlist>
<listitem>
<para>
alsa - ALSA support will be included (OSS compatibility
kernel modules will be installed if available)
</para>
</listitem>
<listitem>
<para>
bluetooth - Include bluetooth support (integrated BT only)
</para>
</listitem>
<listitem>
<para>
ext2 - Include tools for supporting for devices with internal
<para>
The items below are valid options for
<filename><link linkend='var-DISTRO_FEATURES'>DISTRO_FEATURES</link></filename>:
<itemizedlist>
<listitem><para><emphasis>alsa:</emphasis> ALSA support will be included (OSS compatibility
kernel modules will be installed if available).</para></listitem>
<listitem><para><emphasis>bluetooth:</emphasis> Include bluetooth support (integrated BT only)
</para></listitem>
<listitem><para><emphasis>ext2:</emphasis> Include tools for supporting for devices with internal
HDD/Microdrive for storing files (instead of Flash only devices)
</para>
</listitem>
<listitem>
<para>
irda - Include Irda support
</para>
</listitem>
<listitem>
<para>
keyboard - Include keyboard support (e.g. keymaps will be
</para></listitem>
<listitem><para><emphasis>irda:</emphasis> Include Irda support
</para></listitem>
<listitem><para><emphasis>keyboard:</emphasis> Include keyboard support (e.g. keymaps will be
loaded during boot).
</para>
</listitem>
<listitem>
<para>
pci - Include PCI bus support
</para>
</listitem>
<listitem>
<para>
pcmcia - Include PCMCIA/CompactFlash support
</para>
</listitem>
<listitem>
<para>
usbgadget - USB Gadget Device support (for USB
</para></listitem>
<listitem><para><emphasis>pci:</emphasis> Include PCI bus support
</para></listitem>
<listitem><para><emphasis>pcmcia:</emphasis> Include PCMCIA/CompactFlash support
</para></listitem>
<listitem><para><emphasis>usbgadget:</emphasis> USB Gadget Device support (for USB
networking/serial/storage)
</para>
</listitem>
<listitem>
<para>
usbhost - USB Host support (allows to connect external
</para></listitem>
<listitem><para><emphasis>usbhost:</emphasis> USB Host support (allows to connect external
keyboard, mouse, storage, network etc)
</para>
</listitem>
<listitem>
<para>
wifi - WiFi support (integrated only)
</para>
</listitem>
<listitem>
<para>
cramfs - CramFS support
</para>
</listitem>
<listitem>
<para>
ipsec - IPSec support
</para>
</listitem>
<listitem>
<para>
ipv6 - IPv6 support
</para>
</listitem>
<listitem>
<para>
nfs - NFS client support (for mounting NFS exports on
device)
</para>
</listitem>
<listitem>
<para>
ppp - PPP dialup support
</para>
</listitem>
<listitem>
<para>
smbfs - SMB networks client support (for mounting
Samba/Microsoft Windows shares on device)
</para>
</listitem>
</itemizedlist>
</para></listitem>
<listitem><para><emphasis>wifi:</emphasis> WiFi support (integrated only)
</para></listitem>
<listitem><para><emphasis>cramfs:</emphasis> CramFS support
</para></listitem>
<listitem><para><emphasis>ipsec:</emphasis> IPSec support
</para></listitem>
<listitem><para><emphasis>ipv6:</emphasis> IPv6 support
</para></listitem>
<listitem><para><emphasis>nfs:</emphasis> NFS client support (for mounting NFS exports on
device)</para></listitem>
<listitem><para><emphasis>ppp:</emphasis> PPP dialup support</para></listitem>
<listitem><para><emphasis>smbfs:</emphasis> SMB networks client support (for mounting
Samba/Microsoft Windows shares on device)</para></listitem>
</itemizedlist>
</para>
</section>
<section id='ref-features-machine'>
<title>Machine</title>
<para>The items below are valid options for <glossterm linkend='var-MACHINE_FEATURES'><link
linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link></glossterm>.
<para>
The items below are valid options for
<filename><link linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link></filename>:
<itemizedlist>
<listitem><para><emphasis>acpi:</emphasis> Hardware has ACPI (x86/x86_64 only)
</para></listitem>
<listitem><para><emphasis>alsa:</emphasis> Hardware has ALSA audio drivers
</para></listitem>
<listitem><para><emphasis>apm:</emphasis> Hardware uses APM (or APM emulation)
</para></listitem>
<listitem><para><emphasis>bluetooth:</emphasis> Hardware has integrated BT
</para></listitem>
<listitem><para><emphasis>ext2:</emphasis> Hardware HDD or Microdrive
</para></listitem>
<listitem><para><emphasis>irda:</emphasis> Hardware has Irda support
</para></listitem>
<listitem><para><emphasis>keyboard:</emphasis> Hardware has a keyboard
</para></listitem>
<listitem><para><emphasis>pci:</emphasis> Hardware has a PCI bus
</para></listitem>
<listitem><para><emphasis>pcmcia:</emphasis> Hardware has PCMCIA or CompactFlash sockets
</para></listitem>
<listitem><para><emphasis>screen:</emphasis> Hardware has a screen
</para></listitem>
<listitem><para><emphasis>serial:</emphasis> Hardware has serial support (usually RS232)
</para></listitem>
<listitem><para><emphasis>touchscreen:</emphasis> Hardware has a touchscreen
</para></listitem>
<listitem><para><emphasis>usbgadget:</emphasis> Hardware is USB gadget device capable
</para></listitem>
<listitem><para><emphasis>usbhost:</emphasis> Hardware is USB Host capable
</para></listitem>
<listitem><para><emphasis>wifi:</emphasis> Hardware has integrated WiFi
</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem>
<para>
acpi - Hardware has ACPI (x86/x86_64 only)
</para>
</listitem>
<listitem>
<para>
alsa - Hardware has ALSA audio drivers
</para>
</listitem>
<listitem>
<para>
apm - Hardware uses APM (or APM emulation)
</para>
</listitem>
<listitem>
<para>
bluetooth - Hardware has integrated BT
</para>
</listitem>
<listitem>
<para>
ext2 - Hardware HDD or Microdrive
</para>
</listitem>
<listitem>
<para>
irda - Hardware has Irda support
</para>
</listitem>
<listitem>
<para>
keyboard - Hardware has a keyboard
</para>
</listitem>
<listitem>
<para>
pci - Hardware has a PCI bus
</para>
</listitem>
<listitem>
<para>
pcmcia - Hardware has PCMCIA or CompactFlash sockets
</para>
</listitem>
<listitem>
<para>
screen - Hardware has a screen
</para>
</listitem>
<listitem>
<para>
serial - Hardware has serial support (usually RS232)
</para>
</listitem>
<listitem>
<para>
touchscreen - Hardware has a touchscreen
</para>
</listitem>
<listitem>
<para>
usbgadget - Hardware is USB gadget device capable
</para>
</listitem>
<listitem>
<para>
usbhost - Hardware is USB Host capable
</para>
</listitem>
<listitem>
<para>
wifi - Hardware has integrated WiFi
</para>
</listitem>
</itemizedlist>
</section>
<section id='ref-features-image'>
<title>Reference: Images</title>
<para>
The contents of images generated by Poky can be controlled by the
<glossterm linkend='var-IMAGE_FEATURES'><link linkend='var-IMAGE_FEATURES'>
IMAGE_FEATURES</link></glossterm> variable and the in local.conf and the
<glossterm linkend='var-EXTRA_IMAGE_FEATURES'><link linkend='var-EXTRA_IMAGE_FEATURES'>
EXTRA_IMAGE_FEATURES</link></glossterm> that you typically configure in your image recipes.
Through these varibales you can add several different
The contents of images generated by the Yocto Project can be controlled by the
<filename><link linkend='var-IMAGE_FEATURES'>IMAGE_FEATURES</link></filename>
and <filename><link linkend='var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</link></filename>
variables that you typically configure in your image recipes.
Through these variables you can add several different
predefined packages such as development utilities or packages with debug
information needed to investigate application problems or profile applications.
</para>
<para>
Current list of <glossterm
linkend='var-IMAGE_FEATURES'><link
linkend='var-IMAGE_FEATURES'>IMAGE_FEATURES</link></glossterm> contains:
Current list of
<filename>IMAGE_FEATURES</filename> contains the following:
<itemizedlist>
<listitem><para><emphasis>apps-console-core:</emphasis> Core console applications such as
<filename>ssh</filename>, <filename>daemon</filename>, <filename>avahi daemon</filename>,
<filename>portmap</filename> (for mounting NFS shares)</para></listitem>
<listitem><para><emphasis>x11-base:</emphasis> X11 server + minimal desktop</para></listitem>
<listitem><para><emphasis>x11-sato:</emphasis> OpenedHand Sato environment</para></listitem>
<listitem><para><emphasis>apps-x11-core:</emphasis> Core X11 applications such as an
X Terminal, file manager, and file editor</para></listitem>
<listitem><para><emphasis>apps-x11-games:</emphasis> A set of X11 games</para></listitem>
<listitem><para><emphasis>apps-x11-pimlico:</emphasis> OpenedHand Pimlico application suite
</para></listitem>
<listitem><para><emphasis>tools-sdk:</emphasis> A full SDK that runs on the device
</para></listitem>
<listitem><para><emphasis>tools-debug:</emphasis> Debugging tools such as
<filename>strace</filename> and <filename>gdb</filename>
</para></listitem>
<listitem><para><emphasis>tools-profile:</emphasis> Profiling tools such as
<filename>oprofile</filename>, <filename>exmap</filename>, and
<filename>LTTng</filename></para></listitem>
<listitem><para><emphasis>tools-testapps:</emphasis> Device testing tools (e.g.
touchscreen debugging)</para></listitem>
<listitem><para><emphasis>nfs-server:</emphasis> NFS server (exports / over NFS
to everybody)</para></listitem>
<listitem><para><emphasis>dev-pkgs:</emphasis> Development packages (headers and
extra library links) for all packages installed in a given image</para></listitem>
<listitem><para><emphasis>dbg-pkgs:</emphasis> Debug packages for all packages
installed in a given image</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem>
<para>
apps-console-core - Core console applications such as ssh daemon,
avahi daemon, portmap (for mounting NFS shares)
</para>
</listitem>
<listitem>
<para>
x11-base - X11 server + minimal desktop
</para>
</listitem>
<listitem>
<para>
x11-sato - OpenedHand Sato environment
</para>
</listitem>
<listitem>
<para>
apps-x11-core - Core X11 applications such as an X Terminal, file manager, file editor
</para>
</listitem>
<listitem>
<para>
apps-x11-games - A set of X11 games
</para>
</listitem>
<listitem>
<para>
apps-x11-pimlico - OpenedHand Pimlico application suite
</para>
</listitem>
<listitem>
<para>
tools-sdk - A full SDK which runs on device
</para>
</listitem>
<listitem>
<para>
tools-debug - Debugging tools such as strace and gdb
</para>
</listitem>
<listitem>
<para>
tools-profile - Profiling tools such as oprofile, exmap and LTTng
</para>
</listitem>
<listitem>
<para>
tools-testapps - Device testing tools (e.g. touchscreen debugging)
</para>
</listitem>
<listitem>
<para>
nfs-server - NFS server (exports / over NFS to everybody)
</para>
</listitem>
<listitem>
<para>
dev-pkgs - Development packages (headers and extra library links) for all packages
installed in a given image
</para>
</listitem>
<listitem>
<para>
dbg-pkgs - Debug packages for all packages installed in a given image
</para>
</listitem>
</itemizedlist>
</section>
</appendix>

View File

@@ -1,16 +1,14 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-images'>
<title>Reference: Images</title>
<para>
Poky has several standard images covering most people's standard needs.
Use the following command to list the supported images:
<literallayout class='monospaced'>
$ ls meta*/recipes*/images/*.bb
</literallayout>
Images are listed below along with details of what they contain:
The Yocto Project build process supports several types of images to satisfy different needs.
When you issue the <filename>bitbake</filename> command you provide a “top-level” recipe
that essentially begins the build for the type of image you want.
</para>
<note>
@@ -25,67 +23,96 @@
</literallayout>
</note>
<para>
From within the <filename>poky</filename> Git repository, use the following command to list
the supported images:
<literallayout class='monospaced'>
$ ls meta*/recipes*/images/*.bb
</literallayout>
These recipes reside in the <filename>meta/recipes-core/images</filename>,
<filename>meta/recipes-extended/images</filename>,
<filename>meta/recipes-graphics/images</filename>, and
<filename>meta/recipes-sato/images</filename> directories of your local Yocto Project
file structure (Git repository or extracted release tarball).
Although the recipe names are somewhat explanatory, here is a list that describes them:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis>core-image-minimal</emphasis> - A small image just capable
of allowing a device to boot.
</para>
</listitem>
<listitem>
<para>
<emphasis>core-image-base</emphasis> - A console-only image that fully
supports the target device hardware.
</para>
</listitem>
<listitem>
<para>
<emphasis>core-image-core</emphasis> - An X11 image with simple
applications such as terminal, editor, and file manager.
</para>
</listitem>
<listitem>
<para>
<emphasis>core-image-sato</emphasis> - An X11 image with Sato theme and
Pimlico applications.
The image also contains terminal, editor, and file manager.
</para>
</listitem>
<listitem>
<para>
<emphasis>core-image-sato-dev</emphasis> - An X11 image similar to
core-image-sato but
also includes a native toolchain and libraries needed to build applications
on the device itself. The image also includes testing and profiling tools
as well as debug symbols. This image was formerly core-image-sdk.
</para>
</listitem>
<listitem>
<para>
<emphasis>core-image-lsb</emphasis> - An image suitable for implementations
that conform to Linux Standard Base (LSB).
</para>
</listitem>
<listitem>
<para>
<emphasis>meta-toolchain</emphasis> - This image generates a tarball
that contains a stand-alone toolchain that can be used externally to Poky.
The tarball is self-contained and unpacks to the
<filename class="directory">/opt/poky</filename> directory.
The tarball also contains a copy of QEMU and the scripts necessary to run
poky QEMU images.
</para>
</listitem>
<listitem>
<para>
<emphasis>meta-toolchain-sdk</emphasis> - This image includes everything in
meta-toolchain but also includes development headers and libraries
to form a complete standalone SDK.
See the <link linkend='platdev-appdev-external-sdk'>
External Development Using the Poky SDK</link> section for more information.
</para>
</listitem>
<listitem><para><emphasis><filename>core-image-base</filename>:</emphasis>
A console-only image that fully supports the target device hardware.</para></listitem>
<listitem><para><emphasis><filename>core-image-core</filename>:</emphasis>
An X11 image with simple applications such as terminal, editor, and file manager.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal</filename>:</emphasis>
A small image just capable of allowing a device to boot.</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-dev</filename>:</emphasis>
A <filename>core-image-minimal</filename> image suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-initramfs</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has the Minimal RAM-based
Initial Root Filesystem (<filename>initramfs</filename>) as part of the kernel,
which allows the system to find the first “init” program more efficiently.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-mtdutils</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has support
for the Minimal MTD Utilities, which let the user interact with the
MTD subsystem in the kernel to perform operations on flash devices.
</para></listitem>
<listitem><para><emphasis><filename>core-image-basic</filename>:</emphasis>
A foundational basic image without support for X that can be reasonably used for
customization.</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb</filename>:</emphasis>
A <filename>core-image-basic</filename> image suitable for implementations
that conform to Linux Standard Base (LSB).</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis>
A <filename>core-image-lsb</filename> image that is suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-sdk</filename>:</emphasis>
A <filename>core-image-lsb</filename> that includes everything in meta-toolchain
but also includes development headers and libraries to form a complete standalone SDK.
This image is suitable for development using the target.
See the "<link linkend='platdev-appdev-external-sdk'>
External Development Using the Poky SDK</link>" section for more information.
</para></listitem>
<listitem><para><emphasis><filename>core-image-clutter</filename>:</emphasis>
An image with support for the Open GL-based toolkit Clutter, which enables development of
rich and animated graphical user interfaces.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato</filename>:</emphasis>
An image with Sato support, a mobile environment and visual style that works well
with mobile devices.
The image supports X11 with a Sato theme and Pimlico applications and also
contains terminal, editor, and file manager.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-dev</filename>:</emphasis>
A <filename>core-image-sato</filename> image suitable for development
using the host.
The image includes libraries needed to build applications on the device itself,
testing and profiling tools, and debug symbols.
This image was formerly <filename>core-image-sdk</filename>.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-sdk</filename>:</emphasis>
A <filename>core-image-sato</filename> image that includes everything in meta-toolchain.
The image also includes development headers and libraries to form a complete standalone SDK
and is suitable for development using the target.
See the "<link linkend='platdev-appdev-external-sdk'>
External Development Using the Poky SDK</link>" section for more information.
</para></listitem>
</itemizedlist>
<tip>
From the Yocto Project release 1.1 onwards, <filename>-live</filename> and
<filename>-directdisk</filename> images have been replaced by a "live"
option in <filename>IMAGE_FSTYPES</filename> that will work with any image to produce an
image file that can be
copied directly to a CD or USB device and run as is.
To build a live image, simply add
"live" to <filename>IMAGE_FSTYPES</filename> within the <filename>local.conf</filename>
file or wherever appropriate and then build the desired image as normal.
</tip>
</appendix>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,33 +1,40 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-structure'>
<title>Reference: Directory Structure</title>
<para>
Poky consists of several components.
Understanding them and knowing where they are located is key to using Poky well.
This appendix describes the Poky directory structure and gives information about the various
The Yocto Project consists of several components.
Understanding them and knowing where they are located is key to using the Yocto Project well.
This appendix describes the Yocto Project file's directory structure and gives information about the various
files and directories.
</para>
<para>
For information on how to establish the Yocto Project files on your local development system, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#getting-setup'>Getting Set Up</ulink>"
section in the Yocto Project Development Manual.
</para>
<section id='structure-core'>
<title>Top level core components</title>
<section id='structure-core-bitbake'>
<title><filename class="directory">bitbake/</filename></title>
<title><filename>bitbake/</filename></title>
<para>
Poky includes a copy of BitBake for ease of use.
The Yocto Project includes a copy of BitBake for ease of use.
The copy usually matches the current stable BitBake release from the BitBake project.
BitBake, a metadata interpreter, reads the Poky metadata and runs the tasks
BitBake, a metadata interpreter, reads the Yocto Project metadata and runs the tasks
defined by that data.
Failures are usually from the metadata and not
from BitBake itself.
Consequently, most users do not need to worry about BitBake.
The <filename class="directory">bitbake/bin/</filename> directory is placed
into the PATH environment variable by the
The <filename>bitbake/bin/</filename> directory is placed
into the shell's <filename>PATH</filename> environment variable by the
<link linkend="structure-core-script">oe-init-build-env</link> script.
</para>
@@ -38,118 +45,88 @@
</section>
<section id='structure-core-build'>
<title><filename class="directory">build/</filename></title>
<title><filename>build/</filename></title>
<para>
This directory contains user configuration files and the output
generated by Poky in its standard configuration where the source tree is
combined with the output.
generated by the Yocto Project in its standard configuration where the source tree is
combined with the output.
The build directory is created initially when you <filename>source</filename>
the Yocto Project environment setup script <filename>oe-init-build-env</filename>.
</para>
<para>
It is also possible to place output and configuration
files in a directory separate from the Poky source.
For information on separating output from the Poky source, see <link
files in a directory separate from the Yocto Project files
by providing a directory name when you <filename>source</filename>
the setup script.
For information on separating output from the Yocto Project files, see <link
linkend='structure-core-script'>oe-init-build-env</link>.
</para>
</section>
<section id='structure-core-meta'>
<title><filename class="directory">meta/</filename></title>
<section id='handbook'>
<title><filename>documentation</filename></title>
<para>
This directory contains the core metadata, which is a key part of Poky.
This directory contains the machine definitions, the Poky distribution,
This directory holds the source for the Yocto Project documentation
as well as templates and tools that allow you to generate PDF and HTML
versions of the manuals.
Each manual is contained in a sub-folder.
For example, the files for this manual reside in
<filename>poky-ref-manual</filename>.
</para>
</section>
<section id='structure-core-meta'>
<title><filename>meta/</filename></title>
<para>
This directory contains the Yocto Project core metadata.
The directory holds machine definitions, the Yocto Project distribution,
and the packages that make up a given system.
</para>
</section>
<!-- <section id='structure-core-meta-extras'>
<title><filename class="directory">meta-extras/</filename></title>
<para>
This directory is similar to <filename class="directory">meta/</filename>.
The directory contains extra metadata not included in standard Poky.
This metadata is disabled by default and is not supported as part of Poky.
</para>
</section>
-->
<section id='structure-core-meta-demoapps'>
<title><filename class="directory">meta-demoapps/</filename></title>
<title><filename>meta-demoapps/</filename></title>
<para>
This directory contains recipes for applications and demos that are not core.
This directory contains recipes for applications and demos that are not part of the
Yocto Project core.
</para>
</section>
<section id='structure-core-meta-rt'>
<title><filename class="directory">meta-rt/</filename></title>
<title><filename>meta-rt/</filename></title>
<para>
This directory contains recipes for RealTime.
This directory contains recipes for real-time kernels.
</para>
</section>
<!-- <section id='structure-core-meta-***'>
<title><filename class="directory">meta-***/</filename></title>
<section id='structure-meta-skeleton'>
<title><filename>meta-skeleton/</filename></title>
<para>
These directories are optional layers that are added to core metadata.
The layers are enabled by adding them to the <filename>conf/bblayers.conf</filename> file.
This directory contains template recipes for BSP and kernel development.
</para>
</section>
-->
<section id='structure-core-scripts'>
<title><filename class="directory">scripts/</filename></title>
<title><filename>scripts/</filename></title>
<para>
This directory contains various integration scripts that implement
extra functionality in the Poky environment (e.g. QEMU scripts).
extra functionality in the Yocto Project environment (e.g. QEMU scripts).
The <link linkend="structure-core-script">oe-init-build-env</link> script appends this
directory to the PATH environment variable.
</para>
</section>
<!-- <section id='structure-core-sources'>
<title><filename class="directory">sources/</filename></title>
<para>
This directory receives downloads as specified by the
<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm> variable.
Even though the directory is not part of a checkout, Poky creates it during a build.
You can use this directory to share downloading files between Poky builds.
This practice can save you from downloading files multiple times.
<note><para>
You can override the location for this directory by setting
the DL_DIR variable in <filename>local.conf</filename>.
</para></note>
</para>
<para>
This directory also contains SCM checkouts (e.g. <filename class="directory">sources/svn/
</filename>, <filename class="directory">sources/cvs/</filename> or
<filename class="directory">sources/git/</filename>).
The <filename class="directory">sources</filename> directory can contain archives of
checkouts for various revisions or dates.
directory to the shell's <filename>PATH</filename> environment variable.
</para>
<para>
It's worth noting that BitBake creates <filename class="extension">.md5
</filename> stamp files for downloads.
BitBake uses these files to mark downloads as
complete as well as for checksum and access accounting purposes.
If you manually add a file to the directory, you need to touch the corresponding
<filename class="extension">.md5</filename> file as well.
</para>
</section>
-->
<section id='handbook'>
<title><filename class="directory">documentation</filename></title>
<para>
This directory holds the source for the documentation. Each manual is contained in
a sub-folder. For example, the files for this manual reside in
<filename class="directory">poky-ref-manual</filename>.
The <filename>scripts</filename> directory has useful scripts that assist contributing
back to the Yocto Project, such as <filename>create_pull_request</filename> and
<filename>send_pull_request</filename>.
</para>
</section>
@@ -157,25 +134,25 @@
<title><filename>oe-init-build-env</filename></title>
<para>
This script sets up the Poky build environment.
Sourcing this file in
a shell makes changes to PATH and sets other core BitBake variables based on the
This script sets up the Yocto Project build environment.
Running this script with the <filename>source</filename> command in
a shell makes changes to <filename>PATH</filename> and sets other core BitBake variables based on the
current working directory.
You need to run this script before running Poky commands.
The script uses other scripts within the <filename class="directory">scripts/
</filename> directory to do the bulk of the work.
You can use this script to specify any directory for the build's output by doing the following:
You need to run this script before running BitBake commands.
The script uses other scripts within the <filename>scripts</filename> directory to do
the bulk of the work.
</para>
<literallayout class='monospaced'>
$ source POKY_SRC/oe-init-build-env [BUILDDIR]
</literallayout>
<para>
You can enter the above command from any directory, as long as POKY_SRC points to
the desired Poky source tree.
The optional BUILDDIR can be any directory into which you would
like Poky to generate the build output.
By default, running this script without a build directory argument creates the
<filename>build</filename> directory.
If you provide a build directory argument when you <filename>source</filename>
the script, you direct the Yocto Project to create a build directory of your choice.
For example, the following command creates a build directory named
<filename>mybuilds</filename> that is outside of the Yocto Project files:
<literallayout class='monospaced'>
$ source oe-init-build-env ~/mybuilds
</literallayout>
</para>
</section>
@@ -189,14 +166,14 @@
</section>
<section id='structure-build'>
<title>The Build Directory - <filename class="directory">build/</filename></title>
<title>The Build Directory - <filename>build/</filename></title>
<section id='structure-build-pseudodone'>
<title><filename>build/pseudodone</filename></title>
<para>
This tag file indicates that the intitial pseudo binar was created.
The first time BitBake is invoked this file is built.
This tag file indicates that the initial pseudo binary was created.
The file is built the first time BitBake is invoked.
</para>
</section>
@@ -204,21 +181,21 @@
<title><filename>build/conf/local.conf</filename></title>
<para>
This file contains all the local user configuration of Poky.
This file contains all the local user configuration of the Yocto Project.
If there is no <filename>local.conf</filename> present, it is created from
<filename>local.conf.sample</filename>.
The <filename>local.conf</filename> file contains documentation on the various configuration options.
Any variable set here overrides any variable set elsewhere within Poky unless
that variable is hard-coded within Poky (e.g. by using '=' instead of '?=').
Any variable set here overrides any variable set elsewhere within the Yocto Project unless
that variable is hard-coded within the Yocto Project (e.g. by using '=' instead of '?=').
Some variables are hard-coded for various reasons but these variables are
relatively rare.
</para>
<para>
Edit this file to set the <glossterm><link linkend='var-MACHINE'>MACHINE</link></glossterm>
Edit this file to set the <filename><link linkend='var-MACHINE'>MACHINE</link></filename>
for which you want to build, which package types you
wish to use (PACKAGE_CLASSES) or where you want to downloaded files
(<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm>).
wish to use (<filename>PACKAGE_CLASSES</filename>), or where you want to downloaded files
(<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>).
</para>
</section>
@@ -228,8 +205,8 @@
<para>
This file defines layers, which is a directory tree, traversed (or walked) by BitBake.
If <filename>bblayers.conf</filename>
is not present, it is created from <filename>bblayers.conf.sample</filename> when the environment
setup script is sourced.
is not present, it is created from <filename>bblayers.conf.sample</filename> when
you <filename>source</filename> the environment setup script.
</para>
</section>
@@ -248,7 +225,7 @@
This directory is used for the upstream source tarballs.
The directory can be reused by multiple builds or moved to another location.
You can control the location of this directory through the
<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm> variable.
<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename> variable.
</para>
</section>
@@ -259,25 +236,25 @@
This directory is used for the shared state cache.
The directory can be reused by multiple builds or moved to another location.
You can control the location of this directory through the
<glossterm><link linkend='var-SSTATE_DIR'>SSTATE_DIR</link></glossterm> variable.
<filename><link linkend='var-SSTATE_DIR'>SSTATE_DIR</link></filename> variable.
</para>
</section>
<section id='structure-build-tmp'>
<title><filename class="directory">build/tmp/</filename></title>
<title><filename>build/tmp/</filename></title>
<para>
This directory receives all the Poky output.
This directory receives all the Yocto Project output.
BitBake creates this directory if it does not exist.
To clean Poky and start a build from scratch (other than downloads),
As a last resort, to clean the Yocto Project and start a build from scratch (other than downloads),
you can remove everything in this directory or get rid of the directory completely.
The <filename class="directory">tmp/</filename> directory has some important
sub-components detailed below.
If you do, you should also completely remove the <filename>build/sstate-cache</filename>
directory as well.
</para>
</section>
<section id='structure-build-tmp-buildstats'>
<title><filename class="directory">build/tmp/buildstats/</filename></title>
<title><filename>build/tmp/buildstats/</filename></title>
<para>
This directory stores the build statistics.
@@ -285,56 +262,68 @@
</section>
<section id='structure-build-tmp-cache'>
<title><filename class="directory">build/tmp/cache/</filename></title>
<title><filename>build/tmp/cache/</filename></title>
<para>
When BitBake parses the metadata it creates a cache file of the result that can
When BitBake parses the metadata, it creates a cache file of the result that can
be used when subsequently running commands.
These results are stored here on a per-machine basis.
</para>
</section>
<section id='structure-build-tmp-deploy'>
<title><filename class="directory">build/tmp/deploy/</filename></title>
<title><filename>build/tmp/deploy/</filename></title>
<para>This directory contains any 'end result' output from Poky.</para>
<para>
This directory contains any 'end result' output from the Yocto Project build process.
</para>
</section>
<section id='structure-build-tmp-deploy-deb'>
<title><filename class="directory">build/tmp/deploy/deb/</filename></title>
<title><filename>build/tmp/deploy/deb/</filename></title>
<para>
This directory receives any <filename>.deb</filename> packages produced by Poky.
This directory receives any <filename>.deb</filename> packages produced by the Yocto Project.
The packages are sorted into feeds for different architecture types.
</para>
</section>
<section id='structure-build-tmp-deploy-rpm'>
<title><filename class="directory">build/tmp/deploy/rpm/</filename></title>
<title><filename>build/tmp/deploy/rpm/</filename></title>
<para>
This directory receives any <filename>.rpm</filename> packages produced by Poky.
This directory receives any <filename>.rpm</filename> packages produced by the Yocto Project.
The packages are sorted into feeds for different architecture types.
</para>
</section>
<section id='structure-build-tmp-deploy-images'>
<title><filename class="directory">build/tmp/deploy/images/</filename></title>
<title><filename>build/tmp/deploy/images/</filename></title>
<para>
This directory receives complete filesystem images.
If you want to flash the resulting image from a build onto a device, look here for the image.
</para>
<para>
Note, you should not remove any files from this directory by hand in an attempt
to rebuild an image.
If you want to clean out the cache, re-run the build using the following
BitBake command:
<literallayout class='monospaced'>
$ bitbake -c cleanall &lt;target&gt;
</literallayout>
</para>
</section>
<section id='structure-build-tmp-deploy-ipk'>
<title><filename class="directory">build/tmp/deploy/ipk/</filename></title>
<title><filename>build/tmp/deploy/ipk/</filename></title>
<para>This directory receives <filename>.ipk</filename> packages produced by Poky.</para>
<para>This directory receives <filename>.ipk</filename> packages produced by the Yocto Project.</para>
</section>
<section id='structure-build-tmp-sysroots'>
<title><filename class="directory">build/tmp/sysroots/</filename></title>
<title><filename>build/tmp/sysroots/</filename></title>
<para>
This directory contains shared header files and libraries as well as other shared
@@ -346,7 +335,7 @@
</section>
<section id='structure-build-tmp-stamps'>
<title><filename class="directory">build/tmp/stamps/</filename></title>
<title><filename>build/tmp/stamps/</filename></title>
<para>
This directory holds information that that BitBake uses for accounting purposes
@@ -358,90 +347,84 @@
</section>
<section id='structure-build-tmp-log'>
<title><filename class="directory">build/tmp/log/</filename></title>
<title><filename>build/tmp/log/</filename></title>
<para>
This directory contains general logs that are not otherwise placed using the
package's <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>.
Examples of logs are the output from the "check_pkg" or "distro_check" tasks.
package's <filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>.
Examples of logs are the output from the <filename>check_pkg</filename> or
<filename>distro_check</filename> tasks.
</para>
</section>
<section id='structure-build-tmp-pkgdata'>
<title><filename class="directory">build/tmp/pkgdata/</filename></title>
<title><filename>build/tmp/pkgdata/</filename></title>
<para>
This directory contains intermediate packaging data that is used later in the packaging process.
For more information, see <link linkend='ref-classes-package'>package.bbclass</link>.
</para>
</section>
<section id='structure-build-tmp-pstagelogs'>
<title><filename class="directory">build/tmp/pstagelogs/</filename></title>
<para>
This directory contains manifest for task-based pre-built.
Each manifest is basically a file list for installed files from a given task.
Manifests are useful for later packaging or cleanup processes.
For more information, see the "<link linkend='ref-classes-package'>Packaging - package*.bbclass</link>" section.
</para>
</section>
<section id='structure-build-tmp-work'>
<title><filename class="directory">build/tmp/work/</filename></title>
<title><filename>build/tmp/work/</filename></title>
<para>
This directory contains architecture-specific work sub-directories for packages built by BitBake.
All tasks execute from a work directory.
For example, the source for a particular package is unpacked, patched, configured and compiled all
within its own work directory.
Within the work directory, organization is based on the package group for which the source
is being compiled.
</para>
<para>
It is worth considering the structure of a typical work directory.
As an example consider the linux-rp kernel, version 2.6.20 r7 on the machine spitz
built within Poky.
For this package a work directory of
<filename class="directory">tmp/work/spitz-poky-linux-gnueabi/linux-rp-2.6.20-r7/</filename>,
referred to as <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>, is created.
Within this directory, the source is unpacked to linux-2.6.20 and then patched by quilt
(see <link linkend="usingpoky-modifying-packages-quilt">Section 3.5.1</link>).
Within the <filename class="directory">linux-2.6.20</filename> directory,
standard quilt directories <filename class="directory">linux-2.6.20/patches</filename>
and <filename class="directory">linux-2.6.20/.pc</filename> are created,
and standard quilt commands can be used.
As an example, consider the linux-yocto kernel 3.0 on the machine <filename>qemux86</filename>
built within the Yocto Project.
For this package, a work directory of
<filename>tmp/work/qemux86-poky-linux/linux-yocto-3.0+git1+&lt;.....&gt;</filename>,
referred to as <filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>, is created.
Within this directory, the source is unpacked to
<filename>linux-qemux86-standard-build</filename> and then patched by Quilt
(see the "<link linkend="usingpoky-modifying-packages-quilt">Modifying Package Source Code
With Quilt</link>" section).
Within the <filename>linux-qemux86-standard-build</filename> directory,
standard Quilt directories <filename>linux-3.0/patches</filename>
and <filename>linux-3.0/.pc</filename> are created,
and standard Quilt commands can be used.
</para>
<para>
There are other directories generated within WORKDIR.
The most important directory is WORKDIR
<filename class="directory">/temp/</filename>, which has log files for each
The most important directory is WORKDIR<filename>/temp/</filename>, which has log files for each
task (<filename>log.do_*.pid</filename>) and contains the scripts BitBake runs for
each task (<filename>run.do_*.pid</filename>).
The WORKDIR<filename class="directory">/image/</filename> directory is where "make
The WORKDIR<filename>/image/</filename> directory is where "make
install" places its output that is then split into sub-packages
within WORKDIR<filename class="directory">/packages-split/</filename>.
within WORKDIR<filename>/packages-split/</filename>.
</para>
</section>
</section>
<section id='structure-meta'>
<title>The Metadata - <filename class="directory">meta/</filename></title>
<title>The Metadata - <filename>meta/</filename></title>
<para>
As mentioned previously, metadata is the core of Poky.
As mentioned previously, metadata is the core of the Yocto Project.
Metadata has several important subdivisions:
</para>
<section id='structure-meta-classes'>
<title><filename class="directory">meta/classes/</filename></title>
<title><filename>meta/classes/</filename></title>
<para>
This directory contains the <filename class="extension">*.bbclass</filename> files.
This directory contains the <filename>*.bbclass</filename> files.
Class files are used to abstract common code so it can be reused by multiple
packages.
Every package inherits the <filename>base.bbclass</filename> file.
Examples of other important classes are <filename>autotools.bbclass</filename>, which
in theory allows any Autotool-enabled package to work with Poky with minimal effort.
in theory allows any Autotool-enabled package to work with the Yocto Project with minimal effort.
Another example is <filename>kernel.bbclass</filename> that contains common code and functions
for working with the Linux kernel.
Functions like image generation or packaging also have their specific class files
@@ -451,14 +434,14 @@
</section>
<section id='structure-meta-conf'>
<title><filename class="directory">meta/conf/</filename></title>
<title><filename>meta/conf/</filename></title>
<para>
This directory contains the core set of configuration files that start from
<filename>bitbake.conf</filename> and from which all other configuration
files are included.
See the includes at the end of the file and you will note that even
<filename>local.conf</filename> is loaded from there!
See the include statements at the end of the file and you will note that even
<filename>local.conf</filename> is loaded from there.
While <filename>bitbake.conf</filename> sets up the defaults, you can often override
these by using the (<filename>local.conf</filename>) file, machine file or
the distribution configuration file.
@@ -466,41 +449,43 @@
</section>
<section id='structure-meta-conf-machine'>
<title><filename class="directory">meta/conf/machine/</filename></title>
<title><filename>meta/conf/machine/</filename></title>
<para>
This directory contains all the machine configuration files.
If you set MACHINE="spitz", Poky looks for a <filename>spitz.conf</filename> file in this
If you set <filename>MACHINE="qemux86"</filename>,
Yocto Project looks for a <filename>qemux86.conf</filename> file in this
directory.
The includes directory contains various data common to multiple machines.
If you want to add support for a new machine to Poky, look in this directory.
The <filename>include</filename> directory contains various data common to multiple machines.
If you want to add support for a new machine to the Yocto Project, look in this directory.
</para>
</section>
<section id='structure-meta-conf-distro'>
<title><filename class="directory">meta/conf/distro/</filename></title>
<title><filename>meta/conf/distro/</filename></title>
<para>
Any distribution-specific configuration is controlled from this directory.
Poky only contains the Poky distribution so <filename>poky.conf</filename>
is the main file here.
This directory includes the versions and SRCDATES for applications that are configured here.
The Yocto Project only contains the Yocto Project distribution so
<filename>defaultsetup.conf</filename> is the main file here.
This directory includes the versions and the
<filename>SRCDATE</filename> definitions for applications that are configured here.
An example of an alternative configuration is <filename>poky-bleeding.conf</filename>
although this file mainly inherits its configuration from Poky itself.
although this file mainly inherits its configuration from the Yocto Project itself.
</para>
</section>
<section id='structure-meta-recipes-bsp'>
<title><filename class="directory">meta/recipes-bsp/</filename></title>
<title><filename>meta/recipes-bsp/</filename></title>
<para>
This directory contains anything linking to specific hardware or hardware configuration information
such as "uboot" and "grub".
This directory contains anything linking to specific hardware or hardware
configuration information such as "u-boot" and "grub".
</para>
</section>
<section id='structure-meta-recipes-connectivity'>
<title><filename class="directory">meta/recipes-connectivity/</filename></title>
<title><filename>meta/recipes-connectivity/</filename></title>
<para>
This directory contains libraries and applications related to communication with other devices.
@@ -508,7 +493,7 @@
</section>
<section id='structure-meta-recipes-core'>
<title><filename class="directory">meta/recipes-core/</filename></title>
<title><filename>meta/recipes-core/</filename></title>
<para>
This directory contains what is needed to build a basic working Linux image
@@ -517,7 +502,7 @@
</section>
<section id='structure-meta-recipes-devtools'>
<title><filename class="directory">meta/recipes-devtools/</filename></title>
<title><filename>meta/recipes-devtools/</filename></title>
<para>
This directory contains tools that are primarily used by the build system.
@@ -526,7 +511,7 @@
</section>
<section id='structure-meta-recipes-extended'>
<title><filename class="directory">meta/recipes-extended/</filename></title>
<title><filename>meta/recipes-extended/</filename></title>
<para>
This directory contains non-essential applications that add features compared to the
@@ -537,7 +522,7 @@
</section>
<section id='structure-meta-recipes-gnome'>
<title><filename class="directory">meta/recipes-gnome/</filename></title>
<title><filename>meta/recipes-gnome/</filename></title>
<para>
This directory contains all things related to the GTK+ application framework.
@@ -545,7 +530,7 @@
</section>
<section id='structure-meta-recipes-graphics'>
<title><filename class="directory">meta/recipes-graphics/</filename></title>
<title><filename>meta/recipes-graphics/</filename></title>
<para>
This directory contains X and other graphically related system libraries
@@ -553,7 +538,7 @@
</section>
<section id='structure-meta-recipes-kernel'>
<title><filename class="directory">meta/recipes-kernel/</filename></title>
<title><filename>meta/recipes-kernel/</filename></title>
<para>
This directory contains the kernel and generic applications and libraries that
@@ -562,7 +547,7 @@
</section>
<section id='structure-meta-recipes-multimedia'>
<title><filename class="directory">meta/recipes-multimedia/</filename></title>
<title><filename>meta/recipes-multimedia/</filename></title>
<para>
This directory contains codecs and support utilities for audio, images and video.
@@ -570,15 +555,15 @@
</section>
<section id='structure-meta-recipes-qt'>
<title><filename class="directory">meta/recipes-qt/</filename></title>
<title><filename>meta/recipes-qt/</filename></title>
<para>
This directory contains all things related to the QT application framework.
This directory contains all things related to the Qt application framework.
</para>
</section>
<section id='structure-meta-recipes-sato'>
<title><filename class="directory">meta/recipes-sato/</filename></title>
<title><filename>meta/recipes-sato/</filename></title>
<para>
This directory contains the Sato demo/reference UI/UX and its associated applications
@@ -587,16 +572,16 @@
</section>
<section id='structure-meta-recipes-support'>
<title><filename class="directory">meta/recipes-support/</filename></title>
<title><filename>meta/recipes-support/</filename></title>
<para>
This directory contains recipes that used by other recipes, but that are not directly
included in images (i.e. depenendies of other recipes).
included in images (i.e. dependencies of other recipes).
</para>
</section>
<section id='structure-meta-site'>
<title><filename class="directory">meta/site/</filename></title>
<title><filename>meta/site/</filename></title>
<para>
This directory contains a list of cached results for various architectures.
@@ -607,7 +592,7 @@
</section>
<section id='structure-meta-recipes-txt'>
<title><filename class="directory">meta/recipes.txt/</filename></title>
<title><filename>meta/recipes.txt/</filename></title>
<para>
This file is a description of the contents of <filename>recipes-*</filename>.

File diff suppressed because it is too large Load Diff

View File

@@ -1,209 +1,204 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='ref-varlocality'>
<title>Reference: Variable Locality (Distro, Machine, Recipe etc.)</title>
<title>Reference: Variable Context</title>
<para>
Whilst most variables can be used in almost any context (.conf, .bbclass,
.inc or .bb file), variables are often associated with a particular
locality/context. This section describes some common associations.
While most variables can be used in almost any context such as
<filename>.conf</filename>, <filename>.bbclass</filename>,
<filename>.inc</filename>, and <filename>.bb</filename> files,
some variables are often associated with a particular locality or context.
This appendix describes some common associations.
</para>
<section id='ref-varlocality-config-distro'>
<title>Distro Configuration</title>
<section id='ref-varlocality-configuration'>
<title>Configuration</title>
<itemizedlist>
<listitem>
<para><glossterm linkend='var-DISTRO'><link linkend='var-DISTRO'>DISTRO</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-DISTRO_NAME'><link linkend='var-DISTRO_NAME'>DISTRO_NAME</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-DISTRO_VERSION'><link linkend='var-DISTRO_VERSION'>DISTRO_VERSION</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MAINTAINER'><link linkend='var-MAINTAINER'>MAINTAINER</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-PACKAGE_CLASSES'><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-TARGET_OS'><link linkend='var-TARGET_OS'>TARGET_OS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-TARGET_FPU'><link linkend='var-TARGET_FPU'>TARGET_FPU</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-POKYMODE'><link linkend='var-POKYMODE'>POKYMODE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-POKYLIBC'><link linkend='var-POKYLIBC'>POKYLIBC</link></glossterm></para>
</listitem>
</itemizedlist>
<para>
The following subsections provide lists of variables whose context is
configuration: distribution, machine, and local.
</para>
<section id='ref-varlocality-config-distro'>
<title>Distribution (Distro)</title>
<para>
This section lists variables whose context is the distribution, or distro.
<itemizedlist>
<listitem><para><filename><link linkend='var-DISTRO'>DISTRO</link></filename></para></listitem>
<listitem><para><filename><link linkend='var-DISTRO_NAME'>DISTRO_NAME</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-DISTRO_VERSION'>DISTRO_VERSION</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-MAINTAINER'>MAINTAINER</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-TARGET_OS'>TARGET_OS</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-TARGET_FPU'>TARGET_FPU</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-POKYMODE'>POKYMODE</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-TCMODE'>TCMODE</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-POKYLIBC'>POKYLIBC</link></filename>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='ref-varlocality-config-machine'>
<title>Machine</title>
<para>
This section lists variables whose context is the machine.
<itemizedlist>
<listitem><para><filename><link linkend='var-TARGET_ARCH'>TARGET_ARCH</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-SERIAL_CONSOLE'>SERIAL_CONSOLE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-PACKAGE_EXTRA_ARCHS'>PACKAGE_EXTRA_ARCHS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-IMAGE_FSTYPES'>IMAGE_FSTYPES</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-ROOT_FLASH_SIZE'>ROOT_FLASH_SIZE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-MACHINE_EXTRA_RDEPENDS'>MACHINE_EXTRA_RDEPENDS
</link></filename></para></listitem>
<listitem><para><filename><link linkend='var-MACHINE_EXTRA_RRECOMMENDS'>MACHINE_EXTRA_RRECOMMENDS
</link></filename></para></listitem>
<listitem><para><filename><link linkend='var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS'>MACHINE_ESSENTIAL_EXTRA_RDEPENDS
</link></filename></para></listitem>
<listitem><para><filename><link linkend='var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'>
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</link></filename></para></listitem>
</itemizedlist>
</para>
</section>
<section id='ref-varlocality-config-local'>
<title>Local</title>
<para>
This section lists variables whose context is the local configuration through the
<filename>local.conf</filename> file.
<itemizedlist>
<listitem><para><filename><link linkend='var-DISTRO'>DISTRO</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-MACHINE'>MACHINE</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-BBFILES'>BBFILES</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES
</link></filename></para></listitem>
<listitem><para><filename><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-BBINCLUDELOGS'>BBINCLUDELOGS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-ENABLE_BINARY_LOCALE_GENERATION'>
ENABLE_BINARY_LOCALE_GENERATION</link></filename></para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='ref-varlocality-config-machine'>
<title>Machine Configuration</title>
<section id='ref-varlocality-recipes'>
<title>Recipes</title>
<itemizedlist>
<listitem>
<para><glossterm linkend='var-TARGET_ARCH'><link linkend='var-TARGET_ARCH'>TARGET_ARCH</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-SERIAL_CONSOLE'><link linkend='var-SERIAL_CONSOLE'>SERIAL_CONSOLE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-PACKAGE_EXTRA_ARCHS'><link linkend='var-PACKAGE_EXTRA_ARCHS'>PACKAGE_EXTRA_ARCHS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-IMAGE_FSTYPES'><link linkend='var-IMAGE_FSTYPES'>IMAGE_FSTYPES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-ROOT_FLASH_SIZE'><link linkend='var-ROOT_FLASH_SIZE'>ROOT_FLASH_SIZE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE_FEATURES'><link linkend='var-MACHINE_FEATURES'>MACHINE_FEATURES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE_EXTRA_RDEPENDS'><link linkend='var-MACHINE_EXTRA_RDEPENDS'>MACHINE_EXTRA_RDEPENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE_EXTRA_RRECOMMENDS'><link linkend='var-MACHINE_EXTRA_RRECOMMENDS'>MACHINE_EXTRA_RRECOMMENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE_ESSENTIAL_RDEPENDS'><link linkend='var-MACHINE_ESSENTIAL_RDEPENDS'>MACHINE_ESSENTIAL_RDEPENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE_ESSENTIAL_RRECOMMENDS'><link linkend='var-MACHINE_ESSENTIAL_RRECOMMENDS'>MACHINE_ESSENTIAL_RRECOMMENDS</link></glossterm></para>
</listitem>
</itemizedlist>
</section>
<para>
The following subsections provide lists of variables whose context is
recipes: required, dependencies, path, and extra build information.
</para>
<section id='ref-varlocality-config-local'>
<title>Local Configuration (local.conf)</title>
<itemizedlist>
<listitem>
<para><glossterm linkend='var-DISTRO'><link linkend='var-DISTRO'>DISTRO</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-MACHINE'><link linkend='var-MACHINE'>MACHINE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-DL_DIR'><link linkend='var-DL_DIR'>DL_DIR</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-BBFILES'><link linkend='var-BBFILES'>BBFILES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-EXTRA_IMAGE_FEATURES'><link linkend='var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-PACKAGE_CLASSES'><link linkend='var-PACKAGE_CLASSES'>PACKAGE_CLASSES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-BB_NUMBER_THREADS'><link linkend='var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-BBINCLUDELOGS'><link linkend='var-BBINCLUDELOGS'>BBINCLUDELOGS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm linkend='var-ENABLE_BINARY_LOCALE_GENERATION'><link linkend='var-ENABLE_BINARY_LOCALE_GENERATION'>ENABLE_BINARY_LOCALE_GENERATION</link></glossterm></para>
</listitem>
</itemizedlist>
</section>
<section id='ref-varlocality-recipe-required'>
<title>Required</title>
<section id='ref-varlocality-recipe-required'>
<title>Recipe Variables - Required</title>
<para>
This section lists variables that are required for recipes.
<itemizedlist>
<listitem><para><filename><link linkend='var-DESCRIPTION'>DESCRIPTION</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-LICENSE'>LICENSE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-SECTION'>SECTION</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-HOMEPAGE'>HOMEPAGE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-AUTHOR'>AUTHOR</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-SRC_URI'>SRC_URI</link>
</filename></para></listitem>
</itemizedlist>
</para>
</section>
<itemizedlist>
<listitem>
<para><glossterm><link linkend='var-DESCRIPTION'>DESCRIPTION</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-LICENSE'>LICENSE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-SECTION'>SECTION</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-HOMEPAGE'>HOMEPAGE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-AUTHOR'>AUTHOR</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-SRC_URI'>SRC_URI</link></glossterm></para>
</listitem>
</itemizedlist>
</section>
<section id='ref-varlocality-recipe-dependencies'>
<title>Dependencies</title>
<section id='ref-varlocality-recipe-dependencies'>
<title>Recipe Variables - Dependencies</title>
<para>
This section lists variables that define recipe dependencies.
<itemizedlist>
<listitem><para><filename><link linkend='var-DEPENDS'>DEPENDS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-RDEPENDS'>RDEPENDS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-RRECOMMENDS'>RRECOMMENDS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-RCONFLICTS'>RCONFLICTS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-RREPLACES'>RREPLACES</link>
</filename></para></listitem>
</itemizedlist>
</para>
</section>
<itemizedlist>
<listitem>
<para><glossterm><link linkend='var-DEPENDS'>DEPENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-RDEPENDS'>RDEPENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-RRECOMMENDS'>RRECOMMENDS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-RCONFLICTS'>RCONFLICTS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-RREPLACES'>RREPLACES</link></glossterm></para>
</listitem>
</itemizedlist>
</section>
<section id='ref-varlocality-recipe-paths'>
<title>Paths</title>
<section id='ref-varlocality-recipe-paths'>
<title>Recipe Variables - Paths</title>
<para>
This section lists variables that define recipe paths.
<itemizedlist>
<listitem><para><filename><link linkend='var-WORKDIR'>WORKDIR</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-S'>S</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-FILES'>FILES</link>
</filename></para></listitem>
</itemizedlist>
</para>
</section>
<itemizedlist>
<listitem>
<para><glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-S'>S</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-FILES'>FILES</link></glossterm></para>
</listitem>
</itemizedlist>
</section>
<section id='ref-varlocality-recipe-build'>
<title>Extra Build Information</title>
<section id='ref-varlocality-recipe-build'>
<title>Recipe Variables - Extra Build Information</title>
<itemizedlist>
<listitem>
<para><glossterm><link
linkend='var-DISTRO_PN_ALIAS'>DISTRO_PN_ALIAS</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-EXTRA_OECMAKE'>EXTRA_OECMAKE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-EXTRA_OECONF'>EXTRA_OECONF</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-EXTRA_OEMAKE'>EXTRA_OEMAKE</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-PACKAGES'>PACKAGES</link></glossterm></para>
</listitem>
<listitem>
<para><glossterm><link linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE</link></glossterm></para>
</listitem>
</itemizedlist>
<para>
This section lists variables that define extra build information for recipes.
<itemizedlist>
<listitem><para><filename><link linkend='var-DISTRO_PN_ALIAS'>DISTRO_PN_ALIAS</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-EXTRA_OECMAKE'>EXTRA_OECMAKE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-EXTRA_OECONF'>EXTRA_OECONF</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-EXTRA_OEMAKE'>EXTRA_OEMAKE</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-PACKAGES'>PACKAGES</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-DEFAULT_PREFERENCE'>DEFAULT_PREFERENCE
</link></filename></para></listitem>
</itemizedlist>
</para>
</section>
</section>
</appendix>
<!--

View File

@@ -1,25 +1,27 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='resources'>
<title>Contributing to Poky</title>
<title>Contributing to the Yocto Project</title>
<section id='resources-intro'>
<title>Introduction</title>
<para>
We're happy for people to experiment with Poky and there are a number of places to
find help if you run into difficulties or find bugs. To find out how to download
source code see the <link linkend='intro-getit'>Obtaining Poky</link> section of
the Introduction.
The Yocto Project team is happy for people to experiment with the Yocto Project.
A number of places exist to find help if you run into difficulties or find bugs.
To find out how to download source code,
see the "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto Project Release</ulink>"
list item in the Yocto Project Development Manual.
</para>
</section>
<section id='resources-bugtracker'>
<title>Bugtracker</title>
<title>Tracking Bugs</title>
<para>
Problems with Poky should be reported using the Bugzilla application at
<ulink url='http://bugzilla.yoctoproject.org/'></ulink>.
If you find problems with the Yocto Project, you should report them using the
Bugzilla application at <ulink url='&YOCTO_BUGZILLA_URL;'></ulink>.
</para>
</section>
@@ -27,138 +29,78 @@
<title>Mailing lists</title>
<para>
To subscribe to the mailing lists click on the following URLs and follow the instructions:
To subscribe to the Yocto Project mailing lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><emphasis>
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink></emphasis>:
Use this list to receive offical Yocto Project announcements for developments and
to learn about Yocto Project milestones.</para></listitem>
<listitem><para><emphasis><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink></emphasis>:
Use this list to monitor Yocto Project development discussions, ask questions, and
get help.</para></listitem>
<listitem><para><emphasis><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink></emphasis>:
Use this list to monitor discussions about the Yocto Project build system Poky,
ask questions, and get help.</para></listitem>
</itemizedlist>
</para>
<itemizedlist>
<listitem><para>
<ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a Yocto Discussions
mailing list.
</para></listitem>
<listitem><para>
<ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a Poky Discussions
mailing list.
</para></listitem>
<listitem><para>
<ulink url='http://lists.yoctoproject.org/listinfo/yocto-announce'></ulink> for a mailing list
to receive offical Yocto Project announcements for developments and milestones.
</para></listitem>
</itemizedlist>
</section>
<section id='resources-irc'>
<title>Internet Relay Chat (IRC)</title>
<para>
Two IRC channels on freenode are available for Yocto Project and Poky discussions:
<itemizedlist>
<listitem><para>
#yocto
</para></listitem>
<listitem><para>
#poky
</para></listitem>
</itemizedlist>
Two IRC channels on freenode are available for the Yocto Project and Poky discussions:
<itemizedlist>
<listitem><para><filename>#yocto</filename></para></listitem>
<listitem><para><filename>#poky</filename></para></listitem>
</itemizedlist>
</para>
</section>
<section id='resources-links'>
<title>Links</title>
<itemizedlist>
<listitem><para>
<ulink url='http://yoctoproject.org'>The Yocto Project website</ulink> - The home site
for Yocto Project.
</para></listitem>
<!-- <listitem><para>
<ulink url='http://pokylinux.org'>The Poky website</ulink> - The home site
for Poky Linux.
</para></listitem>
-->
<listitem><para>
<ulink url='http://www.openedhand.com/'>OpenedHand</ulink> - The
original company behind Poky.
</para></listitem>
<listitem><para>
<ulink url='http://www.intel.com/'>Intel Corporation</ulink> - The
company who acquired OpenedHand in 2008.
</para></listitem>
<listitem><para>
<ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>
- The upstream generic embedded distribution Poky derives
from (and contributes to).
</para></listitem>
<listitem><para>
<ulink url='http://developer.berlios.de/projects/bitbake/'>Bitbake</ulink>
- The tool used to process Poky metadata.
</para></listitem>
<listitem><para>
<ulink url='http://bitbake.berlios.de/manual/'>BitBake User
Manual</ulink> - A comprehensive guide to the BitBake tool.
</para></listitem>
<listitem><para>
<ulink url='http://pimlico-project.org/'>Pimlico</ulink> - A
suite of lightweight Personal Information Management (PIM)
applications designed primarily for handheld and mobile
devices.
</para></listitem>
<listitem><para>
<ulink url='http://fabrice.bellard.free.fr/qemu/'>QEMU</ulink>
- An open source machine emulator and virtualizer.
</para></listitem>
</itemizedlist>
<para>
Following is a list of resources you will find helpful:
<itemizedlist>
<listitem><para><emphasis><ulink url='&YOCTO_HOME_URL;'>The Yocto Project website</ulink>:
</emphasis> The home site for the Yocto Project.</para></listitem>
<listitem><para><emphasis><ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis><ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
The company who acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis><ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis><ulink url='http://developer.berlios.de/projects/bitbake/'>
BitBake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem>
<listitem><para><emphasis><ulink url='http://bitbake.berlios.de/manual/'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
</para></listitem>
<listitem><para><emphasis><ulink url='http://pimlico-project.org/'>Pimlico</ulink>:</emphasis>
A suite of lightweight Personal Information Management (PIM) applications designed
primarily for handheld and mobile devices.</para></listitem>
<listitem><para><emphasis><ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open source machine emulator and virtualizer.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='resources-contributions'>
<title>Contributions</title>
<para>
Contributions to Poky are very welcome. Patches should be sent to the Poky mailing list along with a Signed-off-by: line in the same style as the Linux kernel. Adding this line signifies the developer has agreed to the Developer's Certificate of Origin 1.1:
The Yocto Project gladly accepts contributions.
You can submit changes to the project either by creating and sending pull requests,
or by submitting patches through email.
For information on how to do both, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#how-to-submit-a-change'>How to Submit a Change</ulink>"
section in the Yocto Project Development Manual.
</para>
<programlisting>
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
</programlisting>
<para>
A Poky contributions tree (poky-contrib, git://git.yoctoproject.org/poky-contrib.git)
exists for people to stage contributions in, for regular contributors.
If people desire such access, please ask on the mailing list. Usually
access will be given to anyone with a proven track record of good patches.
</para>
</section>
</appendix>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -654,7 +654,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +662,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +946,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,11 +958,26 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

Some files were not shown because too many files have changed in this diff Show More