Compare commits

...

72 Commits

Author SHA1 Message Date
Scott Rifenbark
5306aaab07 ref-manual: Added new section to the 1.6 migration section plus some 1.5 edits.
Added a new section on "Matching Branch Requirement for Git Fetching"
into the BitBake section.  Plus, made some minor corrections to
some of the 1.5 sections.

(From yocto-docs rev: 326a8009ca0bef0a4686510bb521010d8f58ac81)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-23 21:11:03 +01:00
Richard Purdie
31ab5dafa8 build-appliance-image: Update to head revision
(From OE-Core rev: 82bd5fc58229df73d7aca93f41b13392f9fdc3dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-22 22:53:45 +01:00
Beth Flanagan
84d524c938 distro_alias.inc: update/sort alias information.
Added new package data and resorted per
http://article.gmane.org/gmane.linux.embedded.poky/9253

Removed -native packages as distrodata handles them in OVERRIDES.

However, meta packages and grub-efi are special and needs some
handling within distrodata. I have a patch for this but for the
release I'm leaving them within distro-alias.

(From meta-yocto rev: 6b1685c90b4def4a4b4ca862b7e915a953782b6e)

Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-22 22:51:42 +01:00
Scott Rifenbark
7bbc4b8a77 ref-manual: Pulled the item for forked packages out.
Fixes [YOCTO #4958]

I pulled the change I put in to warn users about forked packages
based on further review from Paul Eggleton.  This pretty much
means the bug is back to square one.

(From yocto-docs rev: fec630e4d1c464865d85e824ec684ef3cee55b42)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-22 16:16:05 +01:00
Scott Rifenbark
33dfe60c35 bitbake: bitbake-user-manual-hello.xml: Edits to the "Hello World" Appendix.
Fixes [YOCTO #1973]

These are review changes applied from Paul Eggleton.

(Bitbake rev: fe083b674b20b254877a6d8249b11c9a7373866e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:15 +01:00
Scott Rifenbark
78217d37d2 bitbake: bitbake-user-manual-hello.xml: First draft of "Hello World" appendix
Fixes [YOCTO #1973]

Added the complete "Hello World" appendix first draft beyond
what Bill Traynor had supplied.

(Bitbake rev: 3a618a0c8efd04d24a3569c32431ac2732fb4876)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:15 +01:00
Scott Rifenbark
69d4c63428 bitbake: bitbake-user-manual-hello.xml: Edits to environment for hello world.
Some general edits to the sections that get you set up to run
the "Hello World" example.

(Bitbake rev: dc3ef99ddbbdd1ab0d1675b350a25ca970286248)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:15 +01:00
Scott Rifenbark
1eb75407ae bitbake: bitbake-user-manual-metadata.xml: Added section on pathname syntax
Added a brief subsection to the "Basic Syntax" section that
describes the issue using the tilde character (~) when providing
a pathname as part of a statement.  BitBake does not expand
this character like the shell does.  We recommend to not use
it in pathnames.

(Bitbake rev: a98ee7b67127a18bb8a81b1e7840c386134812c6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
2c79d57ded bitbake: bitbake-user-manual-ref-variables.xml: Edits to the BBPATH variable.
I took the stuff about running bitbake outside the build
directory and removed the note syntax.

(Bitbake rev: 0fa37e4ba864620972854e8405ed68bb8e8b1560)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
de87ba4b37 bitbake: bitbake-user-manual-ref-variables.xml: Fixed BBPATH example
The example used in the note in the BBPATH variable description
had incorrect syntax.  Spaces existed in the BBPATH = statement.
I have removed them.

(Bitbake rev: 67f5f536b022293ad3f5c5f176e33b7896bde89f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
14a666b094 bitbake: user-manual-hello.xml: General edits
I worked through the chapter and made some minor edits based
on my user experience.  Part of what I did was to update
the console output for the examples.

(Bitbake rev: 1b5b714d72676adad0469d7c0713e87e3b10e5e6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
84bcf66436 bitbake: bitbake-user-manual-hello.xml: Fixed two broken links.
(Bitbake rev: 5e9b8a1434eeab6b9750491242552240f836d90c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
cba4a8b80d bitbake: bitbake-user-manual-metadata.xml: New section on anonymous Python functions
Per Paul Eggleton's suggestion, I added a new section on
anonymous Python functions into the "Functions" section.
I also updated the intro text to account for the added
type of functions.

(Bitbake rev: ea0c6d0a47b4b8e399554fbf719e563cc63e2775)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Scott Rifenbark
c23e7052fb bitbake: bitbake-user-manual-metadata.xml: Edits to flexible inheritance section.
Fixes [YOCTO #5472]

Applied review edits from Paul Eggleton to this section.
Minor edits and some re-writing.

(Bitbake rev: 91c4913c0ecdf4e61817687095d0ca4086dfee8a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:05:14 +01:00
Richard Purdie
7253253972 bitbake: doc: Rename user-manual -> bitbake-user-manual
This manual gets combined with other manuals and in that context, it helps
a lot if its seen as the Bitbake User Manual. Renames are a pain but
this is worthwhile so that other docs can correctly be combined with this
one. This also clarifies things like google search results which is helpful.

(Bitbake rev: 452a62ae0c2793e281d6769fd3e45500a74898d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 23:04:51 +01:00
Scott Rifenbark
cddb415f72 ref-manual: Added package change info to the migration section.
The package architecture for armv7a packages with the thumb optimization
enabled will now get a "t2" suffix as it should; this was not the case in the
1.5 release. Architecture names will change within package feeds as a result.

(From yocto-docs rev: 1ce59f6911dd67835266aa3b0e29f404a487fd6e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 22:47:23 +01:00
Scott Rifenbark
6aed9f819d dev-manual: Fixed some "systemd" capitalization issues.
I was using this term inconsistently.  I have cleaned it up so
that no initial capital is used.

(From yocto-docs rev: 7dea2c5ef067d81b8350cd54ba4082c35d7077b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 22:47:23 +01:00
Scott Rifenbark
30ac79c16d ref-manual: Updated the list of supported distributions.
I get this list from meta-yocto/conf/distro/poky.conf.

(From yocto-docs rev: 796d4eced50d14203f1a791ff557a4016f4dd031)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 22:47:23 +01:00
Scott Rifenbark
3f00873a8a documentation: Updated all the manual revision history tables.
Set the release date to April 2014.

(From yocto-docs rev: 2592bc968edeea941a92e6bdd321dd872745b78c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-21 22:47:23 +01:00
Scott Rifenbark
4f6fb8c362 dev-manual: Updates to "Performing Automated Runtime Testing"
Fixes [YOCTO #5554]

I worked with Stefan here to update the section on running tests.
We are good now with it all.

(From yocto-docs rev: 806a89f1ddd3efc39d15d3f7e1a01e8fd69af7c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:46 +01:00
Scott Rifenbark
a3dcfa6a6a dev-manual: Changed GummiBootTarget to GummibootTarget.
(From yocto-docs rev: 0d870778d87dcbb38d1ce577f38b84c8fca0e464)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:46 +01:00
Scott Rifenbark
e0999660a8 ref-manual: Added review comments to core-image-testmaster image.
(From yocto-docs rev: 064a49648b2333dede612642a9a6621470b603ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:46 +01:00
Scott Rifenbark
897b87195c dev-manual: Edits to "Using the Error Reporting Tool"
Created some sub-section structure to better organize this
section.

(From yocto-docs rev: 61b15f579c4c21378277051bb5905baa4e9741b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
1dfcb8968c ref-manual: Added core-image-testmaster to the list of images.
Fixes [YOCTO #5614]

(From yocto-docs rev: 5df086664b858423d6e7054b451942feb73047e9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
3f7bfb38a2 dev-manual: Edits to "Using the Error Reporting Tool"
Added Information about setting up your own server.  Paul
Eggleton provided the information.

(From yocto-docs rev: 655bba9b91283dac502658dd72d866a7af4eacce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
5b09536d38 ref-manual: Fixed typo
(From yocto-docs rev: 28577b94d14be63df7ac00a89b774992055c94fe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
21cd3d6212 ref-manual: Re-ordered the insane.bbclass tests list.
I ordered these 39 tests by alphebetical ordering.

(From yocto-docs rev: 3a7ef1c149ee1f8f0ac4709e906f5c84ed7ab642)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
4dc19ba0a9 ref-manual: Added symlink-to-sysroot insane.bbclass tests.
(From yocto-docs rev: 6152a64ffaab638cffc952be70707d5e9aedbf88)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
bbaf0c65f1 dev-manual: Fixed typo for AUTOREV.
(From yocto-docs rev: a1fd83f0aeaab95693335150f330bbc7c5af18f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Scott Rifenbark
0cb01121eb dev-manual, ref-manual: Removed VIRTUAL-RUNTIME note from most places.
Fixes [YOCTO #5159]

Edits to fix the occurrences of VIRTUAL-RUNTIME_initscripts = "".
I removed it from all places in the manuals except under
"Selecting an Initialization Manager".  Note that it still
needed removed from "Using Systemd for the Main Image and
Using SysVinit for the Rescue Image".

Also, in the "Using Systemd Exclusively" section I made some
edits as suggested by Paul Eggleton's review.

(From yocto-docs rev: 28b2e3eba3acff17f165899a7f4a65c98263e201)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 16:24:45 +01:00
Stefan Stanacar
f9c2b9083e scripts/send-error-report: use a real server as the default
Now that there is a public instance [1] of the error report web interface [2],
we should set it as the default.

[1] http://errors.yoctoproject.org/
[2] http://git.yoctoproject.org/cgit/cgit.cgi/error-report-web/

(From OE-Core rev: 346c3cbd7987044279267ec9c987887099cafe48)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 11:04:44 +01:00
Alexandru DAMIAN
3c8da7d5bc toaster.bbclass: do not fail on non-existent files
Toaster may look up inexistent file paths in the build history
for packages that have been referenced but not built.

This triggers a failure, and this patch recovers by deleting
the reference to the non-built packages.

[YOCTO #6063]

(From OE-Core rev: 5413e56205a9f48d8c3e419d8da468c60f5aa348)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 11:04:44 +01:00
Denys Dmytriyenko
3e49cee7e8 u-boot: fix beaglebone boot issue with large kernel images
Fix beaglebone boot issue with large kernel images overwriting Device Tree.
See very detailed comments inside the patch.

The original patch is being reviewed upstream and is targeting mainline U-boot
version 2014.07. This is the adaptation of the patch for 2013.07 version we use

(From OE-Core rev: c18b8fb9a625b5fb760c3ba53708155d3294ac6c)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-19 11:04:44 +01:00
Scott Rifenbark
0ba2239abb poky.ent: Changed the YOCTO_DOCS_BB_URL location.
We changed the folder name of the BitBake User Manual from
"user-manual" to "bitbake-user-manual".  This means the
URL for the variable used in poky-ent for the manual needed
to be updated.

(From yocto-docs rev: 16a616b4a6f8237c8ba220e74f38235ca78c10ac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-13 12:04:17 +01:00
Scott Rifenbark
87a71c5017 dev-manual: typo fixed.
(From yocto-docs rev: 1bae90e7eb4d53cb0899b2a7b701d525587863d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-13 12:04:17 +01:00
Scott Rifenbark
761c6172f6 ref-manual, dev-manual: Edits to running tests on hardware
Fixes [YOCTO #5554]

Applied edits to the section in the dev-manual on running tests
on hardware.

Edited the TEST_TARGET and TEST_IMAGE variables.

(From yocto-docs rev: a26ba11c739aabab4009a944d9b622e2814c7fca)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-13 12:04:17 +01:00
Scott Rifenbark
b958f2e6dc ref-manual: Edits to DISK_SIGNATURE variable.
Fixes [YOCTO 5766]

I removed the note about the "live" IMAGE_TYPES.  Turns out I
was wrong on this information.  It does not create a "directdisk"
image.  That is accomplished through a .bbclass.

(From yocto-docs rev: a3b762be9933178e9cecdac3fa9e110c031a64d0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:33 +01:00
Scott Rifenbark
4123b4e575 ref-manual: Added warning about forking packages when upgrading YP
Fixes [YOCTO #4958]

Added a bullet item to the packages section in the migration chapter
for upgrading to YP v1.6.  Item notes the issue and warns the
user to beware.

(From yocto-docs rev: f66ca39a65c2529ebc552d3a816e6565dae183f7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:33 +01:00
Scott Rifenbark
9301072deb ref-manual: Updated the DISK_SIGNATURE description.
Fixes [YOCTO #6125]

Did some re-writing based on Jonathin Liu's feedback.

(From yocto-docs rev: bee4a584bcb1e70e9848324781c32d1d9e3d1fc2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:33 +01:00
Scott Rifenbark
6d3e061287 ref-manual: Removed note limiting tests to QEMU.
Fixes [YOCTO #5554]

Removed the note limiting this to QEMU tests.

(From yocto-docs rev: c91d058514832aacfb74fd4480e0a2dba95b4921)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:33 +01:00
Scott Rifenbark
3ff180c173 ref-manual: Edits to the module_autoload and module_conf variables.
Minor re-wording edits as suggested by Paul Eggleton.

(From yocto-docs rev: 699eec0b691a19b4ae2f05c7774f559898e952da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:33 +01:00
Scott Rifenbark
19b9fde3b2 ref-manual: Updates to deal with installing packages in initramfs
Fixes [YOCTO #4961]

Documented the user requirement to use PACKAGE_INSTALL to specify
packages for installation into an initramfs image.  Normally,
you use IMAGE_INSTALL.  To account for this user model, I updated
the PACKAGE_INSTALL and IMAGE_INSTALL variables.  I also added
a bit more information to the "Images" chapter item that
talks about the core-image-minimal-initramfs image.

(From yocto-docs rev: a1ad649cf310f281a7de584d5b9a1820ca99d4eb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
bdc27cc405 ref-manual: Edits to module_autoload and module_conf variables.
Fixes [YOCTO #5888]

Applied some feedback to the variables based on Paul's comments.
Needed a caveat on how you can use these variables.

(From yocto-docs rev: ef8fac4b36089d3162ee16c93866a39bcd31701c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
7e30874db2 ref-manual: added module_autoload and module_conf variables.
Fixes [YOCTO #5888]

Two new variables added to the glossary.  These help with
specifying kernel modules that need to auto-load on boot and
with specifying module.d syntax in the modname.conf file.

(From yocto-docs rev: 1ac544c4f6129faafea10691b426cd510ff56a69)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
f9d0fd9bb1 bsp-guide: Updated the yocto-bsp example.
Ran the tool and provided the actual machine branch output
choices.

(From yocto-docs rev: 5b78e70079e2c621221187d4419de2a2427efbc1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
3353d6bcce bsp-guide: Updated the yocto-bsp example.
This example does not run as described.  It said that the
setup script was run and the user would be in the top-level
Source Directory (e.g. poky).  The script errors out unless
run from the poky/build directory.  So I took out the requirement
of being in the top directory.

(From yocto-docs rev: 800e4001319cde3e665c0271fd5a19646fb2bd7a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
904c35e049 ref-manual: Updated KBRANCH to fix a reference to the linux kernel.
(From yocto-docs rev: 59aab89f2c1ff5e0ab43fe9ba25f929500b94d5f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
9ff3a1de42 ref-manual: Updated KBRANCH variable description.
I replaced the v3.4 version example with the v3.10 version.
It is more up-to-date.

(From yocto-docs rev: 2e7f5d4fbe24a8248686c9ca7cf870204966beec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
9ab4d1f5e6 bsp-guide: Updates to "Linux Kernel Configuration" section.
This section was using an out-dated version of the
linux-yocto_3.10.bbappend file.  The new version accounts for
both emgd and non-emgd configurations.  I had to insert the new
listing and update some supporting text describing it.

(From yocto-docs rev: 97329a154e3dee44cb393d4a289fdcbb9f8adf07)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
a0f9efe7d6 bsp-guide: Updated the "Hardware Configuration Options" section.
The "require" statements changed from four to three.

(From yocto-docs rev: 36f4fe004e69cb7715d41787d4c22b39371f63b6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Scott Rifenbark
a6193f3822 bsp-guide: Updated the "Example Filesystem Layout" section.
The recipes-kernel structure had changed for the Crown Bay
BSP.

(From yocto-docs rev: 14ecfc7e676901a6d422f49b0170f27f6b46837f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:32 +01:00
Dennis Meier
f0cbff052e ref-manual: Extended the D variable description.
Applied this patch from Dennis and then removed some whitespace,
used the 5-space indentation convention for the literal, formatted
the task name and did some other minor fixes.

(From yocto-docs rev: 477a9ecb2f91681ee401478189a424793381bfcb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Dennis Meier
1929766ed5 Extended description of the ${D} variable to better explain its purpose.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
bd1e9a6a3a dev-manual: Grammar fix to the Toaster section.
(From yocto-docs rev: 36e7ec1a7e01e9f57d670527f6889ea1aa3099cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
409d3cb7a2 dev-manual: Applied Toaster section review edits.
(From yocto-docs rev: 362ac25d3fc98268d49f71aae9d477a2a2256c8a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
49efe23169 ref-manual: Added TEST_EXPORT_DIR to glossary.
Fixes [YOCTO #5554]

New variable description.

(From yocto-docs rev: 9c245950faba53abc79f01d174e0f88e87d85430)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
46c0518279 ref-manual: Added TEST_EXPORT_ONLY to glossary.
Fixes [YOCTO #5554]

New variable description.

(From yocto-docs rev: 6be2edb9ff994c7e952c6b1c9fca7357549afd90)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
40396bee2b ref-manual: Added TEST_LOG_DIR to glossary.
Fixes [YOCTO #5554]

New variable description.

(From yocto-docs rev: f6ae7dc4fd29af0befd35ba15390eeec8d905487)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
cdbe3b5cee ref-manual: Added TEST_SERVER_IP to the variable glossary.
Fixes [YOCTO #5554]

New variable description.

(From yocto-docs rev: e12134c93661a827787ec878a94d3d2c8a280f83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
aba074edbf ref-manual: Added TEST_TARGET_IP to the variable glossary.
Fixes [YOCTO #5554]

New variable description.

(From yocto-docs rev: 8c673542769a1a1aaef58100be15fc735a19adbe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
f11e51056d ref-manual: Added TEST_TARGET variable description.
Fixes [YOCTO #5554]

New description.

(From yocto-docs rev: b81e056f8ef1a7ba0868857be71d46250382ffa3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:31 +01:00
Scott Rifenbark
9a178b6016 dev-manual: Added new "Exporting Tests" section.
Fixes [YOCTO #5554]

New section added on exporting tests.

(From yocto-docs rev: b4a818e769acca5559a8e174414c4e214379e292)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
d8ee1658de dev-manual: Added new "Hardware" section for running tests.
Fixes [YOCTO #5554]

This is the section that describes how to enable tests for
actual hardware.

(From yocto-docs rev: fd33b19e7fa32797ab2abd2b506b0d63209fbfc6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
b5c29e15f4 dev-manual: Moved list of qemu-specific run information
Fixes [YOCTO #5554]

The list of items that described what happens when you run
tests is really specific to qemu.  Consequently, it is better
located in the section describing how to enable and get
set up for those tests.

(From yocto-docs rev: 1f0606f1c5c03c873a295819adcfb6fb51c196bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
21da2dbb78 dev-manual: Updates to the "target" class attribute
Fixes [YOCTO #5554]

In the "Class Attributes" section I updated several items.

(From yocto-docs rev: 8f97671319c4751885e5ec89423a061dd45c6684)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
520b36fe41 dev-manual: Updated the "Class Methods" section.
Fixes [YOCTO #5554]

Removed the final bulleted item.  Changed the wording on the
first to account for the manifest file.

(From yocto-docs rev: 50e7557032a0dbf4bc2144e9d4f9a4e1a1726d6d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
82733c9f71 dev-manual: Removed note about rm_work
Fixes [YOCTO #5554]

Removed the (second) note  about rm_work builds, that bug
was fixed. (#5072)

(From yocto-docs rev: f1223a67caae17db1abfd6b7465bfc71d295ab7f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
32857c5596 ref-manual: Added DISK_SIGNATURE variable description to glossary.
Fixes [YOCTO #6125]

(From yocto-docs rev: 5ee5433cc7799a240dd18aa20ce44b3ae978b592)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Scott Rifenbark
1d6146e0b1 yocto-project-qs: Substituting Beaglebone for Beagleboard.
Fixes [YOCTO #2444]

I swapped out the hardware names for the example in the
"Super User" section.  Beagleboard is no longer shipped with the
YP.  It has been replaced by Beaglebone.

(From yocto-docs rev: b71ecd4f24dd4c1804c9e8c26aedacbdfaa694a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-11 18:15:30 +01:00
Richard Purdie
a095826126 build-appliance-image: Set branch to daisy for release
(From OE-Core rev: dca1b4f073fff740364f066f6a68bb3c8697b7a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 20:25:40 +01:00
Richard Purdie
fd435cbfc5 build-appliance-image: Update to head revision
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 18:04:41 +01:00
Richard Purdie
6ca67b3288 poky: Branch for 1.6 daisy release
(From meta-yocto rev: 9e8ff9d7f0e80cf91983256e98cbb1f49213e61c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10 18:03:00 +01:00
37 changed files with 1904 additions and 985 deletions

View File

@@ -18,21 +18,21 @@
# #
# Examples: # Examples:
# #
# make DOC=user-manual # make DOC=bitbake-user-manual
# make pdf DOC=user-manual # make pdf DOC=bitbake-user-manual
# #
# The first example generates the HTML and PDF versions of the User Manual. # The first example generates the HTML and PDF versions of the User Manual.
# The second example generates the HTML version only of the User Manual. # The second example generates the HTML version only of the User Manual.
# #
ifeq ($(DOC),user-manual) ifeq ($(DOC),bitbake-user-manual)
XSLTOPTS = --stringparam html.stylesheet user-manual-style.css \ XSLTOPTS = --stringparam html.stylesheet bitbake-user-manual-style.css \
--stringparam chapter.autolabel 1 \ --stringparam chapter.autolabel 1 \
--stringparam section.autolabel 1 \ --stringparam section.autolabel 1 \
--stringparam section.label.includes.component.label 1 \ --stringparam section.label.includes.component.label 1 \
--xinclude --xinclude
ALLPREQ = html pdf tarball ALLPREQ = html pdf tarball
TARFILES = user-manual-style.css user-manual.html user-manual.pdf figures/bitbake-title.png TARFILES = bitbake-user-manual-style.css bitbake-user-manual.html bitbake-user-manual.pdf figures/bitbake-title.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures FIGURES = figures
STYLESHEET = $(DOC)/*.css STYLESHEET = $(DOC)/*.css
@@ -48,7 +48,7 @@ XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl
all: $(ALLPREQ) all: $(ALLPREQ)
pdf: pdf:
ifeq ($(DOC),user-manual) ifeq ($(DOC),bitbake-user-manual)
@echo " " @echo " "
@echo "********** Building."$(DOC) @echo "********** Building."$(DOC)
@echo " " @echo " "
@@ -56,7 +56,7 @@ ifeq ($(DOC),user-manual)
endif endif
html: html:
ifeq ($(DOC),user-manual) ifeq ($(DOC),bitbake-user-manual)
# See http://www.sagehill.net/docbookxsl/HtmlOutput.html # See http://www.sagehill.net/docbookxsl/HtmlOutput.html
@echo " " @echo " "
@echo "******** Building "$(DOC) @echo "******** Building "$(DOC)

View File

@@ -8,7 +8,7 @@ Manual Organization
Folders exist for individual manuals as follows: Folders exist for individual manuals as follows:
* user-manual - The BitBake User Manual * bitbake-user-manual - The BitBake User Manual
Each folder is self-contained regarding content and figures. Each folder is self-contained regarding content and figures.
@@ -28,7 +28,7 @@ For example, the following command run from the documentation directory
creates an HTML and a PDF version of the BitBake User Manual. creates an HTML and a PDF version of the BitBake User Manual.
The DOC variable specifies the manual you are making: The DOC variable specifies the manual you are making:
$ make DOC=user-manual $ make DOC=bitbake-user-manual
template template
======== ========

View File

@@ -1,7 +1,7 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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">
<chapter id="user-manual-execution"> <chapter id="bitbake-user-manual-execution">
<title>Execution</title> <title>Execution</title>
<para> <para>
@@ -24,7 +24,7 @@
</literallayout> </literallayout>
For information on the BitBake command and its options, For information on the BitBake command and its options,
see see
"<link linkend='user-manual-command'>The BitBake Command</link>" "<link linkend='bitbake-user-manual-command'>The BitBake Command</link>"
section. section.
</para> </para>

View File

@@ -0,0 +1,506 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<appendix id='hello-world-example'>
<title>Hello World Example</title>
<section id='bitbake-hello-world'>
<title>BitBake Hello World</title>
<para>
The simplest example commonly used to demonstrate any new
programming language or tool is the
"<ulink url="http://en.wikipedia.org/wiki/Hello_world_program">Hello World</ulink>"
example.
This appendix demonstrates, in tutorial form, Hello
World within the context of BitBake.
The tutorial describes how to create a new project
and the applicable metadata files necessary to allow
BitBake to build it.
</para>
</section>
<section id='example-obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
See the
"<link linkend='obtaining-bitbake'>Obtaining BitBake</link>"
section for information on how to obtain BitBake.
Once you have the source code on your machine, the BitBake directory
appears as follows:
<literallayout class='monospaced'>
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rwxrwxr-x. 1 wmat wmat 3195 Jan 31 11:57 setup.py
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
</literallayout>
</para>
<para>
At this point, you should have BitBake cloned to
a directory that matches the previous listing except for
dates and user names.
</para>
</section>
<section id='setting-up-the-bitbake-environment'>
<title>Setting Up the BitBake Environment</title>
<para>
First, you need to be sure that you can run BitBake.
Set your working directory to where your local BitBake
files are and run the following command:
<literallayout class='monospaced'>
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.23.0, bitbake version 1.23.0
</literallayout>
The console output tells you what version you are running.
</para>
<para>
The recommended method to run BitBake is from a directory of your
choice.
To be able to run BitBake from any directory, you need to add the
executable binary to your binary to your shell's environment
<filename>PATH</filename> variable.
First, look at your current <filename>PATH</filename> variable
by entering the following:
<literallayout class='monospaced'>
$ echo $PATH
</literallayout>
Next, add the directory location for the BitBake binary to the
<filename>PATH</filename>.
Here is an example that adds the
<filename>/home/scott-lenovo/bitbake/bin</filename> directory
to the front of the <filename>PATH</filename> variable:
<literallayout class='monospaced'>
$ export PATH=/home/scott-lenovo/bitbake/bin:$PATH
</literallayout>
You should now be able to enter the <filename>bitbake</filename>
command from the command line while working from any directory.
</para>
</section>
<section id='the-hello-world-example'>
<title>The Hello World Example</title>
<para>
The overall goal of this exercise is to build a
complete "Hello World" example utilizing task and layer
concepts.
Because this is how modern projects such as OpenEmbedded and
the Yocto Project utilize BitBake, the example
provides an excellent starting point for understanding
BitBake.
</para>
<para>
To help you understand how to use BitBake to build targets,
the example starts with nothing but the <filename>bitbake</filename>
command, which causes BitBake to fail and report problems.
The example progresses by adding pieces to the build to
eventually conclude with a working, minimal "Hello World"
example.
</para>
<para>
While every attempt is made to explain what is happening during
the example, the descriptions cannot cover everything.
You can find further information throughout this manual.
Also, you can actively participate in the
<ulink url='http://lists.openembedded.org/mailman/listinfo/bitbake-devel'></ulink>
discussion mailing list about the BitBake build tool.
</para>
<note>
This example was inspired by and drew heavily from these sources:
<itemizedlist>
<listitem><para>
<ulink url="http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html">Mailing List post - The BitBake equivalent of "Hello, World!"</ulink>
</para></listitem>
<listitem><para>
<ulink url="http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/">Hambedded Linux blog post - From Bitbake Hello World to an Image</ulink>
</para></listitem>
</itemizedlist>
</note>
<para>
As stated earlier, the goal of this example
is to eventually compile "Hello World".
However, it is unknown what BitBake needs and what you have
to provide in order to achieve that goal.
Recall that BitBake utilizes three types of metadata files:
<link linkend='configuration-files'>Configuration Files</link>,
<link linkend='classes'>Classes</link>, and
<link linkend='recipes'>Recipes</link>.
But where do they go?
How does BitBake find them?
BitBake's error messaging helps you answer these types of questions
and helps you better understand exactly what is going on.
</para>
<para>
Following is the complete "Hello World" example.
</para>
<orderedlist>
<listitem><para><emphasis>Create a Project Directory:</emphasis>
First, set up a directory for the "Hello World" project.
Here is how you can do so in your home directory:
<literallayout class='monospaced'>
$ mkdir ~/hello
$ cd ~/hello
</literallayout>
This is the directory that BitBake will use to do all of
its work.
You can use this directory to keep all the metafiles needed
by BitBake.
Having a project directory is a good way to isolate your
project.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
At this point, you have nothing but a project directory.
Run the <filename>bitbake</filename> command and see what
it does:
<literallayout class='monospaced'>
$ bitbake
The BBPATH variable is not set and bitbake did not
find a conf/bblayers.conf file in the expected location.
Maybe you accidentally invoked bitbake from the wrong directory?
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, XDG_CURRENT_DESKTOP,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG, no_proxy,
XDG_SESSION_PATH, XAUTHORITY, SESSION_MANAGER, SHLVL,
MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, WINDOWID, EDITOR,
GPG_AGENT_INFO, SSH_AUTH_SOCK, GDMSESSION, GNOME_KEYRING_PID,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, LESSOPEN, DBUS_SESSION_BUS_ADDRESS,
_, XDG_SESSION_COOKIE, DESKTOP_SESSION, LESSCLOSE, DEFAULTS_PATH,
UBUNTU_MENUPROXY, OLDPWD, XDG_DATA_DIRS, COLORTERM, LS_COLORS
</literallayout>
The majority of this output is specific to environment variables
that are not directly relevant to BitBake.
However, the very first message regarding the
<filename>BBPATH</filename> variable and the
<filename>conf/bblayers.conf</filename> file
is relevant.</para>
<para>
When you run BitBake, it begins looking for metadata files.
The
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
variable is what tells BitBake where to look for those files.
<filename>BBPATH</filename> is not set and you need to set it.
Without <filename>BBPATH</filename>, Bitbake cannot
find any configuration files (<filename>.conf</filename>)
or recipe files (<filename>.bb</filename>) at all.
BitBake also cannot find the <filename>bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Setting <filename>BBPATH</filename>:</emphasis>
For this example, you can set <filename>BBPATH</filename>
in the same manner that you set <filename>PATH</filename>
earlier in the appendix.
You should realize, though, that it is much more flexible to set the
<filename>BBPATH</filename> variable up in a configuration
file for each project.</para>
<para>From your shell, enter the following commands to set and
export the <filename>BBPATH</filename> variable:
<literallayout class='monospaced'>
$ BBPATH="&lt;projectdirectory&gt;"
$ export BBPATH
</literallayout>
Use your actual project directory in the command.
BitBake uses that directory to find the metadata it needs for
your project.
<note>
When specifying your project directory, do not use the
tilde ("~") character as BitBake does not expand that character
as the shell would.
</note>
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
Now that you have <filename>BBPATH</filename> defined, run
the <filename>bitbake</filename> command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 173, in parse_config_file
return bb.parse.handle(fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 99, in handle
return h['handle'](fn, data, include)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 120, in handle
abs_fn = resolve_file(fn, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/__init__.py", line 117, in resolve_file
raise IOError("file %s not found in %s" % (fn, bbpath))
IOError: file conf/bitbake.conf not found in /home/scott-lenovo/hello
ERROR: Unable to parse conf/bitbake.conf: file conf/bitbake.conf not found in /home/scott-lenovo/hello
</literallayout>
This sample output shows that BitBake could not find the
<filename>conf/bitbake.conf</filename> file in the project
directory.
This file is the first thing BitBake must find in order
to build a target.
And, since the project directory for this example is
empty, you need to provide a <filename>conf/bitbake.conf</filename>
file.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bitbake.conf</filename>:</emphasis>
The <filename>conf/bitbake.conf</filename> includes a number of
configuration variables BitBake uses for metadata and recipe
files.
For this example, you need to create the file in your project directory
and define some key BitBake variables.
For more information on the <filename>bitbake.conf</filename>,
see
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#an-overview-of-bitbakeconf'></ulink>
</para>
<para>Use the following commands to create the <filename>conf</filename>
directory in the project directory:
<literallayout class='monospaced'>
$ mkdir conf
</literallayout>
From within the <filename>conf</filename> directory, use
some editor to create the <filename>bitbake.conf</filename>
so that it contains the following:
<literallayout class='monospaced'>
TMPDIR = "${<link linkend='var-TOPDIR'>TOPDIR</link>}/tmp"
<link linkend='var-CACHE'>CACHE</link> = "${TMPDIR}/cache"
<link linkend='var-STAMP'>STAMP</link> = "${TMPDIR}/stamps"
<link linkend='var-T'>T</link> = "${TMPDIR}/work"
<link linkend='var-B'>B</link> = "${TMPDIR}"
</literallayout>
The <filename>TMPDIR</filename> variable establishes a directory
that BitBake uses for build output and intermediate files (other
than the cached information used by the
<link linkend='setscene'>Setscene</link> process.
Here, the <filename>TMPDIR</filename> directory is set to
<filename>hello/tmp</filename>.
<note><title>Tip</title>
You can always safely delete the <filename>tmp</filename>
directory in order to rebuild a BitBake target.
The build process creates the directory for you
when you run BitBake.
</note></para>
<para>For information about each of the other variables defined in this
example, click on the links to take you to the definitions in
the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>conf/bitbake.conf</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
ERROR: Traceback (most recent call last):
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
return func(fn, *args)
File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
</literallayout>
In the sample output, BitBake could not find the
<filename>classes/base.bbclass</filename> file.
You need to create that file next.
</para></listitem>
<listitem><para><emphasis>Creating <filename>classes/base.bbclass</filename>:</emphasis>
BitBake uses class files to provide common code and functionality.
The minimally required class for BitBake is the
<filename>classes/base.bbclass</filename> file.
The <filename>base</filename> class is implicitly inherited by
every recipe.
BitBake looks for the class in the <filename>classes</filename>
directory of the project (i.e <filename>hello/classes</filename>
in this example).
</para>
<para>Create the <filename>classes</filename> directory as follows:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ mkdir classes
</literallayout>
Move to the <filename>classes</filename> directory and then
create the <filename>base.bbclass</filename> file by inserting
this single line:
<literallayout class='monospaced'>
addtask build
</literallayout>
The minimal task that BitBake runs is the
<filename>do_build</filename> task.
This is all the example needs in order to build the project.
Of course, the <filename>base.bbclass</filename> can have much
more depending on which build environments BitBake is
supporting.
For more information on the <filename>base.bbclass</filename> file,
you can look at
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#tasks'></ulink>.
</para></listitem>
<listitem><para><emphasis>Run Bitbake:</emphasis>
After making sure that the <filename>classes/base.bbclass</filename>
file exists, you can run the <filename>bitbake</filename>
command again:
<literallayout class='monospaced'>
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
</literallayout>
BitBake is finally reporting no errors.
However, you can see that it really does not have anything
to do.
You need to create a recipe that gives BitBake something to do.
</para></listitem>
<listitem><para><emphasis>Creating a Layer:</emphasis>
While it is not really necessary for such a small example,
it is good practice to create a layer in which to keep your
code separate from the general metadata used by BitBake.
Thus, this example creates and uses a layer called "mylayer".
<note>
You can find additional information on adding a layer at
<ulink url='http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/#adding-an-example-layer'></ulink>.
</note>
</para>
<para>Minimally, you need a recipe file and a layer configuration
file in your layer.
The configuration file needs to be in the <filename>conf</filename>
directory inside the layer.
Use these commands to set up the layer and the <filename>conf</filename>
directory:
<literallayout class='monospaced'>
$ cd $HOME
$ mkdir mylayer
$ cd mylayer
$ mkdir conf
</literallayout>
Move to the <filename>conf</filename> directory and create a
<filename>layer.conf</filename> file that has the following:
<literallayout class='monospaced'>
BBPATH .= ":${<link linkend='var-LAYERDIR'>LAYERDIR</link>}"
<link linkend='var-BBFILES'>BBFILES</link> += "${LAYERDIR}/*.bb"
<link linkend='var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</link> += "mylayer"
<link linkend='var-BBFILE_PATTERN'>BBFILE_PATTERN_mylayer</link> := "^${LAYERDIR}/"
</literallayout>
For information on these variables, click the links
to go to the definitions in the glossary.</para>
<para>You need to create the recipe file next.
Inside your layer at the top-level, use an editor and create
a recipe file named <filename>printhello.bb</filename> that
has the following:
<literallayout class='monospaced'>
<link linkend='var-DESCRIPTION'>DESCRIPTION</link> = "Prints Hello World"
<link linkend='var-PN'>PN</link> = 'printhello'
<link linkend='var-PV'>PV</link> = '1'
python do_build() {
bb.plain("********************");
bb.plain("* *");
bb.plain("* Hello, World! *");
bb.plain("* *");
bb.plain("********************");
}
</literallayout>
The recipe file simply provides a description of the
recipe, the name, version, and the <filename>do_build</filename>
task, which prints out "Hello World" to the console.
For more information on these variables, follow the links
to the glossary.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that a BitBake target exists, run the command and provide
that target:
<literallayout class='monospaced'>
$ cd $HOME/hello
$ bitbake printhello
ERROR: no recipe files to build, check your BBPATH and BBFILES?
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
</literallayout>
We have created the layer with the recipe and the layer
configuration file but it still seems that BitBake cannot
find the recipe.
BitBake needs a <filename>conf/bblayers.conf</filename> that
lists the layers for the project.
Without this file, BitBake cannot find the recipe.
</para></listitem>
<listitem><para><emphasis>Creating <filename>conf/bblayers.conf</filename>:</emphasis>
BitBake uses the <filename>conf/bblayers.conf</filename> file
to locate layers needed for the project.
This file must reside in the <filename>conf</filename> directory
of the project (i.e. <filename>hello/conf</filename> for this
example).</para>
<para>Set your working directory to the <filename>hello/conf</filename>
directory and then create the <filename>bblayers.conf</filename>
file so that it contains the following:
<literallayout class='monospaced'>
BBLAYERS ?= " \
/home/&lt;you&gt;/mylayer \
"
</literallayout>
You need to provide your own information for
<filename>you</filename> in the file.
</para></listitem>
<listitem><para><emphasis>Run Bitbake With a Target:</emphasis>
Now that you have supplied the <filename>bblayers.conf</filename>
file, run the <filename>bitbake</filename> command and provide
the target:
<literallayout class='monospaced'>
$ bitbake printhello
Parsing recipes: 100% |##################################################################################|
Time: 00:00:00
Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing RunQueue Tasks
********************
* *
* Hello, World! *
* *
********************
NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded.
</literallayout>
BitBake finds the <filename>printhello</filename> recipe and
successfully runs the task.
<note>
After the first execution, re-running
<filename>bitbake printhello</filename> again will not
result in a BitBake run that prints the same console
output.
The reason for this is that the first time the
<filename>printhello.bb</filename> recipe's
<filename>do_build</filename> task executes
successfully, BitBake writes a stamp file for the task.
Thus, the next time you attempt to run the task
using that same <filename>bitbake</filename> command,
BitBake notices the stamp and therefore determines
that the task does not need to be re-run.
If you delete the <filename>tmp</filename> directory
or run <filename>bitbake -c clean printhello</filename>
and then re-run the build, the "Hello, World!" message will
be printed again.
</note>
</para></listitem>
</orderedlist>
</section>
</appendix>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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">
<chapter id="user-manual-intro"> <chapter id="bitbake-user-manual-intro">
<title>Overview</title> <title>Overview</title>
<para> <para>
@@ -417,7 +417,7 @@
</para> </para>
</section> </section>
<section id="user-manual-command"> <section id="bitbake-user-manual-command">
<title>The BitBake Command</title> <title>The BitBake Command</title>
<para> <para>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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">
<chapter id="user-manual-metadata"> <chapter id="bitbake-user-manual-metadata">
<title>Syntax and Operators</title> <title>Syntax and Operators</title>
<para> <para>
@@ -301,6 +301,29 @@
variable becoming the current date. variable becoming the current date.
</para> </para>
</section> </section>
<section id='providing-pathnames'>
<title>Providing Pathnames</title>
<para>
When specifying pathnames for use with BitBake,
do not use the tilde ("~") character as a shortcut
for your home directory.
Doing so might cause BitBake to not recognize the
path since BitBake does not expand this character in
the same way a shell would.
</para>
<para>
Instead, provide a fuller path as the following
example illustrates:
<literallayout class='monospaced'>
BBLAYERS ?= " \
/home/scott-lenovo/LayerA \
"
</literallayout>
</para>
</section>
</section> </section>
<section id='conditional-syntax-overrides'> <section id='conditional-syntax-overrides'>
@@ -683,7 +706,7 @@
<para> <para>
As with most languages, functions are the building blocks that As with most languages, functions are the building blocks that
are used to build up operations into tasks. are used to build up operations into tasks.
BitBake supports three types of functions: BitBake supports these types of functions:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Shell Functions:</emphasis> <listitem><para><emphasis>Shell Functions:</emphasis>
Functions written in shell script and executed either Functions written in shell script and executed either
@@ -697,6 +720,10 @@
<listitem><para><emphasis>Python Functions:</emphasis> <listitem><para><emphasis>Python Functions:</emphasis>
Functions written in Python and executed by Python. Functions written in Python and executed by Python.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Anonymous Python Functions:</emphasis>
Python functions executed automatically during
parsing.
</para></listitem>
</itemizedlist> </itemizedlist>
Regardless of the type of function, you can only Regardless of the type of function, you can only
define them in class (<filename>.bbclass</filename>) define them in class (<filename>.bbclass</filename>)
@@ -793,36 +820,71 @@
</para> </para>
</section> </section>
<section id='automatically-mapping-functions-within-the-context-of-a-class'> <section id='anonymous-python-functions'>
<title>Automatically Mapping Functions Within the Context of a Class</title> <title>Anonymous Python Functions</title>
<para>
Sometimes it is useful to run some code during
parsing to set variables or to perform other operations
programmatically.
To do this, you can define an anonymous Python function.
Here is an example that conditionally sets a
variable based on the value of another variable:
<literallayout class='monospaced'>
python __anonymous () {
if d.getVar('SOMEVAR', True) == 'value':
d.setVar('ANOTHERVAR', 'value2')
}
</literallayout>
The "__anonymous" function name is optional, so the
following example is functionally equivalent to the above:
<literallayout class='monospaced'>
python () {
if d.getVar('SOMEVAR', True) == 'value':
d.setVar('ANOTHERVAR', 'value2')
}
</literallayout>
Because unlike other Python functions anonymous
Python functions are executed during parsing, the
"d" variable within an anonymous Python function represents
the datastore for the entire recipe.
Consequently, you can set variable values here and
those values can be picked up by other functions.
</para>
</section>
<section id='flexible-inheritance-for-class-functions'>
<title>Flexible Inheritance for Class Functions</title>
<para> <para>
Through coding techniques and the use of Through coding techniques and the use of
<filename>EXPORT_FUNCTIONS</filename>, BitBake supports <filename>EXPORT_FUNCTIONS</filename>, BitBake supports
automatic mapping for functions within the context of exporting a function from a class such that the
a class. class function appears as the default implementation
of the function, but can still be called if a recipe
inheriting the class needs to define its own version of
the function.
</para> </para>
<para> <para>
To understand the benefits of this feature, consider the basic scenario To understand the benefits of this feature, consider
where a class defines a function and your recipe inherits the class. the basic scenario where a class defines a task function
In this basic scenario, your recipe has access to the function in the and your recipe inherits the class.
class by way of inheritance and can freely call and use the function In this basic scenario, your recipe inherits the task
as defined in the class. function as defined in the class.
However, if you need to have a modified version of that function If desired, your recipe can add to the start and end of the
in your recipe you are limited to using either your modified version function by using the "_prepend" or "_append" operations
of the function or using "prepend_" or "_append" operators to add respectively, or it can redefine the function completely.
code to be executed before or after the original function in the However, if it redefines the function, there is
class. no means for it to call the class version of the function.
Your recipe cannot use both versions of the fucntion. <filename>EXPORT_FUNCTIONS</filename> provides a mechanism
that enables the recipe's version of the function to call
the original version of the function.
</para> </para>
<para> <para>
Function mapping allows you to access both your custom function To make use of this technique, you need the following
function that is defined in the recipe and the original function that things in place:
is defined in the class.
You have this access all from within your recipe.
To accomplish this, you need some things in place:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
The class needs to define the function as follows: The class needs to define the function as follows:
@@ -853,12 +915,24 @@
<listitem><para> <listitem><para>
You need to call the function appropriately from within your You need to call the function appropriately from within your
recipe. recipe.
Continuing with the same example, Continuing with the same example, if your recipe
your recipe would call the <filename>do_foo</filename> function needs to call the class version of the function,
from the recipe by referring to it as it should call <filename>bar_do_foo</filename>.
<filename>bar_do_foo</filename>. Assuming <filename>do_foo</filename> was a shell function
To call your modified version of the function as defined in your and <filename>EXPORT_FUNCTIONS</filename> was used as above,
recipe, call it as <filename>do_foo</filename>. the recipe's function could conditionally call the
class version of the function as follows:
<literallayout class='monospaced'>
do_foo() {
if [ somecondition ] ; then
bar_do_foo
else
# Do something else
fi
}
</literallayout>
To call your modified version of the function as defined
in your recipe, call it as <filename>do_foo</filename>.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
With these conditions met, your single recipe With these conditions met, your single recipe

View File

@@ -1080,20 +1080,21 @@
(<filename>.conf</filename>) files. (<filename>.conf</filename>) files.
This variable is analogous to the This variable is analogous to the
<filename>PATH</filename> variable. <filename>PATH</filename> variable.
<note> </para>
If you run BitBake from a directory outside of the
build directory, <para>
you must be sure to set If you run BitBake from a directory outside of the
<filename>BBPATH</filename> to point to the build directory,
build directory. you must be sure to set
Set the variable as you would any environment variable <filename>BBPATH</filename> to point to the
and then run BitBake: build directory.
<literallayout class='monospaced'> Set the variable as you would any environment variable
$ BBPATH = "&lt;build_directory&gt;" and then run BitBake:
<literallayout class='monospaced'>
$ BBPATH="&lt;build_directory&gt;"
$ export BBPATH $ export BBPATH
$ bitbake &lt;target&gt; $ bitbake &lt;target&gt;
</literallayout> </literallayout>
</note>
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>

View File

@@ -73,16 +73,16 @@
</legalnotice> </legalnotice>
</bookinfo> </bookinfo>
<xi:include href="user-manual-intro.xml"/> <xi:include href="bitbake-user-manual-intro.xml"/>
<xi:include href="user-manual-execution.xml"/> <xi:include href="bitbake-user-manual-execution.xml"/>
<xi:include href="user-manual-metadata.xml"/> <xi:include href="bitbake-user-manual-metadata.xml"/>
<xi:include href="user-manual-fetching.xml"/> <xi:include href="bitbake-user-manual-fetching.xml"/>
<xi:include href="user-manual-ref-variables.xml"/> <xi:include href="bitbake-user-manual-ref-variables.xml"/>
<xi:include href="user-manual-hello.xml"/> <xi:include href="bitbake-user-manual-hello.xml"/>
</book> </book>

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -144,7 +144,7 @@
# If you leave this block of code in then the text title in the # If you leave this block of code in then the text title in the
# <title>BitBake User Manual</title> statement of the # <title>BitBake User Manual</title> statement of the
# user-manual.xml file is rendered on the title page below the # bitbake-user-manual.xml file is rendered on the title page below the
# image. Commenting it out gets it out of there yet allows it # image. Commenting it out gets it out of there yet allows it
# to be retained in the tab text for the HTML version of the # to be retained in the tab text for the HTML version of the
# manual. # manual.
@@ -176,7 +176,7 @@
<!-- <!--
# If you leave this block of code in then the text title in the # If you leave this block of code in then the text title in the
# <title>BitBake User Manual</title> statement of the # <title>BitBake User Manual</title> statement of the
# user-manual.xml file is rendered on the title page below the # bitbake-user-manual.xml file is rendered on the title page below the
# image. Commenting it out gets it out of there yet allows it # image. Commenting it out gets it out of there yet allows it
# to be retained in the tab text for the HTML version of the # to be retained in the tab text for the HTML version of the
# manual. # manual.

View File

@@ -1,334 +0,0 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<appendix id='hello-world-example'>
<title>Hello World Example</title>
<section id='bitbake-hello-world'>
<title>BitBake Hello World</title>
<para>
The simplest example commonly used to demonstrate any new
programming language or tool is the
<ulink url="http://en.wikipedia.org/wiki/Hello_world_program">Hello World</ulink>
example.
This appendix demonstrates, in tutorial form, Hello
World within the context of BitBake.
The tutorial describes how to create a new Project
and the applicable metadata files necessary to allow
BitBake to build it.
</para>
</section>
<section id='example-obtaining-bitbake'>
<title>Obtaining BitBake</title>
<para>
See the
"<link linkend='obtaining-bitbake'>Obtaining BitBake</link>"
section for information on how to obtain BitBake.
Once you have the source code on your machine, the BitBake directory
appears as follows:
<literallayout class='monospaced'>
$ ls -al
total 100
drwxrwxr-x. 9 wmat wmat 4096 Jan 31 13:44 .
drwxrwxr-x. 3 wmat wmat 4096 Feb 4 10:45 ..
-rw-rw-r--. 1 wmat wmat 365 Nov 26 04:55 AUTHORS
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 bin
drwxrwxr-x. 4 wmat wmat 4096 Jan 31 13:44 build
-rw-rw-r--. 1 wmat wmat 16501 Nov 26 04:55 ChangeLog
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 classes
drwxrwxr-x. 2 wmat wmat 4096 Nov 26 04:55 conf
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 contrib
-rw-rw-r--. 1 wmat wmat 17987 Nov 26 04:55 COPYING
drwxrwxr-x. 3 wmat wmat 4096 Nov 26 04:55 doc
-rw-rw-r--. 1 wmat wmat 69 Nov 26 04:55 .gitignore
-rw-rw-r--. 1 wmat wmat 849 Nov 26 04:55 HEADER
drwxrwxr-x. 5 wmat wmat 4096 Jan 31 13:44 lib
-rw-rw-r--. 1 wmat wmat 195 Nov 26 04:55 MANIFEST.in
-rwxrwxr-x. 1 wmat wmat 3195 Jan 31 11:57 setup.py
-rw-rw-r--. 1 wmat wmat 2887 Nov 26 04:55 TODO
</literallayout>
</para>
<para>
At this point, you should have BitBake cloned to
a directory that matches the previous listing except for
dates and user names.
</para>
</section>
<section id='setting-up-the-bitbake-environment'>
<title>Setting Up the BitBake Environment</title>
<para>
The recommended method to run BitBake is from a directory of your
choice.
The directory can be within your home directory or in
<filename>/usr/local</filename>,
depending on your preference.
</para>
<para>
First, run BitBake to make sure it's working.
From the BitBake source code directory, issue the following command:
<literallayout class='monospaced'>
$ ./bin/bitbake --version
BitBake Build Tool Core version 1.19.0, bitbake version
1.19.0
</literallayout>
You are now ready to use BitBake.
</para>
<para>
A final step to make development easier is to add the executable
binary to your environment <filename>PATH</filename>.
First, look at your current <filename>PATH</filename> variable
by entering the following:
<literallayout class='monospaced'>
$ echo $PATH
</literallayout>
Next, add the directory location for the BitBake binary to the
<filename>PATH</filename> using this form:
<literallayout class='monospaced'>
$ export PATH=&lt;path-to-bitbake-executable&gt;:$PATH
</literallayout>
This will add the directory to the beginning of your
<filename>PATH</filename> environment variable.
You should now be able to enter the <filename>bitbake</filename>
command at the command line to run BitBake.
</para>
<para>
For a more permanent solution assuming you are running the BASH
shell, edit <filename>~/.bashrc</filename> and add the following to the end
of that file:
<literallayout class='monospaced'>
PATH=&lt;path-to-bitbake-executable&gt;:$PATH
</literallayout>
</para>
<para>
If you're a Vim user, you will find useful
Vim configuration contributions in the
<filename>contrib/vim</filename> directory.
Copy the files from that directory to your
<filename>/home/yourusername/.vim</filename>
directory.
If that directory does not exist, create it, and then
restart Vim.
</para>
</section>
<section id='the-hello-world-example'>
<title>The Hello World Example</title>
<para>
The following example leaps directly into how BitBake
works.
While every attempt is made to explain what is happening,
not everything can be covered.
You can find further information in the
"<link linkend='user-manual-metadata'>Syntax and Operators</link>"
chapter.
</para>
<para>
The overall goal of this exercise is to build a
complete "Hello World" example utilizing task and layer
concepts.
This is how modern projects such as OpenEmbedded and
the Yocto Project utilize BitBake, therefore it
provides an excellent starting point for understanding
BitBake.
</para>
<para>
It should be noted that this chapter was inspired by
and draws heavily from several sources:
<itemizedlist>
<listitem><para>
<ulink href="http://www.mail-archive.com/yocto@yoctoproject.org/msg09379.html">Mailing List post - The BitBake equivalent of "Hello, World!"</ulink>
</para></listitem>
<listitem><para>
<ulink href="http://hambedded.org/blog/2012/11/24/from-bitbake-hello-world-to-an-image/">Hambedded Linux blog post - From Bitbake Hello World to an Image</ulink>
</para></listitem>
</itemizedlist>
</para>
<section id='a-reverse-walk-through'>
<title>A Reverse Walk-Through</title>
<para>
A good way to understand anything is to walk through the steps
that take you to where you want to be and observe first
principles.
BitBake allows us to do this through the
<filename>-D</filename> or <filename>Debug</filename>
command-line parameter.
</para>
<para>
The goal is to eventually compile a "Hello World" example.
However, it is unknown what is needed to achieve that goal.
Recall that BitBake utilizes three types of metadata files:
<link linkend='configuration-files'>Configuration Files</link>,
<link linkend='classes'>Classes</link>, and
<link linkend='recipes'>Recipes</link>.
But where do they go?
How does BitBake find them?
BitBake's error messaging helps you answer these types of questions
and helps you better understand exactly what is going on.
</para>
<para>
First, set up a directory for the "Hello World" project.
Here is how you can do so in your home directory:
<literallayout class='monospaced'>
$ mkdir ~/dev/hello &amp;&amp; cd ~/dev/hello
</literallayout>
Within this new, empty directory, run BitBake with
debugging output and see what happens:
<literallayout class='monospaced'>
$ bitbake -DDD
The BBPATH variable is not set
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, LESSOPEN, WINDOWID,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG,
XDG_SESSION_PATH, XAUTHORITY, LANGUAGE, SESSION_MANAGER,
SHLVL, MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, TEXTDOMAIN,
GPG_AGENT_INFO, SSH_AUTH_SOCK, XDG_RUNTIME_DIR,
COMPIZ_BIN_PATH, GDMSESSION, DEFAULTS_PATH, TEXTDOMAINDIR,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, XDG_CURRENT_DESKTOP,
DBUS_SESSION_BUS_ADDRESS, _, XDG_SESSION_COOKIE,
DESKTOP_SESSION, LESSCLOSE, GNOME_KEYRING_PID,
UBUNTU_MENUPROXY, OLDPWD, GTK_MODULES, XDG_DATA_DIRS,
COLORTERM, LS_COLORS
</literallayout>
The majority of this output is specific to environment variables
that are not directly relevant to BitBake.
However, the very first message
"<filename>The BBPATH variable is not set</filename>"
is relevant and you need to rectify it by setting
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>.
</para>
<para>
When you run BitBake, it begins looking for metadata files.
The <filename>BBPATH</filename> variable is what tells
BitBake where to look.
You could set <filename>BBPATH</filename> in the same manner
that you set <filename>PATH</filename> as shown earlier.
However, it is much more flexible to set the
<link linkend='var-BBPATH'><filename>BBPATH</filename></link>
variable for each project.
</para>
<para>
Without <filename>BBPATH</filename>, Bitbake cannot
find any configuration files (<filename>.conf</filename>)
or recipe files (<filename>.bb</filename>) at all.
BitBake also cannot find the <filename>bitbake.conf</filename>
file.
</para>
<para>
It is standard practice to organize the project's directory tree
to include both a <filename>conf/</filename> and
<filename>classes/</filename> directory.
You need to add those directories to your project:
<literallayout class='monospaced'>
$ mkdir conf classes
</literallayout>
Once those directories are in place, you can copy the
sample configuration files provided in the
BitBake source tree to their appropriate directories.
First, change to the BitBake source tree directory and
then copy the directories:
<literallayout class='monospaced'>
cp conf/bitbake.conf ~/dev/hello/conf/
cp classes/base.bbclass ~/dev/hello/classes/
</literallayout>
At this point your project directory structure should look like
the following:
<literallayout class='monospaced'>
~/dev/hello$ tree
.
|-- classes
|   +-- base.bbclass
+-- conf
+-- bitbake.conf
</literallayout>
</para>
<para>
Once you have copied these files into your project, you
can now get back to resolving the <filename>BBPATH</filename>
issue.
</para>
<para>
The first configuration file that BitBake looks for is always
<filename>bblayers.conf</filename>.
With this knowledge, you know that to resolve your
<filename>BBPATH</filename> error you can add a
<filename>conf/bblayers.conf</filename> file to the
project source tree and populate it with the
<filename>BBPATH</filename> variable declaration.
</para>
<para>
From your project source tree:
<literallayout class='monospaced'>
$ vim conf/bblayers.conf
</literallayout>
Now add the following to the empty
<filename>bblayers.conf</filename> file:
<literallayout class='monospaced'>
BBPATH := "${TOPDIR}"
</literallayout>
</para>
<para>
Now, from the root of your project directory, run BitBake
again and see what happens:
<literallayout class='monospaced'>
$ bitbake -DDD
Nothing to do. Use 'bitbake world' to build everything, or run
'bitbake --help' for usage information.
DEBUG: Removed the following variables from the environment:
GNOME_DESKTOP_SESSION_ID, LESSOPEN, WINDOWID,
GNOME_KEYRING_CONTROL, DISPLAY, SSH_AGENT_PID, LANG,
XDG_SESSION_PATH, XAUTHORITY, LANGUAGE, SESSION_MANAGER,
SHLVL, MANDATORY_PATH, COMPIZ_CONFIG_PROFILE, TEXTDOMAIN,
GPG_AGENT_INFO, SSH_AUTH_SOCK, XDG_RUNTIME_DIR,
COMPIZ_BIN_PATH, GDMSESSION, DEFAULTS_PATH, TEXTDOMAINDIR,
XDG_SEAT_PATH, XDG_CONFIG_DIRS, XDG_CURRENT_DESKTOP,
DBUS_SESSION_BUS_ADDRESS, _, XDG_SESSION_COOKIE,
DESKTOP_SESSION, LESSCLOSE, GNOME_KEYRING_PID, UBUNTU_MENUPROXY,
OLDPWD, GTK_MODULES, XDG_DATA_DIRS, COLORTERM, LS_COLORS
DEBUG: Found bblayers.conf (/home/wmat/dev/hello/conf/
bblayers.conf)
DEBUG: LOAD /home/wmat/dev/hello/conf/bblayers.conf
DEBUG: LOAD /home/wmat/dev/hello/conf/bitbake.conf
DEBUG: BB configuration INHERITs:0: inheriting /home/wmat/dev/
hello/classes/base.bbclass
DEBUG: BB /home/wmat/dev/hello/classes/base.bbclass: handle
(data, include)
DEBUG: LOAD /home/wmat/dev/hello/classes/base.bbclass
DEBUG: Clearing SRCREV cache due to cache policy of: clear
DEBUG: Using cache in '/home/wmat/dev/hello/tmp/cache/
local_file_checksum_cache.dat'
DEBUG: Using cache in '/home/wmat/dev/hello/tmp/cache/
bb_codeparser.dat'
</literallayout>
<note>
From this point forward in the example, the environment
variable removal messages are ignored and omitted.
Examine the relevant DEBUG messages:
</note>
</para>
</section>
</section>
</appendix>

View File

@@ -73,7 +73,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -85,7 +85,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -83,7 +83,7 @@
<para> <para>
Some layers function as a layer to hold other BSP layers. Some layers function as a layer to hold other BSP layers.
An example of this type of layer is the <filename>meta-intel</filename> layer. An example of this type of layer is the <filename>meta-intel</filename> layer.
The <filename>meta-intel</filename> layer contains over 10 individual BSP layers. The <filename>meta-intel</filename> layer contains many individual BSP layers.
</para> </para>
<para> <para>
@@ -185,13 +185,10 @@
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay/xorg.conf
meta-crownbay/recipes-kernel/ meta-crownbay/recipes-kernel/
meta-crownbay/recipes-kernel/linux/ meta-crownbay/recipes-kernel/linux/
meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend meta-crownbay/recipes-kernel/linux/linux-yocto-dev.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.4.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.8.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto_3.14.bbappend
</literallayout> </literallayout>
</para> </para>
@@ -399,8 +396,7 @@
For example, the Crown Bay BSP <filename>crownbay.conf</filename> contains the For example, the Crown Bay BSP <filename>crownbay.conf</filename> contains the
following statements: following statements:
<literallayout class='monospaced'> <literallayout class='monospaced'>
require conf/machine/include/tune-atom.inc require conf/machine/include/intel-core2-32-common.inc
require conf/machine/include/ia32-base.inc
require conf/machine/include/meta-intel.inc require conf/machine/include/meta-intel.inc
require conf/machine/include/meta-intel-emgd.inc require conf/machine/include/meta-intel-emgd.inc
</literallayout> </literallayout>
@@ -519,20 +515,32 @@
<literallayout class='monospaced'> <literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_crownbay = "crownbay"
KMACHINE_crownbay = "crownbay"
KBRANCH_crownbay = "standard/crownbay"
KERNEL_FEATURES_append_crownbay = " features/drm-emgd/drm-emgd-1.18 cfg/vesafb"
COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
KMACHINE_crownbay-noemgd = "crownbay" KMACHINE_crownbay-noemgd = "crownbay"
KBRANCH_crownbay-noemgd = "standard/crownbay" KBRANCH_crownbay-noemgd = "standard/crownbay"
KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb" KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
LINUX_VERSION = "3.10.11" LINUX_VERSION_crownbay = "3.10.35"
SRCREV_meta_crownbay = "b6e58b33dd427fe471f8827c83e311acdf4558a4"
SRCREV_machine_crownbay = "cee957655fe67826b2e827e2db41f156fa8f0cc4"
SRCREV_emgd_crownbay = "42d5e4548e8e79e094fa8697949eed4cf6af00a3"
SRCREV_meta_crownbay-noemgd = "285f93bf942e8f6fa678ffc6cc53696ed5400718" LINUX_VERSION_crownbay-noemgd = "3.10.35"
SRCREV_machine_crownbay-noemgd = "702040ac7c7ec66a29b4d147665ccdd0ff015577" SRCREV_meta_crownbay-noemgd = "b6e58b33dd427fe471f8827c83e311acdf4558a4"
SRCREV_machine_crownbay-noemgd = "cee957655fe67826b2e827e2db41f156fa8f0cc4"
SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.10.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.18;name=machine,meta,emgd"
</literallayout> </literallayout>
This append file contains statements used to support the Crown Bay BSP. This append file contains statements used to support the Crown Bay BSP.
The file defines <filename>crownbay</filename> as the The file defines machines using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
and uses the variable and uses the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to
ensure the machine name used by the OpenEmbedded build system maps to the ensure the machine name used by the OpenEmbedded build system maps to the
machine name used by the Linux Yocto kernel. machine name used by the Linux Yocto kernel.
@@ -542,11 +550,15 @@
kernel branch. kernel branch.
The The
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
variable enables features specific to the kernel. variable enables features specific to the kernel
Finally, the append file points to specific commits in the (e.g. graphics support in this case).
The append file points to specific commits in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
repository and the <filename>meta</filename> Git repository branches to identify the repository and the <filename>meta</filename> Git repository branches to identify the
exact kernel needed to build the Crown Bay BSP. exact kernel needed to build the Crown Bay BSP.
Finally, the file includes the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statement to locate the source files.
</para> </para>
<para> <para>
@@ -557,8 +569,9 @@
You can accomplish this definition by putting the configurations in a file or a set of files You can accomplish this definition by putting the configurations in a file or a set of files
inside a directory located at the same level as your kernel's append file and having the same inside a directory located at the same level as your kernel's append file and having the same
name as the kernel's main recipe file. name as the kernel's main recipe file.
With all these conditions met, simply reference those files in a With all these conditions met, simply reference those files in the
<filename>SRC_URI</filename> statement in the append file. <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statement in the append file.
</para> </para>
<para> <para>
@@ -1225,8 +1238,7 @@
is created in the current working directory. is created in the current working directory.
This example assumes you have sourced the This example assumes you have sourced the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
and are currently in the top-level folder of the setup script.
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para> </para>
<para> <para>
@@ -1248,21 +1260,20 @@
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.10.git... Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.10.git...
Please choose a machine branch to base your new BSP branch on: [default: standard/base] Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1) standard/arm-versatile-926ejs 1) standard/arm-versatile-926ejs
2) standard/base 2) standard/base
3) standard/beaglebone 3) standard/beagleboard
4) standard/ck 4) standard/beaglebone
5) standard/crownbay 5) standard/ck
6) standard/edf 6) standard/crownbay
7) standard/emenlow 7) standard/edgerouter
8) standard/fri2 8) standard/emenlow
9) standard/fsl-mpc8315e-rdb 9) standard/fri2
10) standard/ltsi 10) standard/fsl-mpc8315e-rdb
11) standard/mti-malta32 11) standard/mti-malta32
12) standard/mti-malta64 12) standard/mti-malta64
13) standard/ocf 13) standard/qemuppc
14) standard/qemuppc 14) standard/routerstationpro
15) standard/edgerouter 15) standard/sys940x
16) standard/sys940x
1 1
Would you like SMP support? (y/n) [default: y] Would you like SMP support? (y/n) [default: y]
Does your BSP have a touchscreen? (y/n) [default: n] Does your BSP have a touchscreen? (y/n) [default: n]
@@ -1270,17 +1281,17 @@
New qemu BSP created in meta-myarm New qemu BSP created in meta-myarm
</literallayout> </literallayout>
Let's take a closer look at the example now: Take a closer look at the example now:
<orderedlist> <orderedlist>
<listitem><para>For the QEMU architecture, <listitem><para>For the QEMU architecture,
the script first prompts you for which emulated architecture to use. the script first prompts you for which emulated architecture to use.
In the example, we use the ARM architecture. In the example, we use the ARM architecture.
</para></listitem> </para></listitem>
<listitem><para>The script then prompts you for the kernel. <listitem><para>The script then prompts you for the kernel.
The default 3.10 kernel is acceptable. The default 3.14 kernel is acceptable.
So, the example accepts the default. So, the example accepts the default.
If you enter 'n', the script prompts you to further enter the kernel If you enter 'n', the script prompts you to further enter the kernel
you do want to use (e.g. 3.2, 3.2_preempt-rt, and so forth.).</para></listitem> you do want to use.</para></listitem>
<listitem><para>Next, the script asks whether you would like to have a new <listitem><para>Next, the script asks whether you would like to have a new
branch created especially for your BSP in the local branch created especially for your BSP in the local
<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink> <ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>

View File

@@ -2082,14 +2082,15 @@
and and
<ulink url='&YOCTO_DOCS_REF_URL;#var-INITSCRIPT_PARAMS'><filename>INITSCRIPT_PARAMS</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-INITSCRIPT_PARAMS'><filename>INITSCRIPT_PARAMS</filename></ulink>
variables within your recipe.</para></listitem> variables within your recipe.</para></listitem>
<listitem><para><emphasis>Systemd:</emphasis> <listitem><para><emphasis>systemd:</emphasis>
Systemd was designed to replace SysVinit and to provide System Management Daemon (systemd) was designed to
replace SysVinit and to provide
enhanced management of services. enhanced management of services.
For more information on Systemd, see the Systemd For more information on systemd, see the systemd
homepage at homepage at
<ulink url='http://freedesktop.org/wiki/Software/systemd/'></ulink>. <ulink url='http://freedesktop.org/wiki/Software/systemd/'></ulink>.
</para> </para>
<para>To enable a service using Systemd, your recipe <para>To enable a service using systemd, your recipe
needs to inherit the needs to inherit the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-systemd'><filename>systemd</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-systemd'><filename>systemd</filename></ulink>
class. class.
@@ -2097,12 +2098,7 @@
located in your located in your
<link linkend='source-directory'>Source Directory</link>. <link linkend='source-directory'>Source Directory</link>.
section for more information. section for more information.
<note>For Systemd-based images, include the following </para></listitem>
in your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</note></para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</section> </section>
@@ -5345,7 +5341,7 @@
<para> <para>
By default, the Yocto Project uses SysVinit as the initialization By default, the Yocto Project uses SysVinit as the initialization
manager. manager.
However, support also exists for Systemd, However, support also exists for systemd,
which is a full replacement for init with which is a full replacement for init with
parallel starting of services, reduced shell overhead and other parallel starting of services, reduced shell overhead and other
features that are used by many distributions. features that are used by many distributions.
@@ -5354,20 +5350,12 @@
<para> <para>
If you want to use SysVinit, you do If you want to use SysVinit, you do
not have to do anything. not have to do anything.
But, if you want to use Systemd, you must But, if you want to use systemd, you must
take some steps as described in the following sections. take some steps as described in the following sections.
</para> </para>
<section id='using-systemd-exclusively'> <section id='using-systemd-exclusively'>
<title>Using Systemd Exclusively</title> <title>Using systemd Exclusively</title>
<para>
Set this variable in your <filename>local.conf</filename>
file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</para>
<para> <para>
Set the these variables in your distribution configuration Set the these variables in your distribution configuration
@@ -5385,6 +5373,14 @@
Doing so removes any redundant SysVinit scripts. Doing so removes any redundant SysVinit scripts.
</para> </para>
<para>
To remove initscripts from your image altogether,
set this variable also:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</para>
<para> <para>
For information on the backfill variable, see For information on the backfill variable, see
<ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES_BACKFILL_CONSIDERED'><filename>DISTRO_FEATURES_BACKFILL_CONSIDERED</filename></ulink>. <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES_BACKFILL_CONSIDERED'><filename>DISTRO_FEATURES_BACKFILL_CONSIDERED</filename></ulink>.
@@ -5392,15 +5388,7 @@
</section> </section>
<section id='using-systemd-for-the-main-image-and-using-sysvinit-for-the-rescue-image'> <section id='using-systemd-for-the-main-image-and-using-sysvinit-for-the-rescue-image'>
<title>Using Systemd for the Main Image and Using SysVinit for the Rescue Image</title> <title>Using systemd for the Main Image and Using SysVinit for the Rescue Image</title>
<para>
Set this variable in your <filename>local.conf</filename>
file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</para>
<para> <para>
Set the these variables in your distribution configuration Set the these variables in your distribution configuration
@@ -5411,11 +5399,11 @@
</literallayout> </literallayout>
Doing so causes your main image to use the Doing so causes your main image to use the
<filename>packagegroup-core-boot.bb</filename> recipe and <filename>packagegroup-core-boot.bb</filename> recipe and
Systemd. systemd.
The rescue/minimal image cannot use this package group. The rescue/minimal image cannot use this package group.
However, it can install SysVinit However, it can install SysVinit
and the appropriate packages will have support for both and the appropriate packages will have support for both
Systemd and SysVinit. systemd and SysVinit.
</para> </para>
</section> </section>
</section> </section>
@@ -5447,7 +5435,7 @@
Then, you can add the following to your Then, you can add the following to your
<filename>local.conf</filename>: <filename>local.conf</filename>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
SRCREV_pn-&lt;PN&gt; = "${AUTOREF}" SRCREV_pn-&lt;PN&gt; = "${AUTOREV}"
</literallayout> </literallayout>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>
is the name of the recipe for which you want to enable automatic source is the name of the recipe for which you want to enable automatic source
@@ -5660,7 +5648,7 @@
</para> </para>
<section id='qemu-image-enabling-tests'> <section id='qemu-image-enabling-tests'>
<title>QEMU</title> <title>Enabling Runtime Tests on QEMU</title>
<para> <para>
In order to run tests, you need to do the following: In order to run tests, you need to do the following:
@@ -5713,39 +5701,269 @@
</itemizedlist> </itemizedlist>
</para> </para>
<note> <para>
Regardless of how you initiate the tests, if you built your Once you start running the tests, the following happens:
image using <filename>rm_work</filename>, <itemizedlist>
most of the tests will fail with errors because they rely on <listitem><para>A copy of the root filesystem is written
<filename>${WORKDIR}/installed_pkgs.txt</filename>. to <filename>${WORKDIR}/testimage</filename>.
</note> </para></listitem>
<listitem><para>The image is booted under QEMU using the
standard <filename>runqemu</filename> script.
</para></listitem>
<listitem><para>A default timeout of 500 seconds occurs
to allow for the boot process to reach the login prompt.
You can change the timeout period by setting
<ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_QEMUBOOT_TIMEOUT'><filename>TEST_QEMUBOOT_TIMEOUT</filename></ulink>
in the <filename>local.conf</filename> file.
</para></listitem>
<listitem><para>Once the boot process is reached and the
login prompt appears, the tests run.
The full boot log is written to
<filename>${WORKDIR}/testimage/qemu_boot_log</filename>.
</para></listitem>
<listitem><para>Each test module loads in the order found
in <filename>TEST_SUITES</filename>.
You can find the full output of the commands run over
SSH in
<filename>${WORKDIR}/testimgage/ssh_target_log</filename>.
</para></listitem>
<listitem><para>If no failures occur, the task running the
tests ends successfully.
You can find the output from the
<filename>unittest</filename> in the task log at
<filename>${WORKDIR}/temp/log.do_testimage</filename>.
</para></listitem>
</itemizedlist>
</para>
</section> </section>
<section id='hardware-image-enabling-tests'> <section id='hardware-image-enabling-tests'>
<title>Hardware</title> <title>Enabling Runtime Tests on Hardware</title>
<para> <para>
This section needs the information specific to enabling The OpenEmbedded build system can run tests on real
tests to run on actual hardware. hardware, and for certain devices it can also deploy
Here are some developer notes: the image to be tested onto the device beforehand.
</para>
<para>
For automated deployment, a "master image" is installed
onto the hardware once as part of setup.
Then, each time tests are to be run, the following
occurs:
<orderedlist>
<listitem><para>The master image is booted into and
used to write the image to be tested to
a second partition.
</para></listitem>
<listitem><para>The device is then rebooted using an
external script that you need to provide.
</para></listitem>
<listitem><para>The device boots into the image to be
tested.
</para></listitem>
</orderedlist>
</para>
<para>
When running tests (independent of whether the image
has been deployed automatically or not), the device is
expected to be connected to a network on a
pre-determined IP address.
You can either use static IP addresses written into
the image, or set the image to use DHCP and have your
DHCP server on the test network assign a known IP address
based on the MAC address of the device.
</para>
<para>
In order to run tests on hardware, you need to set
<filename>TEST_TARGET</filename> to an appropriate value.
For QEMU, you do not have to change anything, the default
value is "QemuTarget".
For running tests on hardware, two options exist:
"SimpleRemoteTarget" and "GummibootTarget".
<itemizedlist>
<listitem><para><emphasis>"SimpleRemoteTarget":</emphasis>
Choose "SimpleRemoteTarget" if you are going to
run tests on a target system that is already
running the image to be tested and is available
on the network.
You can use "SimpleRemoteTarget" in conjunction
with either real hardware or an image running
within a separately started QEMU or any
other virtual machine manager.
</para></listitem>
<listitem><para><emphasis>"GummibootTarget":</emphasis>
Choose "GummibootTarget" if your hardware is
an EFI-based machine with
<filename>gummiboot</filename> as bootloader and
<filename>core-image-testmaster</filename>
(or something similar) is installed.
Also, your hardware under test must be in a
DHCP-enabled network that gives it the same IP
address for each reboot.</para>
<para>If you choose "GummibootTarget", there are
additional requirements and considerations.
See the
"<link linkend='selecting-gummiboottarget'>Selecting GummibootTarget</link>"
section, which follows, for more information.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='selecting-gummiboottarget'>
<title>Selecting GummibootTarget</title>
<para>
If you did not set <filename>TEST_TARGET</filename> to
"GummibootTarget", then you do not need any information
in this section.
You can skip down to the
"<link linkend='qemu-image-running-tests'>Running Tests</link>"
section.
</para>
<para>
If you did set <filename>TEST_TARGET</filename> to
"GummibootTarget", you also need to perform a one-time
setup of your master image by doing the following:
<orderedlist>
<listitem><para><emphasis>Set <filename>EFI_PROVIDER</filename>:</emphasis>
Be sure that <filename>EFI_PROVIDER</filename>
is as follows:
<literallayout class='monospaced'>
EFI_PROVIDER = "gummiboot"
</literallayout>
</para></listitem>
<listitem><para><emphasis>Build the master image:</emphasis>
Build the <filename>core-image-testmaster</filename>
image.
The <filename>core-image-testmaster</filename>
recipe is provided as an example for a
"master" image and you can customize the image
recipe as you would any other recipe.
</para>
<para>Here are the image recipe requirements:
<itemizedlist>
<listitem><para>Inherits
<filename>core-image</filename>
so that kernel modules are installed.
</para></listitem>
<listitem><para>Installs normal linux utilities
not busybox ones (e.g.
<filename>bash</filename>,
<filename>coreutils</filename>,
<filename>tar</filename>,
<filename>gzip</filename>, and
<filename>kmod</filename>).
</para></listitem>
<listitem><para>Uses a custom
initramfs image with a custom installer.
A normal image that you can install usually
creates a single rootfs partition.
This image uses another installer that
creates a specific partition layout.
Not all Board Support Packages (BSPs)
can use an installer.
For such cases, you need to manually create
the following partition layout on the
target:
<itemizedlist>
<listitem><para>First partition mounted
under <filename>/boot</filename>,
labeled "boot".
</para></listitem>
<listitem><para>The main rootfs
partition where this image gets
installed, which is mounted under
<filename>/</filename>.
</para></listitem>
<listitem><para>Another partition
labeled "testrootfs" where test
images get deployed.
</para></listitem>
</itemizedlist>
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para><emphasis>Install image:</emphasis>
Install the image that you just built on the target
system.
</para></listitem>
</orderedlist>
</para>
<para>
The final thing you need to do when setting
<filename>TEST_TARGET</filename> to "GummibootTarget" is
to set up the test image:
<orderedlist>
<listitem><para><emphasis>Set up your <filename>local.conf</filename> file:</emphasis>
Make sure you have the following statements in
your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
IMAGE_FSTYPES += "tar.gz"
INHERIT += "testimage"
TEST_TARGET = "GummibootTarget"
TEST_TARGET_IP = "192.168.2.3"
</literallayout>
</para></listitem>
<listitem><para><emphasis>Build your test image:</emphasis>
Use BitBake to build the image:
<literallayout class='monospaced'>
$ bitbake core-image-sato
</literallayout>
</para></listitem>
</orderedlist>
</para>
<para>
Here is some additional information regarding running
"GummibootTarget" as your test target:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
Paul says this "If you have deployed the image yourself, You can use
you can manually boot it, you know the IP address <filename>TEST_POWERCONTROL_CMD</filename>
it will show up under, and SSH is installed with no together with
password, then you can now run tests on any real <filename>TEST_POWERCONTROL_EXTRA_ARGS</filename>
machine." as a command that runs on the host and does power
cycling.
The test code passes one argument to that command:
off, on or cycle (off then on).
Here is an example that could appear in your
<filename>local.conf</filename> file:
<literallayout class='monospaced'>
TEST_POWERCONTROL_CMD = "powercontrol.exp test 10.11.12.1 nuc1"
</literallayout>
In this example, the expect script does the
following:
<literallayout class='monospaced'>
ssh test@10.11.12.1 "pyctl nuc1 &lt;arg&gt;"
</literallayout>
It then runs a Python script that controls power
for a label called <filename>nuc1</filename>.
<note>
You need to customize
<filename>TEST_POWERCONTROL_CMD</filename>
and
<filename>TEST_POWERCONTROL_EXTRA_ARGS</filename>
for your own setup.
The one requirement is that it accepts
"on", "off", and "cycle" as the last argument.
</note>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
<filename>TEST_TARGET</filename> variable needs to equal When no command is defined, it connects to the
"simpleremote" device over SSH and uses the classic reboot command
</para></listitem> to reboot the device.
<listitem><para> Classic reboot is fine as long as the machine
Here are some notes from the patch - "The remote machine actually reboots (i.e. the SSH test has not
must be up with network and ssh and you need to set failed).
<filename>TEST_TARGET_IP</filename> with the IP address It is useful for scenarios where you have a simple
of the remote machine (it can still be a qemu instance that setup, typically with a single board, and where
was manually started) some manual interaction is okay from time to time.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@@ -5768,18 +5986,6 @@
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>: <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
TEST_IMAGE = "1" TEST_IMAGE = "1"
</literallayout>
Next, also in the <filename>local.conf</filename>, set the
<filename>TEST_TARGET</filename> variable to
"simpleremote" if you want to run tests on real hardware or
set it to "qemu" if you want to run tests using QEMU.
file:
<literallayout class='monospaced'>
TEST_TARGET = "simpleremote"
</literallayout>
or
<literallayout class='monospaced'>
TEST_TARGET = "qemu"
</literallayout> </literallayout>
Next, build your image. Next, build your image.
If the image successfully builds, the tests will be If the image successfully builds, the tests will be
@@ -5802,42 +6008,6 @@
</itemizedlist> </itemizedlist>
</para> </para>
<para>
Regardless of how you run the tests, once they start, the
following happens:
<itemizedlist>
<listitem><para>A copy of the root filesystem is written
to <filename>${WORKDIR}/testimage</filename>.
</para></listitem>
<listitem><para>The image is booted under QEMU using the
standard <filename>runqemu</filename> script.
</para></listitem>
<listitem><para>A default timeout of 500 seconds occurs
to allow for the boot process to reach the login prompt.
You can change the timeout period by setting
<ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_QEMUBOOT_TIMEOUT'><filename>TEST_QEMUBOOT_TIMEOUT</filename></ulink>
in the <filename>local.conf</filename> file.
</para></listitem>
<listitem><para>Once the boot process is reached and the
login prompt appears, the tests run.
The full boot log is written to
<filename>${WORKDIR}/testimage/qemu_boot_log</filename>.
</para></listitem>
<listitem><para>Each test module loads in the order found
in <filename>TEST_SUITES</filename>.
You can find the full output of the commands run over
SSH in
<filename>${WORKDIR}/testimgage/ssh_target_log</filename>.
</para></listitem>
<listitem><para>If no failures occur, the task running the
tests ends successfully.
You can find the output from the
<filename>unittest</filename> in the task log at
<filename>${WORKDIR}/temp/log.do_testimage</filename>.
</para></listitem>
</itemizedlist>
</para>
<para> <para>
All test files reside in All test files reside in
<filename>meta/lib/oeqa/runtime</filename> in the <filename>meta/lib/oeqa/runtime</filename> in the
@@ -5845,7 +6015,7 @@
A test name maps directly to a Python module. A test name maps directly to a Python module.
Each test module may contain a number of individual tests. Each test module may contain a number of individual tests.
Tests are usually grouped together by the area Tests are usually grouped together by the area
tested (e.g tests for Systemd reside in tested (e.g tests for systemd reside in
<filename>meta/lib/oeqa/runtime/systemd.py</filename>). <filename>meta/lib/oeqa/runtime/systemd.py</filename>).
</para> </para>
@@ -5919,6 +6089,71 @@
</para> </para>
</section> </section>
<section id="exporting-tests">
<title>Exporting Tests</title>
<para>
You can export tests so that they can run independently of
the build system.
Exporting tests is required if you want to be able to hand
the test execution off to a scheduler.
You can only export tests that are defined in
<ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_SUITES'><filename>TEST_SUITES</filename></ulink>.
</para>
<para>
If you image is already built, make sure the following are set
in your <filename>local.conf</filename> file.
Be sure to provide the IP address you need:
<literallayout class='monospaced'>
TEST_EXPORT_ONLY = "1"
TEST_TARGET = "simpleremote"
TEST_TARGET_IP = "192.168.7.2"
TEST_SERVER_IP = "192.168.7.1"
</literallayout>
You can then export the tests with the following:
<literallayout class='monospaced'>
$ bitbake core-image-sato -c testimage
</literallayout>
Exporting the tests places them in the
<link linkend='build-directory'>Build Directory</link> in
<filename>tmp/testimage/core-image-sato</filename>, which
is controlled by the
<filename>TEST_EXPORT_DIR</filename> variable.
</para>
<para>
The exported data (i.e. <filename>testdata.json</filename>)
contains paths to the Build Directory.
Thus, the contents of the directory can be moved
to another machine as long as you update some paths in the
JSON.
Usually you only care about the
${DEPLOY_DIR}/rpm directory (assuming the RPM and Smart tests
are enabled).
Consequently, running the tests on other machine
means that you have to move the contents and call
<filename>runexported</filename> with "--deploy-dir PATH:
./runexported.py --deploy-dir /new/path/on/this/machine testdata.json
runexported.py accepts other arguments as well, see --help.
</para>
<para>
You can now run the tests outside of the build environment:
<literallayout class='monospaced'>
$ cd tmp/testimage/core-image-sato
$ ./runexported.py testdata.json
</literallayout>
<note>
This "export" feature does not deploy or boot the target
image.
Your target (be it a Qemu or hardware one)
has to already be up and running when you call
<filename>runexported.py</filename>
</note>
</para>
</section>
<section id="qemu-image-writing-new-tests"> <section id="qemu-image-writing-new-tests">
<title>Writing New Tests</title> <title>Writing New Tests</title>
@@ -5971,9 +6206,7 @@
<listitem><para><emphasis><filename>hasPackage(pkg)</filename>:</emphasis> <listitem><para><emphasis><filename>hasPackage(pkg)</filename>:</emphasis>
Returns "True" if <filename>pkg</filename> is in the Returns "True" if <filename>pkg</filename> is in the
installed package list of the image, which is based installed package list of the image, which is based
on on the manifest file that is generated during the
<filename>${WORKDIR}/installed_pkgs.txt</filename>
that is generated during the
<filename>do.rootfs</filename> task. <filename>do.rootfs</filename> task.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>hasFeature(feature)</filename>:</emphasis> <listitem><para><emphasis><filename>hasFeature(feature)</filename>:</emphasis>
@@ -5982,12 +6215,6 @@
or or
<ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink>. <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink>.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>restartTarget(params)</filename>:</emphasis>
Restarts the QEMU image optionally passing
<filename>params</filename> to the
<filename>runqemu</filename> script's
<filename>qemuparams</filename> list (e.g "-m 1024" for
more memory).</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</section> </section>
@@ -6024,35 +6251,20 @@
for copying on the target such as small for copying on the target such as small
files written in C for compilation. files written in C for compilation.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>qemu</filename>:</emphasis> <listitem><para><emphasis><filename>target</filename>:</emphasis>
Provides access to the The target controller object used to deploy
<filename>QemuRunner</filename> object, and start an image on a particular target
which is the class that boots the image. (e.g. QemuTarget, SimpleRemote, and
The <filename>qemu</filename> attribute GummibootTarget).
provides the following useful attributes: Tests usually use the following:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis><filename>ip</filename>:</emphasis> <listitem><para><emphasis><filename>ip</filename>:</emphasis>
The machine's IP address. The target's IP address.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>host_ip</filename>:</emphasis> <listitem><para><emphasis><filename>server_ip</filename>:</emphasis>
The host IP address, which is only The host's IP address, which is
used by smart tests. usually used by the "smart" test
</para></listitem> suite.
</itemizedlist></para></listitem>
<listitem><para><emphasis><filename>target</filename>:</emphasis>
The <filename>SSHControl</filename> object,
which is used for running the following
commands on the image:
<itemizedlist>
<listitem><para><emphasis><filename>host</filename>:</emphasis>
Used internally.
The tests do not use this command.
</para></listitem>
<listitem><para><emphasis><filename>timeout</filename>:</emphasis>
A global timeout for commands run on
the target for the instance of a
test.
The default is 300 seconds.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>run(cmd, timeout=None)</filename>:</emphasis> <listitem><para><emphasis><filename>run(cmd, timeout=None)</filename>:</emphasis>
The single, most used method. The single, most used method.
@@ -6446,18 +6658,6 @@
or or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>). <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>).
</para></listitem> </para></listitem>
<listitem><para><emphasis>Prepare your local configuration file:</emphasis>
Toaster needs the
<ulink url='&YOCTO_DOCS_REF_URL;#toaster'><filename>toaster</filename></ulink>
class enabled
in Bitbake in order to record target image package
information.
You can enable it by adding the following line to your
<filename>conf/local.conf</filename> file:
<literallayout class='monospaced'>
INHERIT += "toaster"
</literallayout>
</para></listitem>
<listitem><para><emphasis>Start Toaster:</emphasis> <listitem><para><emphasis>Start Toaster:</emphasis>
Start the Toaster service using this Start the Toaster service using this
command from within your command from within your
@@ -6508,15 +6708,15 @@
<para> <para>
You access the information one of two ways: You access the information one of two ways:
<itemizedlist> <itemizedlist>
<listitem><para>Open a Browser and type enter in the <listitem><para>Open a Browser and enter
<filename>http://localhost:8000</filename> URL. <filename>http://localhost:8000</filename>
for the URL.
</para></listitem> </para></listitem>
<listitem><para>Use the <filename>xdg-open</filename> <listitem><para>Use the <filename>xdg-open</filename>
tool from the shell and pass it the same URL. tool from the shell and pass it the same URL.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
Either method opens the home page for the Toaster interface, Either method opens the home page for the Toaster interface.
which is temporary for this release.
</para> </para>
<note><title>Notes</title> <note><title>Notes</title>
@@ -6550,50 +6750,24 @@
You can click on any build to see related information. You can click on any build to see related information.
This information includes configuration details, information This information includes configuration details, information
about tasks, all recipes and packages built and their about tasks, all recipes and packages built and their
dependencies, packages installed in your final image, dependencies, packages and their directory structure as
installed in your final image,
execution time, CPU usage and disk I/O per task. execution time, CPU usage and disk I/O per task.
</para> </para>
<para> <para>
The home page of the interface into the database organizes For details on the interface, see the
builds into areas: <ulink url='https://www.yoctoproject.org/documentation/toaster-manual'>Toaster Manual</ulink>.
<itemizedlist>
<listitem><para>Recent successful builds, which appear
in row format in a green area.</para></listitem>
<listitem><para>Recent failed builds, which appear
in row format in a red area.</para></listitem>
<listitem><para>Recent builds in progress, which appear
in row format in a yellow area.</para></listitem>
<listitem><para>All builds, which appear in row format at
the end of the page.</para></listitem>
</itemizedlist>
</para> </para>
<para>
Each entry is linked to more detail on the particular build
or recipe.
You can click on the links to learn more information.
</para>
<para>
When you click on a failed recipe link, you can find out
information such as the work directory, the pathname to the
failing recipe, the exact error message, and precursor tasks.
</para>
<para>
Clicking on a successful build provides you with configuration,
task, and package information along with directory structure,
build time, CPU usage, and disk I/O information.
</para>
</section> </section>
<section id='stopping-toaster'> <section id='stopping-toaster'>
<title>Stopping Toaster</title> <title>Stopping Toaster</title>
<para> <para>
Stop the Toaster service with the following command: Stop the Toaster service with the following command
from with the
<link linkend='build-directory'>Build Directory</link>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ source toaster stop $ source toaster stop
</literallayout> </literallayout>
@@ -7110,54 +7284,95 @@
</para> </para>
<para> <para>
By default, the error reporting tool is disabled. A live instance of the error reporting server exists at
You can enable it by inheriting the <ulink url='http://errors.yoctoproject.org'></ulink>.
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-report-error'><filename>report-error</filename></ulink> This server exists so that when you want to get help with
class by adding the following statement to the end of build failures, you can submit all of the information on the
your <filename>local.conf</filename> file in your failure easily and then point to the URL in your bug report
<link linkend='build-directory'>Build Directory</link>. or send an email to the mailing list.
<literallayout class='monospaced'> <note>
If you send error reports to this server, the reports become
publicly visible.
</note>
</para>
<section id='enabling-and-using-the-tool'>
<title>Enabling and Using the Tool</title>
<para>
By default, the error reporting tool is disabled.
You can enable it by inheriting the
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-report-error'><filename>report-error</filename></ulink>
class by adding the following statement to the end of
your <filename>local.conf</filename> file in your
<link linkend='build-directory'>Build Directory</link>.
<literallayout class='monospaced'>
INHERIT += "report-error" INHERIT += "report-error"
</literallayout> </literallayout>
To disable the feature, simply remove or comment out the statement. </para>
</para>
<para> <para>
By default, the error reporting feature stores information in By default, the error reporting feature stores information in
<filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LOG_DIR'><filename>LOG_DIR</filename></ulink><filename>}/error-report</filename>. <filename>${</filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LOG_DIR'><filename>LOG_DIR</filename></ulink><filename>}/error-report</filename>.
However, you can specify a directory to use by adding the following However, you can specify a directory to use by adding the following
to your <filename>local.conf</filename> file: to your <filename>local.conf</filename> file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
ERR_REPORT_DIR = "path" ERR_REPORT_DIR = "path"
</literallayout> </literallayout>
Enabling error reporting causes the build process to collect Enabling error reporting causes the build process to collect
the errors and store them in a file as previously described. the errors and store them in a file as previously described.
When the build system encounters an error, it includes a command When the build system encounters an error, it includes a command
as part of the console output. as part of the console output.
You can run the command to send the error file to the server. You can run the command to send the error file to the server.
For example, the following command sends the errors to an upstream For example, the following command sends the errors to an upstream
server: server:
<literallayout class='monospaced'> <literallayout class='monospaced'>
send-error-report /home/brandusa/project/poky/build/tmp/log/error-report/error_report_201403141617.txt [server] send-error-report /home/brandusa/project/poky/build/tmp/log/error-report/error_report_201403141617.txt [server]
</literallayout> </literallayout>
In the above example, the <filename>server</filename> parameter is In the above example, the <filename>server</filename> parameter is
optional. optional.
By default, the errors are sent to a database used by the entire By default, the errors are sent to a database used by the entire
community. community.
If you specify a particular server, you can send them to a different If you specify a particular server, you can send them to a different
database. database.
</para> </para>
<para> <para>
When sending the error file, you receive a link that corresponds When sending the error file, you receive a link that corresponds
to your entry in the database. to your entry in the database.
For example, here is a typical link: For example, here is a typical link:
<literallayout class='monospaced'> <literallayout class='monospaced'>
http://localhost:8000/Errors/Search/1/158 http://localhost:8000/Errors/Search/1/158
</literallayout> </literallayout>
Following the link takes you to a web interface where you can Following the link takes you to a web interface where you can
browse, query the errors, and view statistics. browse, query the errors, and view statistics.
</para> </para>
</section>
<section id='disabling-the-tool'>
<title>Disabling the Tool</title>
<para>
To disable the error reporting feature, simply remove or comment
out the following statement from the end of your
<filename>local.conf</filename> file in your
<link linkend='build-directory'>Build Directory</link>.
<literallayout class='monospaced'>
INHERIT += "report-error"
</literallayout>
</para>
</section>
<section id='setting-up-your-own-error-reporting-server'>
<title>Setting Up Your Own Error Reporting Server</title>
<para>
If you want to set up your own error reporting server, you
can obtain the code from the Git repository at
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/error-report-web/'></ulink>.
Instructions on how to set it up are in the README document.
</para>
</section>
</section> </section>
</chapter> </chapter>

View File

@@ -63,7 +63,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -48,7 +48,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -50,7 +50,7 @@
<!ENTITY YOCTO_DOCS_KERNEL_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-manual/kernel-manual.html"> <!ENTITY YOCTO_DOCS_KERNEL_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-manual/kernel-manual.html">
<!ENTITY YOCTO_DOCS_KERNEL_DEV_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-dev/kernel-dev.html"> <!ENTITY YOCTO_DOCS_KERNEL_DEV_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/kernel-dev/kernel-dev.html">
<!ENTITY YOCTO_DOCS_PROF_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/profile-manual/profile-manual.html"> <!ENTITY YOCTO_DOCS_PROF_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/profile-manual/profile-manual.html">
<!ENTITY YOCTO_DOCS_BB_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/user-manual/user-manual.html"> <!ENTITY YOCTO_DOCS_BB_URL "&YOCTO_DOCS_URL;/&YOCTO_DOC_VERSION;/bitbake-user-manual/bitbake-user-manual.html">
<!ENTITY YOCTO_ADTPATH_DIR "/opt/poky/&DISTRO;"> <!ENTITY YOCTO_ADTPATH_DIR "/opt/poky/&DISTRO;">
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2"> <!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env"> <!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">

View File

@@ -48,7 +48,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -142,25 +142,29 @@
<!-- <listitem><para>Ubuntu 10.04</para></listitem> <!-- <listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem> --> <listitem><para>Ubuntu 11.10</para></listitem> -->
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem> <listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 12.10</para></listitem> <listitem><para>Ubuntu 13.10</para></listitem>
<listitem><para>Ubuntu 13.04</para></listitem> <listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
<!-- <listitem><para>Fedora 16 (Verne)</para></listitem> <!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 17 (Spherical)</para></listitem> --> <listitem><para>Fedora 17 (Spherical)</para></listitem> -->
<listitem><para>Fedora release 18 (Spherical Cow)</para></listitem>
<listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem> <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
<listitem><para>Fedora release 20 (Heisenbug)</para></listitem>
<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem> <!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.7 (Final)</para></listitem> <listitem><para>CentOS release 5.7 (Final)</para></listitem>
<listitem><para>CentOS release 5.8 (Final)</para></listitem> <listitem><para>CentOS release 5.8 (Final)</para></listitem>
<listitem><para>CentOS release 6.3 (Final)</para></listitem> --> <listitem><para>CentOS release 6.3 (Final)</para></listitem> -->
<listitem><para>CentOS release 6.4</para></listitem> <listitem><para>CentOS release 6.4</para></listitem>
<listitem><para>CentOS release 6.5</para></listitem>
<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> --> <!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem> -->
<listitem><para>Debian GNU/Linux 6.0.7 (Squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.0 (Wheezy)</para></listitem> <listitem><para>Debian GNU/Linux 7.0 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem> <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
<!-- <listitem><para>openSUSE 11.4</para></listitem> <!-- <listitem><para>openSUSE 11.4</para></listitem>
<listitem><para>openSUSE 12.1</para></listitem> --> <listitem><para>openSUSE 12.1</para></listitem> -->
<listitem><para>openSUSE 12.2</para></listitem> <listitem><para>openSUSE 12.2</para></listitem>
<listitem><para>openSUSE 12.3</para></listitem> <listitem><para>openSUSE 12.3</para></listitem>
<listitem><para>openSUSE 13.1</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>

View File

@@ -829,10 +829,10 @@
</section> </section>
<section id='migration-1.5-run'> <section id='migration-1.5-run'>
<title><filename>run</filename></title> <title><filename>/run</filename></title>
<para> <para>
The <filename>run</filename> directory from the Filesystem The <filename>/run</filename> directory from the Filesystem
Hierarchy Standard 3.0 has been introduced. Hierarchy Standard 3.0 has been introduced.
You can find some of the implications for this change You can find some of the implications for this change
<ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873'>here</ulink>. <ulink url='http://cgit.openembedded.org/openembedded-core/commit/?id=0e326280a15b0f2c4ef2ef4ec441f63f55b75873'>here</ulink>.
@@ -878,7 +878,7 @@
<para> <para>
The previously deprecated <filename>task.bbclass</filename> has The previously deprecated <filename>task.bbclass</filename> has
now been dropped. now been dropped.
For recipes that previously inherited from this task, you should For recipes that previously inherited from this class, you should
rename them from <filename>task-*</filename> to rename them from <filename>task-*</filename> to
<filename>packagegroup-*</filename> and inherit packagegroup <filename>packagegroup-*</filename> and inherit packagegroup
instead. instead.
@@ -1129,6 +1129,15 @@
moved to a dedicated moved to a dedicated
<filename>gtk-engines-schemas</filename> package. <filename>gtk-engines-schemas</filename> package.
</para></listitem> </para></listitem>
<listitem><para>
The <filename>armv7a</filename> with thumb package
architecture suffix has changed.
The suffix for these packages with the thumb
optimization enabled is "t2" as it should be.
Use of this suffix was not the case in the 1.5 release.
Architecture names will change within package feeds as a
result.
</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</section> </section>
@@ -1141,6 +1150,31 @@
<ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>. <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>.
</para> </para>
<section id='migration-1.6-matching-branch-requirement-for-git-fetching'>
<title>Matching Branch Requirement for Git Fetching</title>
<para>
When fetching source from a Git repository using
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
BitBake will now validate the
<link linkend='var-SRCREV'><filename>SRCREV</filename></link>
value against the branch.
You can specify the branch using the following form:
<literallayout class='monospaced'>
SRC_URI = "git://server.name/repository;branch=&lt;branchname&gt;"
</literallayout>
If you do not specify a branch, BitBake looks
in the default "master" branch.
</para>
<para>
Alternatively, if you need to bypass this check (e.g.
if you are fetching a revision corresponding to a tag that
is not on any branch), you can add ";nobranch=1" to
the end of the URL within <filename>SRC_URI</filename>.
</para>
</section>
<section id='migration-1.6-bitbake-deps'> <section id='migration-1.6-bitbake-deps'>
<title>Python Definition substitutions</title> <title>Python Definition substitutions</title>

View File

@@ -1283,118 +1283,6 @@
<filename>WARN_QA</filename> and <filename>ERROR_QA</filename> <filename>WARN_QA</filename> and <filename>ERROR_QA</filename>
variables: variables:
<itemizedlist> <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 they match 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
<link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>/<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
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>textrel:</filename></emphasis>
Checks for ELF binaries that contain relocations in their
<filename>.text</filename> sections, which can result in a
performance impact at runtime.</para></listitem>
<listitem><para><emphasis><filename>pkgvarcheck:</filename></emphasis>
Checks through the variables
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
<link linkend='var-FILES'><filename>FILES</filename></link>,
<link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>,
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_prerm</filename>
and <filename>pkg_postrm</filename>, and reports if there are
variable sets that are not package-specific.
Using these variables without a package suffix is bad practice,
and might unnecessarily complicate dependencies of other packages
within the same recipe or have other unintended consequences.
</para></listitem>
<listitem><para><emphasis><filename>xorg-driver-abi:</filename></emphasis>
Checks that all packages containing Xorg drivers have ABI
dependencies.
The <filename>xserver-xorg</filename> recipe provides driver
ABI names.
All drivers should depend on the ABI versions that they have
been built against.
Driver recipes that include
<filename>xorg-driver-input.inc</filename>
or <filename>xorg-driver-video.inc</filename> will
automatically get these versions.
Consequently, you should only need to explicitly add
dependencies to binary driver recipes.
</para></listitem>
<listitem><para><emphasis><filename>libexec:</filename></emphasis>
Checks if a package contains files in
<filename>/usr/libexec</filename>.
This check is not performed if the
<filename>libexecdir</filename> variable has been set
explicitly to <filename>/usr/libexec</filename>.
</para></listitem>
<listitem><para><emphasis><filename>staticdev:</filename></emphasis>
Checks for static library files (<filename>*.a</filename>) in
non-<filename>staticdev</filename> packages.
</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 containing 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>
<listitem><para><emphasis><filename>already-stripped:</filename></emphasis> <listitem><para><emphasis><filename>already-stripped:</filename></emphasis>
Checks that produced binaries have not already been Checks that produced binaries have not already been
stripped prior to the build system extracting debug symbols. stripped prior to the build system extracting debug symbols.
@@ -1404,15 +1292,85 @@
<filename>-dbg</filename> packages, this stripping must be <filename>-dbg</filename> packages, this stripping must be
disabled. disabled.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>split-strip:</filename></emphasis>
Reports that splitting or stripping debug symbols from binaries
has failed.
</para></listitem>
<listitem><para><emphasis><filename>arch:</filename></emphasis> <listitem><para><emphasis><filename>arch:</filename></emphasis>
Checks to ensure the architecture, bit size, and endianness Checks the Executable and Linkable Format (ELF) type, bit size,
of all output binaries matches that of the target. and endianness of any binaries to ensure they match the target
This test can detect when the wrong compiler or compiler options architecture.
have been used. This test fails if any binaries do not match the type since
there would be an incompatibility.
The test could indicate that the
wrong compiler or compiler options have been used.
Sometimes software, like bootloaders, might need to bypass
this check.
</para></listitem>
<listitem><para><emphasis><filename>buildpaths:</filename></emphasis>
Checks for paths to locations on the build host inside the
output files.
Currently, this test triggers too many false positives and
thus is not normally enabled.
</para></listitem>
<listitem><para><emphasis><filename>compile-host-path:</filename></emphasis>
Checks the <filename>do_compile</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</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>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>dep-cmp:</filename></emphasis>
Checks for invalid version comparison statements in runtime
dependency relationships between packages (i.e. in
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
and
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>
variable values).
Any invalid comparisons might trigger failures or undesirable
behavior when passed to the package manager.
</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>
<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>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>files-invalid:</filename></emphasis>
Checks for
<link linkend='var-FILES'><filename>FILES</filename></link>
variable values that contain "//", which is invalid.
</para></listitem>
<listitem><para><emphasis><filename>incompatible-license:</filename></emphasis>
Report when packages are excluded from being created due to
being marked with a license that is in
<link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link>.
</para></listitem>
<listitem><para><emphasis><filename>install-host-path:</filename></emphasis>
Checks the <filename>do_install</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>installed-vs-shipped:</filename></emphasis> <listitem><para><emphasis><filename>installed-vs-shipped:</filename></emphasis>
Reports when files have been installed within Reports when files have been installed within
@@ -1428,42 +1386,17 @@
<filename>do_install</filename> if the files are not <filename>do_install</filename> if the files are not
needed in any package. needed in any package.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>dep-cmp:</filename></emphasis> <listitem><para><emphasis><filename>la:</filename></emphasis>
Checks for invalid version comparison statements in runtime Checks <filename>.la</filename> files for any <filename>TMPDIR</filename>
dependency relationships between packages (i.e. in paths.
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, Any <filename>.la</filename> file containing these paths is incorrect since
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, <filename>libtool</filename> adds the correct sysroot prefix when using the
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, files automatically itself.</para></listitem>
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, <listitem><para><emphasis><filename>ldflags:</filename></emphasis>
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, Ensures that the binaries were linked with the
and <filename>LDFLAGS</filename> options provided by the build system.
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link> If this test fails, check that the <filename>LDFLAGS</filename> variable
variable values). is being passed to the linker command.</para></listitem>
Any invalid comparisons might trigger failures or undesirable
behavior when passed to the package manager.
</para></listitem>
<listitem><para><emphasis><filename>files-invalid:</filename></emphasis>
Checks for
<link linkend='var-FILES'><filename>FILES</filename></link>
variable values that contain "//", which is invalid.
</para></listitem>
<listitem><para><emphasis><filename>incompatible-license:</filename></emphasis>
Report when packages are excluded from being created due to
being marked with a license that is in
<link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link>.
</para></listitem>
<listitem><para><emphasis><filename>compile-host-path:</filename></emphasis>
Checks the <filename>do_compile</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</para></listitem>
<listitem><para><emphasis><filename>install-host-path:</filename></emphasis>
Checks the <filename>do_install</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</para></listitem>
<listitem><para><emphasis><filename>libdir:</filename></emphasis> <listitem><para><emphasis><filename>libdir:</filename></emphasis>
Checks for libraries being installed into incorrect Checks for libraries being installed into incorrect
(possibly hardcoded) installation paths. (possibly hardcoded) installation paths.
@@ -1474,6 +1407,13 @@
<filename>/usr/lib64/foo.so</filename> when <filename>/usr/lib64/foo.so</filename> when
<filename>${libdir}</filename> is "/usr/lib". <filename>${libdir}</filename> is "/usr/lib".
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>libexec:</filename></emphasis>
Checks if a package contains files in
<filename>/usr/libexec</filename>.
This check is not performed if the
<filename>libexecdir</filename> variable has been set
explicitly to <filename>/usr/libexec</filename>.
</para></listitem>
<listitem><para><emphasis><filename>packages-list:</filename></emphasis> <listitem><para><emphasis><filename>packages-list:</filename></emphasis>
Checks for the same package being listed multiple times through Checks for the same package being listed multiple times through
the <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> the <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>
@@ -1493,12 +1433,45 @@
Reports lines in <filename>fs-perms.txt</filename> that Reports lines in <filename>fs-perms.txt</filename> that
specify 'link' where the specified target already exists. specify 'link' where the specified target already exists.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>perms:</filename></emphasis>
Currently, this check is unused but reserved.
</para></listitem>
<listitem><para><emphasis><filename>pkgconfig:</filename></emphasis>
Checks <filename>.pc</filename> files for any
<link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>/<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
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>pkgname:</filename></emphasis> <listitem><para><emphasis><filename>pkgname:</filename></emphasis>
Checks that all packages in Checks that all packages in
<link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>
have names that do not contain invalid characters (i.e. have names that do not contain invalid characters (i.e.
characters other than 0-9, a-z, ., +, and -). characters other than 0-9, a-z, ., +, and -).
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>pkgv-undefined:</filename></emphasis>
Checks to see if the <filename>PKGV</filename> variable
is undefined during <filename>do_package</filename>.
</para></listitem>
<listitem><para><emphasis><filename>pkgvarcheck:</filename></emphasis>
Checks through the variables
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
<link linkend='var-FILES'><filename>FILES</filename></link>,
<link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>,
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_prerm</filename>
and <filename>pkg_postrm</filename>, and reports if there are
variable sets that are not package-specific.
Using these variables without a package suffix is bad practice,
and might unnecessarily complicate dependencies of other packages
within the same recipe or have other unintended consequences.
</para></listitem>
<listitem><para><emphasis><filename>pn-overrides:</filename></emphasis> <listitem><para><emphasis><filename>pn-overrides:</filename></emphasis>
Checks that a recipe does not have a name Checks that a recipe does not have a name
(<link linkend='var-PN'><filename>PN</filename></link>) value (<link linkend='var-PN'><filename>PN</filename></link>) value
@@ -1516,6 +1489,31 @@
<filename>FILES_${PN} = "xyz"</filename> effectively turn into <filename>FILES_${PN} = "xyz"</filename> effectively turn into
<filename>FILES = "xyz"</filename>. <filename>FILES = "xyz"</filename>.
</para></listitem> </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>split-strip:</filename></emphasis>
Reports that splitting or stripping debug symbols from binaries
has failed.
</para></listitem>
<listitem><para><emphasis><filename>staticdev:</filename></emphasis>
Checks for static library files (<filename>*.a</filename>) in
non-<filename>staticdev</filename> packages.
</para></listitem>
<listitem><para><emphasis><filename>symlink-to-sysroot:</filename></emphasis>
Checks for symlinks in packages that point into
<link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>
on the host.
Such symlinks will work on the host, but are clearly invalid
when running on the target.
</para></listitem>
<listitem><para><emphasis><filename>textrel:</filename></emphasis>
Checks for ELF binaries that contain relocations in their
<filename>.text</filename> sections, which can result in a
performance impact at runtime.</para></listitem>
<listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis> <listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis>
Reports when a binary installed in Reports when a binary installed in
<filename>${base_libdir}</filename>, <filename>${base_libdir}</filename>,
@@ -1558,6 +1556,12 @@
<filename>/usr</filename>. <filename>/usr</filename>.
</note> </note>
</para></listitem> </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>var-undefined:</filename></emphasis> <listitem><para><emphasis><filename>var-undefined:</filename></emphasis>
Reports when variables fundamental to packaging (i.e. Reports when variables fundamental to packaging (i.e.
<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>, <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>,
@@ -1567,19 +1571,6 @@
<link linkend='var-PKGD'><filename>PKGD</filename></link>) are <link linkend='var-PKGD'><filename>PKGD</filename></link>) are
undefined during <filename>do_package</filename>. undefined during <filename>do_package</filename>.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>pkgv-undefined:</filename></emphasis>
Checks to see if the <filename>PKGV</filename> variable
is undefined during <filename>do_package</filename>.
</para></listitem>
<listitem><para><emphasis><filename>buildpaths:</filename></emphasis>
Checks for paths to locations on the build host inside the
output files.
Currently, this test triggers too many false positives and
thus is not normally enabled.
</para></listitem>
<listitem><para><emphasis><filename>perms:</filename></emphasis>
Currently, this check is unused but reserved.
</para></listitem>
<listitem><para><emphasis><filename>version-going-backwards:</filename></emphasis> <listitem><para><emphasis><filename>version-going-backwards:</filename></emphasis>
If Build History is enabled, reports when a package If Build History is enabled, reports when a package
being written out has a lower version than the previously being written out has a lower version than the previously
@@ -1595,6 +1586,20 @@
this situation. this situation.
</note> </note>
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>xorg-driver-abi:</filename></emphasis>
Checks that all packages containing Xorg drivers have ABI
dependencies.
The <filename>xserver-xorg</filename> recipe provides driver
ABI names.
All drivers should depend on the ABI versions that they have
been built against.
Driver recipes that include
<filename>xorg-driver-input.inc</filename>
or <filename>xorg-driver-video.inc</filename> will
automatically get these versions.
Consequently, you should only need to explicitly add
dependencies to binary driver recipes.
</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</section> </section>
@@ -2896,14 +2901,6 @@
to "disable". to "disable".
</para> </para>
<note>
For Systemd-based images, include the following
in your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</note>
<para> <para>
For more information on <filename>systemd</filename>, see the For more information on <filename>systemd</filename>, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#selecting-an-initialization-manager'>Selecting an Initialization Manager</ulink>" "<ulink url='&YOCTO_DOCS_DEV_URL;#selecting-an-initialization-manager'>Selecting an Initialization Manager</ulink>"
@@ -2942,12 +2939,8 @@
<para> <para>
The <filename>testimage</filename> class supports running automated The <filename>testimage</filename> class supports running automated
tests against images. tests against images using QEMU and on actual hardware.
The class handles loading the tests and starting the image. The class handles loading the tests and starting the image.
<note>
Currently, there is only support for running these tests
under QEMU.
</note>
</para> </para>
<para> <para>

View File

@@ -61,10 +61,14 @@
The image includes headers and libraries you can use in a host development The image includes headers and libraries you can use in a host development
environment. environment.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-initramfs</filename>:</emphasis> <listitem><para id='images-core-image-minimal-initramfs'><emphasis><filename>core-image-minimal-initramfs</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has the Minimal RAM-based A <filename>core-image-minimal</filename> image that has the Minimal RAM-based
Initial Root Filesystem (<filename>initramfs</filename>) as part of the kernel, Initial Root Filesystem (initramfs) as part of the kernel,
which allows the system to find the first “init” program more efficiently. which allows the system to find the first “init” program more efficiently.
See the
<link linkend='var-PACKAGE_INSTALL'><filename>PACKAGE_INSTALL</filename></link>
variable for additional information helpful when working with
initramfs images.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-mtdutils</filename>:</emphasis> <listitem><para><emphasis><filename>core-image-minimal-mtdutils</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has support A <filename>core-image-minimal</filename> image that has support
@@ -77,6 +81,15 @@
<listitem><para><emphasis><filename>core-image-lsb</filename>:</emphasis> <listitem><para><emphasis><filename>core-image-lsb</filename>:</emphasis>
An image that conforms to the Linux Standard Base (LSB) specification. An image that conforms to the Linux Standard Base (LSB) specification.
</para></listitem> </para></listitem>
<listitem><para><emphasis><filename>core-image-testmaster</filename>:</emphasis>
A "master" image designed to be used for automated runtime testing.
Provides a "known good" image that is deployed to a separate
partition so that you can boot into it and use it to deploy a
second image to be tested.
You can find more information about runtime testing in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>"
section in the Yocto Project Development Manual.
</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis> <listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis>
A <filename>core-image-lsb</filename> image that is suitable for development work A <filename>core-image-lsb</filename> image that is suitable for development work
using the host. using the host.

View File

@@ -79,7 +79,7 @@
</revision> </revision>
<revision> <revision>
<revnumber>1.6</revnumber> <revnumber>1.6</revnumber>
<date>Sometime 2014</date> <date>April 2014</date>
<revremark>Released with the Yocto Project 1.6 Release.</revremark> <revremark>Released with the Yocto Project 1.6 Release.</revremark>
</revision> </revision>
</revhistory> </revhistory>

View File

@@ -1431,7 +1431,15 @@
<glossentry id='var-D'><glossterm>D</glossterm> <glossentry id='var-D'><glossterm>D</glossterm>
<glossdef> <glossdef>
<para>The destination directory.</para> <para>
The destination directory.
The location in the <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
where components are installed by the <filename>do_install</filename> task.
This location defaults to:
<literallayout class='monospaced'>
${WORKDIR}/image
</literallayout>
</para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -1609,6 +1617,56 @@
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-DISK_SIGNATURE'><glossterm>DISK_SIGNATURE</glossterm>
<glossdef>
<para>
A 32-bit MBR disk signature used by
<filename>directdisk</filename> images.
</para>
<para>
By default, the signature is set to an automatically
generated random value that allows the OpenEmbedded
build system to create a boot loader.
You can override the signature in the image recipe
by setting <filename>DISK_SIGNATURE</filename> to an
8-digit hex string.
You might want to override
<filename>DISK_SIGNATURE</filename> if you want the disk
signature to remain constant between image builds.
</para>
<para>
When using Linux 3.8 or later, you can use
<filename>DISK_SIGNATURE</filename> to specify the root
by UUID to allow the kernel to locate the root device
even if the device name changes due to differences in
hardware configuration.
By default, <filename>SYSLINUX_ROOT</filename> is set
as follows:
<literallayout class='monospaced'>
SYSLINUX_ROOT = "root=/dev/sda2"
</literallayout>
However, you can change this to locate the root device
using the disk signature instead:
<literallayout class='monospaced'>
SYSLINUX_ROOT = "root=PARTUUID=${DISK_SIGNATURE}-02"
</literallayout>
</para>
<para>
As previously mentioned, it is possible to set the
<filename>DISK_SIGNATURE</filename> variable in your
<filename>local.conf</filename> file to a fixed
value if you do not want <filename>syslinux.cfg</filename>
changing for each build.
You might find this useful when you want to upgrade the
root filesystem on a device without having to recreate or
modify the master boot record.
</para>
</glossdef>
</glossentry>
<glossentry id='var-DISTRO'><glossterm>DISTRO</glossterm> <glossentry id='var-DISTRO'><glossterm>DISTRO</glossterm>
<glossdef> <glossdef>
<para> <para>
@@ -2920,33 +2978,52 @@
<glossdef> <glossdef>
<para> <para>
Specifies the packages to install into an image. Specifies the packages to install into an image.
The <filename>IMAGE_INSTALL</filename> variable is a mechanism for an image The <filename>IMAGE_INSTALL</filename> variable is a
recipe and you should use it with care to avoid ordering issues. mechanism for an image recipe and you should use it
with care to avoid ordering issues.
<note>
When working with an
<link linkend='images-core-image-minimal-initramfs'><filename>core-image-minimal-initramfs</filename></link>
image, do not use the <filename>IMAGE_INSTALL</filename>
variable to specify packages for installation.
Instead, use the
<link linkend='var-PACKAGE_INSTALL'><filename>PACKAGE_INSTALL</filename></link>
variable, which allows the initial RAM disk (initramfs)
recipe to use a fixed set of packages and not be
affected by <filename>IMAGE_INSTALL</filename>.
</note>
</para> </para>
<para> <para>
Image recipes set <filename>IMAGE_INSTALL</filename> to specify the Image recipes set <filename>IMAGE_INSTALL</filename>
packages to install into an image through <filename>image.bbclass</filename>. to specify the packages to install into an image through
Additionally, "helper" classes exist, such as <filename>core-image.bbclass</filename>, <filename>image.bbclass</filename>.
that can take Additionally, "helper" classes exist, such as
<filename><link linkend='var-IMAGE_FEATURES'>IMAGE_FEATURES</link></filename> lists <filename>core-image.bbclass</filename>, that can take
and turn these into auto-generated entries in <filename><link linkend='var-IMAGE_FEATURES'>IMAGE_FEATURES</link></filename>
<filename>IMAGE_INSTALL</filename> in addition to its default contents. lists and turn these into auto-generated entries in
<filename>IMAGE_INSTALL</filename> in addition to its
default contents.
</para> </para>
<para> <para>
Using <filename>IMAGE_INSTALL</filename> with the <filename>+=</filename> Using <filename>IMAGE_INSTALL</filename> with the
operator from the <filename>/conf/local.conf</filename> file or from within <filename>+=</filename> operator from the
an image recipe is not recommended as it can cause ordering issues. <filename>/conf/local.conf</filename> file or from within
Since <filename>core-image.bbclass</filename> sets <filename>IMAGE_INSTALL</filename> an image recipe is not recommended as it can cause ordering
to a default value using the <filename>?=</filename> operator, using a issues.
<filename>+=</filename> operation against <filename>IMAGE_INSTALL</filename> Since <filename>core-image.bbclass</filename> sets
will result in unexpected behavior when used in <filename>IMAGE_INSTALL</filename> to a default value using
the <filename>?=</filename> operator, using a
<filename>+=</filename> operation against
<filename>IMAGE_INSTALL</filename> will result in
unexpected behavior when used in
<filename>conf/local.conf</filename>. <filename>conf/local.conf</filename>.
Furthermore, the same operation from within an image recipe may or may not Furthermore, the same operation from within an image
succeed depending on the specific situation. recipe may or may not succeed depending on the specific
In both these cases, the behavior is contrary to how most users expect situation.
the <filename>+=</filename> operator to work. In both these cases, the behavior is contrary to how most
users expect the <filename>+=</filename> operator to work.
</para> </para>
<para> <para>
@@ -2954,8 +3031,8 @@
<literallayout class='monospaced'> <literallayout class='monospaced'>
IMAGE_INSTALL_append = " package-name" IMAGE_INSTALL_append = " package-name"
</literallayout> </literallayout>
Be sure to include the space between the quotation character and the start of the Be sure to include the space between the quotation character
package name or names. and the start of the package name or names.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -3691,50 +3768,60 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-KBRANCH'><glossterm>KBRANCH</glossterm> <glossentry id='var-KBRANCH'><glossterm>KBRANCH</glossterm>
<glossdef> <glossdef>
<para> <para>
A regular expression used by the build process to explicitly identify the kernel A regular expression used by the build process to explicitly
branch that is validated, patched and configured during a build. identify the kernel branch that is validated, patched
and configured during a build.
The <filename>KBRANCH</filename> variable is optional. The <filename>KBRANCH</filename> variable is optional.
You can use it to trigger checks to ensure the exact kernel branch you want is You can use it to trigger checks to ensure the exact kernel
being used by the build process. branch you want is being used by the build process.
</para> </para>
<para> <para>
Values for this variable are set in the kernel's recipe file and the kernel's Values for this variable are set in the kernel's recipe
append file. file and the kernel's append file.
For example, if you are using the Yocto Project kernel that is based on the For example, if you are using the Yocto Project kernel that
Linux 3.4 kernel, the kernel recipe file is the is based on the Linux 3.10 kernel, the kernel recipe file
<filename>meta/recipes-kernel/linux/linux-yocto_3.4.bb</filename> file. is the
Following is the default value for <filename>KBRANCH</filename> and the default <filename>meta/recipes-kernel/linux/linux-yocto_3.10.bb</filename>
override for the architectures the Yocto Project supports: file.
Following is the default value for <filename>KBRANCH</filename>
and the default override for the architectures the Yocto
Project supports:
<literallayout class='monospaced'> <literallayout class='monospaced'>
KBRANCH_DEFAULT = "standard/base" KBRANCH_DEFAULT = "standard/base"
KBRANCH = "${KBRANCH_DEFAULT}" KBRANCH = "${KBRANCH_DEFAULT}"
</literallayout> </literallayout>
This branch exists in the <filename>linux-yocto-3.4</filename> kernel Git This branch exists in the <filename>linux-yocto-3.10</filename>
repository <ulink url='&YOCTO_GIT_URL;/cgit.cgi/linux-yocto-3.4/refs/heads'></ulink>. kernel Git repository
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/linux-yocto-3.10/refs/heads'></ulink>.
</para> </para>
<para> <para>
This variable is also used from the kernel's append file to identify the kernel This variable is also used from the kernel's append file
branch specific to a particular machine or target hardware. to identify the kernel branch specific to a particular
The kernel's append file is located in the BSP layer for a given machine. machine or target hardware.
The kernel's append file is located in the BSP layer for
a given machine.
For example, the kernel append file for the Crown Bay BSP is in the For example, the kernel append file for the Crown Bay BSP is in the
<filename>meta-intel</filename> Git repository and is named <filename>meta-intel</filename> Git repository and is named
<filename>meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend</filename>. <filename>meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend</filename>.
Here are the related statements from the append file: Here are the related statements from the append file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
COMPATIBLE_MACHINE_crownbay = "crownbay" COMPATIBLE_MACHINE_crownbay = "crownbay"
KMACHINE_crownbay = "crownbay" KMACHINE_crownbay = "crownbay"
KBRANCH_crownbay = "standard/crownbay" KBRANCH_crownbay = "standard/crownbay"
KERNEL_FEATURES_append_crownbay = " features/drm-emgd/drm-emgd-1.18 cfg/vesafb"
COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
KMACHINE_crownbay-noemgd = "crownbay" KMACHINE_crownbay-noemgd = "crownbay"
KBRANCH_crownbay-noemgd = "standard/crownbay" KBRANCH_crownbay-noemgd = "standard/crownbay"
KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
</literallayout> </literallayout>
The <filename>KBRANCH_*</filename> statements identify the kernel branch to The <filename>KBRANCH_*</filename> statements identify
use when building for the Crown Bay BSP. the kernel branch to use when building for the Crown
In this case there are two identical statements: one for each type of Bay BSP.
Crown Bay machine. In this case there are two identical statements: one
for each type of Crown Bay machine.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -4603,6 +4690,101 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-module_autoload'><glossterm>module_autoload</glossterm>
<glossdef>
<para>
Lists kernel modules that need to be auto-loaded during
boot.
</para>
<para>
You can use this variable anywhere that it can be
recognized by the kernel recipe or out-of-tree kernel
module recipe (e.g. a machine configuration file, a
distribution configuration file, an append file for the
recipe, or the recipe itself).
</para>
<para>
Specify it as follows:
<literallayout class='monospaced'>
module_autoload_&lt;modname&gt; = "modname1 modname2 modname3"
</literallayout>
You must use the kernel module name override.
</para>
<para>
Including <filename>module_autoload</filename> causes the
OpenEmbedded build system to populate the
<filename>/etc/modules-load.d/modname.conf</filename>
file with the list of modules to be auto-loaded on boot.
The modules appear one-per-line in the file.
Here is an example of the most common use case:
<literallayout class='monospaced'>
module_autoload_modname = "modname"
</literallayout>
</para>
<para>
For information on how to populate the
<filename>modname.conf</filename> file with
<filename>modprobe.d</filename> syntax lines, see the
<link linkend='var-module_conf'><filename>module_conf</filename></link>
variable.
</para>
</glossdef>
</glossentry>
<glossentry id='var-module_conf'><glossterm>module_conf</glossterm>
<glossdef>
<para>
Specifies <filename>modprobe.d</filename> syntax lines
for inclusion in the
<filename>/etc/modprobe.d/modname.conf</filename> file.
</para>
<para>
You can use this variable anywhere that it can be
recognized by the kernel recipe or out-of-tree kernel
module recipe (e.g. a machine configuration file, a
distribution configuration file, an append file for the
recipe, or the recipe itself).
</para>
<para>
Here is the general syntax:
<literallayout class='monospaced'>
module_conf_&lt;modname&gt; = "modprobe.d-syntax"
</literallayout>
You must use the kernel module name override.
</para>
<para>
Run <filename>man modprobe.d</filename> in the shell to
find out more information on the exact syntax for lines
you want to provide with <filename>module_conf</filename>.
</para>
<para>
Including <filename>module_conf</filename> causes the
OpenEmbedded build system to populate the
<filename>/etc/modprobe.d/modname.conf</filename>
file with <filename>modprobe.d</filename> syntax lines.
Here is an example:
<literallayout class='monospaced'>
module_conf_&lt;modname&gt; = "options modname arg1=val1 arg2=val2"
</literallayout>
</para>
<para>
For information on how to specify kernel modules to
auto-load on boot, see the
<link linkend='var-module_autoload'><filename>module_autoload</filename></link>
variable.
</para>
</glossdef>
</glossentry>
<glossentry id='var-MODULE_IMAGE_BASE_NAME'><glossterm>MODULE_IMAGE_BASE_NAME</glossterm> <glossentry id='var-MODULE_IMAGE_BASE_NAME'><glossterm>MODULE_IMAGE_BASE_NAME</glossterm>
<glossdef> <glossdef>
<para> <para>
@@ -5049,18 +5231,25 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<para> <para>
The final list of packages passed to the package manager The final list of packages passed to the package manager
for installation into the image. for installation into the image.
</para>
<para>
Because the package manager controls actual installation Because the package manager controls actual installation
of all packages, the list of packages passed using of all packages, the list of packages passed using
<filename>PACKAGE_INSTALL</filename> is not the final list <filename>PACKAGE_INSTALL</filename> is not the final list
of packages that are actually installed. of packages that are actually installed.
</para>
<para>
This variable is internal to the image construction This variable is internal to the image construction
code. code.
Use the Consequently, in general, you should use the
<link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link>
variable to specify packages for installation. variable to specify packages for installation.
The exception to this is when working with
the
<link linkend='images-core-image-minimal-initramfs'><filename>core-image-minimal-initramfs</filename></link>
image.
When working with an initial RAM disk (initramfs)
image, use the <filename>PACKAGE_INSTALL</filename>
variable.
</para> </para>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -7173,16 +7362,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
SYSTEMD_AUTO_ENABLE ??= "enable" SYSTEMD_AUTO_ENABLE ??= "enable"
</literallayout> </literallayout>
You can disable the service by setting the variable to You can disable the service by setting the variable to
"disable." "disable".
</para> </para>
<note>
For Systemd-based images, include the following
in your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</note>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -7206,14 +7387,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
or packages in which the build system can find the systemd or packages in which the build system can find the systemd
unit files. unit files.
</para> </para>
<note>
For Systemd-based images, include the following
in your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</note>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -7235,14 +7408,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
SYSTEMD_SERVICE_${PN} = "connman.service" SYSTEMD_SERVICE_${PN} = "connman.service"
</literallayout> </literallayout>
</para> </para>
<note>
For Systemd-based images, include the following
in your <filename>local.conf</filename> file:
<literallayout class='monospaced'>
VIRTUAL-RUNTIME_initscripts = ""
</literallayout>
</note>
</glossdef> </glossdef>
</glossentry> </glossentry>
@@ -7399,15 +7564,41 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-TEST_EXPORT_DIR'><glossterm>TEST_EXPORT_DIR</glossterm>
<glossdef>
<para>
The location the OpenEmbedded build system uses to export
tests when the
<link linkend='var-TEST_EXPORT_ONLY'><filename>TEST_EXPORT_ONLY</filename></link>
variable is set to "1".
</para>
<para>
The <filename>TEST_EXPORT_DIR</filename> variable defaults
to <filename>"${TMPDIR}/testimage/${PN}"</filename>.
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_EXPORT_ONLY'><glossterm>TEST_EXPORT_ONLY</glossterm>
<glossdef>
<para>
Specifies to export the tests only.
Set this variable to "1" if you do not want to run the
tests but you want them to be exported in a manner that
you to run them outside of the build system.
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_IMAGE'><glossterm>TEST_IMAGE</glossterm> <glossentry id='var-TEST_IMAGE'><glossterm>TEST_IMAGE</glossterm>
<glossdef> <glossdef>
<para> <para>
Automatically runs the series of automated tests for Automatically runs the series of automated tests for
images when an image is successfully built. images when an image is successfully built.
<note> </para>
Currently, there is only support for running these tests
under QEMU. <para>
</note>
These tests are written in Python making use of the These tests are written in Python making use of the
<filename>unittest</filename> module, and the majority of <filename>unittest</filename> module, and the majority of
them run commands on the target system over them run commands on the target system over
@@ -7430,6 +7621,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-TEST_LOG_DIR'><glossterm>TEST_LOG_DIR</glossterm>
<glossdef>
<para>
Holds the SSH log and the boot log for QEMU machines.
The <filename>TEST_LOG_DIR</filename> variable defaults
to <filename>"${WORKDIR}/testimage"</filename>.
<note>
Actual test results reside in the task log
(<filename>log.do_testimage</filename>), which is in
the <filename>${WORKDIR}/temp/</filename> directory.
</note>
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_QEMUBOOT_TIMEOUT'><glossterm>TEST_QEMUBOOT_TIMEOUT</glossterm> <glossentry id='var-TEST_QEMUBOOT_TIMEOUT'><glossterm>TEST_QEMUBOOT_TIMEOUT</glossterm>
<glossdef> <glossdef>
<para> <para>
@@ -7450,6 +7656,115 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef> </glossdef>
</glossentry> </glossentry>
<glossentry id='var-TEST_SERVER_IP'><glossterm>TEST_SERVER_IP</glossterm>
<glossdef>
<para>
The IP address of the build machine (host machine).
This IP address is usually automatically detected.
However, if detection fails, this variable needs to be set
to the IP address of the build machine (i.e. where
the build is taking place).
<note>
The <filename>TEST_SERVER_IP</filename> variable
is only used for a small number of tests such as
the "smart" test suite, which needs to download
packages from <filename>DEPLOY_DIR/rpm</filename>.
</note>
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_TARGET'><glossterm>TEST_TARGET</glossterm>
<glossdef>
<para>
Specifies the target controller to use when running tests
against a test image.
The default controller to use is "qemu":
<literallayout class='monospaced'>
TEST_TARGET = "qemu"
</literallayout>
A target controller is a class that defines how an
image gets deployed on a target and how a target is started.
A layer can extend the controllers by adding a module
in the layer's <filename>/lib/oeqa/controllers</filename>
directory and by inheriting the
<filename>BaseTarget</filename> class, which is an abstract
class that cannot be used as a value of
<filename>TEST_TARGET</filename>.
</para>
<para>
You can provide the following arguments with
<filename>TEST_TARGET</filename>:
<itemizedlist>
<listitem><para><emphasis>"qemu" and "QemuTarget":</emphasis>
Boots a QEMU image and runs the tests.
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#qemu-image-enabling-tests'>Enabling Runtime Tests on QEMU</ulink>"
section in the Yocto Project Development Manual for
more information.
</para></listitem>
<listitem><para><emphasis>"simpleremote" and "SimpleRemoteTarget":</emphasis>
Runs the tests on target hardware that is already
up and running.
The hardware can be on the network or it can be
a device running an image on QEMU.
You must also set
<link linkend='var-TEST_TARGET_IP'><filename>TEST_TARGET_IP</filename></link>
when you use "simpleremote" or "SimpleRemoteTarget".
<note>
This argument is defined in
<filename>meta/lib/oeqa/targetcontrol.py</filename>.
The small caps names are kept for compatibility
reasons.
</note>
</para></listitem>
<listitem><para><emphasis>"GummibootTarget":</emphasis>
Automatically deploys and runs tests on an
EFI-enabled machine that has a master image
installed.
<note>
This argument is defined in
<filename>meta/lib/oeqa/controllers/masterimage.py</filename>.
</note>
</para></listitem>
</itemizedlist>
</para>
<para>
For information on running tests on hardware, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#hardware-image-enabling-tests'>Enabling Runtime Tests on Hardware</ulink>"
section in the Yocto Project Development Manual.
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_TARGET_IP'><glossterm>TEST_TARGET_IP</glossterm>
<glossdef>
<para>
The IP address of your hardware under test.
The <filename>TEST_TARGET_IP</filename> variable has no
effect when
<link linkend='var-TEST_TARGET'><filename>TEST_TARGET</filename></link>
is set to "qemu".
</para>
<para>
When you specify the IP address, you can also include a
port.
Here is an example:
<literallayout class='monospaced'>
TEST_TARGET_IP = "192.168.1.4:2201"
</literallayout>
Specifying a port is useful when SSH is started on a
non-standard port or in cases when your hardware under test
is behind a firewall or network that is not directly
accessible from your host and you need to do port address
translation.
</para>
</glossdef>
</glossentry>
<glossentry id='var-TEST_SUITES'><glossterm>TEST_SUITES</glossterm> <glossentry id='var-TEST_SUITES'><glossterm>TEST_SUITES</glossterm>
<glossdef> <glossdef>
<para> <para>

View File

@@ -827,7 +827,7 @@
</para> </para>
</footnote> </footnote>
gives you a minimal description of how to use the Yocto Project to build gives you a minimal description of how to use the Yocto Project to build
images for a BeagleBoard xM starting from scratch. images for Beaglebone hardware starting from scratch.
The steps were performed on a 64-bit Ubuntu 12.04 system that The steps were performed on a 64-bit Ubuntu 12.04 system that
has four cores. has four cores.
</para> </para>
@@ -893,7 +893,7 @@
<literallayout class='monospaced'> <literallayout class='monospaced'>
BB_NUMBER_THREADS = "8" BB_NUMBER_THREADS = "8"
PARALLEL_MAKE = "-j 8" PARALLEL_MAKE = "-j 8"
MACHINE ?= "beagleboard" MACHINE ?= "beaglebone"
</literallayout> </literallayout>
Briefly, set Briefly, set
<ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink>
@@ -949,7 +949,7 @@
<para> <para>
At this point, you need to select an image to build for the At this point, you need to select an image to build for the
BeagleBoard xM. Beaglebone hardware.
If this is your first build using the Yocto Project, you should try If this is your first build using the Yocto Project, you should try
the smallest and simplest image: the smallest and simplest image:
<literallayout class='monospaced'> <literallayout class='monospaced'>

View File

@@ -15,13 +15,12 @@ DISTRO_PN_ALIAS_pn-adt-installer = "Intel"
DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core" DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core"
DISTRO_PN_ALIAS_pn-alsa-utils-alsaconf = "OE-Core" DISTRO_PN_ALIAS_pn-alsa-utils-alsaconf = "OE-Core"
DISTRO_PN_ALIAS_pn-atk = "Fedora=atk OpenSuSE=atk" DISTRO_PN_ALIAS_pn-atk = "Fedora=atk OpenSuSE=atk"
DISTRO_PN_ALIAS_pn-atk-native = "Fedora=atk OpenSuSE=atk"
DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0" DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0"
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover" DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT" DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
DISTRO_PN_ALIAS_pn-bdwgc = "OSPDT" DISTRO_PN_ALIAS_pn-bdwgc = "OSPDT"
DISTRO_PN_ALIAS_pn-bigreqsproto = "Meego=xorg-x11-proto-bigreqsproto" DISTRO_PN_ALIAS_pn-bigreqsproto = "Meego=xorg-x11-proto-bigreqsproto"
DISTRO_PN_ALIAS_pn-bjam-native = "OpenSuSE=boost-jam Debina=bjam" DISTRO_PN_ALIAS_pn-bjam = "OpenSuSE=boost-jam Debina=bjam"
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool" DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
DISTRO_PN_ALIAS_pn-bluez4 = "Ubuntu=bluez Debian=bluez-utils" DISTRO_PN_ALIAS_pn-bluez4 = "Ubuntu=bluez Debian=bluez-utils"
DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez Opensuse=bluez" DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez Opensuse=bluez"
@@ -32,7 +31,7 @@ DISTRO_PN_ALIAS_pn-builder = "OE-Core"
DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core" DISTRO_PN_ALIAS_pn-buildtools-tarball = "OE-Core"
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto" DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT" DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
DISTRO_PN_ALIAS_pn-chkconfig-alternatives-native = "Mandriva=chkconfig Debian=chkconfig" DISTRO_PN_ALIAS_pn-chkconfig-alternatives = "Mandriva=chkconfig Debian=chkconfig"
DISTRO_PN_ALIAS_pn-claws-plugin-gtkhtml2-viewer = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins" DISTRO_PN_ALIAS_pn-claws-plugin-gtkhtml2-viewer = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
DISTRO_PN_ALIAS_pn-claws-plugin-maildir = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins" DISTRO_PN_ALIAS_pn-claws-plugin-maildir = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins" DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
@@ -71,6 +70,7 @@ DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-weston = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-weston = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core" DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT" DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
DISTRO_PN_ALIAS_pn-cryptodev-linux = "OE-Core"
DISTRO_PN_ALIAS_pn-cwautomacros = "OSPDT upstream=http://cwautomacros.berlios.de/" DISTRO_PN_ALIAS_pn-cwautomacros = "OSPDT upstream=http://cwautomacros.berlios.de/"
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto" DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1" DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1"
@@ -88,7 +88,6 @@ DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-
DISTRO_PN_ALIAS_pn-dri2proto = "Meego=xorg-x11-proto-dri2proto" DISTRO_PN_ALIAS_pn-dri2proto = "Meego=xorg-x11-proto-dri2proto"
DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear" DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc" DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
DISTRO_PN_ALIAS_pn-dtc-native = "Fedora=dtc Ubuntu=dtc"
DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand" DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand"
DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts" DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
DISTRO_PN_ALIAS_pn-eglibc = "OE-Core" DISTRO_PN_ALIAS_pn-eglibc = "OE-Core"
@@ -118,13 +117,15 @@ DISTRO_PN_ALIAS_pn-gccmakedep = "Mandriva=gccmakedep Ubuntu=xutils-dev"
DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc" DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus" DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf" DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource-native = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2" DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
DISTRO_PN_ALIAS_pn-gettext-minimal-native = "Debian=gettext Fedora=gettext" DISTRO_PN_ALIAS_pn-gettext-minimal = "Debian=gettext Fedora=gettext"
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0" DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto" DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
DISTRO_PN_ALIAS_pn-gnome-desktop-testing = "Debian=gnome-desktop-testing Fedora=gnome-desktop-testing"
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand" DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-grub-efi-i586 = "Ubuntu=grub Fedora=grub" DISTRO_PN_ALIAS_pn-grub-efi = "Debian=grub-efi Fedora=grub2-efi"
DISTRO_PN_ALIAS_pn-grub-efi-x86-64-native = "Ubuntu=grub Fedora=grub" DISTRO_PN_ALIAS_pn-grub-efi-i586 = "Debian=grub-efi Fedora=grub2-efi"
DISTRO_PN_ALIAS_pn-grub-efi-x86-64 = "Debian=grub-efi Fedora=grub2-efi"
DISTRO_PN_ALIAS_pn-gst-ffmpeg = "Mandriva=gstreamer0.10-ffmpeg Debian=gstreamer0.10-ffmpeg" DISTRO_PN_ALIAS_pn-gst-ffmpeg = "Mandriva=gstreamer0.10-ffmpeg Debian=gstreamer0.10-ffmpeg"
DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3" DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3"
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux" DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
@@ -137,6 +138,7 @@ DISTRO_PN_ALIAS_pn-gst-plugins-gl = "Debian=gstreamer0.10-plugins-gl OpenSuSE=gs
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10" DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10" DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10"
DISTRO_PN_ALIAS_pn-gstreamer1.0 = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0" DISTRO_PN_ALIAS_pn-gstreamer1.0 = "Debian=gstreamer1.0 Ubuntu=gstreamer1.0"
DISTRO_PN_ALIAS_pn-gstreamer1.0-meta-base = "Meego=gstreamer Fedora=gstreamer OpenSuSE=gstreamer Ubuntu=gstreamer0.10"
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad Ubuntu=gstreamer1.0-plugins-bad" DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-bad = "Debian=gstreamer1.0-plugins-bad Ubuntu=gstreamer1.0-plugins-bad"
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base" DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-base = "Debian=gstreamer1.0-plugins-base Ubuntu=gstreamer1.0-plugins-base"
DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad" DISTRO_PN_ALIAS_pn-gstreamer1.0-plugins-good = "Debian=gstreamer1.0-plugins-good Ubuntu=gstreamer1.0-plugins-bad"
@@ -148,6 +150,7 @@ DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubun
DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand" DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
DISTRO_PN_ALIAS_pn-gtk-theme-torturer = "OSPDT upstream=http://wiki.laptop.org/go/GTK_for_OLPC" DISTRO_PN_ALIAS_pn-gtk-theme-torturer = "OSPDT upstream=http://wiki.laptop.org/go/GTK_for_OLPC"
DISTRO_PN_ALIAS_pn-gtk-update-icon-cache-native = "OSPDT" DISTRO_PN_ALIAS_pn-gtk-update-icon-cache-native = "OSPDT"
DISTRO_PN_ALIAS_pn-gummiboot = "Debian=gummiboot Fedora=gummiboot"
DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core" DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core" DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core"
DISTRO_PN_ALIAS_pn-hwlatdetect = "OSPDT" DISTRO_PN_ALIAS_pn-hwlatdetect = "OSPDT"
@@ -158,6 +161,8 @@ DISTRO_PN_ALIAS_pn-initramfs-framework = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core" DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core" DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core" DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi-testfs = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-testfs = "OE-Core"
DISTRO_PN_ALIAS_pn-initscripts = "Fedora=initscripts Mandravia=initscripts" DISTRO_PN_ALIAS_pn-initscripts = "Fedora=initscripts Mandravia=initscripts"
DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto" DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto"
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT" DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
@@ -194,8 +199,9 @@ DISTRO_PN_ALIAS_pn-libi18n-collate-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libical = "Ubuntu=libical Fedora=libical" DISTRO_PN_ALIAS_pn-libical = "Ubuntu=libical Fedora=libical"
DISTRO_PN_ALIAS_pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv" DISTRO_PN_ALIAS_pn-libiconv = "Fedora=mingw-libiconv Opensuse=cross-mingw-libiconv"
DISTRO_PN_ALIAS_pn-libjson = "Ubuntu=libjson0-dev Debian=libjson0-dev" DISTRO_PN_ALIAS_pn-libjson = "Ubuntu=libjson0-dev Debian=libjson0-dev"
DISTRO_PN_ALIAS_pn-libksba = "Fedora=libksba Debian=libksba8" DISTRO_PN_ALIAS_pn-libksba = "Fedora=libksba Debian=libksba8 Ubuntu=libksba"
DISTRO_PN_ALIAS_pn-liblbxutil = "Mandriva=liblbxutil OpenSuse=xorg-x11-devel" DISTRO_PN_ALIAS_pn-liblbxutil = "Mandriva=liblbxutil OpenSuse=xorg-x11-devel"
DISTRO_PN_ALIAS_pn-libmatchbox = "Ubuntu=libmatchbox Fedora=libmatchbox"
DISTRO_PN_ALIAS_pn-libmpc = "Fedora=libmpc OpenSuse=libmpc2" DISTRO_PN_ALIAS_pn-libmpc = "Fedora=libmpc OpenSuse=libmpc2"
DISTRO_PN_ALIAS_pn-libnewt = "Debian=libnewt0.52 Fedora=newt" DISTRO_PN_ALIAS_pn-libnewt = "Debian=libnewt0.52 Fedora=newt"
DISTRO_PN_ALIAS_pn-libnewt-python = "Ubuntu=python-newt Fedora=newt-python" DISTRO_PN_ALIAS_pn-libnewt-python = "Ubuntu=python-newt Fedora=newt-python"
@@ -217,13 +223,13 @@ DISTRO_PN_ALIAS_pn-libtelepathy = "Debian=libtelepathy2 Ubuntu=libtelepathy2"
DISTRO_PN_ALIAS_pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl" DISTRO_PN_ALIAS_pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl"
DISTRO_PN_ALIAS_pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0" DISTRO_PN_ALIAS_pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
DISTRO_PN_ALIAS_pn-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1" DISTRO_PN_ALIAS_pn-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1"
DISTRO_PN_ALIAS_pn-libusb1-native = "Debian=libusb-1.0-0 Fedora=libusb1"
DISTRO_PN_ALIAS_pn-libusb-compat = "OSPDT" DISTRO_PN_ALIAS_pn-libusb-compat = "OSPDT"
DISTRO_PN_ALIAS_pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11" DISTRO_PN_ALIAS_pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
DISTRO_PN_ALIAS_pn-libx11-diet = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11" DISTRO_PN_ALIAS_pn-libx11-diet = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/" DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
DISTRO_PN_ALIAS_pn-libxfontcache = "Mandriva=libxfontcache Debian=libxfontcache" DISTRO_PN_ALIAS_pn-libxfontcache = "Mandriva=libxfontcache Debian=libxfontcache"
DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2" DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
DISTRO_PN_ALIAS_pn-libxi = "Ubuntu=libxi Fedora=libXi"
DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon" DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon"
DISTRO_PN_ALIAS_pn-libxprintapputil = "Debian=libxprintapputil Ubuntu=libxprintapputil1 Mandriva=libxprintapputil" DISTRO_PN_ALIAS_pn-libxprintapputil = "Debian=libxprintapputil Ubuntu=libxprintapputil1 Mandriva=libxprintapputil"
DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver" DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver"
@@ -243,8 +249,8 @@ DISTRO_PN_ALIAS_pn-ltp = "Mandriva=ltp Ubuntu=ltp"
DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/" DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/" DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/" DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lz4 = "Debian=lz4 Fedora=lz4"
DISTRO_PN_ALIAS_pn-lzo = "Debian=liblzo Ubuntu=liblzo Fedora=lzp" DISTRO_PN_ALIAS_pn-lzo = "Debian=liblzo Ubuntu=liblzo Fedora=lzp"
DISTRO_PN_ALIAS_pn-lzo-native = "Debian=liblzo Ubuntu=liblzo Fedora=lzp"
DISTRO_PN_ALIAS_pn-mailx = "Debian=bsd-mailx Ubuntu=bsd-mailx" DISTRO_PN_ALIAS_pn-mailx = "Debian=bsd-mailx Ubuntu=bsd-mailx"
DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev" DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
DISTRO_PN_ALIAS_pn-makedevs = "OE-Core" DISTRO_PN_ALIAS_pn-makedevs = "OE-Core"
@@ -265,7 +271,7 @@ DISTRO_PN_ALIAS_pn-matchbox-wm-2 = "Mandriva=matchbox-window-manager Debian=matc
DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT" DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
DISTRO_PN_ALIAS_pn-mesa = "Fedora=mesa Ubuntu=libgl1-mesa-dri" DISTRO_PN_ALIAS_pn-mesa = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-gl = "Fedora=mesa Ubuntu=libgl1-mesa-dri" DISTRO_PN_ALIAS_pn-mesa-gl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-glsl-native = "Fedora=mesa Ubuntu=libgl1-mesa-dri" DISTRO_PN_ALIAS_pn-mesa-glsl = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core" DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-qemux86 = "OE-Core" DISTRO_PN_ALIAS_pn-meta-environment-qemux86 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-environment-qemux86-64 = "OE-Core" DISTRO_PN_ALIAS_pn-meta-environment-qemux86-64 = "OE-Core"
@@ -277,6 +283,7 @@ DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils" DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils" DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp" DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp"
DISTRO_PN_ALIAS_pn-mmc-utils = "OE-Core"
DISTRO_PN_ALIAS_pn-moblin-proto = "OE-Core" DISTRO_PN_ALIAS_pn-moblin-proto = "OE-Core"
DISTRO_PN_ALIAS_pn-modutils-collateral = "OE-Core" DISTRO_PN_ALIAS_pn-modutils-collateral = "OE-Core"
DISTRO_PN_ALIAS_pn-modutils-initscripts = "OE-Core" DISTRO_PN_ALIAS_pn-modutils-initscripts = "OE-Core"
@@ -284,12 +291,6 @@ DISTRO_PN_ALIAS_pn-msynctool = "OpenSuse=msynctool Mandriva=msynctool"
DISTRO_PN_ALIAS_pn-mtd-utils = "Debian=mtd-utils Ubuntu=mtd-utils" DISTRO_PN_ALIAS_pn-mtd-utils = "Debian=mtd-utils Ubuntu=mtd-utils"
DISTRO_PN_ALIAS_pn-mx-1.0 = "Ubuntu=mx Debian=mx Fedora=mx" DISTRO_PN_ALIAS_pn-mx-1.0 = "Ubuntu=mx Debian=mx Fedora=mx"
DISTRO_PN_ALIAS_pn-n450-audio = "Intel" DISTRO_PN_ALIAS_pn-n450-audio = "Intel"
DISTRO_PN_ALIAS_pn-nativesdk-libusb1 = "Debian=libusb-1.0-0 Fedora=libusb1"
DISTRO_PN_ALIAS_pn-nativesdk-lzo = "Debian=liblzo Ubuntu=liblzo Fedora=lzp"
DISTRO_PN_ALIAS_pn-nativesdk-packagegroup-qt-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-nativesdk-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig"
DISTRO_PN_ALIAS_pn-nativesdk-python-git = "Debian=python-git Fedora=GitPython"
DISTRO_PN_ALIAS_pn-nativesdk-readline = "Fedora=readline Ubuntu=readline-common"
DISTRO_PN_ALIAS_pn-neard = "Intel" DISTRO_PN_ALIAS_pn-neard = "Intel"
DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core" DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand" DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand"
@@ -303,18 +304,19 @@ DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core" DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar" DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/" DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
DISTRO_PN_ALIAS_pn-oprofile = "Debian=oprofile Fedora=oprofile"
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui" DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-oprofileui-server = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui" DISTRO_PN_ALIAS_pn-oprofileui-server = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand" DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand"
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-buildessential = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-buildessential = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-directfb = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-directfb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
@@ -338,27 +340,31 @@ DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-qemux86-64 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel" DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-target = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-qt-toolchain-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core" DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
DISTRO_PN_ALIAS_pn-package-index = "OE-Core" DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
DISTRO_PN_ALIAS_pn-perf = "OSPDT" DISTRO_PN_ALIAS_pn-perf = "OSPDT"
DISTRO_PN_ALIAS_pn-piglit = "OE-Core"
DISTRO_PN_ALIAS_pn-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig" DISTRO_PN_ALIAS_pn-pkgconfig = "Ubuntu=pkg-config Fedora=pkgconfig"
DISTRO_PN_ALIAS_pn-pkgconfig-native = "Ubuntu=pkg-config Fedora=pkgconfig"
DISTRO_PN_ALIAS_pn-pointercal = "OE-Core" DISTRO_PN_ALIAS_pn-pointercal = "OE-Core"
DISTRO_PN_ALIAS_pn-pointercal-xinput = "OE-Core" DISTRO_PN_ALIAS_pn-pointercal-xinput = "OE-Core"
DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "OE-Core" DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "OE-Core"
DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand" DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
DISTRO_PN_ALIAS_pn-portmap = "Debian=rpcbind Fedora=rpcbind" DISTRO_PN_ALIAS_pn-portmap = "Debian=rpcbind Fedora=rpcbind"
DISTRO_PN_ALIAS_pn-postinst-intercept = "OE-Core"
DISTRO_PN_ALIAS_pn-powertop = "Meego=powertop Fedora=powertop Debian=powertop OpenSuSE=powertop Mandriva=powertop" DISTRO_PN_ALIAS_pn-powertop = "Meego=powertop Fedora=powertop Debian=powertop OpenSuSE=powertop Mandriva=powertop"
DISTRO_PN_ALIAS_pn-ppp-dialin = "OE-Core" DISTRO_PN_ALIAS_pn-ppp-dialin = "OE-Core"
DISTRO_PN_ALIAS_pn-presentproto = "Debian=x11proto-present-dev Fedora=xorg-x11-proto-devel"
DISTRO_PN_ALIAS_pn-printproto = "Debian=x11proto-print-dev Ubuntu=x11proto-print-dev Mandriva=x11-proto-devel" DISTRO_PN_ALIAS_pn-printproto = "Debian=x11proto-print-dev Ubuntu=x11proto-print-dev Mandriva=x11-proto-devel"
DISTRO_PN_ALIAS_pn-pseudo = "Windriver" DISTRO_PN_ALIAS_pn-pseudo = "Windriver"
DISTRO_PN_ALIAS_pn-psplash = "OpenedHand" DISTRO_PN_ALIAS_pn-psplash = "OpenedHand"
DISTRO_PN_ALIAS_pn-ptest-runner = "OE-Core" DISTRO_PN_ALIAS_pn-ptest-runner = "OE-Core"
DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles" DISTRO_PN_ALIAS_pn-puzzles = "Debian=sgt-puzzles Fedora=puzzles"
DISTRO_PN_ALIAS_pn-python3-distribute = "Debian=python3-setuptools Fedora=python3-setuptools"
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
DISTRO_PN_ALIAS_pn-python-argparse = "Fedora=python-argparse OpenSuSE=python-argparse" DISTRO_PN_ALIAS_pn-python-argparse = "Fedora=python-argparse OpenSuSE=python-argparse"
DISTRO_PN_ALIAS_pn-python-argparse-native = "Fedora=python-argparse OpenSuSE=python-argparse"
DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus" DISTRO_PN_ALIAS_pn-python-dbus = "Ubuntu=python-dbus Debian=python-dbus Mandriva=python-dbus"
DISTRO_PN_ALIAS_pn-python-git = "Debian=python-git Fedora=GitPython" DISTRO_PN_ALIAS_pn-python-git = "Debian=python-git Fedora=GitPython"
DISTRO_PN_ALIAS_pn-python-gst = "OpenSuSE=python-gstreamer Ubuntu=gst0.10-python Debian=gst0.10-python" DISTRO_PN_ALIAS_pn-python-gst = "OpenSuSE=python-gstreamer Ubuntu=gst0.10-python Debian=gst0.10-python"
@@ -370,18 +376,15 @@ DISTRO_PN_ALIAS_pn-python-pyrex = "Mandriva=python-pyrex Ubuntu=python-pyrex"
DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons" DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
DISTRO_PN_ALIAS_pn-python-setuptools = "Mandriva=python-setup OpenSuSE=python-setup-git" DISTRO_PN_ALIAS_pn-python-setuptools = "Mandriva=python-setup OpenSuSE=python-setup-git"
DISTRO_PN_ALIAS_pn-python-smartpm = "Debian=smart OpenSuSE=smart" DISTRO_PN_ALIAS_pn-python-smartpm = "Debian=smart OpenSuSE=smart"
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand" DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand" DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand" DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-helper-native = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-helper-nativesdk = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemuwrapper-cross = "OE-Core" DISTRO_PN_ALIAS_pn-qemuwrapper-cross = "OE-Core"
DISTRO_PN_ALIAS_pn-qmmp = "Fedora=qmmp Debian=qmmp" DISTRO_PN_ALIAS_pn-qmmp = "Fedora=qmmp Debian=qmmp"
DISTRO_PN_ALIAS_pn-qt4 = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4e-demo-image = "OE-Core" DISTRO_PN_ALIAS_pn-qt4e-demo-image = "OE-Core"
DISTRO_PN_ALIAS_pn-qt4-embedded = "OSPDT" DISTRO_PN_ALIAS_pn-qt4-embedded = "OSPDT"
DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core" DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core"
DISTRO_PN_ALIAS_pn-qt4-native = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-tools = "Mandriva=libqt4-devel Ubuntu=libqt4-dev" DISTRO_PN_ALIAS_pn-qt4-tools = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free" DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core" DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core"
@@ -390,7 +393,6 @@ DISTRO_PN_ALIAS_pn-qt-mobility-x11 = "Ubuntu=qtmobility-dev Debian=qtmobility-de
DISTRO_PN_ALIAS_pn-quicky = "OSPDT" DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto" DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
DISTRO_PN_ALIAS_pn-readline = "Fedora=readline Debian=readline-common" DISTRO_PN_ALIAS_pn-readline = "Fedora=readline Debian=readline-common"
DISTRO_PN_ALIAS_pn-readline-native = "Fedora=readline Debian=readline-common"
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto" DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"
DISTRO_PN_ALIAS_pn-remake = "Mandriva=remake Debian=remake" DISTRO_PN_ALIAS_pn-remake = "Mandriva=remake Debian=remake"
DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto" DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto"
@@ -406,24 +408,23 @@ DISTRO_PN_ALIAS_pn-screenshot = "OpenedHand"
DISTRO_PN_ALIAS_pn-scrnsaverproto = "Meego=xorg-x11-proto-scrnsaverproto Ubuntu=x11proto-scrnsaver-dev Debian=x11proto-scrnsaver-dev" DISTRO_PN_ALIAS_pn-scrnsaverproto = "Meego=xorg-x11-proto-scrnsaverproto Ubuntu=x11proto-scrnsaver-dev Debian=x11proto-scrnsaver-dev"
DISTRO_PN_ALIAS_pn-settings-daemon = "OpenedHand" DISTRO_PN_ALIAS_pn-settings-daemon = "OpenedHand"
DISTRO_PN_ALIAS_pn-sgml-common = "OpenSuSE=sgml-common Fedora=sgml-common" DISTRO_PN_ALIAS_pn-sgml-common = "OpenSuSE=sgml-common Fedora=sgml-common"
DISTRO_PN_ALIAS_pn-sgml-common-native = "OpenSuSE=sgml-common Fedora=sgml-common"
DISTRO_PN_ALIAS_pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl" DISTRO_PN_ALIAS_pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl"
DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow" DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow" DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
DISTRO_PN_ALIAS_pn-shasum-native = "OE-Core" DISTRO_PN_ALIAS_pn-shasum = "OE-Core"
DISTRO_PN_ALIAS_pn-shutdown-desktop = "OpenedHand" DISTRO_PN_ALIAS_pn-shutdown-desktop = "OpenedHand"
DISTRO_PN_ALIAS_pn-signgp-native = "OE-Core" DISTRO_PN_ALIAS_pn-signgp = "OE-Core"
DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils" DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils"
DISTRO_PN_ALIAS_pn-swabber-native = "OE-Core" DISTRO_PN_ALIAS_pn-swabber = "OE-Core"
DISTRO_PN_ALIAS_pn-sysklogd = "Debian=sysklogd Mandriva=sysklogd" DISTRO_PN_ALIAS_pn-sysklogd = "Debian=sysklogd Mandriva=sysklogd"
DISTRO_PN_ALIAS_pn-sysprof = "Fedora=sysprof Debian=sysprof" DISTRO_PN_ALIAS_pn-sysprof = "Fedora=sysprof Debian=sysprof"
DISTRO_PN_ALIAS_pn-systemd-compat-units = "Fedora=systemd Ubuntu=systemd" DISTRO_PN_ALIAS_pn-systemd-compat-units = "Fedora=systemd Ubuntu=systemd"
DISTRO_PN_ALIAS_pn-systemd-systemctl-native = "OE-Core" DISTRO_PN_ALIAS_pn-systemd-systemctl = "OE-Core"
DISTRO_PN_ALIAS_pn-systemd-systemdctl-native = "Fedora=systemd Ubuntu=systemd" DISTRO_PN_ALIAS_pn-systemd-systemdctl = "Fedora=systemd Ubuntu=systemd"
DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap" DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core" DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
DISTRO_PN_ALIAS_pn-table = "Intel" DISTRO_PN_ALIAS_pn-table = "Intel"
DISTRO_PN_ALIAS_pn-tar-replacement-native = "OE-Core" DISTRO_PN_ALIAS_pn-tar-replacement = "OE-Core"
DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/" DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
DISTRO_PN_ALIAS_pn-telepathy-python = "Debian=telepathy-python Ubuntu=telepathy-python" DISTRO_PN_ALIAS_pn-telepathy-python = "Debian=telepathy-python Ubuntu=telepathy-python"
DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT" DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT"
@@ -438,6 +439,7 @@ DISTRO_PN_ALIAS_pn-ubootchart = "OSPDT upstream=http://code.google.com/p/ubootch
DISTRO_PN_ALIAS_pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools" DISTRO_PN_ALIAS_pn-u-boot-fw-utils = "Ubuntu=u-boot-tools Debian=u-boot-tools"
DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage" DISTRO_PN_ALIAS_pn-u-boot-mkimage = "Ubuntu=uboot-mkimage Debian=uboot-mkimage"
DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core" DISTRO_PN_ALIAS_pn-udev-extraconf = "OE-Core"
DISTRO_PN_ALIAS_pn-unfs3 = "Debian=unfs3 Fedora=unfs3"
DISTRO_PN_ALIAS_pn-unfs-server = "OE-Core" DISTRO_PN_ALIAS_pn-unfs-server = "OE-Core"
DISTRO_PN_ALIAS_pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives" DISTRO_PN_ALIAS_pn-update-alternatives-dpkg = "Opensuse=update-alternatives Mandriva=update-alternatives"
DISTRO_PN_ALIAS_pn-update-rc.d = "OE-Core" DISTRO_PN_ALIAS_pn-update-rc.d = "OE-Core"
@@ -445,6 +447,7 @@ DISTRO_PN_ALIAS_pn-usbinit = "OE-Core"
DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-util-macros Mandriva=x11-util-macros" DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-util-macros Mandriva=x11-util-macros"
DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d" DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto" DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto"
DISTRO_PN_ALIAS_pn-waffle = "OE-Core"
DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog" DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit" DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit"
DISTRO_PN_ALIAS_pn-web-webkit = "OpenedHand" DISTRO_PN_ALIAS_pn-web-webkit = "OpenedHand"

View File

@@ -1,7 +1,7 @@
DISTRO = "poky" DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)" DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "1.5+snapshot-${DATE}" DISTRO_VERSION = "1.6"
DISTRO_CODENAME = "next" DISTRO_CODENAME = "daisy"
SDK_VENDOR = "-pokysdk" SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

View File

@@ -288,7 +288,15 @@ python toaster_buildhistory_dump() {
for pname in images[target]: for pname in images[target]:
if not pname in allpkgs: if not pname in allpkgs:
allpkgs[pname] = _toaster_load_pkgdatafile("%s/runtime-reverse/" % pkgdata_dir, pname) try:
pkgdata = _toaster_load_pkgdatafile("%s/runtime-reverse/" % pkgdata_dir, pname)
except IOError as err:
if err.errno == 2:
# We expect this e.g. for RRECOMMENDS that are unsatisfied at runtime
continue
else:
raise
allpkgs[pname] = pkgdata
data = { 'pkgdata' : allpkgs, 'imgdata' : images, 'filedata' : files } data = { 'pkgdata' : allpkgs, 'imgdata' : images, 'filedata' : files }

View File

@@ -0,0 +1,74 @@
From 5701384cea4a829b772bf7a96a74825b58c22385 Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
Date: Thu, 17 Apr 2014 12:25:40 -0400
Subject: [PATCH] am335x_evm.h: Add, use DEFAULT_LINUX_BOOT_ENV environment
string
Modified version of the patch currently being reviewed for mainline:
http://patchwork.ozlabs.org/patch/334861/
To deal with a reoccurring problem properly we need to specify addresses
for the Linux kernel, Flatted Device Tree and ramdisk that obey the
constraints within the kernel's Documentation/arm/Booting file but also
make sure that we relocate things within a valid address range.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
Upstream-Status: Pending
---
include/configs/am335x_evm.h | 31 ++++++++++++++++++++++++++-----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index c5a6d4b..01e32b3 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -54,10 +54,7 @@
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
#ifndef CONFIG_SPL_BUILD
#define CONFIG_EXTRA_ENV_SETTINGS \
- "loadaddr=0x80200000\0" \
- "fdtaddr=0x80F80000\0" \
- "fdt_high=0xffffffff\0" \
- "rdaddr=0x81000000\0" \
+ DEFAULT_LINUX_BOOT_ENV \
"bootdir=/boot\0" \
"bootfile=uImage\0" \
"fdtfile=undefined\0" \
@@ -197,7 +194,31 @@
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START \
+ (8 * 1024 * 1024))
-#define CONFIG_SYS_LOAD_ADDR 0x81000000 /* Default load address */
+/*
+ * Our DDR memory always starts at 0x80000000 and U-Boot shall have
+ * relocated itself to higher in memory by the time this value is used.
+ * However, set this to a 32MB offset to allow for easier Linux kernel
+ * booting as the default is often used as the kernel load address.
+ */
+#define CONFIG_SYS_LOAD_ADDR 0x82000000 /* Default load address */
+
+/*
+ * We setup defaults based on constraints from the Linux kernel, which should
+ * also be safe elsewhere. We have the default load at 32MB into DDR (for
+ * the kernel), FDT above 128MB (the maximum location for the end of the
+ * kernel), and the ramdisk 512KB above that (allowing for hopefully never
+ * seen large trees). We say all of this must be within the first 256MB
+ * as that will normally be within the kernel lowmem and thus visible via
+ * bootm_size and we only run on platforms with 256MB or more of memory.
+ */
+#define DEFAULT_LINUX_BOOT_ENV \
+ "loadaddr=0x82000000\0" \
+ "kernel_addr_r=0x82000000\0" \
+ "fdtaddr=0x88000000\0" \
+ "fdt_addr_r=0x88000000\0" \
+ "rdaddr=0x88080000\0" \
+ "ramdisk_addr_r=0x88080000\0" \
+ "bootm_size=0x10000000\0"
#define CONFIG_MMC
#define CONFIG_GENERIC_MMC
--
1.9.2

View File

@@ -16,7 +16,9 @@ SRCREV = "62c175fbb8a0f9a926c88294ea9f7e88eb898f6c"
PV = "v2013.07+git${SRCPV}" PV = "v2013.07+git${SRCPV}"
SRC_URI = "git://git.denx.de/u-boot.git;branch=master" SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
file://0001-am335x_evm.h-Add-use-DEFAULT_LINUX_BOOT_ENV-environm.patch \
"
S = "${WORKDIR}/git" S = "${WORKDIR}/git"

View File

@@ -21,8 +21,8 @@ IMAGE_FSTYPES = "vmdk"
inherit core-image inherit core-image
SRCREV ?= "ae938eba92b2c89a9fd91161e57c5dbc594ad4ad" SRCREV ?= "84d524c9386065d06e6b9c2368b93fc07dc1816f"
SRC_URI = "git://git.yoctoproject.org/poky \ SRC_URI = "git://git.yoctoproject.org/poky;branch=daisy \
file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \ file://Yocto_Build_Appliance.vmxf \
" "

View File

@@ -77,4 +77,4 @@ if __name__ == '__main__':
elif len(sys.argv) == 3: elif len(sys.argv) == 3:
sendData(sys.argv[1], sys.argv[2]) sendData(sys.argv[1], sys.argv[2])
else: else:
sendData(sys.argv[1], "localhost:8000") sendData(sys.argv[1], "errors.yoctoproject.org")