From ed0a240e1632682ec4c33341f3e24ad71773cdfc Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 11 Dec 2012 12:07:58 -0600 Subject: [PATCH] documentation: Rename of poky-ref-manual folder to ref-manual. Changing the folder that holds the YP Reference Manual to be "ref-manual". This will help with confustion over the manual's intended purpose. (From yocto-docs rev: 1106442964b5080cb0b6b3bd3af32e9407c0f7c1) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/ref-manual/TODO | 11 + .../1.3-local-configuration.html | 21 + .../html/poky-ref-manual/1.3-recipes.html | 29 + .../build-history-image-information.html | 80 + .../build-history-package-information.html | 58 + .../html/poky-ref-manual/build-overview.html | 61 + ...uilding-an-image-using-gpl-components.html | 23 + .../html/poky-ref-manual/centos-packages.html | 69 + .../html/poky-ref-manual/checksums.html | 164 + .../html/poky-ref-manual/debugging.html | 43 + .../detailed-supported-distros.html | 45 + .../enabling-and-disabling-build-history.html | 62 + ...nabling-commercially-licensed-recipes.html | 85 + .../examining-build-history-information.html | 70 + .../eclipse/html/poky-ref-manual/faq.html | 791 +++ .../html/poky-ref-manual/fedora-packages.html | 62 + .../figures/buildhistory-web.png | Bin 0 -> 49966 bytes .../poky-ref-manual/figures/buildhistory.png | Bin 0 -> 42062 bytes .../poky-ref-manual/figures/poky-title.png | Bin 0 -> 11592 bytes .../future-development-and-limitations.html | 33 + .../html/poky-ref-manual/handbook.html | 25 + .../eclipse/html/poky-ref-manual/index.html | 327 + .../eclipse/html/poky-ref-manual/index.xml | 2 + .../html/poky-ref-manual/intro-getit-dev.html | 26 + .../html/poky-ref-manual/intro-getit.html | 35 + .../poky-ref-manual/intro-manualoverview.html | 73 + .../poky-ref-manual/intro-requirements.html | 23 + .../html/poky-ref-manual/intro-welcome.html | 30 + .../eclipse/html/poky-ref-manual/intro.html | 30 + .../invalidating-shared-state.html | 53 + .../license-flag-matching.html | 91 + .../html/poky-ref-manual/licenses.html | 28 + .../poky-ref-manual/logging-with-bash.html | 47 + .../poky-ref-manual/logging-with-python.html | 45 + .../maintaining-build-output-quality.html | 53 + .../migration-1.3-bblayers-conf.html | 27 + .../migration-1.3-image-features.html | 26 + .../migration-1.3-nativesdk.html | 25 + .../migration-1.3-proto=-in-src-uri.html | 32 + ...ration-1.3-python-function-whitespace.html | 29 + .../migration-1.3-removed-recipes.html | 64 + .../migration-1.3-sstate-mirrors.html | 36 + .../migration-1.3-task-recipes.html | 39 + .../html/poky-ref-manual/migration.html | 31 + ...ving-to-the-yocto-project-1.3-release.html | 20 + .../poky-ref-manual/opensuse-packages.html | 60 + ...iables-related-to-commercial-licenses.html | 60 + .../poky-ref-manual/overall-architecture.html | 31 + .../recipe-logging-mechanisms.html | 41 + .../ref-bitbake-commandline.html | 79 + .../ref-bitbake-dependencies.html | 34 + .../poky-ref-manual/ref-bitbake-fetchers.html | 43 + .../poky-ref-manual/ref-bitbake-parsing.html | 93 + .../ref-bitbake-providers.html | 63 + .../poky-ref-manual/ref-bitbake-runtask.html | 86 + .../poky-ref-manual/ref-bitbake-tasklist.html | 54 + .../html/poky-ref-manual/ref-bitbake.html | 48 + .../ref-classes-autotools.html | 52 + .../poky-ref-manual/ref-classes-base.html | 28 + .../ref-classes-binconfig.html | 30 + .../poky-ref-manual/ref-classes-debian.html | 22 + .../poky-ref-manual/ref-classes-devshell.html | 24 + .../ref-classes-distutils.html | 31 + .../ref-classes-externalsrc.html | 72 + .../poky-ref-manual/ref-classes-image.html | 31 + .../poky-ref-manual/ref-classes-insane.html | 105 + .../poky-ref-manual/ref-classes-kernel.html | 36 + .../poky-ref-manual/ref-classes-others.html | 24 + .../poky-ref-manual/ref-classes-package.html | 73 + .../ref-classes-packagegroup.html | 33 + .../poky-ref-manual/ref-classes-perl.html | 31 + .../ref-classes-pkgconfig.html | 27 + .../poky-ref-manual/ref-classes-sanity.html | 25 + .../poky-ref-manual/ref-classes-siteinfo.html | 39 + .../ref-classes-src-distribute.html | 43 + .../ref-classes-update-alternatives.html | 48 + .../ref-classes-update-rc.d.html | 28 + .../poky-ref-manual/ref-classes-useradd.html | 28 + .../html/poky-ref-manual/ref-classes.html | 61 + .../ref-features-backfill.html | 88 + .../poky-ref-manual/ref-features-distro.html | 68 + .../poky-ref-manual/ref-features-image.html | 73 + .../poky-ref-manual/ref-features-machine.html | 63 + .../html/poky-ref-manual/ref-features.html | 60 + .../html/poky-ref-manual/ref-images.html | 137 + .../html/poky-ref-manual/ref-structure.html | 98 + .../poky-ref-manual/ref-variables-glos.html | 2800 +++++++++ .../ref-varlocality-config-distro.html | 40 + .../ref-varlocality-config-local.html | 42 + .../ref-varlocality-config-machine.html | 41 + .../ref-varlocality-configuration.html | 20 + .../ref-varlocality-recipe-build.html | 33 + .../ref-varlocality-recipe-dependencies.html | 33 + .../ref-varlocality-recipe-paths.html | 29 + .../ref-varlocality-recipe-required.html | 30 + .../ref-varlocality-recipes.html | 20 + .../html/poky-ref-manual/ref-varlocality.html | 41 + ...kages-for-the-host-development-system.html | 22 + .../poky-ref-manual/resources-bugtracker.html | 20 + .../resources-contributions.html | 23 + .../html/poky-ref-manual/resources-intro.html | 23 + .../html/poky-ref-manual/resources-irc.html | 25 + .../html/poky-ref-manual/resources-links.html | 42 + .../resources-mailinglist.html | 39 + .../html/poky-ref-manual/resources.html | 27 + .../poky-ref-manual/shared-state-cache.html | 60 + .../html/poky-ref-manual/shared-state.html | 134 + .../structure-basic-top-level.html | 20 + .../structure-build-conf-bblayers.conf.html | 23 + .../structure-build-conf-local.conf.html | 37 + .../structure-build-conf-sanity_info.html | 20 + .../structure-build-downloads.html | 23 + .../structure-build-pseudodone.html | 21 + .../structure-build-sstate-cache.html | 23 + .../structure-build-tmp-buildstats.html | 20 + .../structure-build-tmp-cache.html | 22 + .../structure-build-tmp-deploy-deb.html | 22 + .../structure-build-tmp-deploy-images.html | 44 + .../structure-build-tmp-deploy-ipk.html | 20 + .../structure-build-tmp-deploy-licenses.html | 23 + .../structure-build-tmp-deploy-rpm.html | 22 + .../structure-build-tmp-deploy.html | 20 + .../structure-build-tmp-log.html | 24 + .../structure-build-tmp-pkgdata.html | 21 + .../structure-build-tmp-stamps.html | 24 + .../structure-build-tmp-sysroots.html | 24 + .../structure-build-tmp-work.html | 52 + .../poky-ref-manual/structure-build-tmp.html | 26 + .../html/poky-ref-manual/structure-build.html | 15 + .../structure-core-bitbake.html | 40 + .../poky-ref-manual/structure-core-build.html | 33 + .../structure-core-meta-yocto-bsp.html | 21 + .../structure-core-meta-yocto.html | 21 + .../poky-ref-manual/structure-core-meta.html | 23 + .../structure-core-script.html | 53 + .../structure-core-scripts.html | 28 + .../html/poky-ref-manual/structure-core.html | 14 + .../structure-meta-classes.html | 30 + .../structure-meta-conf-distro.html | 25 + .../structure-meta-conf-machine.html | 25 + .../poky-ref-manual/structure-meta-conf.html | 27 + .../poky-ref-manual/structure-meta-hob.html | 22 + .../structure-meta-recipes-bsp.html | 21 + .../structure-meta-recipes-connectivity.html | 20 + .../structure-meta-recipes-core.html | 21 + .../structure-meta-recipes-devtools.html | 21 + .../structure-meta-recipes-extended.html | 23 + .../structure-meta-recipes-gnome.html | 20 + .../structure-meta-recipes-graphics.html | 20 + .../structure-meta-recipes-kernel.html | 21 + .../structure-meta-recipes-multimedia.html | 20 + .../structure-meta-recipes-qt.html | 20 + .../structure-meta-recipes-rt.html | 21 + .../structure-meta-recipes-sato.html | 21 + .../structure-meta-recipes-support.html | 21 + .../structure-meta-recipes-txt.html | 20 + .../poky-ref-manual/structure-meta-site.html | 23 + .../structure-meta-skeleton.html | 20 + .../html/poky-ref-manual/structure-meta.html | 21 + .../eclipse/html/poky-ref-manual/support.html | 34 + .../poky-ref-manual/technical-details.html | 50 + .../html/poky-ref-manual/tips-and-tricks.html | 22 + .../html/poky-ref-manual/ubuntu-packages.html | 60 + ...nding-what-the-build-history-contains.html | 25 + ...tory-to-gather-image-information-only.html | 34 + .../poky-ref-manual/using-x32-right-now.html | 70 + ...IC_FILES_CHKSUM-explanation-of-syntax.html | 58 + .../html/poky-ref-manual/usingpoky-build.html | 24 + .../usingpoky-components-bitbake.html | 66 + .../usingpoky-components-classes.html | 24 + .../usingpoky-components-configuration.html | 24 + .../usingpoky-components-metadata.html | 29 + .../poky-ref-manual/usingpoky-components.html | 52 + ...singpoky-configuring-LIC_FILES_CHKSUM.html | 23 + .../usingpoky-debugging-bitbake.html | 30 + .../usingpoky-debugging-buildfile.html | 24 + .../usingpoky-debugging-dependencies.html | 26 + .../usingpoky-debugging-others.html | 34 + .../usingpoky-debugging-taskfailures.html | 27 + .../usingpoky-debugging-taskrunning.html | 68 + .../usingpoky-debugging-variables.html | 22 + .../poky-ref-manual/usingpoky-debugging.html | 26 + .../poky-ref-manual/usingpoky-install.html | 28 + ...usingpoky-specifying-LIC_FILES_CHKSUM.html | 57 + .../html/poky-ref-manual/usingpoky.html | 48 + .../eclipse/html/poky-ref-manual/x32.html | 35 + .../eclipse/poky-ref-manual-toc.xml | 217 + .../examples/hello-autotools/hello_2.3.bb | 8 + .../examples/hello-single/files/helloworld.c | 8 + .../ref-manual/examples/hello-single/hello.bb | 17 + .../examples/libxpm/libxpm_3.5.6.bb | 14 + .../examples/mtd-makefile/mtd-utils_1.0.0.bb | 15 + documentation/ref-manual/faq.xml | 606 ++ .../ref-manual/figures/buildhistory-web.png | Bin 0 -> 49966 bytes .../ref-manual/figures/buildhistory.png | Bin 0 -> 42062 bytes .../ref-manual/figures/poky-title.png | Bin 0 -> 11592 bytes documentation/ref-manual/introduction.xml | 322 + documentation/ref-manual/migration.xml | 235 + documentation/ref-manual/ref-bitbake.xml | 419 ++ documentation/ref-manual/ref-classes.xml | 720 +++ documentation/ref-manual/ref-features.xml | 294 + documentation/ref-manual/ref-images.xml | 132 + .../ref-manual/ref-manual-customization.xsl | 6 + documentation/ref-manual/ref-manual.html | 5283 +++++++++++++++++ documentation/ref-manual/ref-manual.pdf | Bin 0 -> 801466 bytes documentation/ref-manual/ref-manual.tgz | Bin 0 -> 199139 bytes documentation/ref-manual/ref-manual.xml | 125 + documentation/ref-manual/ref-structure.xml | 709 +++ documentation/ref-manual/ref-style.css | 979 +++ documentation/ref-manual/ref-variables.xml | 3018 ++++++++++ documentation/ref-manual/ref-varlocality.xml | 193 + documentation/ref-manual/resources.xml | 114 + .../ref-manual/technical-details.xml | 1011 ++++ documentation/ref-manual/usingpoky.xml | 651 ++ 214 files changed, 26016 insertions(+) create mode 100644 documentation/ref-manual/TODO create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-local-configuration.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-recipes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-image-information.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-package-information.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/build-overview.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/building-an-image-using-gpl-components.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/centos-packages.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/checksums.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/debugging.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/detailed-supported-distros.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-and-disabling-build-history.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-commercially-licensed-recipes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/examining-build-history-information.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/fedora-packages.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory-web.png create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory.png create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/figures/poky-title.png create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/future-development-and-limitations.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/handbook.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/index.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/index.xml create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit-dev.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro-manualoverview.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro-requirements.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro-welcome.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/intro.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/invalidating-shared-state.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/license-flag-matching.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/licenses.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-bash.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-python.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/maintaining-build-output-quality.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-bblayers-conf.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-image-features.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-nativesdk.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-proto=-in-src-uri.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-python-function-whitespace.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-removed-recipes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-sstate-mirrors.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-task-recipes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/migration.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/moving-to-the-yocto-project-1.3-release.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/opensuse-packages.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/other-variables-related-to-commercial-licenses.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/overall-architecture.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/recipe-logging-mechanisms.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-commandline.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-dependencies.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-fetchers.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-parsing.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-providers.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-runtask.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-tasklist.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-autotools.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-base.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-binconfig.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-debian.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-devshell.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-distutils.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-image.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-insane.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-kernel.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-others.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-package.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-packagegroup.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-perl.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-pkgconfig.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-sanity.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-siteinfo.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-src-distribute.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-alternatives.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-rc.d.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-useradd.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-backfill.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-distro.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-image.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-machine.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-images.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-structure.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-variables-glos.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-distro.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-local.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-machine.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-configuration.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-build.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-dependencies.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-paths.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-required.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/required-packages-for-the-host-development-system.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-bugtracker.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-contributions.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-intro.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-irc.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-links.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources-mailinglist.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/resources.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-basic-top-level.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-bblayers.conf.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-local.conf.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-sanity_info.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-downloads.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-pseudodone.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-sstate-cache.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-buildstats.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-cache.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-deb.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-images.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-ipk.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-licenses.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-rpm.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-log.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-pkgdata.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-stamps.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-sysroots.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-work.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-bitbake.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-build.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto-bsp.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-script.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-scripts.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-classes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-distro.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-machine.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-hob.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-bsp.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-connectivity.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-core.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-devtools.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-extended.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-gnome.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-graphics.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-kernel.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-multimedia.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-qt.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-rt.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-sato.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-support.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-txt.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-site.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-skeleton.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/support.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/technical-details.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/tips-and-tricks.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/ubuntu-packages.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/understanding-what-the-build-history-contains.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/using-build-history-to-gather-image-information-only.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/using-x32-right-now.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-LIC_FILES_CHKSUM-explanation-of-syntax.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-build.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-bitbake.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-classes.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-configuration.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-metadata.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-configuring-LIC_FILES_CHKSUM.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-bitbake.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-buildfile.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-dependencies.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-others.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskfailures.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskrunning.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-variables.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-install.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-specifying-LIC_FILES_CHKSUM.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky.html create mode 100644 documentation/ref-manual/eclipse/html/poky-ref-manual/x32.html create mode 100644 documentation/ref-manual/eclipse/poky-ref-manual-toc.xml create mode 100644 documentation/ref-manual/examples/hello-autotools/hello_2.3.bb create mode 100644 documentation/ref-manual/examples/hello-single/files/helloworld.c create mode 100644 documentation/ref-manual/examples/hello-single/hello.bb create mode 100644 documentation/ref-manual/examples/libxpm/libxpm_3.5.6.bb create mode 100644 documentation/ref-manual/examples/mtd-makefile/mtd-utils_1.0.0.bb create mode 100644 documentation/ref-manual/faq.xml create mode 100644 documentation/ref-manual/figures/buildhistory-web.png create mode 100644 documentation/ref-manual/figures/buildhistory.png create mode 100644 documentation/ref-manual/figures/poky-title.png create mode 100644 documentation/ref-manual/introduction.xml create mode 100644 documentation/ref-manual/migration.xml create mode 100644 documentation/ref-manual/ref-bitbake.xml create mode 100644 documentation/ref-manual/ref-classes.xml create mode 100644 documentation/ref-manual/ref-features.xml create mode 100644 documentation/ref-manual/ref-images.xml create mode 100644 documentation/ref-manual/ref-manual-customization.xsl create mode 100644 documentation/ref-manual/ref-manual.html create mode 100644 documentation/ref-manual/ref-manual.pdf create mode 100644 documentation/ref-manual/ref-manual.tgz create mode 100644 documentation/ref-manual/ref-manual.xml create mode 100644 documentation/ref-manual/ref-structure.xml create mode 100644 documentation/ref-manual/ref-style.css create mode 100644 documentation/ref-manual/ref-variables.xml create mode 100644 documentation/ref-manual/ref-varlocality.xml create mode 100644 documentation/ref-manual/resources.xml create mode 100644 documentation/ref-manual/technical-details.xml create mode 100644 documentation/ref-manual/usingpoky.xml diff --git a/documentation/ref-manual/TODO b/documentation/ref-manual/TODO new file mode 100644 index 0000000000..ee0db977cc --- /dev/null +++ b/documentation/ref-manual/TODO @@ -0,0 +1,11 @@ +Handbook Todo List: + + * Document adding a new IMAGE_FEATURE to the customising images section + * Add instructions about using zaurus/openmoko emulation + * Add component overview/block diagrams + * Software Deevelopment intro should mention its software development for + intended target and could be a different arch etc and thus special case. + * Expand insane.bbclass documentation to cover tests + * Document remaining classes (see list in ref-classes) + * Document formfactor + diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-local-configuration.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-local-configuration.html new file mode 100644 index 0000000000..d4a9f0875d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-local-configuration.html @@ -0,0 +1,21 @@ + + + +4.1.1. Local Configuration + + + + + + + +
+

+4.1.1. Local Configuration

+

+ Differences include changes for + SSTATE_MIRRORS + and bblayers.conf. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-recipes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-recipes.html new file mode 100644 index 0000000000..69966945f2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/1.3-recipes.html @@ -0,0 +1,29 @@ + + + +4.1.2. Recipes + + + + + + + +
+

+4.1.2. Recipes

+

+ Differences include changes for the following: +

+
    +
  • Python function whitespace

  • +
  • proto= in SRC_URI

  • +
  • nativesdk

  • +
  • Task recipes

  • +
  • IMAGE_FEATURES

  • +
  • Removed recipes

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-image-information.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-image-information.html new file mode 100644 index 0000000000..f1b0f9e2ad --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-image-information.html @@ -0,0 +1,80 @@ + + + +2.4.2.2. Build History Image Information + + + + + + + +
+

+2.4.2.2. Build History Image Information

+

+ The files produced for each image are as follows: +

+
    +
  • build-id: + Human-readable information about the build configuration + and metadata source revisions.

  • +
  • *.dot: + Dependency graphs for the image that are + compatible with graphviz. +

  • +
  • files-in-image.txt: + A list of files in the image with permissions, + owner, group, size, and symlink information. +

  • +
  • image-info.txt: + A text file containing name-value pairs with information + about the image. + See the following listing example for more information. +

  • +
  • installed-package-names.txt: + A list of installed packages by name only.

  • +
  • installed-package-sizes.txt: + A list of installed packages ordered by size. +

  • +
  • installed-packages.txt: + A list of installed packages with fuill package + filenames.

  • +
+

+

+
+

Note

+ Installed package information is able to be gathered and + produced even if package management is disabled for the final + image. +
+

+

+

+ Here is an example of image-info.txt: +

+
+     DISTRO = poky
+     DISTRO_VERSION = 1.1+snapshot-20120207
+     USER_CLASSES = image-mklibs image-prelink
+     IMAGE_CLASSES = image_types
+     IMAGE_FEATURES = debug-tweaks x11-base apps-x11-core \
+        package-management ssh-server-dropbear package-management
+     IMAGE_LINGUAS = en-us en-gb
+     IMAGE_INSTALL = task-core-boot task-base-extended
+     BAD_RECOMMENDATIONS = 
+     ROOTFS_POSTPROCESS_COMMAND = buildhistory_get_image_installed ;   rootfs_update_timestamp ;  
+     IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ; 
+     IMAGESIZE = 171816
+                
+

+ Other than IMAGESIZE, which is the + total size of the files in the image in Kbytes, the + name-value pairs are variables that may have influenced the + content of the image. + This information is often useful when you are trying to determine + why a change in the package or file listings has occurred. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-package-information.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-package-information.html new file mode 100644 index 0000000000..370481da75 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-history-package-information.html @@ -0,0 +1,58 @@ + + + +2.4.2.1. Build History Package Information + + + + + + + +
+

+2.4.2.1. Build History Package Information

+

+ The history for each package contains a text file that has + name-value pairs with information about the package. + For example, buildhistory/packages/core2-poky-linux/busybox/busybox/latest + contains the following: +

+
+     PV = 1.19.3
+     PR = r3
+     RDEPENDS = update-rc.d eglibc (>= 2.13)
+     RRECOMMENDS = busybox-syslog busybox-udhcpc
+     PKGSIZE = 564701
+     FILES = /usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* \
+        /etc /com /var /bin/* /sbin/* /lib/*.so.* /usr/share/busybox \
+        /usr/lib/busybox/* /usr/share/pixmaps /usr/share/applications \ 
+        /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers
+     FILELIST = /etc/busybox.links /etc/init.d/hwclock.sh /bin/busybox /bin/sh
+                
+

+ Most of these name-value pairs corresponds to variables used + to produce the package. + The exceptions are FILELIST, which is the + actual list of files in the package, and + PKGSIZE, which is the total size of files + in the package in bytes. +

+

+ There is also a file corresponding to the recipe from which the + package came (e.g. + buildhistory/packages/core2-poky-linux/busybox/latest): +

+
+     PV = 1.19.3
+     PR = r3
+     DEPENDS = virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs \
+        virtual/libc update-rc.d-native
+     PACKAGES = busybox-httpd busybox-udhcpd busybox-udhcpc busybox-syslog \
+        busybox-mdev busybox-dbg busybox busybox-doc busybox-dev \
+        busybox-staticdev busybox-locale
+                
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/build-overview.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-overview.html new file mode 100644 index 0000000000..4ee4185ba9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/build-overview.html @@ -0,0 +1,61 @@ + + + +2.1.1. Build Overview + + + + + + + +
+

+2.1.1. Build Overview

+

+ The first thing you need to do is set up the OpenEmbedded build environment by sourcing + the environment setup script as follows: +

+
+     $ source oe-init-build-env [build_dir]
+            
+

+

+

+ The build_dir is optional and specifies the directory the + OpenEmbedded build system uses for the build - + the Build Directory. + If you do not specify a Build Directory it defaults to build + in your current working directory. + A common practice is to use a different Build Directory for different targets. + For example, ~/build/x86 for a qemux86 + target, and ~/build/arm for a qemuarm target. + See oe-init-build-env + for more information on this script. +

+

+ Once the build environment is set up, you can build a target using: +

+
+     $ bitbake <target>
+            
+

+

+

+ The target is the name of the recipe you want to build. + Common targets are the images in meta/recipes-core/images, + /meta/recipes-sato/images, etc. all found in the + Source Directory. + Or, the target can be the name of a recipe for a specific piece of software such as + busybox. + For more details about the images the OpenEmbedded build system supports, see the + "Images" chapter. +

+
+

Note

+ Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + See the "Images" chapter for more information. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/building-an-image-using-gpl-components.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/building-an-image-using-gpl-components.html new file mode 100644 index 0000000000..12073d58d8 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/building-an-image-using-gpl-components.html @@ -0,0 +1,23 @@ + + + +2.1.2. Building an Image Using GPL Components + + + + + + + +
+

+2.1.2. Building an Image Using GPL Components

+

+ When building an image using GPL components, you need to maintain your original + settings and not switch back and forth applying different versions of the GNU + General Public License. + If you rebuild using different versions of GPL, dependency errors might occur + due to some components not being rebuilt. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/centos-packages.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/centos-packages.html new file mode 100644 index 0000000000..05463bc93a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/centos-packages.html @@ -0,0 +1,69 @@ + + + +1.3.2.4. CentOS Packages + + + + + + + +
+

+1.3.2.4. CentOS Packages

+

+ The following list shows the required packages by function + given a supported CentOS Linux distribution: +

+
    +
  • +

    Essentials: + Packages needed to build an image for a headless + system: +

    +
    +     $ sudo yum -y install gawk make wget tar bzip2 gzip python unzip perl patch \
    +     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath
    +                        
    +
  • +
  • +

    Graphical Extras: + Packages recommended if the host system has graphics support: +

    +
    +     $ sudo yum -y install SDL-devel xterm
    +                        
    +
  • +
  • +

    Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +
    +     $ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \
    +     docbook-dtds docbook-utils fop libxslt
    +                        
    +
  • +
  • +

    ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +
    +     $ sudo yum -y install autoconf automake libtool glib2-devel
    +                        
    +
  • +
+

+

+
+

Note

Depending on the CentOS version you are using, other requirements + and dependencies might exist. + For details, you should look at the CentOS sections on the + Poky/GettingStarted/Dependencies + wiki page.
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/checksums.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/checksums.html new file mode 100644 index 0000000000..5dccce93b9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/checksums.html @@ -0,0 +1,164 @@ + + + +3.2.2. Checksums (Signatures) + + + + + + + +
+

+3.2.2. Checksums (Signatures)

+

+ The shared state code uses a checksum, which is a unique signature of a task's + inputs, to determine if a task needs to be run again. + Because it is a change in a task's inputs that triggers a rerun, the process + needs to detect all the inputs to a given task. + For shell tasks, this turns out to be fairly easy because + the build process generates a "run" shell script for each task and + it is possible to create a checksum that gives you a good idea of when + the task's data changes. +

+

+ To complicate the problem, there are things that should not be included in + the checksum. + First, there is the actual specific build path of a given task - + the WORKDIR. + It does not matter if the working directory changes because it should not + affect the output for target packages. + Also, the build process has the objective of making native/cross packages relocatable. + The checksum therefore needs to exclude WORKDIR. + The simplistic approach for excluding the working directory is to set + WORKDIR to some fixed value and create the checksum + for the "run" script. +

+

+ Another problem results from the "run" scripts containing functions that + might or might not get called. + The incremental build solution contains code that figures out dependencies + between shell functions. + This code is used to prune the "run" scripts down to the minimum set, + thereby alleviating this problem and making the "run" scripts much more + readable as a bonus. +

+

+ So far we have solutions for shell scripts. + What about python tasks? + The same approach applies even though these tasks are more difficult. + The process needs to figure out what variables a python function accesses + and what functions it calls. + Again, the incremental build solution contains code that first figures out + the variable and function dependencies, and then creates a checksum for the data + used as the input to the task. +

+

+ Like the WORKDIR case, situations exist where dependencies + should be ignored. + For these cases, you can instruct the build process to ignore a dependency + by using a line like the following: +

+
+     PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
+            
+

+ This example ensures that the PACKAGE_ARCHS variable does not + depend on the value of MACHINE, even if it does reference it. +

+

+ Equally, there are cases where we need to add dependencies BitBake is not able to find. + You can accomplish this by using a line like the following: +

+
+      PACKAGE_ARCHS[vardeps] = "MACHINE"
+            
+

+ This example explicitly adds the MACHINE variable as a + dependency for PACKAGE_ARCHS. +

+

+ Consider a case with inline python, for example, where BitBake is not + able to figure out dependencies. + When running in debug mode (i.e. using -DDD), BitBake + produces output when it discovers something for which it cannot figure out + dependencies. + The Yocto Project team has currently not managed to cover those dependencies + in detail and is aware of the need to fix this situation. +

+

+ Thus far, this section has limited discussion to the direct inputs into a task. + Information based on direct inputs is referred to as the "basehash" in the + code. + However, there is still the question of a task's indirect inputs - the + things that were already built and present in the Build Directory. + The checksum (or signature) for a particular task needs to add the hashes + of all the tasks on which the particular task depends. + Choosing which dependencies to add is a policy decision. + However, the effect is to generate a master checksum that combines the basehash + and the hashes of the task's dependencies. +

+

+ At the code level, there are a variety of ways both the basehash and the + dependent task hashes can be influenced. + Within the BitBake configuration file, we can give BitBake some extra information + to help it construct the basehash. + The following statements effectively result in a list of global variable + dependency excludes - variables never included in any checksum: +

+
+  BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH"
+  BB_HASHBASE_WHITELIST += "DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS"
+  BB_HASHBASE_WHITELIST += "FILE_DIRNAME HOME LOGNAME SHELL TERM USER"
+  BB_HASHBASE_WHITELIST += "FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET"
+            
+

+ The previous example actually excludes + WORKDIR + since it is actually constructed as a path within + TMPDIR, which is on + the whitelist. +

+

+ The rules for deciding which hashes of dependent tasks to include through + dependency chains are more complex and are generally accomplished with a + python function. + The code in meta/lib/oe/sstatesig.py shows two examples + of this and also illustrates how you can insert your own policy into the system + if so desired. + This file defines the two basic signature generators OE-Core + uses: "OEBasic" and "OEBasicHash". + By default, there is a dummy "noop" signature handler enabled in BitBake. + This means that behavior is unchanged from previous versions. + OE-Core uses the "OEBasic" signature handler by default + through this setting in the bitbake.conf file: +

+
+  BB_SIGNATURE_HANDLER ?= "OEBasic"
+            
+

+ The "OEBasicHash" BB_SIGNATURE_HANDLER is the same as the + "OEBasic" version but adds the task hash to the stamp files. + This results in any metadata change that changes the task hash, automatically + causing the task to be run again. + This removes the need to bump PR + values and changes to metadata automatically ripple across the build. + Currently, this behavior is not the default behavior for OE-Core + but is the default in poky. +

+

+ It is also worth noting that the end result of these signature generators is to + make some dependency and hash information available to the build. + This information includes: +

+
+  BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe
+  BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task
+  BBHASHDEPS_<filename:taskname> - The task dependencies for each task
+  BB_TASKHASH - the hash of the currently running task
+            
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/debugging.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/debugging.html new file mode 100644 index 0000000000..80a19f98a4 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/debugging.html @@ -0,0 +1,43 @@ + + + +3.2.4.1. Debugging + + + + + + + +
+

+3.2.4.1. Debugging

+

+ When things go wrong, debugging needs to be straightforward. + Because of this, the Yocto Project team included strong debugging + tools: +

+
    +
  • Whenever a shared state package is written out, so is a + corresponding .siginfo file. + This practice results in a pickled python database of all + the metadata that went into creating the hash for a given shared state + package.

  • +
  • If BitBake is run with the --dump-signatures + (or -S) option, BitBake dumps out + .siginfo files in + the stamp directory for every task it would have executed instead of + building the specified target package.

  • +
  • There is a bitbake-diffsigs command that + can process these .siginfo files. + If one file is specified, it will dump out the dependency + information in the file. + If two files are specified, it will compare the two files and dump out + the differences between the two. + This allows the question of "What changed between X and Y?" to be + answered easily.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/detailed-supported-distros.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/detailed-supported-distros.html new file mode 100644 index 0000000000..6222ae54cf --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/detailed-supported-distros.html @@ -0,0 +1,45 @@ + + + +1.3.1. Supported Linux Distributions + + + + + + + +
+

+1.3.1. Supported Linux Distributions

+

+ Currently, the Yocto Project is supported on the following distributions: +

+
    +
  • Ubuntu 10.04.4 LTS

  • +
  • Ubuntu 11.10

  • +
  • Ubuntu 12.04.1 LTS

  • +
  • Ubuntu 12.04.1 LTS

  • +
  • Ubuntu 12.10

  • +
  • Fedora release 16 (Verne)

  • +
  • Fedora release 17 (Beefy Miracle)

  • +
  • Fedora release 18 (Spherical Cow)

  • +
  • CentOS release 5.6 (Final)

  • +
  • CentOS release 5.7 (Final)

  • +
  • CentOS release 5.8 (Final)

  • +
  • CentOS release 6.3 (Final)

  • +
  • Debian GNU/Linux 6.0.6 (squeeze)

  • +
  • openSUSE 11.4

  • +
  • openSUSE 12.1

  • +
  • openSUSE 12.2

  • +
+

+

+
+

Note

+ For additional information on distributions that support the + Yocto Project, see the + Distribution Support wiki page. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-and-disabling-build-history.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-and-disabling-build-history.html new file mode 100644 index 0000000000..06be8f5332 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-and-disabling-build-history.html @@ -0,0 +1,62 @@ + + + +2.4.1. Enabling and Disabling Build History + + + + + + + +
+

+2.4.1. Enabling and Disabling Build History

+

+ Build history is disabled by default. + To enable it, add the following statements to the end of your + conf/local.conf file found in the + Build Directory: +

+
+     INHERIT += "buildhistory"
+     BUILDHISTORY_COMMIT = "1"
+            
+

+ Enabling build history as previously described + causes the build process to collect build + output information and commit it to a local + Git repository. +

+
+

Note

+ Enabling build history increases your build times slightly, + particularly for images, and increases the amount of disk + space used during the build. +
+

+

+

+ You can disable build history by removing the previous statements + from your conf/local.conf file. + However, you should realize that enabling and disabling + build history in this manner can change the + do_package task checksums, which if you + are using the OEBasicHash signature generator (the default + for many current distro configurations including + DISTRO = "poky" and + DISTRO = "") will result in the packaging + tasks being re-run during the subsequent build. +

+

+ To disable the build history functionality without causing the + packaging tasks to be re-run, add just this statement to your + conf/local.conf file: +

+
+     BUILDHISTORY_FEATURES = ""
+            
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-commercially-licensed-recipes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-commercially-licensed-recipes.html new file mode 100644 index 0000000000..9ecf3cc128 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/enabling-commercially-licensed-recipes.html @@ -0,0 +1,85 @@ + + + +3.4.2. Enabling Commercially Licensed Recipes + + + + + + + +
+

+3.4.2. Enabling Commercially Licensed Recipes

+

+ By default, the OpenEmbedded build system disables + components that have commercial or other special licensing + requirements. + Such requirements are defined on a + recipe-by-recipe basis through the LICENSE_FLAGS variable + definition in the affected recipe. + For instance, the + $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + recipe contains the following statement: +

+
+     LICENSE_FLAGS = "commercial"
+            
+

+ Here is a slightly more complicated example that contains both an + explicit recipe name and version (after variable expansion): +

+
+     LICENSE_FLAGS = "license_${PN}_${PV}"
+            
+

+ In order for a component restricted by a LICENSE_FLAGS + definition to be enabled and included in an image, it + needs to have a matching entry in the global + LICENSE_FLAGS_WHITELIST variable, which is a variable + typically defined in your local.conf file. + For example, to enable + the $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + package, you could add either the string + "commercial_gst-plugins-ugly" or the more general string + "commercial" to LICENSE_FLAGS_WHITELIST. + See the + "License Flag Matching" section + for a full explanation of how LICENSE_FLAGS matching works. + Here is the example: +

+
+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly"
+            
+

+ Likewise, to additionally enable the package built from the recipe containing + LICENSE_FLAGS = "license_${PN}_${PV}", and assuming + that the actual recipe name was emgd_1.10.bb, + the following string would enable that package as well as + the original gst-plugins-ugly package: +

+
+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10"
+            
+

+ As a convenience, you do not need to specify the complete license string + in the whitelist for every package. + you can use an abbreviated form, which consists + of just the first portion or portions of the license string before + the initial underscore character or characters. + A partial string will match + any license that contains the given string as the first + portion of its license. + For example, the following + whitelist string will also match both of the packages + previously mentioned as well as any other packages that have + licenses starting with "commercial" or "license". +

+
+     LICENSE_FLAGS_WHITELIST = "commercial license"
+            
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/examining-build-history-information.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/examining-build-history-information.html new file mode 100644 index 0000000000..0fa3f74545 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/examining-build-history-information.html @@ -0,0 +1,70 @@ + + + +2.4.2.4. Examining Build History Information + + + + + + + +
+

+2.4.2.4. Examining Build History Information

+

+ You can examine build history output from the command line or + from a web interface. +

+

+ To see any changes that have occurred (assuming you have + BUILDHISTORY_COMMIT = "1"), you can simply + use any Git command that allows you to view the history of + a repository. + Here is one method: +

+
+      $ git log -p 
+                
+

+ You need to realize, however, that this method does show + changes that are not significant (e.g. a package's size + changing by a few bytes). +

+

+ A command-line tool called buildhistory-diff + does exist though that queries the Git repository and prints just + the differences that might be significant in human-readable form. + Here is an example: +

+
+     $ ~/poky/poky/scripts/buildhistory-diff . HEAD^
+     Changes to images/qemux86_64/eglibc/core-image-minimal (files-in-image.txt):
+        /etc/anotherpkg.conf was added
+        /sbin/anotherpkg was added
+        * (installed-package-names.txt):
+        *   anotherpkg was added
+     Changes to images/qemux86_64/eglibc/core-image-minimal (installed-package-names.txt):
+        anotherpkg was added
+     packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras"
+        * PR changed from "r0" to "r1"
+        * PV changed from "0.1.10" to "0.1.12"
+     packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%)
+        * PR changed from "r0" to "r1"
+        * PV changed from "0.1.10" to "0.1.12"
+                
+

+

+

+ To see changes to the build history using a web interface, follow + the instruction in the README file here. + http://git.yoctoproject.org/cgit/cgit.cgi/buildhistory-web/. +

+

+ Here is a sample screenshot of the interface: +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html new file mode 100644 index 0000000000..8b8cafbc3a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/faq.html @@ -0,0 +1,791 @@ + + + +Chapter 12. FAQ + + + + + + + +
+

+Chapter 12. FAQ

+
+
+
12.1. + How does Poky differ from OpenEmbedded? + +
+
12.2. + I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + Can I still use the Yocto Project? + +
+
12.3. + How can you claim Poky / OpenEmbedded-Core is stable? + +
+
12.4. + How do I get support for my board added to the Yocto Project? + +
+
12.5. + Are there any products built using the OpenEmbedded build system? + +
+
12.6. + What does the OpenEmbedded build system produce as output? + +
+
12.7. + How do I add my package to the Yocto Project? + +
+
12.8. + Do I have to reflash my entire board with a new Yocto Project image when recompiling + a package? + +
+
12.9. + What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME? + +
+
12.10. + I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. + What is wrong? + +
+
12.11. + How do I make the Yocto Project work in RHEL/CentOS? + +
+
12.12. + I see lots of 404 responses for files on + http://www.yoctoproject.org/sources/*. Is something wrong? + +
+
12.13. + I have machine-specific data in a package for one machine only but the package is + being marked as machine-specific in all cases, how do I prevent this? + +
+
12.14. + I'm behind a firewall and need to use a proxy server. How do I do that? + +
+
12.15. + What’s the difference between foo and foo-native? + +
+
12.16. + I'm seeing random build failures. Help?! + +
+
12.17. + What do we need to ship for license compliance? + +
+
12.18. + How do I disable the cursor on my touchscreen device? + +
+
12.19. + How do I make sure connected network interfaces are brought up by default? + +
+
12.20. + How do I create images with more free space? + +
+
12.21. + Why don't you support directories with spaces in the pathnames? + +
+
12.22. + How do I use an external toolchain? + +
+
12.23. + How does the OpenEmbedded build system obtain source code and will it work behind my + firewall or proxy server? + +
+
12.24. + Can I get rid of build output so I can start over? + +
+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

12.1.

+

+ How does Poky differ from OpenEmbedded? +

+ The term "Poky" refers to the specific reference build system that + the Yocto Project provides. + Poky is based on OE-Core + and BitBake. + Thus, the generic term used here for the build system is + the "OpenEmbedded build system." + Development in the Yocto Project using Poky is closely tied to OpenEmbedded, with + changes always being merged to OE-Core or BitBake first before being pulled back + into Poky. + This practice benefits both projects immediately. + For a fuller description of the term "Poky", see the + poky term in the Yocto Project + Development Manual. +

+

12.2.

+

+ I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + Can I still use the Yocto Project? +

+

+ You can use a stand-alone tarball to provide Python 2.6. + You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations: +

+ +

+

+

+ These tarballs are self-contained with all required libraries and should work + on most Linux systems. + To use the tarballs extract them into the root + directory and run the appropriate command: +

+
+     $ export PATH=/opt/poky/sysroots/i586-pokysdk-linux/usr/bin/:$PATH
+     $ export PATH=/opt/poky/sysroots/x86_64-pokysdk-linux/usr/bin/:$PATH
+                
+

+

+

+ Once you run the command, BitBake uses Python 2.6. +

+
+

12.3.

+

+ How can you claim Poky / OpenEmbedded-Core is stable? +

+

+ There are three areas that help with stability; +

+
    +
  • The Yocto Project team keeps + OE-Core small + and focused, containing around 830 recipes as opposed to the thousands + available in other OpenEmbedded community layers. + Keeping it small makes it easy to test and maintain.

  • +
  • The Yocto Project team runs manual and automated tests + using a small, fixed set of reference hardware as well as emulated + targets.

  • +
  • The Yocto Project uses an an autobuilder, + which provides continuous build and integration tests.

  • +
+

+

+
+

12.4.

+

+ How do I get support for my board added to the Yocto Project? +

+

+ Support for an additional board is added by creating a BSP layer for it. + For more information on how to create a BSP layer, see the + Yocto Project Board Support Package (BSP) Developer's Guide. +

+

+ Usually, if the board is not completely exotic, adding support in + the Yocto Project is fairly straightforward. +

+
+

12.5.

+

+ Are there any products built using the OpenEmbedded build system? +

+ The software running on the Vernier LabQuest + is built using the OpenEmbedded build system. + See the Vernier LabQuest + website for more information. + There are a number of pre-production devices using the OpenEmbedded build system + and the Yocto Project team + announces them as soon as they are released. +

+

12.6.

+

+ What does the OpenEmbedded build system produce as output? +

+ Because the same set of recipes can be used to create output of various formats, the + output of an OpenEmbedded build depends on how it was started. + Usually, the output is a flashable image ready for the target device. +

+

12.7.

+

+ How do I add my package to the Yocto Project? +

+ To add a package, you need to create a BitBake recipe. + For information on how to add a package, see the section + "Adding a Package" + in the Yocto Project Development Manual. +

+

12.8.

+

+ Do I have to reflash my entire board with a new Yocto Project image when recompiling + a package? +

+ The OpenEmbedded build system can build packages in various formats such as + ipk for opkg, + Debian package (.deb), or RPM. + The packages can then be upgraded using the package tools on the device, much like + on a desktop distribution such as Ubuntu or Fedora. +

+

12.9.

+

+ What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME? +

+ GNOME Mobile is a subset of the GNOME + platform targeted at mobile and embedded devices. + The the main difference between GNOME Mobile and standard GNOME is that + desktop-orientated libraries have been removed, along with deprecated libraries, + creating a much smaller footprint. +

+

12.10.

+

+ I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. + What is wrong? +

+ You are probably running the build on an NTFS filesystem. + Use ext2, ext3, or ext4 instead. +

+

12.11.

+

+ How do I make the Yocto Project work in RHEL/CentOS? +

+

+ To get the Yocto Project working under RHEL/CentOS 5.1 you need to first + install some required packages. + The standard CentOS packages needed are: +

+
    +
  • "Development tools" (selected during installation)

  • +
  • texi2html

  • +
  • compat-gcc-34

  • +
+

+ On top of these, you need the following external packages: +

+
+

+

+

+ Once these packages are installed, the OpenEmbedded build system will be able + to build standard images. + However, there might be a problem with the QEMU emulator segfaulting. + You can either disable the generation of binary locales by setting + ENABLE_BINARY_LOCALE_GENERATION + to "0" or by removing the linux-2.6-execshield.patch + from the kernel and rebuilding it since that is the patch that causes the problems with QEMU. +

+
+

12.12.

+

+ I see lots of 404 responses for files on + http://www.yoctoproject.org/sources/*. Is something wrong? +

+ Nothing is wrong. + The OpenEmbedded build system checks any configured source mirrors before downloading + from the upstream sources. + The build system does this searching for both source archives and + pre-checked out versions of SCM managed software. + These checks help in large installations because it can reduce load on the SCM servers + themselves. + The address above is one of the default mirrors configured into the + build system. + Consequently, if an upstream source disappears, the team + can place sources there so builds continue to work. +

+

12.13.

+

+ I have machine-specific data in a package for one machine only but the package is + being marked as machine-specific in all cases, how do I prevent this? +

+ Set SRC_URI_OVERRIDES_PACKAGE_ARCH + = "0" in the .bb file but make sure the package is + manually marked as + machine-specific in the case that needs it. + The code that handles SRC_URI_OVERRIDES_PACKAGE_ARCH is in base.bbclass. +

+

12.14.

+

+ I'm behind a firewall and need to use a proxy server. How do I do that? +

+

+ Most source fetching by the OpenEmbedded build system is done by wget + and you therefore need to specify the proxy settings in a + .wgetrc file in your home directory. + Example settings in that file would be +

+
+     http_proxy = http://proxy.yoyodyne.com:18023/
+     ftp_proxy = http://proxy.yoyodyne.com:18023/
+                
+

+ The Yocto Project also includes a site.conf.sample + file that shows how to configure CVS and Git proxy servers + if needed. +

+
+

12.15.

+

+ What’s the difference between foo and foo-native? +

+ The *-native targets are designed to run on the system + being used for the build. + These are usually tools that are needed to assist the build in some way such as + quilt-native, which is used to apply patches. + The non-native version is the one that runs on the target device. +

+

12.16.

+

+ I'm seeing random build failures. Help?! +

+ If the same build is failing in totally different and random ways, + the most likely explanation is that either the hardware you're running the + build on has some problem, or, if you are running the build under virtualisation, + the virtualisation probably has bugs. + The OpenEmbedded build system processes a massive amount of data causing lots of network, disk and + CPU activity and is sensitive to even single bit failures in any of these areas. + True random failures have always been traced back to hardware or virtualisation issues. +

+

12.17.

+

+ What do we need to ship for license compliance? +

+ This is a difficult question and you need to consult your lawyer for the answer + for your specific case. + It is worth bearing in mind that for GPL compliance there needs to be enough + information shipped to allow someone else to rebuild the same end result + you are shipping. + This means sharing the source code, any patches applied to it, and also any + configuration information about how that package was configured and built. +

+

12.18.

+

+ How do I disable the cursor on my touchscreen device? +

+

+ You need to create a form factor file as described in the + "Miscellaneous Recipe Files" + section and set the HAVE_TOUCHSCREEN variable equal to one as follows: +

+
+     HAVE_TOUCHSCREEN=1
+                
+

+

+
+

12.19.

+

+ How do I make sure connected network interfaces are brought up by default? +

+

+ The default interfaces file provided by the netbase recipe does not + automatically bring up network interfaces. + Therefore, you will need to add a BSP-specific netbase that includes an interfaces + file. + See the "Miscellaneous Recipe Files" + section for information on creating these types of miscellaneous recipe files. +

+

+ For example, add the following files to your layer: +

+
+     meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces
+     meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend
+                
+

+

+
+

12.20.

+

+ How do I create images with more free space? +

+

+ Images are created to be 1.2 times the size of the populated root filesystem. + To modify this ratio so that there is more free space available, you need to + set the configuration value IMAGE_OVERHEAD_FACTOR. + For example, setting IMAGE_OVERHEAD_FACTOR to 1.5 sets + the image size ratio to one and a half times the size of the populated + root filesystem. +

+
+     IMAGE_OVERHEAD_FACTOR = "1.5"
+                
+

+

+
+

12.21.

+

+ Why don't you support directories with spaces in the pathnames? +

+ The Yocto Project team has tried to do this before but too many of the tools + the OpenEmbedded build system depends on such as autoconf + break when they find spaces in pathnames. + Until that situation changes, the team will not support spaces in pathnames. +

+

12.22.

+

+ How do I use an external toolchain? +

+

+ The toolchain configuration is very flexible and customizable. + It is primarily controlled with the + TCMODE variable. + This variable controls which tcmode-*.inc file to include + from the meta/conf/distro/include directory within the + source directory. +

+

+ The default value of TCMODE is "default" + (i.e. tcmode-default.inc). + However, other patterns are accepted. + In particular, "external-*" refers to external toolchains of which there are some + basic examples included in the OpenEmbedded Core (meta). + You can use your own custom toolchain definition in your own layer + (or as defined in the local.conf file) at the location + conf/distro/include/tcmode-*.inc. +

+

+ In addition to the toolchain configuration, you also need a corresponding toolchain recipe file. + This recipe file needs to package up any pre-built objects in the toolchain such as + libgcc, libstdcc++, + any locales, and libc. + An example is the external-sourcery-toolchain.bb, which is located + in meta/recipes-core/meta/ within the source directory. +

+
+

12.23.

+

+ How does the OpenEmbedded build system obtain source code and will it work behind my + firewall or proxy server? +

+

+ The way the build system obtains source code is highly configurable. + You can setup the build system to get source code in most environments if + HTTP transport is available. +

+

+ When the build system searches for source code, it first tries the local download directory. + If that location fails, Poky tries PREMIRRORS, the upstream source, + and then MIRRORS in that order. +

+

+ By default, the OpenEmbedded build system uses the Yocto Project source PREMIRRORS + for SCM-based sources, + upstreams for normal tarballs, and then falls back to a number of other mirrors + including the Yocto Project source mirror if those fail. +

+

+ As an example, you could add a specific server for Poky to attempt before any + others by adding something like the following to the local.conf + configuration file: +

+
+     PREMIRRORS_prepend = "\
+     git://.*/.* http://www.yoctoproject.org/sources/ \n \
+     ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
+     http://.*/.* http://www.yoctoproject.org/sources/ \n \
+     https://.*/.* http://www.yoctoproject.org/sources/ \n"
+                
+

+

+

+ These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS + requests and direct them to the http:// sources mirror. + You can use file:// URLs to point to local directories + or network shares as well. +

+

+ Aside from the previous technique, these options also exist: +

+
+     BB_NO_NETWORK = "1"
+                
+

+ This statement tells BitBake to throw an error instead of trying to access the + Internet. + This technique is useful if you want to ensure code builds only from local sources. +

+

+ Here is another technique: +

+
+     BB_FETCH_PREMIRRORONLY = "1"
+                 
+

+ This statement limits Poky to pulling source from the PREMIRRORS only. + Again, this technique is useful for reproducing builds. +

+

+ Here is another technique: +

+
+     BB_GENERATE_MIRROR_TARBALLS = "1"
+                 
+

+ This statement tells Poky to generate mirror tarballs. + This technique is useful if you want to create a mirror server. + If not, however, the technique can simply waste time during the build. +

+

+ Finally, consider an example where you are behind an HTTP-only firewall. + You could make the following changes to the local.conf + configuration file as long as the PREMIRROR server is up to date: +

+
+     PREMIRRORS_prepend = "\
+     ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
+     http://.*/.* http://www.yoctoproject.org/sources/ \n \
+     https://.*/.* http://www.yoctoproject.org/sources/ \n"
+     BB_FETCH_PREMIRRORONLY = "1" 
+                 
+

+ These changes would cause Poky to successfully fetch source over HTTP and + any network accesses to anything other than the PREMIRROR would fail. +

+

+ The build system also honors the standard shell environment variables + http_proxy, ftp_proxy, + https_proxy, and all_proxy + to redirect requests through proxy servers. +

+
+

12.24.

+

+ Can I get rid of build output so I can start over? +

+

+ Yes - you can easily do this. + When you use BitBake to build an image, all the build output goes into the + directory created when you source the oe-init-build-env + setup file. + By default, this build directory + is named build but can be named + anything you want. +

+

+ Within the build directory is the tmp directory. + To remove all the build output yet preserve any source code or downloaded files + from previous builds, simply remove the tmp directory. +

+
+
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/fedora-packages.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/fedora-packages.html new file mode 100644 index 0000000000..d1dc7d1f33 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/fedora-packages.html @@ -0,0 +1,62 @@ + + + +1.3.2.2. Fedora Packages + + + + + + + +
+

+1.3.2.2. Fedora Packages

+

+ The following list shows the required packages by function + given a supported Fedora Linux distribution: +

+
    +
  • +

    Essentials: + Packages needed to build an image for a headless + system: +

    +
    +     $ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
    +     diffutils diffstat git cpp gcc gcc-c++ eglibc-devel texinfo chrpath \
    +     ccache
    +                        
    +
  • +
  • +

    Graphical Extras: + Packages recommended if the host system has graphics support: +

    +
    +     $ sudo yum install SDL-devel xterm
    +                        
    +
  • +
  • +

    Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +
    +     $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
    +     docbook-dtds docbook-utils fop libxslt
    +                        
    +
  • +
  • +

    ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +
    +     $ sudo yum install autoconf automake libtool glib2-devel
    +                        
    +
  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory-web.png b/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory-web.png new file mode 100644 index 0000000000000000000000000000000000000000..f6db86c9772e1eb45dbaf4d8d1f4a18c908cec8c GIT binary patch literal 49966 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 HxRCz^<`2)w literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory.png b/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/buildhistory.png new file mode 100644 index 0000000000000000000000000000000000000000..614b8ee2e41cbd4533ddf97249e8f4f18686a108 GIT binary patch literal 42062 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 KE>}kX!~X!DjxE#x literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/poky-title.png b/documentation/ref-manual/eclipse/html/poky-ref-manual/figures/poky-title.png new file mode 100644 index 0000000000000000000000000000000000000000..2893d84620d74e5c3318c03fbb44bcf60853ae44 GIT binary patch literal 11592 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 literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/future-development-and-limitations.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/future-development-and-limitations.html new file mode 100644 index 0000000000..cd09ff8193 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/future-development-and-limitations.html @@ -0,0 +1,33 @@ + + + +3.3.2. Future Development and Limitations + + + + + + + +
+

+3.3.2. Future Development and Limitations

+

+ As of this Yocto Project release, the x32 psABI kernel and library interfaces + specifications are not finalized. +

+

+ Future Plans for the x32 psABI in the Yocto Project include the following: +

+
    +
  • Enhance and fix the few remaining recipes so they + work with and support x32 toolchains.

  • +
  • Enhance RPM Package Manager (RPM) support for x32 binaries.

  • +
  • Support larger images.

  • +
  • Integrate x32 recipes, toolchain, and kernel changes from + experimental/meta-x32 into OE-core.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/handbook.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/handbook.html new file mode 100644 index 0000000000..9588191dbe --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/handbook.html @@ -0,0 +1,25 @@ + + + +5.1.3. documentation + + + + + + + +
+

+5.1.3. documentation +

+

+ This directory holds the source for the Yocto Project documentation + as well as templates and tools that allow you to generate PDF and HTML + versions of the manuals. + Each manual is contained in a sub-folder. + For example, the files for this manual reside in + poky-ref-manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/index.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/index.html new file mode 100644 index 0000000000..70ef00544c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/index.html @@ -0,0 +1,327 @@ + + + +The Yocto Project Reference Manual + + + + + +
+
+
+

+ + The Yocto Project Reference Manual +

+
+
+

+Richard Purdie +

+
+ Linux Foundation
+
+ +
+ +
+
+
+ +

+ Permission is granted to copy, distribute and/or modify this document under + the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. +

+
+

Note

+ Due to production processes, there could be differences between the Yocto Project + documentation bundled in the release tarball and the + Yocto Project Reference Manual on + the Yocto Project website. + For the latest version of this manual, see the manual on the website. +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Revision History
Revision 4.0+git24 November 2010
Released with the Yocto Project 0.9 Release
Revision 1.06 April 2011
Released with the Yocto Project 1.0 Release.
Revision 1.0.123 May 2011
Released with the Yocto Project 1.0.1 Release.
Revision 1.16 October 2011
Released with the Yocto Project 1.1 Release.
Revision 1.2April 2012
Released with the Yocto Project 1.2 Release.
Revision 1.3October 2012
Released with the Yocto Project 1.3 Release.
Revision 1.4Sometime in 2013
Released with the Yocto Project 1.4 Release.
+
+
+
+
+

Table of Contents

+
+
1. Introduction
+
+
1.1. Introduction
+
1.2. Documentation Overview
+
1.3. System Requirements
+
+
1.3.1. Supported Linux Distributions
+
1.3.2. Required Packages for the Host Development System
+
+
1.4. Obtaining the Yocto Project
+
1.5. Development Checkouts
+
+
2. Using the Yocto Project
+
+
2.1. Running a Build
+
+
2.1.1. Build Overview
+
2.1.2. Building an Image Using GPL Components
+
+
2.2. Installing and Using the Result
+
2.3. Debugging Build Failures
+
+
2.3.1. Task Failures
+
2.3.2. Running Specific Tasks
+
2.3.3. Dependency Graphs
+
2.3.4. General BitBake Problems
+
2.3.5. Building with No Dependencies
+
2.3.6. Variables
+
2.3.7. Recipe Logging Mechanisms
+
2.3.8. Other Tips
+
+
2.4. Maintaining Build Output Quality
+
+
2.4.1. Enabling and Disabling Build History
+
2.4.2. Understanding What the Build History Contains
+
+
+
3. Technical Details
+
+
3.1. Yocto Project Components
+
+
3.1.1. BitBake
+
3.1.2. Metadata (Recipes)
+
3.1.3. Classes
+
3.1.4. Configuration
+
+
3.2. Shared State Cache
+
+
3.2.1. Overall Architecture
+
3.2.2. Checksums (Signatures)
+
3.2.3. Shared State
+
3.2.4. Tips and Tricks
+
+
3.3. x32
+
+
3.3.1. Support
+
3.3.2. Future Development and Limitations
+
3.3.3. Using x32 Right Now
+
+
3.4. Licenses
+
+
3.4.1. Tracking License Changes
+
3.4.2. Enabling Commercially Licensed Recipes
+
+
+
4. Migrating to a Newer Yocto Project Release
+
+
4.1. Moving to the Yocto Project 1.3 Release
+
+
4.1.1. Local Configuration
+
4.1.2. Recipes
+
+
+
5. Source Directory Structure
+
+
5.1. Top level core components
+
+
5.1.1. bitbake/
+
5.1.2. build/
+
5.1.3. documentation
+
5.1.4. meta/
+
5.1.5. meta-yocto/
+
5.1.6. meta-yocto-bsp/
+
5.1.7. meta-hob/
+
5.1.8. meta-skeleton/
+
5.1.9. scripts/
+
5.1.10. oe-init-build-env
+
5.1.11. LICENSE, README, and README.hardware
+
+
5.2. The Build Directory - build/
+
+
5.2.1. build/pseudodone
+
5.2.2. build/conf/local.conf
+
5.2.3. build/conf/bblayers.conf
+
5.2.4. build/conf/sanity_info
+
5.2.5. build/downloads/
+
5.2.6. build/sstate-cache/
+
5.2.7. build/tmp/
+
5.2.8. build/tmp/buildstats/
+
5.2.9. build/tmp/cache/
+
5.2.10. build/tmp/deploy/
+
5.2.11. build/tmp/deploy/deb/
+
5.2.12. build/tmp/deploy/rpm/
+
5.2.13. build/tmp/deploy/licenses/
+
5.2.14. build/tmp/deploy/images/
+
5.2.15. build/tmp/deploy/ipk/
+
5.2.16. build/tmp/sysroots/
+
5.2.17. build/tmp/stamps/
+
5.2.18. build/tmp/log/
+
5.2.19. build/tmp/pkgdata/
+
5.2.20. build/tmp/work/
+
+
5.3. The Metadata - meta/
+
+
5.3.1. meta/classes/
+
5.3.2. meta/conf/
+
5.3.3. meta/conf/machine/
+
5.3.4. meta/conf/distro/
+
5.3.5. meta/recipes-bsp/
+
5.3.6. meta/recipes-connectivity/
+
5.3.7. meta/recipes-core/
+
5.3.8. meta/recipes-devtools/
+
5.3.9. meta/recipes-extended/
+
5.3.10. meta/recipes-gnome/
+
5.3.11. meta/recipes-graphics/
+
5.3.12. meta/recipes-kernel/
+
5.3.13. meta/recipes-multimedia/
+
5.3.14. meta/recipes-qt/
+
5.3.15. meta/recipes-rt/
+
5.3.16. meta/recipes-sato/
+
5.3.17. meta/recipes-support/
+
5.3.18. meta/site/
+
5.3.19. meta/recipes.txt
+
+
+
6. BitBake
+
+
6.1. Parsing
+
6.2. Preferences and Providers
+
6.3. Dependencies
+
6.4. The Task List
+
6.5. Running a Task
+
6.6. BitBake Command Line
+
6.7. Fetchers
+
+
7. Classes
+
+
7.1. The base class - base.bbclass
+
7.2. Autotooled Packages - autotools.bbclass
+
7.3. Alternatives - update-alternatives.bbclass
+
7.4. Initscripts - update-rc.d.bbclass
+
7.5. Binary config scripts - binconfig.bbclass
+
7.6. Debian renaming - debian.bbclass
+
7.7. Pkg-config - pkgconfig.bbclass
+
7.8. Distribution of sources - src_distribute_local.bbclass
+
7.9. Perl modules - cpan.bbclass
+
7.10. Python extensions - distutils.bbclass
+
7.11. Developer Shell - devshell.bbclass
+
7.12. Package Groups - packagegroup.bbclass
+
7.13. Packaging - package*.bbclass
+
7.14. Building kernels - kernel.bbclass
+
7.15. Creating images - image.bbclass and rootfs*.bbclass
+
7.16. Host System sanity checks - sanity.bbclass
+
7.17. Generated output quality assurance checks - insane.bbclass
+
7.18. Autotools configuration data cache - siteinfo.bbclass
+
7.19. Adding Users - useradd.bbclass
+
7.20. Using External Source - externalsrc.bbclass
+
7.21. Other Classes
+
+
8. Images
+
9. Reference: Features
+
+
9.1. Distro
+
9.2. Machine
+
9.3. Images
+
9.4. Feature Backfilling
+
+
10. Variables Glossary
+
Glossary
+
11. Variable Context
+
+
11.1. Configuration
+
+
11.1.1. Distribution (Distro)
+
11.1.2. Machine
+
11.1.3. Local
+
+
11.2. Recipes
+
+
11.2.1. Required
+
11.2.2. Dependencies
+
11.2.3. Paths
+
11.2.4. Extra Build Information
+
+
+
12. FAQ
+
13. Contributing to the Yocto Project
+
+
13.1. Introduction
+
13.2. Tracking Bugs
+
13.3. Mailing lists
+
13.4. Internet Relay Chat (IRC)
+
13.5. Links
+
13.6. Contributions
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/index.xml b/documentation/ref-manual/eclipse/html/poky-ref-manual/index.xml new file mode 100644 index 0000000000..9edb4b92ac --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/index.xml @@ -0,0 +1,2 @@ + + diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit-dev.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit-dev.html new file mode 100644 index 0000000000..0a2590314f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit-dev.html @@ -0,0 +1,26 @@ + + + +1.5. Development Checkouts + + + + + + + +
+

+1.5. Development Checkouts

+

+ Development using the Yocto Project requires a local + Source Directory. + You can set up the source directory by downloading a Yocto Project release tarball and unpacking it, + or by cloning a copy of the upstream + Poky Git repository. + For information on both these methods, see the + "Getting Setup" + section in the Yocto Project Development Manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit.html new file mode 100644 index 0000000000..56fa85f771 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-getit.html @@ -0,0 +1,35 @@ + + + +1.4. Obtaining the Yocto Project + + + + + + + +
+

+1.4. Obtaining the Yocto Project

+

+ The Yocto Project development team makes the Yocto Project available through a number + of methods: +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-manualoverview.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-manualoverview.html new file mode 100644 index 0000000000..7f8e368e6d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-manualoverview.html @@ -0,0 +1,73 @@ + + + +1.2. Documentation Overview + + + + + + + +
+

+1.2. Documentation Overview

+

+ This reference manual consists of the following: +

+
    +
  • + Using the Yocto Project: This chapter + provides an overview of the components that make up the Yocto Project + followed by information about debugging images created in the Yocto Project. +

  • +
  • + Technical Details: + This chapter describes fundamental Yocto Project components as well as an explanation + behind how the Yocto Project uses shared state (sstate) cache to speed build time. +

  • +
  • + Directory Structure: + This chapter describes the + source directory created + either by unpacking a released Yocto Project tarball on your host development system, + or by cloning the upstream + Poky Git repository. +

  • +
  • + BitBake: + This chapter provides an overview of the BitBake tool and its role within + the Yocto Project.

  • +
  • + Classes: + This chapter describes the classes used in the Yocto Project.

  • +
  • + Images: + This chapter describes the standard images that the Yocto Project supports. +

  • +
  • + Features: + This chapter describes mechanisms for creating distribution, machine, and image + features during the build process using the OpenEmbedded build system.

  • +
  • + Variables Glossary: + This chapter presents most variables used by the OpenEmbedded build system, which + using BitBake. + Entries describe the function of the variable and how to apply them. +

  • +
  • + Variable Context: + This chapter provides variable locality or context.

  • +
  • + FAQ: + This chapter provides answers for commonly asked questions in the Yocto Project + development environment.

  • +
  • + Contributing to the Yocto Project: + This chapter provides guidance on how you can contribute back to the Yocto + Project.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-requirements.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-requirements.html new file mode 100644 index 0000000000..3cab8ac66c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-requirements.html @@ -0,0 +1,23 @@ + + + +1.3. System Requirements + + + + + + + +
+

+1.3. System Requirements

+

+ For general Yocto Project system requirements, see the + "What You Need and How You Get It" section + in the Yocto Project Quick Start. + The remainder of this section provides details on system requirements + not covered in the Yocto Project Quick Start. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-welcome.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-welcome.html new file mode 100644 index 0000000000..378b87f2ed --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro-welcome.html @@ -0,0 +1,30 @@ + + + +1.1. Introduction + + + + + + + +
+

+1.1. Introduction

+

+ This manual provides reference information for the current release of the Yocto Project. + The Yocto Project is an open-source collaboration project focused on embedded Linux + developers. + Amongst other things, the Yocto Project uses the OpenEmbedded build system, which + is based on the Poky project, to construct complete Linux images. + You can find complete introductory and getting started information on the Yocto Project + by reading the + Yocto Project Quick Start. + For task-based information using the Yocto Project, see the + Yocto Project Development Manual. + You can also find lots of information on the Yocto Project on the + Yocto Project website. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/intro.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro.html new file mode 100644 index 0000000000..1ff7cdcd05 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/intro.html @@ -0,0 +1,30 @@ + + + +Chapter 1. Introduction + + + + + + + + + diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/invalidating-shared-state.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/invalidating-shared-state.html new file mode 100644 index 0000000000..425f17953d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/invalidating-shared-state.html @@ -0,0 +1,53 @@ + + + +3.2.4.2. Invalidating Shared State + + + + + + + +
+

+3.2.4.2. Invalidating Shared State

+

+ The shared state code uses checksums and shared state + cache to avoid unnecessarily rebuilding tasks. + As with all schemes, this one has some drawbacks. + It is possible that you could make implicit changes that are not factored + into the checksum calculation, but do affect a task's output. + A good example is perhaps when a tool changes its output. + Let's say that the output of rpmdeps needed to change. + The result of the change should be that all the "package", "package_write_rpm", + and "package_deploy-rpm" shared state cache items would become invalid. + But, because this is a change that is external to the code and therefore implicit, + the associated shared state cache items do not become invalidated. + In this case, the build process would use the cached items rather than running the + task again. + Obviously, these types of implicit changes can cause problems. +

+

+ To avoid these problems during the build, you need to understand the effects of any + change you make. + Note that any changes you make directly to a function automatically are factored into + the checksum calculation and thus, will invalidate the associated area of sstate cache. + You need to be aware of any implicit changes that are not obvious changes to the + code and could affect the output of a given task. + Once you are aware of such a change, you can take steps to invalidate the cache + and force the task to run. + The step to take is as simple as changing a function's comments in the source code. + For example, to invalidate package shared state files, change the comment statements + of do_package or the comments of one of the functions it calls. + The change is purely cosmetic, but it causes the checksum to be recalculated and + forces the task to be run again. +

+
+

Note

+ For an example of a commit that makes a cosmetic change to invalidate + a shared state, see this + commit. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/license-flag-matching.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/license-flag-matching.html new file mode 100644 index 0000000000..8909689399 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/license-flag-matching.html @@ -0,0 +1,91 @@ + + + +3.4.2.1. License Flag Matching + + + + + + + +
+

+3.4.2.1. License Flag Matching

+

+ The definition of 'matching' in reference to a + recipe's LICENSE_FLAGS setting is simple. + However, some things exist that you should know about in order to + correctly and effectively use it. +

+

+ Before a flag + defined by a particular recipe is tested against the + contents of the LICENSE_FLAGS_WHITELIST variable, the + string _${PN} (with + PN expanded of course) is + appended to the flag, thus automatically making each + LICENSE_FLAGS value recipe-specific. + That string is + then matched against the whitelist. + So if you specify LICENSE_FLAGS = "commercial" in recipe + "foo" for example, the string "commercial_foo" + would normally be what is specified in the whitelist in order for it to + match. +

+

+ You can broaden the match by + putting any "_"-separated beginning subset of a + LICENSE_FLAGS flag in the whitelist, which will also + match. + For example, simply specifying "commercial" in + the whitelist would match any expanded LICENSE_FLAGS + definition starting with "commercial" such as + "commercial_foo" and "commercial_bar", which are the + strings that would be automatically generated for + hypothetical "foo" and "bar" recipes assuming those + recipes had simply specified the following: +

+
+     LICENSE_FLAGS = "commercial"
+                
+

+

+

+ Broadening the match allows for a range of specificity for the items + in the whitelist, from more general to perfectly + specific. + So you have the choice of exhaustively + enumerating each license flag in the whitelist to + allow only those specific recipes into the image, or + of using a more general string to pick up anything + matching just the first component or components of the specified + string. +

+

+ This scheme works even if the flag already + has _${PN} appended - the extra _${PN} is + redundant, but does not affect the outcome. + For example, a license flag of "commercial_1.2_foo" would + turn into "commercial_1.2_foo_foo" and would match + both the general "commercial" and the specific + "commercial_1.2_foo", as expected. + The flag would also match + "commercial_1.2_foo_foo" and "commercial_1.2", which + does not make much sense regarding use in the whitelist. +

+

+ For a versioned string, you could instead specify + "commercial_foo_1.2", which would turn into + "commercial_foo_1.2_foo". + And, as expected, this flag allows + you to pick up this package along with + anything else "commercial" when you specify "commercial" + in the whitelist. + Or, the flag allows you to pick up this package along with anything "commercial_foo" + regardless of version when you use "commercial_foo" in the whitelist. + Finally, you can be completely specific about the package and version and specify + "commercial_foo_1.2" package and version. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/licenses.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/licenses.html new file mode 100644 index 0000000000..3af03e999f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/licenses.html @@ -0,0 +1,28 @@ + + + +3.4. Licenses + + + + + + + +
+

+3.4. Licenses

+

+ This section describes the mechanism by which the OpenEmbedded build system + tracks changes to licensing text. + The section also describes how to enable commercially licensed recipes, + which by default are disabled. +

+

+ For information that can help you maintain compliance with various open + source licensing during the lifecycle of the product, see the + "Maintaining Open Source License Compliance During Your Project's Lifecycle" section + in the Yocto Project Development Manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-bash.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-bash.html new file mode 100644 index 0000000000..3cea310b1f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-bash.html @@ -0,0 +1,47 @@ + + + +2.3.7.2. Logging With Bash + + + + + + + +
+

+2.3.7.2. Logging With Bash

+

+ When creating recipes using Bash and inserting code that handles build + logs you have the same goals - informative with minimal console output. + The syntax you use for recipes written in Bash is similar to that of + recipes written in Python described in the previous section. +

+

+ Following is an example written in Bash. + The code logs the progress of the do_my_function function. +

+
+     do_my_function() {
+         bbdebug 2 "Running do_my_function"
+         if [ exceptional_condition ]; then
+             bbnote "Hit exceptional_condition"
+         fi
+         bbdebug 2  "Got to point xyz"
+         if [ warning_trigger ]; then
+             bbwarn "Detected warning_trigger, this might cause a problem later."
+         fi
+         if [ recoverable_error ]; then
+             bberror "Hit recoverable_error, correcting"
+         fi
+         if [ fatal_error ]; then
+             bbfatal "fatal_error detected"
+         fi
+         bbdebug 2 "Completed do_my_function"
+     }
+                
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-python.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-python.html new file mode 100644 index 0000000000..e57b647148 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/logging-with-python.html @@ -0,0 +1,45 @@ + + + +2.3.7.1. Logging With Python + + + + + + + +
+

+2.3.7.1. Logging With Python

+

+ When creating recipes using Python and inserting code that handles build logs + keep in mind the goal is to have informative logs while keeping the console as + "silent" as possible. + Also, if you want status messages in the log use the "debug" loglevel. +

+

+ Following is an example written in Python. + The code handles logging for a function that determines the number of tasks + needed to be run: +

+
+     python do_listtasks() {
+         bb.debug(2, "Starting to figure out the task list")
+         if noteworthy_condition:
+             bb.note("There are 47 tasks to run")
+         bb.debug(2, "Got to point xyz")
+         if warning_trigger:
+             bb.warn("Detected warning_trigger, this might be a problem later.")
+         if recoverable_error:
+             bb.error("Hit recoverable_error, you really need to fix this!")
+         if fatal_error:
+             bb.fatal("fatal_error detected, unable to print the task list")
+         bb.plain("The tasks present are abc")
+         bb.debug(2, "Finished figuring out the tasklist")
+     }
+                
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/maintaining-build-output-quality.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/maintaining-build-output-quality.html new file mode 100644 index 0000000000..f0896e6c89 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/maintaining-build-output-quality.html @@ -0,0 +1,53 @@ + + + +2.4. Maintaining Build Output Quality + + + + + + + +
+

+2.4. Maintaining Build Output Quality

+

+ A build's quality can be influenced by many things. + For example, if you upgrade a recipe to use a new version of an upstream software + package or you experiment with some new configuration options, subtle changes + can occur that you might not detect until later. + Consider the case where your recipe is using a newer version of an upstream package. + In this case, a new version of a piece of software might introduce an optional + dependency on another library, which is auto-detected. + If that library has already been built when the software is building, + then the software will link to the built library and that library will be pulled + into your image along with the new software even if you did not want the + library. +

+

+ The buildhistory class exists to help you maintain + the quality of your build output. + You can use the class to highlight unexpected and possibly unwanted + changes in the build output. + When you enable build history it records information about the contents of + each package and image and then commits that information to a local Git + repository where you can examine the information. +

+

+ The remainder of this section describes the following: +

+
    +
  • How you can enable and disable + build history

  • +
  • How to understand what the build history contains +

  • +
  • How to limit the information used for build history +

  • +
  • How to examine the build history from both a + command-line and web interface

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-bblayers-conf.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-bblayers-conf.html new file mode 100644 index 0000000000..50cd0caa4b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-bblayers-conf.html @@ -0,0 +1,27 @@ + + + +4.1.1.2. bblayers.conf + + + + + + + +
+

+4.1.1.2. bblayers.conf

+

+ The meta-yocto layer has been split into + two parts: meta-yocto and + meta-yocto-bsp, corresponding to the + Poky reference distro configuration and the reference + hardware Board Support Packages (BSPs), respectively. + When running BitBake or Hob for the first time after upgrading, + your conf/bblayers.conf file will be + updated to handle this change and you will be asked to + re-run/restart for the changes to take effect. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-image-features.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-image-features.html new file mode 100644 index 0000000000..48ef697506 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-image-features.html @@ -0,0 +1,26 @@ + + + +4.1.2.5. IMAGE_FEATURES + + + + + + + +
+

+4.1.2.5. IMAGE_FEATURES

+

+ Image recipes that previously included "apps-console-core" + in IMAGE_FEATURES + should now include "splash" instead to enable the boot-up + splash screen. + Retaining "apps-console-core" will still include the splash + screen generates a warning. + The "apps-x11-core" and "apps-x11-games" + IMAGE_FEATURES features have been removed. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-nativesdk.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-nativesdk.html new file mode 100644 index 0000000000..b20f6101e4 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-nativesdk.html @@ -0,0 +1,25 @@ + + + +4.1.2.3. nativesdk + + + + + + + +
+

+4.1.2.3. nativesdk

+

+ The suffix nativesdk is now implemented + as a prefix, which simplifies a lot of the packaging code for + nativesdk recipes. + All custom nativesdk recipes and any + references need to be updated to use + nativesdk-* instead of + *-nativesdk. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-proto=-in-src-uri.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-proto=-in-src-uri.html new file mode 100644 index 0000000000..85702b8479 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-proto=-in-src-uri.html @@ -0,0 +1,32 @@ + + + +4.1.2.2. proto= in SRC_URI + + + + + + + +
+

+4.1.2.2. proto= in SRC_URI

+

+ Any use of proto= in + SRC_URI + needs to be changed to protocol=. + In particular, this applies to the following URIs: +

+
    +
  • svn://

  • +
  • bzr://

  • +
  • hg://

  • +
  • osc://

  • +
+

+ Other URIs were already using protocol=. + This change improves consistency. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-python-function-whitespace.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-python-function-whitespace.html new file mode 100644 index 0000000000..7b7405984c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-python-function-whitespace.html @@ -0,0 +1,29 @@ + + + +4.1.2.1. Python Function Whitespace + + + + + + + +
+

+4.1.2.1. Python Function Whitespace

+

+ All Python functions must now use four spaces for indentation. + Previously, an inconsistent mix of spaces and tabs existed, + which made extending these functions using + _append or _prepend + complicated given that Python treats whitespace as + syntactically significant. + If you are defining or extending any Python functions (e.g. + populate_packages, do_unpack, + do_patch and so forth) in custom recipes + or classes, you need to ensure you are using consistent + four-space indentation. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-removed-recipes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-removed-recipes.html new file mode 100644 index 0000000000..ff8a213ccf --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-removed-recipes.html @@ -0,0 +1,64 @@ + + + +4.1.2.6. Removed Recipes + + + + + + + +
+

+4.1.2.6. Removed Recipes

+

+ The following recipes have been removed. + For most of them, it is unlikely that you would have any + references to them in your own metadata. + However, you should check your metadata against this list to be sure: +

+
    +
  • libx11-trim: + Replaced by libx11, which has a negligible + size difference with modern Xorg.

  • +
  • xserver-xorg-lite: + Use xserver-xorg, which has a negligible + size difference when DRI and GLX modules are not installed.

  • +
  • xserver-kdrive: + Effectively unmaintained for many years.

  • +
  • mesa-xlib: + No longer serves any purpose.

  • +
  • galago: + Replaced by telepathy.

  • +
  • gail: + Functionality was integrated into GTK+ 2.13.

  • +
  • eggdbus: + No longer needed.

  • +
  • gcc-*-intermediate: + The build has been restructured to avoid the need for + this step.

  • +
  • libgsmd: + Unmaintained for many years. + Functionality now provided by + ofono instead.

  • +
  • contacts, dates, tasks, eds-tools: + Largely unmaintained PIM application suite. + It has been moved to meta-gnome + in meta-openembedded.

  • +
+

+ In addition to the previously listed changes, the + meta-demoapps directory has also been removed + because the recipes in it were not being maintained and many + had become obsolete or broken. + Additionally, these recipes were not parsed in the default configuration. + Many of these recipes are already provided in an updated and + maintained form within OpenEmbedded community layers such as + meta-oe and meta-gnome. + For the remainder, you can now find them in the + meta-extras repository, which is in the + Yocto Project source repositories. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-sstate-mirrors.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-sstate-mirrors.html new file mode 100644 index 0000000000..b2f790649b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-sstate-mirrors.html @@ -0,0 +1,36 @@ + + + +4.1.1.1. SSTATE_MIRRORS + + + + + + + +
+

+4.1.1.1. SSTATE_MIRRORS

+

+ The shared state cache (sstate-cache) as pointed to by + SSTATE_DIR by default + now has two-character subdirectories to prevent there being an issue with too + many files in the same directory. + Also, native sstate-cache packages will go into a subdirectory named using + the distro ID string. + If you copy the newly structured sstate-cache to a mirror location + (either local or remote) and then point to it in + SSTATE_MIRRORS, + you need to append "PATH" to the end of the mirror URL so that + the path used by BitBake before the mirror substitution is + appended to the path used to access the mirror. + Here is an example: +

+
+     SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
+                
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-task-recipes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-task-recipes.html new file mode 100644 index 0000000000..1d93d893b1 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration-1.3-task-recipes.html @@ -0,0 +1,39 @@ + + + +4.1.2.4. Task Recipes + + + + + + + +
+

+4.1.2.4. Task Recipes

+

+ "Task" recipes are now known as "Package groups" and have + been renamed from task-*.bb to + packagegroup-*.bb. + Existing references to the previous task-* + names should work in most cases as there is an automatic + upgrade path for most packages. + However, you should update references in your own recipes and + configurations as they could be removed in future releases. + You should also rename any custom task-* + recipes to packagegroup-*, and change + them to inherit packagegroup instead of + task, as well as taking the opportunity + to remove anything now handled by + packagegroup.bbclass, such as providing + -dev and -dbg + packages, setting + LIC_FILES_CHKSUM, + and so forth. + See the + "Package Groups - packagegroup.bbclass" + section for further details. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/migration.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration.html new file mode 100644 index 0000000000..f7bb138de9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/migration.html @@ -0,0 +1,31 @@ + + + +Chapter 4. Migrating to a Newer Yocto Project Release + + + + + + + +
+

+Chapter 4. Migrating to a Newer Yocto Project Release

+ +

+ This chapter provides information you can use to migrate work to a + newer Yocto Project release. You can find the same information in the + release notes for a given release. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/moving-to-the-yocto-project-1.3-release.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/moving-to-the-yocto-project-1.3-release.html new file mode 100644 index 0000000000..8afa731200 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/moving-to-the-yocto-project-1.3-release.html @@ -0,0 +1,20 @@ + + + +4.1. Moving to the Yocto Project 1.3 Release + + + + + + + +
+

+4.1. Moving to the Yocto Project 1.3 Release

+

+ This section provides migration information for moving to the + Yocto Project 1.3 Release. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/opensuse-packages.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/opensuse-packages.html new file mode 100644 index 0000000000..16a1860596 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/opensuse-packages.html @@ -0,0 +1,60 @@ + + + +1.3.2.3. OpenSUSE Packages + + + + + + + +
+

+1.3.2.3. OpenSUSE Packages

+

+ The following list shows the required packages by function + given a supported OpenSUSE Linux distribution: +

+
    +
  • +

    Essentials: + Packages needed to build an image for a headless + system: +

    +
    +     $ sudo zypper install python gcc gcc-c++ git chrpath make wget python-xml \
    +     diffstat texinfo python-curses
    +                        
    +
  • +
  • +

    Graphical Extras: + Packages recommended if the host system has graphics support: +

    +
    +     $ sudo zypper install libSDL-devel xterm
    +                        
    +
  • +
  • +

    Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +
    +     $ sudo zypper install make fop xsltproc
    +                        
    +
  • +
  • +

    ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +
    +     $ sudo zypper install autoconf automake libtool glib2-devel
    +                        
    +
  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/other-variables-related-to-commercial-licenses.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/other-variables-related-to-commercial-licenses.html new file mode 100644 index 0000000000..31b096ec73 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/other-variables-related-to-commercial-licenses.html @@ -0,0 +1,60 @@ + + + +3.4.2.2. Other Variables Related to Commercial Licenses + + + + + + + +
+

+3.4.2.2. Other Variables Related to Commercial Licenses

+

+ Other helpful variables related to commercial + license handling exist and are defined in the + $HOME/poky/meta/conf/distro/include/default-distrovars.inc file: +

+
+     COMMERCIAL_AUDIO_PLUGINS ?= ""
+     COMMERCIAL_VIDEO_PLUGINS ?= ""
+     COMMERCIAL_QT = ""
+                
+

+ If you want to enable these components, you can do so by making sure you have + the following statements in your local.conf configuration file: +

+
+     COMMERCIAL_AUDIO_PLUGINS = "gst-plugins-ugly-mad \
+        gst-plugins-ugly-mpegaudioparse"
+     COMMERCIAL_VIDEO_PLUGINS = "gst-plugins-ugly-mpeg2dec \
+        gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
+     COMMERCIAL_QT ?= "qmmp"
+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
+                
+

+ Of course, you could also create a matching whitelist + for those components using the more general "commercial" + in the whitelist, but that would also enable all the + other packages with LICENSE_FLAGS containing + "commercial", which you may or may not want: +

+
+     LICENSE_FLAGS_WHITELIST = "commercial"
+                
+

+

+

+ Specifying audio and video plug-ins as part of the + COMMERCIAL_AUDIO_PLUGINS and + COMMERCIAL_VIDEO_PLUGINS statements + or commercial qt components as part of + the COMMERCIAL_QT statement (along + with the enabling LICENSE_FLAGS_WHITELIST) includes the + plug-ins or components into built images, thus adding + support for media formats or components. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/overall-architecture.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/overall-architecture.html new file mode 100644 index 0000000000..89a6979603 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/overall-architecture.html @@ -0,0 +1,31 @@ + + + +3.2.1. Overall Architecture + + + + + + + +
+

+3.2.1. Overall Architecture

+

+ When determining what parts of the system need to be built, BitBake + uses a per-task basis and does not use a per-recipe basis. + You might wonder why using a per-task basis is preferred over a per-recipe basis. + To help explain, consider having the IPK packaging backend enabled and then switching to DEB. + In this case, do_install and do_package + output are still valid. + However, with a per-recipe approach, the build would not include the + .deb files. + Consequently, you would have to invalidate the whole build and rerun it. + Rerunning everything is not the best situation. + Also in this case, the core must be "taught" much about specific tasks. + This methodology does not scale well and does not allow users to easily add new tasks + in layers or as external recipes without touching the packaged-staging core. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/recipe-logging-mechanisms.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/recipe-logging-mechanisms.html new file mode 100644 index 0000000000..add1017473 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/recipe-logging-mechanisms.html @@ -0,0 +1,41 @@ + + + +2.3.7. Recipe Logging Mechanisms + + + + + + + +
+

+2.3.7. Recipe Logging Mechanisms

+

+ Best practices exist while writing recipes that both log build progress and + act on build conditions such as warnings and errors. + Both Python and Bash language bindings exist for the logging mechanism: +

+
    +
  • Python: For Python functions, BitBake + supports several loglevels: bb.fatal, + bb.error, bb.warn, + bb.note, bb.plain, + and bb.debug.

  • +
  • Bash: For Bash functions, the same set + of loglevels exist and are accessed with a similar syntax: + bbfatal, bberror, + bbwarn, bbnote, + bbplain, and bbdebug.

  • +
+

+

+

+ For guidance on how logging is handled in both Python and Bash recipes, see the + logging.bbclass file in the + meta/classes folder of the + Source Directory. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-commandline.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-commandline.html new file mode 100644 index 0000000000..34c8394c3f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-commandline.html @@ -0,0 +1,79 @@ + + + +6.6. BitBake Command Line + + + + + + + +
+

+6.6. BitBake Command Line

+

+ Following is the BitBake help output: +

+
+$ bitbake --help
+Usage: bitbake [options] [package ...]
+
+Executes the specified task (default is 'build') for a given set of BitBake files.
+It expects that BBFILES is defined, which is a space separated list of files to
+be executed.  BBFILES does support wildcards.
+Default BBFILES are the .bb files in the current directory.
+
+Options:
+  --version             show program's version number and exit
+  -h, --help            show this help message and exit
+  -b BUILDFILE, --buildfile=BUILDFILE
+                        execute the task against this .bb file, rather than a
+                        package from BBFILES. Does not handle any
+                        dependencies.
+  -k, --continue        continue as much as possible after an error. While the
+                        target that failed, and those that depend on it,
+                        cannot be remade, the other dependencies of these
+                        targets can be processed all the same.
+  -a, --tryaltconfigs   continue with builds by trying to use alternative
+                        providers where possible.
+  -f, --force           force run of specified cmd, regardless of stamp status
+  -c CMD, --cmd=CMD     Specify task to execute. Note that this only executes
+                        the specified task for the providee and the packages
+                        it depends on, i.e. 'compile' does not implicitly call
+                        stage for the dependencies (IOW: use only if you know
+                        what you are doing). Depending on the base.bbclass a
+                        listtasks tasks is defined and will show available
+                        tasks
+  -r PREFILE, --read=PREFILE
+                        read the specified file before bitbake.conf
+  -R POSTFILE, --postread=POSTFILE
+                        read the specified file after bitbake.conf
+  -v, --verbose         output more chit-chat to the terminal
+  -D, --debug           Increase the debug level. You can specify this more
+                        than once.
+  -n, --dry-run         don't execute, just go through the motions
+  -S, --dump-signatures
+                        don't execute, just dump out the signature
+                        construction information
+  -p, --parse-only      quit after parsing the BB files (developers only)
+  -s, --show-versions   show current and preferred versions of all packages
+  -e, --environment     show the global or per-package environment (this is
+                        what used to be bbread)
+  -g, --graphviz        emit the dependency trees of the specified packages in
+                        the dot syntax
+  -I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
+                        Assume these dependencies don't exist and are already
+                        provided (equivalent to ASSUME_PROVIDED). Useful to
+                        make dependency graphs more appealing
+  -l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
+                        Show debug logging for the specified logging domains
+  -P, --profile         profile the command and print a report
+  -u UI, --ui=UI        userinterface to use
+  -t SERVERTYPE, --servertype=SERVERTYPE
+                        Choose which server to use, none, process or xmlrpc
+  --revisions-changed   Set the exit code depending on whether upstream
+                        floating revisions have changed or not
+        
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-dependencies.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-dependencies.html new file mode 100644 index 0000000000..e7106ca6d2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-dependencies.html @@ -0,0 +1,34 @@ + + + +6.3. Dependencies + + + + + + + +
+

+6.3. Dependencies

+

+ Each target BitBake builds consists of multiple tasks such as + fetch, unpack, + patch, configure, + and compile. + For best performance on multi-core systems, BitBake considers each task as an independent + entity with its own set of dependencies. +

+

+ Dependencies are defined through several variables. + You can find information about variables BitBake uses in the BitBake documentation, + which is found in the bitbake/doc/manual directory within the + Source Directory. + At a basic level, it is sufficient to know that BitBake uses the + DEPENDS and + RDEPENDS variables when + calculating dependencies. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-fetchers.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-fetchers.html new file mode 100644 index 0000000000..e1bda8b995 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-fetchers.html @@ -0,0 +1,43 @@ + + + +6.7. Fetchers + + + + + + + +
+

+6.7. Fetchers

+

+ BitBake also contains a set of "fetcher" modules that allow + retrieval of source code from various types of sources. + For example, BitBake can get source code from a disk with the metadata, from websites, + from remote shell accounts or from Source Code Management (SCM) systems + like cvs/subversion/git. +

+

+ Fetchers are usually triggered by entries in + SRC_URI. + You can find information about the options and formats of entries for specific + fetchers in the BitBake manual located in the + bitbake/doc/manual directory of the + Source Directory. +

+

+ One useful feature for certain Source Code Manager (SCM) fetchers is the ability to + "auto-update" when the upstream SCM changes version. + Since this ability requires certain functionality from the SCM, not all + systems support it. + Currently Subversion, Bazaar and to a limited extent, Git support the ability to "auto-update". + This feature works using the SRCREV + variable. + See the + "Using an External SCM" section + in the Yocto Project Development Manual for more information. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-parsing.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-parsing.html new file mode 100644 index 0000000000..c86621eb38 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-parsing.html @@ -0,0 +1,93 @@ + + + +6.1. Parsing + + + + + + + +
+

+6.1. Parsing

+

+ BitBake parses configuration files, classes, and .bb files. +

+

+ The first thing BitBake does is look for the bitbake.conf file. + This file resides in the + Source Directory + within the meta/conf/ directory. + BitBake finds it by examining its + BBPATH environment + variable and looking for the meta/conf/ + directory. +

+

+ The bitbake.conf file lists other configuration + files to include from a conf/ + directory below the directories listed in BBPATH. + In general, the most important configuration file from a user's perspective + is local.conf, which contains a user's customized + settings for the OpenEmbedded build environment. + Other notable configuration files are the distribution + configuration file (set by the + DISTRO variable) + and the machine configuration file + (set by the + MACHINE variable). + The DISTRO and MACHINE BitBake environment + variables are both usually set in + the local.conf file. + Valid distribution + configuration files are available in the meta/conf/distro/ directory + and valid machine configuration + files in the meta/conf/machine/ directory. + Within the meta/conf/machine/include/ + directory are various tune-*.inc configuration files that provide common + "tuning" settings specific to and shared between particular architectures and machines. +

+

+ After the parsing of the configuration files, some standard classes are included. + The base.bbclass file is always included. + Other classes that are specified in the configuration using the + INHERIT + variable are also included. + Class files are searched for in a classes subdirectory + under the paths in BBPATH in the same way as + configuration files. +

+

+ After classes are included, the variable + BBFILES + is set, usually in + local.conf, and defines the list of places to search for + .bb files. + By default, the BBFILES variable specifies the + meta/recipes-*/ directory within Poky. + Adding extra content to BBFILES is best achieved through the use of + BitBake layers as described in the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. +

+

+ BitBake parses each .bb file in BBFILES and + stores the values of various variables. + In summary, for each .bb + file the configuration plus the base class of variables are set, followed + by the data in the .bb file + itself, followed by any inherit commands that + .bb file might contain. +

+

+ Because parsing .bb files is a time + consuming process, a cache is kept to speed up subsequent parsing. + This cache is invalid if the timestamp of the .bb + file itself changes, or if the timestamps of any of the include, + configuration or class files the .bb + file depends on changes. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-providers.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-providers.html new file mode 100644 index 0000000000..37d34a0e70 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-providers.html @@ -0,0 +1,63 @@ + + + +6.2. Preferences and Providers + + + + + + + +
+

+6.2. Preferences and Providers

+

+ Once all the .bb files have been + parsed, BitBake starts to build the target (core-image-sato + in the previous section's example) and looks for providers of that target. + Once a provider is selected, BitBake resolves all the dependencies for + the target. + In the case of core-image-sato, it would lead to + packagegroup-core-x11-sato, + which in turn leads to recipes like matchbox-terminal, + pcmanfm and gthumb. + These recipes in turn depend on eglibc and the toolchain. +

+

+ Sometimes a target might have multiple providers. + A common example is "virtual/kernel", which is provided by each kernel package. + Each machine often selects the best kernel provider by using a line similar to the + following in the machine configuration file: +

+
+     PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+        
+

+ The default PREFERRED_PROVIDER + is the provider with the same name as the target. +

+

+ Understanding how providers are chosen is made complicated by the fact + that multiple versions might exist. + BitBake defaults to the highest version of a provider. + Version comparisons are made using the same method as Debian. + You can use the + PREFERRED_VERSION + variable to specify a particular version (usually in the distro configuration). + You can influence the order by using the + DEFAULT_PREFERENCE + variable. + By default, files have a preference of "0". + Setting the DEFAULT_PREFERENCE to "-1" makes the + package unlikely to be used unless it is explicitly referenced. + Setting the DEFAULT_PREFERENCE to "1" makes it likely the package is used. + PREFERRED_VERSION overrides any DEFAULT_PREFERENCE setting. + DEFAULT_PREFERENCE is often used to mark newer and more experimental package + versions until they have undergone sufficient testing to be considered stable. +

+

+ In summary, BitBake has created a list of providers, which is prioritized, for each target. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-runtask.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-runtask.html new file mode 100644 index 0000000000..f653e30561 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-runtask.html @@ -0,0 +1,86 @@ + + + +6.5. Running a Task + + + + + + + +
+

+6.5. Running a Task

+

+ Tasks can either be a shell task or a Python task. + For shell tasks, BitBake writes a shell script to + ${WORKDIR}/temp/run.do_taskname.pid and then executes the script. + The generated shell script contains all the exported variables, and the shell functions + with all variables expanded. + Output from the shell script goes to the file ${WORKDIR}/temp/log.do_taskname.pid. + Looking at the expanded shell functions in the run file and the output in the log files + is a useful debugging technique. +

+

+ For Python tasks, BitBake executes the task internally and logs information to the + controlling terminal. + Future versions of BitBake will write the functions to files similar to the way + shell tasks are handled. + Logging will be handled in way similar to shell tasks as well. +

+

+ Once all the tasks have been completed BitBake exits. +

+

+ When running a task, BitBake tightly controls the execution environment + of the build tasks to make sure unwanted contamination from the build machine + cannot influence the build. + Consequently, if you do want something to get passed into the build + task's environment, you must take a few steps: +

+
    +
  1. +

    Tell BitBake to load what you want from the environment + into the data store. + You can do so through the BB_ENV_EXTRAWHITE + variable. + For example, assume you want to prevent the build system from + accessing your $HOME/.ccache directory. + The following command tells BitBake to load + CCACHE_DIR from the environment into the data + store: +

    +
    +     export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR" 
    +                    
    +
  2. +
  3. +

    Tell BitBake to export what you have loaded into the + environment store to the task environment of every running task. + Loading something from the environment into the data store + (previous step) only makes it available in the datastore. + To export it to the task environment of every running task, + use a command similar to the following in your + local.conf or distro configuration file: +

    +
    +     export CCACHE_DIR
    +                    
    +
  4. +
+

+

+
+

Note

+ A side effect of the previous steps is that BitBake records the variable + as a dependency of the build process in things like the shared state + checksums. + If doing so results in unnecessary rebuilds of tasks, you can whitelist the + variable so that the shared state code ignores the dependency when it creates + checksums. + For information on this process, see the BB_HASHBASE_WHITELIST + example in the "Checksums (Signatures)" section. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-tasklist.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-tasklist.html new file mode 100644 index 0000000000..fedbcca285 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake-tasklist.html @@ -0,0 +1,54 @@ + + + +6.4. The Task List + + + + + + + +
+

+6.4. The Task List

+

+ Based on the generated list of providers and the dependency information, + BitBake can now calculate exactly what tasks it needs to run and in what + order it needs to run them. + The build now starts with BitBake forking off threads up to the limit set in the + BB_NUMBER_THREADS variable. + BitBake continues to fork threads as long as there are tasks ready to run, + those tasks have all their dependencies met, and the thread threshold has not been + exceeded. +

+

+ It is worth noting that you can greatly speed up the build time by properly setting + the BB_NUMBER_THREADS variable. + See the + "Building an Image" + section in the Yocto Project Quick Start for more information. +

+

+ As each task completes, a timestamp is written to the directory specified by the + STAMP variable (usually + build/tmp/stamps/*/). + On subsequent runs, BitBake looks at the /build/tmp/stamps + directory and does not rerun + tasks that are already completed unless a timestamp is found to be invalid. + Currently, invalid timestamps are only considered on a per + .bb file basis. + So, for example, if the configure stamp has a timestamp greater than the + compile timestamp for a given target, then the compile task would rerun. + Running the compile task again, however, has no effect on other providers + that depend on that target. + This behavior could change or become configurable in future versions of BitBake. +

+
+

Note

+ Some tasks are marked as "nostamp" tasks. + No timestamp file is created when these tasks are run. + Consequently, "nostamp" tasks are always rerun. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake.html new file mode 100644 index 0000000000..c724158b6e --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-bitbake.html @@ -0,0 +1,48 @@ + + + +Chapter 6. BitBake + + + + + + + +
+

+Chapter 6. BitBake

+ +

+ BitBake is a program written in Python that interprets the metadata used by the OpenEmbedded + build system. + At some point, developers wonder what actually happens when you enter: +

+
+     $ bitbake core-image-sato
+        
+

+

+

+ This chapter provides an overview of what happens behind the scenes from BitBake's perspective. +

+
+

Note

+ BitBake strives to be a generic "task" executor that is capable of handling complex dependency relationships. + As such, it has no real knowledge of what the tasks being executed actually do. + BitBake just considers a list of tasks with dependencies and handles metadata + that consists of variables in a certain format that get passed to the tasks. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-autotools.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-autotools.html new file mode 100644 index 0000000000..36ae47a158 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-autotools.html @@ -0,0 +1,52 @@ + + + +7.2. Autotooled Packages - autotools.bbclass + + + + + + + +
+

+7.2. Autotooled Packages - autotools.bbclass +

+

+ Autotools (autoconf, automake, + and libtool) bring standardization. + This class defines a set of tasks (configure, compile etc.) that + work for all Autotooled packages. + It should usually be enough to define a few standard variables + and then simply inherit autotools. + This class can also work with software that emulates Autotools. + For more information, see the + "Autotooled Package" + section in the Yocto Project Development Manual. +

+

+ It's useful to have some idea of how the tasks defined by this class work + and what they do behind the scenes. +

+
    +
  • do_configure ‐ regenerates the + configure script (using autoreconf) and then launches it + with a standard set of arguments used during cross-compilation. + You can pass additional parameters to configure through the + EXTRA_OECONF variable. +

  • +
  • do_compile ‐ runs make with + arguments that specify the compiler and linker. + You can pass additional arguments through + the EXTRA_OEMAKE variable. +

  • +
  • do_install ‐ runs make install + and passes a DESTDIR option, which takes its value from the standard + DESTDIR variable. +

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-base.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-base.html new file mode 100644 index 0000000000..a10285bf40 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-base.html @@ -0,0 +1,28 @@ + + + +7.1. The base class - base.bbclass + + + + + + + +
+

+7.1. The base class - base.bbclass +

+

+ The base class is special in that every .bb + file inherits it automatically. + This class contains definitions for standard basic + tasks such as fetching, unpacking, configuring (empty by default), compiling + (runs any Makefile present), installing (empty by default) and packaging + (empty by default). + These classes are often overridden or extended by other classes + such as autotools.bbclass or package.bbclass. + The class also contains some commonly used functions such as oe_runmake. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-binconfig.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-binconfig.html new file mode 100644 index 0000000000..bbf035e950 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-binconfig.html @@ -0,0 +1,30 @@ + + + +7.5. Binary config scripts - binconfig.bbclass + + + + + + + +
+

+7.5. Binary config scripts - binconfig.bbclass +

+

+ Before pkg-config had become widespread, libraries shipped shell + scripts to give information about the libraries and include paths needed + to build software (usually named LIBNAME-config). + This class assists any recipe using such scripts. +

+

+ During staging, BitBake installs such scripts into the + sysroots/ directory. + BitBake also changes all paths to point into the sysroots/ + directory so all builds that use the script will use the correct + directories for the cross compiling layout. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-debian.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-debian.html new file mode 100644 index 0000000000..9d37cbb716 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-debian.html @@ -0,0 +1,22 @@ + + + +7.6. Debian renaming - debian.bbclass + + + + + + + +
+

+7.6. Debian renaming - debian.bbclass +

+

+ This class renames packages so that they follow the Debian naming + policy (i.e. eglibc becomes libc6 + and eglibc-devel becomes libc6-dev. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-devshell.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-devshell.html new file mode 100644 index 0000000000..cbbcc4c4c6 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-devshell.html @@ -0,0 +1,24 @@ + + + +7.11. Developer Shell - devshell.bbclass + + + + + + + +
+

+7.11. Developer Shell - devshell.bbclass +

+

+ This class adds the devshell task. + Distribution policy dictates whether to include this class. + See the + "Using a Development Shell" section + in the Yocto Project Development Manual for more information about using devshell. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-distutils.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-distutils.html new file mode 100644 index 0000000000..d176cb8dc1 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-distutils.html @@ -0,0 +1,31 @@ + + + +7.10. Python extensions - distutils.bbclass + + + + + + + +
+

+7.10. Python extensions - distutils.bbclass +

+

+ Recipes for Python extensions are simple. + These recipes usually only need to point to the source's archive and then inherit + the proper .bbclass file. + Building is split into two methods dependling on which method the module authors used. +

+

+ Extensions that use an Autotools-based build system require Autotools and + distutils-based .bbclasse files in their recipes. +

+

+ Extensions that use distutils-based build systems require + distutils.bbclass in their recipes. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html new file mode 100644 index 0000000000..ead3708607 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-externalsrc.html @@ -0,0 +1,72 @@ + + + +7.20. Using External Source - externalsrc.bbclass + + + + + + + +
+

+7.20. Using External Source - externalsrc.bbclass +

+

+ You can use this class to build software from source code that is external to the + OpenEmbedded build system. + In other words, your source code resides in an external tree outside of the Yocto Project. + Building software from an external source tree means that the normal fetch, unpack, and + patch process is not used. +

+

+ To use the class, you need to define the + S variable to point to the directory that contains the source files. + You also need to have your recipe inherit the externalsrc.bbclass class. +

+

+ This class expects the source code to support recipe builds that use the + B variable to point to the directory in + which the OpenEmbedded build system places the generated objects built from the recipes. + By default, the B directory is set to the following, which is separate from the + Source Directory (S): +

+
+     ${WORKDIR}/${BPN}-{PV}/
+        
+

+ See the glossary entries for the + WORKDIR, + BPN, + PV, + S, and + B for more information. +

+

+ You can build object files in the external tree by setting the + B variable equal to "${S}". + However, this practice does not work well if you use the source for more than one variant + (i.e., "natives" such as quilt-native, + or "crosses" such as gcc-cross). + So, be sure there are no "native", "cross", or "multilib" variants of the recipe. +

+

+ If you do want to build different variants of a recipe, you can use the + BBCLASSEXTEND variable. + When you do, the B variable must support the + recipe's ability to build variants in different working directories. + Most autotools-based recipes support separating these directories. + The OpenEmbedded build system defaults to using separate directories for gcc + and some kernel recipes. + Alternatively, you can make sure that separate recipes exist that each + use the BBCLASSEXTEND variable to build each variant. + The separate recipes can inherit a single target recipe. +

+

+ For information on how to use this class, see the + "Building + Software from an External Source" section in the Yocto Project Development Manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-image.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-image.html new file mode 100644 index 0000000000..a8453e97b9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-image.html @@ -0,0 +1,31 @@ + + + +7.15. Creating images - image.bbclass and rootfs*.bbclass + + + + + + + +
+

+7.15. Creating images - image.bbclass and rootfs*.bbclass +

+

+ These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. +

+

+ The IMAGE_FSTYPES + variable controls the types of images to generate. +

+

+ The IMAGE_INSTALL + variable controls the list of packages to install into the image. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-insane.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-insane.html new file mode 100644 index 0000000000..1cdf589cff --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-insane.html @@ -0,0 +1,105 @@ + + + +7.17. Generated output quality assurance checks - insane.bbclass + + + + + + + +
+

+7.17. Generated output quality assurance checks - insane.bbclass +

+

+ This class adds a step to the package generation process that sanity checks the + packages generated by the OpenEmbedded build system. + A range of checks are performed that check the build's output + for common problems that show up during runtime. + Distribution policy usually dictates whether to include this class. +

+

+ You can configure the sanity checks so that specific test failures either raise a warning or + an error message. + Typically, failures for new tests generate a warning. + Subsequent failures for the same test would then generate an error message + once the metadata is in a known and good condition. + You use the WARN_QA variable to specify tests for which you + want to generate a warning message on failure. + You use the ERROR_QA variable to specify tests for which you + want to generate an error message on failure. +

+

+ The following list shows the tests you can list with the WARN_QA + and ERROR_QA variables: +

+
    +
  • ldflags: + Ensures that the binaries were linked with the + LDFLAGS options provided by the build system. + If this test fails, check that the LDFLAGS variable + is being passed to the linker command.

  • +
  • useless-rpaths: + Checks for dynamic library load paths (rpaths) in the binaries that + by default on a standard system are searched by the linker (e.g. + /lib and /usr/lib). + While these paths will not cause any breakage, they do waste space and + are unnecessary.

  • +
  • rpaths: + Checks for rpaths in the binaries that contain build system paths such + as TMPDIR. + If this test fails, bad -rpath options are being + passed to the linker commands and your binaries have potential security + issues.

  • +
  • dev-so: + Checks that the .so symbolic links are in the + -dev package and not in any of the other packages. + In general, these symlinks are only useful for development purposes. + Thus, the -dev 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. +

  • +
  • debug-files: + Checks for .debug directories in anything but the + -dbg package. + The debug files should all be in the -dbg package. + Thus, anything packaged elsewhere is incorrect packaging.

  • +
  • arch: + Checks the Executable and Linkable Format (ELF) type, bit size and endianness + of any binaries to ensure it matches the target architecture. + This test fails if any binaries don't match the type since there would be an + incompatibility. + Sometimes software, like bootloaders, might need to bypass this check. +

  • +
  • debug-deps: + Checks that -dbg packages only depend on other + -dbg packages and not on any other types of packages, + which would cause a packaging bug.

  • +
  • dev-deps: + Checks that -dev packages only depend on other + -dev packages and not on any other types of packages, + which would be a packaging bug.

  • +
  • pkgconfig: + Checks .pc files for any + TMPDIR/WORKDIR paths. + Any .pc file containing these paths is incorrect + since pkg-config itself adds the correct sysroot prefix + when the files are accessed.

  • +
  • la: + Checks .la files for any TMPDIR + paths. + Any .la file continaing these paths is incorrect since + libtool adds the correct sysroot prefix when using the + files automatically itself.

  • +
  • desktop: + Runs the desktop-file-validate program against any + .desktop files to validate their contents against + the specification for .desktop files.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-kernel.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-kernel.html new file mode 100644 index 0000000000..72afff8226 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-kernel.html @@ -0,0 +1,36 @@ + + + +7.14. Building kernels - kernel.bbclass + + + + + + + +
+

+7.14. Building kernels - kernel.bbclass +

+

+ This class handles building Linux kernels. + The class contains code to build all kernel trees. + All needed headers are staged into the + STAGING_KERNEL_DIR + directory to allow out-of-tree module builds using module.bbclass. +

+

+ This means that each built kernel module is packaged separately and inter-module + dependencies are created by parsing the modinfo output. + If all modules are required, then installing the kernel-modules + package installs all packages with modules and various other kernel packages + such as kernel-vmlinux. +

+

+ Various other classes are used by the kernel and module classes internally including + kernel-arch.bbclass, module_strip.bbclass, + module-base.bbclass, and linux-kernel-base.bbclass. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-others.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-others.html new file mode 100644 index 0000000000..cafdb13b11 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-others.html @@ -0,0 +1,24 @@ + + + +7.21. Other Classes + + + + + + + +
+

+7.21. Other Classes

+

+ Thus far, this chapter has discussed only the most useful and important + classes. + However, other classes exist within the meta/classes directory + in the Source Directory. + You can examine the .bbclass files directly for more + information. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-package.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-package.html new file mode 100644 index 0000000000..eb43660f9e --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-package.html @@ -0,0 +1,73 @@ + + + +7.13. Packaging - package*.bbclass + + + + + + + +
+

+7.13. Packaging - package*.bbclass +

+

+ The packaging classes add support for generating packages from a build's + output. + The core generic functionality is in package.bbclass. + The code specific to particular package types is contained in various sub-classes such as + package_deb.bbclass, package_ipk.bbclass, + and package_rpm.bbclass. + Most users will want one or more of these classes. +

+

+ You can control the list of resulting package formats by using the + PACKAGE_CLASSES + variable defined in the local.conf configuration file, + which is located in the conf folder of the + Source Directory. + When defining the variable, you can specify one or more package types. + Since images are generated from packages, a packaging class is + needed to enable image generation. + The first class listed in this variable is used for image generation. +

+

+ The package class you choose can affect build-time performance and has space + ramifications. + In general, building a package with RPM takes about thirty percent more time as + compared to using IPK to build the same or similar package. + This comparison takes into account a complete build of the package with all + dependencies previously built. + The reason for this discrepancy is because the RPM package manager creates and + processes more metadata than the IPK package manager. + Consequently, you might consider setting PACKAGE_CLASSES + to "package_ipk" if you are building smaller systems. +

+

+ Keep in mind, however, that RPM starts to provide more abilities than IPK due to + the fact that it processes more metadata. + For example, this information includes individual file types, file checksum generation + and evaluation on install, sparse file support, conflict detection and resolution + for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks. +

+

+ Another consideration for packages built using the RPM package manager is space. + For smaller systems, the extra space used for the Berkley Database and the amount + of metadata can affect your ability to do on-device upgrades. +

+

+ You can find additional information on the effects of the package class at these + two Yocto Project mailing list links: +

+ +

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-packagegroup.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-packagegroup.html new file mode 100644 index 0000000000..96944339aa --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-packagegroup.html @@ -0,0 +1,33 @@ + + + +7.12. Package Groups - packagegroup.bbclass + + + + + + + +
+

+7.12. Package Groups - packagegroup.bbclass +

+

+ This class sets default values appropriate for package group recipes (such as + PACKAGES, + PACKAGE_ARCH, + ALLOW_EMPTY, + and so forth. + It is highly recommended that all package group recipes inherit this class. +

+

+ For information on how to use this class, see the + "Customizing Images Using Custom Package Tasks" + section in the Yocto Project Development Manual. +

+

+ Previously, this class was named task.bbclass. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-perl.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-perl.html new file mode 100644 index 0000000000..b4be9b4da0 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-perl.html @@ -0,0 +1,31 @@ + + + +7.9. Perl modules - cpan.bbclass + + + + + + + +
+

+7.9. Perl modules - cpan.bbclass +

+

+ Recipes for Perl modules are simple. + These recipes usually only need to point to the source's archive and then inherit the + proper .bbclass file. + Building is split into two methods depending on which method the module authors used. +

+

+ Modules that use old Makefile.PL-based build system require + cpan.bbclass in their recipes. +

+

+ Modules that use Build.PL-based build system require + using cpan_build.bbclass in their recipes. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-pkgconfig.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-pkgconfig.html new file mode 100644 index 0000000000..09566fd328 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-pkgconfig.html @@ -0,0 +1,27 @@ + + + +7.7. Pkg-config - pkgconfig.bbclass + + + + + + + +
+

+7.7. Pkg-config - pkgconfig.bbclass +

+

+ pkg-config brought standardization and this class aims to make its + integration smooth for all libraries that make use of it. +

+

+ During staging, BitBake installs pkg-config data into the + sysroots/ directory. + By making use of sysroot functionality within pkg-config, + this class no longer has to manipulate the files. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-sanity.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-sanity.html new file mode 100644 index 0000000000..0e3a19a76a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-sanity.html @@ -0,0 +1,25 @@ + + + +7.16. Host System sanity checks - sanity.bbclass + + + + + + + +
+

+7.16. Host System sanity checks - sanity.bbclass +

+

+ This class checks to see if prerequisite software is present so that + users can be notified of potential problems that might affect their build. + The class also performs basic user configuration checks from + the local.conf configuration file to + prevent common mistakes that cause build failures. + Distribution policy usually determines whether to include this class. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-siteinfo.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-siteinfo.html new file mode 100644 index 0000000000..878794d201 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-siteinfo.html @@ -0,0 +1,39 @@ + + + +7.18. Autotools configuration data cache - siteinfo.bbclass + + + + + + + +
+

+7.18. Autotools configuration data cache - siteinfo.bbclass +

+

+ Autotools can require tests that must execute on the target hardware. + Since this is not possible in general when cross compiling, site information is + used to provide cached test results so these tests can be skipped over but + still make the correct values available. + The meta/site directory + contains test results sorted into different categories such as architecture, endianness, and + the libc used. + Site information provides a list of files containing data relevant to + the current build in the + CONFIG_SITE variable + that Autotools automatically picks up. +

+

+ The class also provides variables like + SITEINFO_ENDIANNESS + and SITEINFO_BITS + that can be used elsewhere in the metadata. +

+

+ Because this class is included from base.bbclass, it is always active. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-src-distribute.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-src-distribute.html new file mode 100644 index 0000000000..a1bbb8b415 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-src-distribute.html @@ -0,0 +1,43 @@ + + + +7.8. Distribution of sources - src_distribute_local.bbclass + + + + + + + +
+

+7.8. Distribution of sources - src_distribute_local.bbclass +

+

+ Many software licenses require that source files be provided along with the binaries. + To simplify this process, two classes were created: + src_distribute.bbclass and + src_distribute_local.bbclass. +

+

+ The results of these classes are tmp/deploy/source/ + subdirs with sources sorted by + LICENSE field. + If recipes list few licenses (or have entries like "Bitstream Vera"), + the source archive is placed in each license directory. +

+

+ This class operates using three modes: +

+
    +
  • copy: Copies the files to the + distribute directory.

  • +
  • symlink: Symlinks the files to the + distribute directory.

  • +
  • move+symlink: Moves the files into + the distribute directory and then symlinks them back.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-alternatives.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-alternatives.html new file mode 100644 index 0000000000..cb6dfac6c4 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-alternatives.html @@ -0,0 +1,48 @@ + + + +7.3. Alternatives - update-alternatives.bbclass + + + + + + + +
+

+7.3. Alternatives - update-alternatives.bbclass +

+

+ Several programs can fulfill the same or similar function and be installed with the same name. + For example, the ar command is available from the + busybox, binutils and + elfutils packages. + The update-alternatives.bbclass class handles renaming the + binaries so that multiple packages can be installed without conflicts. + The ar command still works regardless of which packages are installed + or subsequently removed. + The class renames the conflicting binary in each package and symlinks the highest + priority binary during installation or removal of packages. +

+

+ Four variables control this class: +

+
    +
  • ALTERNATIVE_NAME ‐ The name of the + binary that is replaced (ar in this example).

  • +
  • ALTERNATIVE_LINK ‐ The path to + the resulting binary (/bin/ar in this example).

  • +
  • ALTERNATIVE_PATH ‐ The path to the + real binary (/usr/bin/ar.binutils in this example).

  • +
  • ALTERNATIVE_PRIORITY ‐ The priority of + the binary. + The version with the most features should have the highest priority.

  • +
+

+

+

+ Currently, the OpenEmbedded build system supports only one binary per package. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-rc.d.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-rc.d.html new file mode 100644 index 0000000000..7ab1688c3b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-update-rc.d.html @@ -0,0 +1,28 @@ + + + +7.4. Initscripts - update-rc.d.bbclass + + + + + + + +
+

+7.4. Initscripts - update-rc.d.bbclass +

+

+ This class uses update-rc.d to safely install an + initialization script on behalf of the package. + The OpenEmbedded build system takes care of details such as making sure the script is stopped before + a package is removed and started when the package is installed. + Three variables control this class: + INITSCRIPT_PACKAGES, + INITSCRIPT_NAME and + INITSCRIPT_PARAMS. + See the variable links for details. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-useradd.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-useradd.html new file mode 100644 index 0000000000..cc78211aab --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes-useradd.html @@ -0,0 +1,28 @@ + + + +7.19. Adding Users - useradd.bbclass + + + + + + + +
+

+7.19. Adding Users - useradd.bbclass +

+

+ If you have packages that install files that are owned by custom users or groups, + you can use this class to specify those packages and associate the users and groups + with those packages. + The meta-skeleton/recipes-skeleton/useradd/useradd-example.bb + recipe in the Source Directory + provides a simple exmample that shows how to add three + users and groups to two packages. + See the useradd-example.bb for more information on how to + use this class. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes.html new file mode 100644 index 0000000000..35cc535e70 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-classes.html @@ -0,0 +1,61 @@ + + + +Chapter 7. Classes + + + + + + + +
+

+Chapter 7. Classes

+ +

+ Class files are used to abstract common functionality and share it amongst multiple + .bb files. + Any metadata usually found in a .bb file can also be placed in a class + file. + Class files are identified by the extension .bbclass and are usually placed + in a classes/ directory beneath the + meta*/ directory found in the + Source Directory. + Class files can also be pointed to by BUILDDIR (e.g. build/)in the same way as + .conf files in the conf directory. + Class files are searched for in BBPATH + using the same method by which .conf files are searched. +

+

+ In most cases inheriting the class is enough to enable its features, although + for some classes you might need to set variables or override some of the + default behaviour. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-backfill.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-backfill.html new file mode 100644 index 0000000000..0ad90dfd70 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-backfill.html @@ -0,0 +1,88 @@ + + + +9.4. Feature Backfilling + + + + + + + +
+

+9.4. Feature Backfilling

+

+ Sometimes it is necessary in the OpenEmbedded build system to extend + MACHINE_FEATURES + or DISTRO_FEATURES + to control functionality that was previously enabled and not able + to be disabled. + For these cases, we need to add an + additional feature item to appear in one of these variables, + but we do not want to force developers who have existing values + of the variables in their configuration to add the new feature + in order to retain the same overall level of functionality. + Thus, the OpenEmbedded build system has a mechanism to + automatically "backfill" these added features into existing + distro or machine configurations. + You can see the list of features for which this is done by + finding the + DISTRO_FEATURES_BACKFILL + and MACHINE_FEATURES_BACKFILL + variables in the meta/conf/bitbake.conf file. +

+

+ Because such features are backfilled by default into all + configurations as described in the previous paragraph, developers + who wish to disable the new features need to be able to selectively + prevent the backfilling from occurring. + They can do this by adding the undesired feature or features to the + DISTRO_FEATURES_BACKFILL_CONSIDERED + or MACHINE_FEATURES_BACKFILL_CONSIDERED + variables for distro features and machine features respectively. +

+

+ Here are two examples to help illustrate feature backfilling: +

+
    +
  • The "pulseaudio" distro feature option: + Previously, PulseAudio support was enabled within the Qt and + GStreamer frameworks. + Because of this, the feature is backfilled and thus + enabled for all distros through the + DISTRO_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your distro needs to disable the feature. + You can disable the feature without affecting + other existing distro configurations that need PulseAudio support + by adding "pulseaudio" to + DISTRO_FEATURES_BACKFILL_CONSIDERED + in your distro's .conf file. + Adding the feature to this variable when it also + exists in the DISTRO_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's DISTRO_FEATURES, effectively disabling + the feature for that particular distro.

  • +
  • The "rtc" machine feature option: + Previously, real time clock (RTC) support was enabled for all + target devices. + Because of this, the feature is backfilled and thus enabled + for all machines through the MACHINE_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your target device does not have this capability. + You can disable RTC support for your device without + affecting other machines that need RTC support + by adding the feature to your machine's + MACHINE_FEATURES_BACKFILL_CONSIDERED + list in the machine's .conf file. + Adding the feature to this variable when it also + exists in the MACHINE_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's MACHINE_FEATURES, effectively + disabling RTC support for that particular machine.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-distro.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-distro.html new file mode 100644 index 0000000000..d261858123 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-distro.html @@ -0,0 +1,68 @@ + + + +9.1. Distro + + + + + + + +
+

+9.1. Distro

+

+ The items below are features you can use with + DISTRO_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. +

+

+ This list only represents features as shipped with the Yocto Project metadata: +

+
    +
  • alsa: ALSA support will be included (OSS compatibility + kernel modules will be installed if available).

  • +
  • bluetooth: Include bluetooth support (integrated BT only) +

  • +
  • ext2: Include tools for supporting for devices with internal + HDD/Microdrive for storing files (instead of Flash only devices) +

  • +
  • irda: Include Irda support +

  • +
  • keyboard: Include keyboard support (e.g. keymaps will be + loaded during boot). +

  • +
  • pci: Include PCI bus support +

  • +
  • pcmcia: Include PCMCIA/CompactFlash support +

  • +
  • usbgadget: USB Gadget Device support (for USB + networking/serial/storage) +

  • +
  • usbhost: USB Host support (allows to connect external + keyboard, mouse, storage, network etc) +

  • +
  • wifi: WiFi support (integrated only) +

  • +
  • cramfs: CramFS support +

  • +
  • ipsec: IPSec support +

  • +
  • ipv6: IPv6 support +

  • +
  • nfs: NFS client support (for mounting NFS exports on + device)

  • +
  • ppp: PPP dialup support

  • +
  • smbfs: SMB networks client support (for mounting + Samba/Microsoft Windows shares on device)

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-image.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-image.html new file mode 100644 index 0000000000..e705a2922f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-image.html @@ -0,0 +1,73 @@ + + + +9.3. Images + + + + + + + +
+

+9.3. Images

+

+ The contents of images generated by the OpenEmbedded build system can be controlled by the + IMAGE_FEATURES + and EXTRA_IMAGE_FEATURES + variables that you typically configure in your image recipes. + Through these variables you can add several different + predefined packages such as development utilities or packages with debug + information needed to investigate application problems or profile applications. +

+

+ Current list of + IMAGE_FEATURES contains the following: +

+
    +
  • splash: Enables showing a splash screen during boot. + By default, this screen is provided by psplash, which does + allow customization. + If you prefer to use an alternative splash screen package, you can do so by + setting the SPLASH variable + to a different package name (or names) within the image recipe or at the distro + configuration level.

  • +
  • ssh-server-dropbear: Installs the Dropbear minimal + SSH server. +

  • +
  • ssh-server-openssh: Installs the OpenSSH SSH server, + which is more full-featured than Dropbear. + Note that if both the OpenSSH SSH server and the Dropbear minimal SSH server + are present in IMAGE_FEATURES, then OpenSSH will take + precedence and Dropbear will not be installed.

  • +
  • x11: Installs the X server

  • +
  • x11-base: Installs the X server with a + minimal environment.

  • +
  • x11-sato: Installs the OpenedHand Sato environment. +

  • +
  • tools-sdk: Installs a full SDK that runs on the device. +

  • +
  • tools-debug: Installs debugging tools such as + strace and gdb. +

  • +
  • tools-profile: Installs profiling tools such as + oprofile, exmap, and + LTTng.

  • +
  • tools-testapps: Installs device testing tools (e.g. + touchscreen debugging).

  • +
  • nfs-server: Installs an NFS server.

  • +
  • dev-pkgs: Installs development packages (headers and + extra library links) for all packages installed in a given image.

  • +
  • staticdev-pkgs: Installs static development + packages (i.e. static libraries containing *.a files) for all + packages installed in a given image.

  • +
  • dbg-pkgs: Installs debug symbol packages for all packages + installed in a given image.

  • +
  • doc-pkgs: Installs documentation packages for all packages + installed in a given image.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-machine.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-machine.html new file mode 100644 index 0000000000..428aca3973 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features-machine.html @@ -0,0 +1,63 @@ + + + +9.2. Machine + + + + + + + +
+

+9.2. Machine

+

+ The items below are features you can use with + MACHINE_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. +

+

+ This feature list only represents features as shipped with the Yocto Project metadata: +

+
    +
  • acpi: Hardware has ACPI (x86/x86_64 only) +

  • +
  • alsa: Hardware has ALSA audio drivers +

  • +
  • apm: Hardware uses APM (or APM emulation) +

  • +
  • bluetooth: Hardware has integrated BT +

  • +
  • ext2: Hardware HDD or Microdrive +

  • +
  • irda: Hardware has Irda support +

  • +
  • keyboard: Hardware has a keyboard +

  • +
  • pci: Hardware has a PCI bus +

  • +
  • pcmcia: Hardware has PCMCIA or CompactFlash sockets +

  • +
  • screen: Hardware has a screen +

  • +
  • serial: Hardware has serial support (usually RS232) +

  • +
  • touchscreen: Hardware has a touchscreen +

  • +
  • usbgadget: Hardware is USB gadget device capable +

  • +
  • usbhost: Hardware is USB Host capable +

  • +
  • wifi: Hardware has integrated WiFi +

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features.html new file mode 100644 index 0000000000..c10c49cb19 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-features.html @@ -0,0 +1,60 @@ + + + +Chapter 9. Reference: Features + + + + + + + +
+

+Chapter 9. Reference: Features

+ +

+ Features provide a mechanism for working out which packages + should be included in the generated images. + Distributions can select which features they want to support through the + DISTRO_FEATURES + variable, which is set in the poky.conf distribution configuration file. + Machine features are set in the + MACHINE_FEATURES + variable, which is set in the machine configuration file and + specifies the hardware features for a given machine. +

+

+ These two variables combine to work out which kernel modules, + utilities, and other packages to include. + A given distribution can support a selected subset of features so some machine features might not + be included if the distribution itself does not support them. +

+

+ One method you can use to determine which recipes are checking to see if a + particular feature is contained or not is to grep through + the metadata for the feature. + Here is an example that discovers the recipes whose build is potentially + changed based on a given feature: +

+
+     $ cd $HOME/poky
+     $ git grep 'contains.*MACHINE_FEATURES.*<feature>'
+        
+

+

+

+ This chapter provides a reference of shipped machine and distro features + you can include as part of the image, a reference on image types you can + build, and a reference on feature backfilling. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-images.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-images.html new file mode 100644 index 0000000000..81ed4ba8f2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-images.html @@ -0,0 +1,137 @@ + + + +Chapter 8. Images + + + + + + + +
+

+Chapter 8. Images

+

+ The OpenEmbedded build process supports several types of images to satisfy different needs. + When you issue the bitbake command you provide a “top-level” recipe + that essentially begins the build for the type of image you want. +

+
+

Note

+ Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + Furthermore, if you are going to build an image using non-GPLv3 components, + you must make the following changes in the local.conf file + before using the BitBake command to build the minimal or base image: +
+     1. Comment out the EXTRA_IMAGE_FEATURES line
+     2. Set INCOMPATIBLE_LICENSE = "GPLv3"
+        
+
+

+ From within the poky Git repository, use the following command to list + the supported images: +

+
+     $ ls meta*/recipes*/images/*.bb
+        
+

+ These recipes reside in the meta/recipes-core/images, + meta/recipes-extended/images, + meta/recipes-graphics/images, and + meta/recipes-sato/images directories + within the source directory. + Although the recipe names are somewhat explanatory, here is a list that describes them: +

+
    +
  • core-image-base: + A console-only image that fully supports the target device hardware.

  • +
  • core-image-minimal: + A small image just capable of allowing a device to boot.

  • +
  • core-image-minimal-dev: + A core-image-minimal image suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. +

  • +
  • core-image-minimal-initramfs: + A core-image-minimal image that has the Minimal RAM-based + Initial Root Filesystem (initramfs) as part of the kernel, + which allows the system to find the first “init” program more efficiently. +

  • +
  • core-image-minimal-mtdutils: + A core-image-minimal image that has support + for the Minimal MTD Utilities, which let the user interact with the + MTD subsystem in the kernel to perform operations on flash devices. +

  • +
  • core-image-x11: + A very basic X11 image with a terminal. +

  • +
  • core-image-basic: + A console-only image with more full-featured Linux system + functionality installed.

  • +
  • core-image-lsb: + An image that conforms to the Linux Standard Base (LSB) specification.

  • +
  • core-image-lsb-dev: + A core-image-lsb image that is suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. +

  • +
  • core-image-lsb-sdk: + A core-image-lsb that includes everything in meta-toolchain + but also includes development headers and libraries to form a complete standalone SDK. + This image is suitable for development using the target.

  • +
  • core-image-clutter: + An image with support for the Open GL-based toolkit Clutter, which enables development of + rich and animated graphical user interfaces.

  • +
  • core-image-sato: + An image with Sato support, a mobile environment and visual style that works well + with mobile devices. + The image supports X11 with a Sato theme and applications such as + a terminal, editor, file manager, media player, and so forth.

  • +
  • core-image-sato-dev: + A core-image-sato image suitable for development + using the host. + The image includes libraries needed to build applications on the device itself, + testing and profiling tools, and debug symbols. + This image was formerly core-image-sdk.

  • +
  • core-image-sato-sdk: + A core-image-sato image that includes everything in meta-toolchain. + The image also includes development headers and libraries to form a complete standalone SDK + and is suitable for development using the target.

  • +
  • core-image-rt: + A core-image-minimal image plus a real-time test suite and + tools appropriate for real-time use.

  • +
  • core-image-rt-sdk: + A core-image-rt image that includes everything in + meta-toolchain. + The image also includes development headers and libraries to form a complete + stand-alone SDK and is suitable for development using the target.

  • +
  • core-image-gtk-directfb: + An image that uses gtk+ over directfb + instead of X11. + In order to build, this image requires specific distro configuration that enables + gtk over directfb.

  • +
  • build-appliance-image: + An image you can boot and run using either the + VMware Player + or VMware Workstation. + For more information on this image, see the + Build Appliance page on + the Yocto Project website.

  • +
+
+

Tip

+ From the Yocto Project release 1.1 onwards, -live and + -directdisk images have been replaced by a "live" + option in IMAGE_FSTYPES that will work with any image to produce an + image file that can be + copied directly to a CD or USB device and run as is. + To build a live image, simply add + "live" to IMAGE_FSTYPES within the local.conf + file or wherever appropriate and then build the desired image as normal. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-structure.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-structure.html new file mode 100644 index 0000000000..afc8334ebd --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-structure.html @@ -0,0 +1,98 @@ + + + +Chapter 5. Source Directory Structure + + + + + + + +
+

+Chapter 5. Source Directory Structure

+ +

+ The Source Directory consists of several components. + Understanding them and knowing where they are located is key to using the Yocto Project well. + This chapter describes the Source Directory and gives information about the various + files and directories. +

+

+ For information on how to establish a local Source Directory on your development system, see the + "Getting Set Up" + section in the Yocto Project Development Manual. +

+
+

Note

+ The OpenEmbedded build system does not support file or directory names that + contain spaces. + Be sure that the Source Directory you use does not contain these types + of names. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-variables-glos.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-variables-glos.html new file mode 100644 index 0000000000..bb6374fab7 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-variables-glos.html @@ -0,0 +1,2800 @@ + + + +Chapter 10. Variables Glossary + + + + + + + +
+

+Chapter 10. Variables Glossary

+
+

Table of Contents

+
Glossary
+
+

+ This chapter lists common variables used in the OpenEmbedded build system and gives an overview + of their function and contents. +

+
+

+Glossary

+

+ A + B + C + D + E + F + + H + I + + K + L + M + + O + P + + R + S + T + + + W + + + +

+
+

A

+
+
+ALLOW_EMPTY
+
+

+ Specifies if an output package should still be produced if it is empty. + By default, BitBake does not produce empty packages. + This default behavior can cause issues when there is an + RDEPENDS or + some other runtime hard-requirement on the existence of the package. +

+

+ Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: +

+
+     ALLOW_EMPTY_${PN} = "1"
+                   
+

+

+
+
+AUTHOR
+

The email address used to contact the original author or authors in + order to send patches, forward bugs, etc.

+
+AUTOREV
+
+

When SRCREV + is set to the value of this variable, it specifies that the latest + source revision in the repository should be used. Here is an example: +

+
+     SRCREV = "${AUTOREV}"
+                    
+

+

+
+
+
+
+

B

+
+
+B
+
+

+ The Build Directory. + The OpenEmbedded build system places generated objects into the Build Directory + during a recipe's build process. + By default, this directory is the same as the S + directory: +

+
+     B = ${WORKDIR}/${BPN}-{PV}/
+                    
+

+ You can separate the (S) directory and the directory pointed to + by the B variable. + Most autotools-based recipes support separating these directories. + The build system defaults to using separate directories for gcc + and some kernel recipes. +

+
+
+BAD_RECOMMENDATIONS
+

+ A list of packages not to install despite being recommended by a recipe. + Support for this variable exists only when using the + ipk packaging backend. +

+
+BB_DISKMON_DIRS
+
+

+ Monitors disk space and available inodes during the build + and allows you to control the build based on these + parameters. +

+

+ Disk space monitoring is disabled by default. + To enable monitoring, add the BB_DISKMON_DIRS + variable to your conf/local.conf file found in the + Build Directory. + Use the following form: +

+
+     BB_DISKMON_DIRS = "<action>,<dir>,<threshold> [...]"
+                  
+     where:
+
+        <action> is:
+           ABORT:     Immediately abort the build when
+                      a threshold is broken.
+           STOPTASKS: Stop the build after the currently
+                      executing tasks have finished when 
+                      a threshold is broken.
+           WARN:      Issue a warning but continue the 
+                      build when a threshold is broken.
+                      Subsequent warnings are issued as 
+                      defined by the 
+                      BB_DISKMON_WARNINTERVAL variable,
+                      which must be defined in the 
+                      conf/local.conf file.
+
+        <dir> is:
+           Any directory you choose. You can specify one or 
+           more directories to monitor by separating the 
+           groupings with a space.  If two directories are 
+           on the same device, only the first directory
+           is monitored.
+
+        <threshold> is:
+           Either the minimum available disk space, 
+           the minimum number of free inodes, or 
+           both.  You must specify at least one.  To 
+           omit one or the other, simply omit the value.
+           Specify the threshold using G, M, K for Gbytes, 
+           Mbytes, and Kbytes, respectively. If you do 
+           not specify G, M, or K, Kbytes is assumed by 
+           default.  Do not use GB, MB, or KB.
+                    
+

+

+

+ Here are some examples: +

+
+     BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
+     BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
+     BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
+                    
+

+ The first example works only if you also provide + the BB_DISKMON_WARNINTERVAL variable + in the conf/local.conf. + This example causes the build system to immediately + abort when either the disk space in ${TMPDIR} drops + below 1 Gbyte or the available free inodes drops below + 100 Kbytes. + Because two directories are provided with the variable, the + build system also issue a + warning when the disk space in the + ${SSTATE_DIR} directory drops + below 1 Gbyte or the number of free inodes drops + below 100 Kbytes. + Subsequent warnings are issued during intervals as + defined by the BB_DISKMON_WARNINTERVAL + variable. +

+

+ The second example stops the build after all currently + executing tasks complete when the minimum disk space + in the ${TMPDIR} directory drops + below 1 Gbyte. + No disk monitoring occurs for the free inodes in this case. +

+

+ The final example immediately aborts the build when the + number of free inodes in the ${TMPDIR} directory + drops below 100 Kbytes. + No disk space monitoring for the directory itself occurs + in this case. +

+
+
+BB_DISKMON_WARNINTERVAL
+
+

+ Defines the disk space and free inode warning intervals. + To set these intervals, define the variable in your + conf/local.conf file in the + Build Directory. +

+

+ If you are going to use the + BB_DISKMON_WARNINTERVAL variable, you must + also use the + BB_DISKMON_DIRS variable + and define its action as "WARN". + During the build, subsequent warnings are issued each time + disk space or number of free inodes further reduces by + the respective interval. +

+

+ If you do not provide a BB_DISKMON_WARNINTERVAL + variable and you do use BB_DISKMON_DIRS with + the "WARN" action, the disk monitoring interval defaults to + the following: +

+
+     BB_DISKMON_WARNINTERVAL = "50M,5K"
+                    
+

+

+

+ When specifying the variable in your configuration file, + use the following form: +

+
+     BB_DISKMON_WARNINTERVAL = "<disk_space_interval>,<disk_inode_interval>"
+                  
+     where:
+
+        <disk_space_interval> is:
+           An interval of memory expressed in either 
+           G, M, or K for Gbytes, Mbytes, or Kbytes, 
+           respectively. You cannot use GB, MB, or KB.  
+
+        <disk_inode_interval> is:
+           An interval of free inodes expressed in either
+           G, M, or K for Gbytes, Mbytes, or Kbytes, 
+           respectively. You cannot use GB, MB, or KB.  
+                    
+

+

+

+ Here is an example: +

+
+     BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
+     BB_DISKMON_WARNINTERVAL = "50M,5K"
+                    
+

+ These variables cause the OpenEmbedded build system to + issue subsequent warnings each time the available + disk space further reduces by 50 Mbytes or the number + of free inodes further reduces by 5 Kbytes in the + ${SSTATE_DIR} directory. + Subsequent warnings based on the interval occur each time + a respective interval is reached beyond the intial warning + (i.e. 1 Gbytes and 100 Kbytes). +

+
+
+BBCLASSEXTEND
+
+

+ Allows you to extend a recipe so that it builds variants of the software. + Common variants for recipes exist such as "natives" like quilt-native, + which is a copy of quilt built to run on the build system; + "crosses" such as gcc-cross, + which is a compiler built to run on the build machine but produces binaries + that run on the target MACHINE; + "nativesdk", which targets the SDK machine instead of MACHINE; + and "mulitlibs" in the form "multilib:<multilib_name>". +

+

+ To build a different variant of the recipe with a minimal amount of code, it usually + is as simple as adding the following to your recipe: +

+
+     BBCLASSEXTEND =+ "native nativesdk"
+     BBCLASSEXTEND =+ "multilib:<multilib_name>"
+                    
+

+

+
+
+BBMASK
+
+

Prevents BitBake from processing recipes and recipe append files. + You can use the BBMASK variable to "hide" + these .bb and .bbappend files. + BitBake ignores any recipe or recipe append files that match the expression. + It is as if BitBake does not see them at all. + Consequently, matching files are not parsed or otherwise used by + BitBake.

+

The value you provide is passed to python's regular expression compiler. + For complete syntax information, see python's documentation at + http://docs.python.org/release/2.3/lib/re-syntax.html. + The expression is compared against the full paths to the files. + For example, the following uses a complete regular expression to tell + BitBake to ignore all recipe and recipe append files in the + .*/meta-ti/recipes-misc/ directory: +

+
+     BBMASK = ".*/meta-ti/recipes-misc/"
+                    
+

Use the BBMASK variable from within the + conf/local.conf file found + in the Build Directory.

+
+
+BB_NUMBER_THREADS
+

The maximum number of tasks BitBake should run in parallel at any one time. + If your host development system supports multiple cores a good rule of thumb + is to set this variable to twice the number of cores.

+
+BBFILE_COLLECTIONS
+

Lists the names of configured layers. + These names are used to find the other BBFILE_* + variables. + Typically, each layer will append its name to this variable in its + conf/layer.conf file. +

+
+BBFILE_PATTERN
+

Variable that expands to match files from BBFILES in a particular layer. + This variable is used in the conf/layer.conf file and must + be suffixed with the name of the specific layer (e.g. + BBFILE_PATTERN_emenlow).

+
+BBFILE_PRIORITY
+
+

Assigns the priority for recipe files in each layer.

+

This variable is useful in situations where the same recipe appears in + more than one layer. + Setting this variable allows you to prioritize a + layer against other layers that contain the same recipe - effectively + letting you control the precedence for the multiple layers. + The precedence established through this variable stands regardless of a + recipe's version (PV variable). + For example, a layer that has a recipe with a higher PV value but for + which the BBFILE_PRIORITY is set to have a lower precedence still has a + lower precedence.

+

A larger value for the BBFILE_PRIORITY variable results in a higher + precedence. + For example, the value 6 has a higher precedence than the value 5. + If not specified, the BBFILE_PRIORITY variable is set based on layer + dependencies (see the + LAYERDEPENDS variable for + more information. + The default priority, if unspecified + for a layer with no dependencies, is the lowest defined priority + 1 + (or 1 if no priorities are defined).

+
+

Tip

+ You can use the command bitbake-layers show_layers to list + all configured layers along with their priorities. +
+
+
+BBFILES
+

List of recipe files used by BitBake to build software

+
+BBPATH
+

Used by BitBake to locate .bbclass and configuration files. + This variable is analogous to the PATH variable.

+
+BBINCLUDELOGS
+

Variable that controls how BitBake displays logs on build failure.

+
+BBLAYERS
+
+

Lists the layers to enable during the build. + This variable is defined in the bblayers.conf configuration + file in the Build Directory. + Here is an example: +

+
+     BBLAYERS = " \
+       /home/scottrif/poky/meta \
+       /home/scottrif/poky/meta-yocto \
+       /home/scottrif/poky/meta-yocto-bsp \
+       /home/scottrif/poky/meta-mykernel \
+       "
+                    
+

+ This example enables four layers, one of which is a custom, user-defined layer + named meta-mykernel. +

+
+
+BP
+
+

The base recipe name and version but without any special + recipe name suffix (i.e. -native, lib64-, + and so forth). + BP is comprised of the following: +

+
+     ${BPN}-${PV}
+                    
+
+
+BPN
+

The bare name of the recipe. + This variable is a version of the PN variable + but removes common suffixes such as "-native" and "-cross" as well + as removes common prefixes such as multilib's "lib64-" and "lib32-". + The exact list of suffixes removed is specified by the + SPECIAL_PKGSUFFIX variable. + The exact list of prefixes removed is specified by the + MLPREFIX variable. + Prefixes are removed for multilib and nativesdk cases.

+
+
+
+

C

+
+
+CFLAGS
+

+ Flags passed to C compiler for the target system. + This variable evaluates to the same as + TARGET_CFLAGS. +

+
+COMBINED_FEATURES
+

A set of features common between + MACHINE_FEATURES + and DISTRO_FEATURES. + See the glossary descriptions for these variables for more information.

+
+COMPATIBLE_MACHINE
+

A regular expression which evaluates to match the machines the recipe + works with. + It stops recipes being run on machines for which they are not compatible. + This is particularly useful with kernels. + It also helps to increase parsing speed as further parsing of the recipe is skipped + if it is found the current machine is not compatible.

+
+CONFFILES
+
+

+ Identifies editable or configurable files that are part of a package. + If the Package Management System (PMS) is being used to update + packages on the target system, it is possible that + configuration files you have changed after the original installation + and that you now want to remain unchanged are overwritten. + In other words, editable files might exist in the package that you do not + want reset as part of the package update process. + You can use the CONFFILES variable to list the files in the + package that you wish to prevent the PMS from overwriting during this update process. +

+

+ To use the CONFFILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files. + Here is an example: +

+
                       
+  CONFFILES_${PN} += "${sysconfdir}/file1 \
+     ${sysconfdir}/file2 ${sysconfdir}/file3"
+                    
+

+

+

+ A relationship exists between the CONFFILES and + FILES variables. + The files listed within CONFFILES must be a subset of + the files listed within FILES. + Because the configuration files you provide with CONFFILES + are simply being identified so that the PMS will not overwrite them, + it makes sense that + the files must already be included as part of the package through the + FILES variable. +

+
+

Note

+ When specifying paths as part of the CONFFILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. +
+
+
+CONFIG_SITE
+

+ A list of files that contains autoconf test results relevant + to the current build. + This variable is used by the Autotools utilities when running + configure. +

+
+CORE_IMAGE_EXTRA_INSTALL
+
+

+ Specifies the list of packages to be added to the image. + This variable should only be set in the local.conf + configuration file found in the + Build Directory. +

+

+ This variable replaces POKY_EXTRA_INSTALL, which is no longer supported. +

+
+
+
+
+

D

+
+
+D
+

The destination directory.

+
+DEBUG_BUILD
+

+ Specifies to build packages with debugging information. + This influences the value of the + SELECTED_OPTIMIZATION + variable. +

+
+DEBUG_OPTIMIZATION
+

+ The options to pass in + TARGET_CFLAGS + and CFLAGS when compiling + a system for debugging. + This variable defaults to "-O -fno-omit-frame-pointer -g". +

+
+DEFAULT_PREFERENCE
+

Specifies the priority of recipes.

+
+DEPENDS
+

+ Lists a recipe's build-time dependencies + (i.e. other recipe files). + The system ensures that all the dependencies listed + have been built and have their contents in the appropriate + sysroots before the recipe's configure task is executed. +

+
+DESCRIPTION
+

The package description used by package managers. + If not set, DESCRIPTION takes + the value of the + SUMMARY + variable. +

+
+DESTDIR
+

the destination directory.

+
+DISTRO
+
+

+ The short name of the distribution. + This variable corresponds to a file with the + extension .conf + located in a conf/distro directory + within the metadata that contains the distribution configuration. + The + value must not contain spaces, and is typically all lower-case. +

+

+ If the variable is blank, a set of default configuration + will be used, which is specified + within meta/conf/distro/defaultsetup.conf. +

+
+
+DISTRO_EXTRA_RDEPENDS
+

+ Specifies a list of distro-specific packages to add to all images. + This variable takes affect through + packagegroup-base so the + variable only really applies to the more full-featured + images that include packagegroup-base. + You can use this variable to keep distro policy out of + generic images. + As with all other distro variables, you set this variable + in the distro .conf file. +

+
+DISTRO_EXTRA_RRECOMMENDS
+

+ Specifies a list of distro-specific packages to add to all images + if the packages exist. + The packages might not exist or be empty (e.g. kernel modules). + The list of packages are automatically installed but can be + removed by the user. +

+
+DISTRO_FEATURES
+

The features enabled for the distribution. + For a list of features supported by the Yocto Project as shipped, + see the "Distro" + section. +

+
+DISTRO_FEATURES_BACKFILL
+
+

Features to be added to + DISTRO_FEATURES + if not also present in + DISTRO_FEATURES_BACKFILL_CONSIDERED. +

+

+ This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which distro features are + being backfilled for all distro configurations. + See the Feature backfilling section for + more information. +

+
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED
+

Features from + DISTRO_FEATURES_BACKFILL + that should not backfilled (i.e. added to + DISTRO_FEATURES) + during the build. + See the "Feature Backfilling" section for + more information. +

+
+DISTRO_NAME
+

The long name of the distribution.

+
+DISTRO_PN_ALIAS
+
+

Alias names used for the recipe in various Linux distributions.

+

See the + "Handling + a Package Name Alias" section in the Yocto Project Development + Manual for more information.

+
+
+DISTRO_VERSION
+

the version of the distribution.

+
+DL_DIR
+
+

+ The central download directory used by the build process to store downloads. + You can set this directory by defining the DL_DIR + variable in the /conf/local.conf file. + This directory is self-maintaining and you should not have + to touch it. + By default, the directory is downloads in the + Build Directory. +

+
+     #DL_DIR ?= "${TOPDIR}/downloads"
+                    
+

+ To specify a different download directory, simply uncomment the line + and provide your directory. +

+

+ During a first build, the system downloads many different source code + tarballs from various upstream projects. + Downloading can take a while, particularly if your network + connection is slow. + Tarballs are all stored in the directory defined by + DL_DIR and the build system looks there first + to find source tarballs. +

+
+

Note

+ When wiping and rebuilding, you can preserve this directory to speed + up this part of subsequent builds. +
+

+

+

+ You can safely share this directory between multiple builds on the + same development machine. + For additional information on how the build process gets source files + when working behind a firewall or proxy server, see the + "FAQ" + chapter. +

+
+
+
+
+

E

+
+
+ENABLE_BINARY_LOCALE_GENERATION
+
+

+

Variable that controls which locales for eglibc are + to be generated during the build (useful if the target device has 64Mbytes + of RAM or less).

+
+
+EXTENDPE
+
+

+ Used with file and pathnames to create a prefix for a recipe's + version based on the recipe's + PE value. + If PE is set and greater than zero for a recipe, + EXTENDPE becomes that value (e.g if + PE is equal to "1" then EXTENDPE + becomes "1_"). + If a recipe's PE is not set (the default) or is equal to + zero, EXTENDPE becomes "".

+

See the STAMP + variable for an example. +

+
+
+EXTRA_IMAGE_FEATURES
+
+

Allows extra packages to be added to the generated images. + You set this variable in the local.conf + configuration file. + Note that some image features are also added using the + IMAGE_FEATURES + variable generally configured in image recipes. + You can use this variable to add more features in addition to those. + Here are some examples of features you can add:

+
+"dbg-pkgs" - Adds -dbg packages for all installed packages
+             including symbol information for debugging and 
+             profiling.
+
+"dev-pkgs" - Adds -dev packages for all installed packages.  
+             This is useful if you want to develop against 
+             the libraries in the image.
+
+"tools-sdk" - Adds development tools such as gcc, make, 
+              pkgconfig and so forth.
+
+"tools-debug" - Adds debugging tools such as gdb and 
+                strace.
+
+"tools-profile" - Adds profiling tools such as oprofile, 
+                  exmap, lttng and valgrind (x86 only).
+
+"tools-testapps" - Adds useful testing tools such as 
+                   ts_print, aplay, arecord and so 
+                   forth.
+
+"debug-tweaks" - Makes an image suitable for development.  
+                 For example, ssh root access has a blank 
+                 password.  You should remove this feature 
+                 before you produce a production image.  
+                    
+

There are other valid features too, see the + Images + section for more details.

+
+
+EXTRA_IMAGEDEPENDS
+
+

A list of recipes to be built that do not provide packages to be installed in + the root filesystem. +

+

Sometimes a recipe is required to build the final image but is not + needed in the root filesystem. + You can use the EXTRA_IMAGEDEPENDS variable to + list these recipes and thus, specify the dependencies. + A typical example is a required bootloader in a machine configuration. +

+
+

Note

+ To add packages to the root filesystem, see the various + *DEPENDS and *RECOMMENDS + variables. +
+
+
+EXTRA_OECMAKE
+

Additional cmake options.

+
+EXTRA_OECONF
+

Additional configure script options.

+
+EXTRA_OEMAKE
+

Additional GNU make options.

+
+
+
+

F

+
+
+FILES
+
+

+ The list of directories or files that are placed in packages. +

+

+ To use the FILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files or paths that identifies the + files you want included as part of the resulting package. + Here is an example: +

+
                       
+  FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile"
+                    
+

+

+
+

Note

+ When specifying paths as part of the FILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. +
+

+ If some of the files you provide with the FILES variable + are editable and you know they should not be + overwritten during the package update process by the Package Management + System (PMS), you can identify these files so that the PMS will not + overwrite them. + See the CONFFILES + variable for information on how to identify these files to the PMS. +

+
+
+FILESEXTRAPATHS
+
+

+ Extends the search path the OpenEmbedded build system uses when + looking for files and patches as it processes recipes. + The directories BitBake uses when it processes recipes is defined by the + FILESPATH variable. + You can add directories to the search path by defining the + FILESEXTRAPATHS variable. +

+

+ To add paths to the search order, provide a list of directories and separate + each path using a colon character as follows: +

+
+     FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:"
+                    
+

+ Typically, you want your directories search first. + To make sure that happens, use _prepend and + the immediate expansion (:=) operator as shown in the + previous example. + Finally, to maintain the integrity of the FILESPATH variable, + you must include the appropriate beginning or ending (as needed) colon character. +

+

+ The FILESEXTRAPATHS variable is intended for use in + .bbappend files to include any additional files provided in that layer. + You typically accomplish this with the following: +

+
+     FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+                    
+

+

+
+
+FILESPATH
+
+

+ The default set of directories the OpenEmbedded build system uses + when searching for patches and files. + During the build process, BitBake searches each directory in + FILESPATH in the specified order when looking for + files and patches specified by each file:// URI in a recipe. +

+

+ The default value for the FILESPATH variable is defined + in the base.bbclass class found in + meta/classes in the + Source Directory: +

+
+FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", \
+   "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", \
+   "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", \
+   "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}"
+                    
+

+ Do not hand-edit the FILESPATH variable. + If you want to extend the set of pathnames that BitBake uses when searching for + files and patches, use the + FILESEXTRAPATHS variable. +

+
+
+FILESYSTEM_PERMS_TABLES
+
+

Allows you to define your own file permissions settings table as part of + your configuration for the packaging process. + For example, suppose you need a consistent set of custom permissions for + a set of groups and users across an entire work project. + It is best to do this in the packages themselves but this is not always + possible. +

+

+ By default, the OpenEmbedded build system uses the fs-perms.txt, which + is located in the meta/files folder in the + Source Directory. + If you create your own file permissions setting table, you should place it in your + layer or the distros layer. +

+

+ You define the FILESYSTEM_PERMS_TABLES variable in the + conf/local.conf file, which is found in the + Build Directory, to + point to your custom fs-perms.txt. + You can specify more than a single file permissions setting table. + The paths you specify to these files must be defined within the + BBPATH variable. +

+

+ For guidance on how to create your own file permissions settings table file, + examine the existing fs-perms.txt. +

+
+
+FULL_OPTIMIZATION
+

+ The options to pass in + TARGET_CFLAGS + and CFLAGS + when compiling an optimized system. + This variable defaults to + "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2". +

+
+
+
+

H

+
+
+HOMEPAGE
+

Website where more information about the software the recipe is building + can be found.

+
+
+
+

I

+
+
+IMAGE_FEATURES
+

The list of features to include in an image. + Typically, you configure this variable in an image recipe. + Note that you can also add extra features to the image by using the + EXTRA_IMAGE_FEATURES variable. + See the "Images" section for the + full list of features that can be included in images built by the + OpenEmbedded build system.

+
+IMAGE_FSTYPES
+

Formats of root filesystem images that you want to have created.

+
+IMAGE_INSTALL
+
+

+ Specifies the packages to install into an image. + The IMAGE_INSTALL variable is a mechanism for an image + recipe and you should use it with care to avoid ordering issues. +

+

+ Image recipes set IMAGE_INSTALL to specify the + packages to install into an image through image.bbclass. + Additionally, "helper" classes exist, such as core-image.bbclass, + that can take + IMAGE_FEATURES lists + and turn these into auto-generated entries in + IMAGE_INSTALL in addition to its default contents. +

+

+ Using IMAGE_INSTALL with the += + operator from the /conf/local.conf file or from within + an image recipe is not recommended as it can cause ordering issues. + Since core-image.bbclass sets IMAGE_INSTALL + to a default value using the ?= operator, using a + += operation against IMAGE_INSTALL + will result in unexpected behavior when used in + /conf/local.conf. + Furthermore, the same operation from with an image recipe may or may not + succeed depending on the specific situation. + In both these cases, the behavior is contrary to how most users expect + the += operator to work. +

+

+ When you use this variable, it is best to use it as follows: +

+
+     IMAGE_INSTALL_append = " package-name"
+                    
+

+ Be sure to include the space between the quotation character and the start of the + package name. +

+
+
+IMAGE_OVERHEAD_FACTOR
+
+

+ Defines a multiplier that the build system applies to the initial image + size for cases when the multiplier times the returned disk usage value + for the image is greater than the sum of + IMAGE_ROOTFS_SIZE + and + IMAGE_ROOTFS_EXTRA_SPACE. + The result of the multiplier applied to the initial image size creates + free disk space in the image as overhead. + By default, the build process uses a multiplier of 1.3 for this variable. + This default value results in 30% free disk space added to the image when this + method is used to determine the final generated image size. + You should be aware that post install scripts and the package management + system uses disk space inside this overhead area. + Consequently, the multiplier does not produce an image with + all the theoretical free disk space. + See IMAGE_ROOTFS_SIZE + for information on how the build system determines the overall image size. +

+

+ The default 30% free disk space typically gives the image enough room to boot + and allows for basic post installs while still leaving a small amount of + free disk space. + If 30% free space is inadequate, you can increase the default value. + For example, the following setting gives you 50% free space added to the image: +

+
+     IMAGE_OVERHEAD_FACTOR = "1.5"
+                    
+

+

+

+ Alternatively, you can ensure a specific amount of free disk space is added + to the image by using + IMAGE_ROOTFS_EXTRA_SPACE + the variable. +

+
+
+IMAGE_ROOTFS_EXTRA_SPACE
+
+

+ Defines additional free disk space created in the image in Kbytes. + By default, this variable is set to "0". + This free disk space is added to the image after the build system determines + the image size as described in + IMAGE_ROOTFS_SIZE. +

+

+ This variable is particularly useful when you want to ensure that a + specific amount of free disk space is available on a device after an image + is installed and running. + For example, to be sure 5 Gbytes of free disk space is available, set the + variable as follows: +

+
+     IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
+                    
+

+

+
+
+IMAGE_ROOTFS_SIZE
+
+

+ Defines the size in Kbytes for the generated image. + The OpenEmbedded build system determines the final size for the generated + image using an algorithm that takes into account the initial disk space used + for the generated image, a requested size for the image, and requested + additional free disk space to be added to the image. + Programatically, the build system determines the final size of the + generated image as follows: +

+
+    if (image-du * overhead) < rootfs-size:
+	internal-rootfs-size = rootfs-size + xspace
+    else:
+	internal-rootfs-size = (image-du * overhead) + xspace
+
+    where:
+
+      image-du = Returned value of the du command on
+                 the image.
+      
+      overhead = IMAGE_OVERHEAD_FACTOR
+
+      rootfs-size = IMAGE_ROOTFS_SIZE
+
+      internal-rootfs-size = Initial root filesystem
+                             size before any modifications.
+
+      xspace = IMAGE_ROOTFS_EXTRA_SPACE
+                    
+

+ +

+
+
+INC_PR
+
+

Helps define the recipe revision for recipes that share + a common include file. + You can think of this variable as part of the recipe revision + as set from within an include file.

+

Suppose, for example, you have a set of recipes that + are used across several projects. + And, within each of those recipes the revision + (its PR value) is set accordingly. + In this case, when the revision of those recipes changes + the burden is on you to find all those recipes and + be sure that they get changed to reflect the updated + version of the recipe. + In this scenario, it can get complicated when recipes + used in many places and that provide common functionality + are upgraded to a new revision.

+

A more efficient way of dealing with this situation is + to set the INC_PR variable inside + the include files that the recipes + share and then expand the INC_PR + variable within the recipes to help + define the recipe revision. +

+

+ The following provides an example that shows how to use + the INC_PR variable + given a common include file that + defines the variable. + Once the variable is defined in the + include file, you can use the + variable to set the PR values in + each recipe. + You will notice that when you set a recipe's + PR you can provide more granular + revisioning by appending values to the + INC_PR variable: +

+
+recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
+recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
+recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
+recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
+                    
+

+ The first line of the example establishes the baseline + revision to be used for all recipes that use the + include file. + The remaining lines in the example are from individual + recipes and show how the PR value + is set.

+
+
+INHIBIT_PACKAGE_STRIP
+

+ Causes the build to not strip binaries in resulting packages. +

+
+INHERIT
+

+ Causes the named class to be inherited at + this point during parsing. + The variable is only valid in configuration files. +

+
+INITSCRIPT_PACKAGES
+
+

+ A list of the packages that contain initscripts. + If multiple packages are specified, you need to append the package name + to the other INITSCRIPT_* as an override.

+

+ This variable is used in recipes when using update-rc.d.bbclass. + The variable is optional and defaults to the PN variable. +

+
+
+INITSCRIPT_NAME
+
+

+ The filename of the initscript (as installed to ${etcdir}/init.d). +

+

+ This variable is used in recipes when using update-rc.d.bbclass. + The variable is Mandatory. +

+
+
+INITSCRIPT_PARAMS
+
+

+ Specifies the options to pass to update-rc.d. + An example is start 99 5 2 . stop 20 0 1 6 ., which gives the script a + runlevel of 99, starts the script in initlevels 2 and 5, and + stops the script in levels 0, 1 and 6. +

+

+ The variable is mandatory and is used in recipes when using + update-rc.d.bbclass. +

+
+
+
+
+

K

+
+
+KBRANCH
+
+

+ A regular expression used by the build process to explicitly identify the kernel + branch that is validated, patched and configured during a build. + The KBRANCH variable is optional. + You can use it to trigger checks to ensure the exact kernel branch you want is + being used by the build process. +

+

+ Values for this variable are set in the kernel's recipe file and the kernel's + append file. + For example, if you are using the Yocto Project kernel that is based on the + Linux 3.4 kernel, the kernel recipe file is the + meta/recipes-kernel/linux/linux-yocto_3.4.bb file. + Following is the default value for KBRANCH and the default + override for the architectures the Yocto Project supports: +

+
+     KBRANCH_DEFAULT = "standard/base"
+     KBRANCH = "${KBRANCH_DEFAULT}"
+                    
+

+ This branch exists in the linux-yocto-3.4 kernel Git + repository http://git.yoctoproject.org/cgit.cgi/linux-yocto-3.4/refs/heads. +

+

+ This variable is also used from the kernel's append file to identify the kernel + branch specific to a particular 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 + meta-intel Git repository and is named + meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend. + Here are the related statements from the append file: +

+
+     COMPATIBLE_MACHINE_crownbay = "crownbay"
+     KMACHINE_crownbay  = "crownbay"
+     KBRANCH_crownbay  = "standard/crownbay"
+
+     COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
+     KMACHINE_crownbay-noemgd  = "crownbay"
+     KBRANCH_crownbay-noemgd  = "standard/crownbay"
+                    
+

+ The KBRANCH_* statements identify the kernel branch to + use when building for the Crown Bay BSP. + In this case there are two identical statements: one for each type of + Crown Bay machine. +

+
+
+KERNEL_FEATURES
+
+

Includes additional metadata from the Yocto Project kernel Git repository. + In the OpenEmbedded build system, the default Board Support Packages (BSPs) + metadata is provided through + the KMACHINE and KBRANCH variables. + You can use the KERNEL_FEATURES variable to further + add metadata for all BSPs.

+

The metadata you add through this variable includes config fragments and + features descriptions, + which usually includes patches as well as config fragments. + You typically override the KERNEL_FEATURES variable + for a specific machine. + In this way, you can provide validated, but optional, sets of kernel + configurations and features.

+

For example, the following adds netfilter to all + the Yocto Project kernels and adds sound support to the qemux86 + machine: +

+
+     # Add netfilter to all linux-yocto kernels
+     KERNEL_FEATURES="features/netfilter"
+
+     # Add sound support to the qemux86 machine
+     KERNEL_FEATURES_append_qemux86=" cfg/sound"
+                    
+
+
+KERNEL_IMAGETYPE
+

The type of kernel to build for a device, usually set by the + machine configuration files and defaults to "zImage". + This variable is used + when building the kernel and is passed to make as the target to + build.

+
+KMACHINE
+
+

+ The machine as known by the kernel. + Sometimes the machine name used by the kernel does not match the machine name + used by the OpenEmbedded build system. + For example, the machine name that the OpenEmbedded build system understands as + qemuarm goes by a different name in the Linux Yocto kernel. + The kernel understands that machine as arm_versatile926ejs. + For cases like these, the KMACHINE variable maps the + kernel machine name to the OpenEmbedded build system machine name. +

+

+ Kernel machine names are initially defined in the + Yocto Linux Kernel in + the meta branch. + From the meta branch, look in + the meta/cfg/kernel-cache/bsp/<bsp_name>/<bsp-name>-<kernel-type>.scc file. + For example, from the meta branch in the + linux-yocto-3.0 kernel, the + meta/cfg/kernel-cache/bsp/cedartrail/cedartrail-standard.scc file + has the following: +

+
+     define KMACHINE cedartrail
+     define KTYPE standard
+     define KARCH i386
+
+     include ktypes/standard
+     branch cedartrail
+
+     include cedartrail.scc                    
+                    
+

+ You can see that the kernel understands the machine name for the Cedar Trail BSP as + cedartrail. +

+

+ If you look in the Cedar Trail BSP layer in the meta-intel source + repository at meta-cedartrail/recipes-kernel/linux/linux-yocto_3.0.bbappend, + you will find the following statements among others: +

+
+     COMPATIBLE_MACHINE_cedartrail = "cedartrail"
+     KMACHINE_cedartrail  = "cedartrail"
+     KBRANCH_cedartrail  = "yocto/standard/cedartrail"
+     KERNEL_FEATURES_append_cedartrail += "bsp/cedartrail/cedartrail-pvr-merge.scc"
+     KERNEL_FEATURES_append_cedartrail += "cfg/efi-ext.scc"
+
+     COMPATIBLE_MACHINE_cedartrail-nopvr = "cedartrail"
+     KMACHINE_cedartrail-nopvr  = "cedartrail"
+     KBRANCH_cedartrail-nopvr  = "yocto/standard/cedartrail"
+     KERNEL_FEATURES_append_cedartrail-nopvr += " cfg/smp.scc"
+                    
+

+ The KMACHINE statements in the kernel's append file make sure that + the OpenEmbedded build system and the Yocto Linux kernel understand the same machine + names. +

+

+ This append file uses two KMACHINE statements. + The first is not really necessary but does ensure that the machine known to the + OpenEmbedded build system as cedartrail maps to the machine + in the kernel also known as cedartrail: +

+
+     KMACHINE_cedartrail  = "cedartrail"
+                    
+

+

+

+ The second statement is a good example of why the KMACHINE variable + is needed. + In this example, the OpenEmbedded build system uses the cedartrail-nopvr + machine name to refer to the Cedar Trail BSP that does not support the propriatory + PowerVR driver. + The kernel, however, uses the machine name cedartrail. + Thus, the append file must map the cedartrail-nopvr machine name to + the kernel's cedartrail name: +

+
+     KMACHINE_cedartrail-nopvr  = "cedartrail"
+                    
+

+

+

+ BSPs that ship with the Yocto Project release provide all mappings between the Yocto + Project kernel machine names and the OpenEmbedded machine names. + Be sure to use the KMACHINE if you create a BSP and the machine + name you use is different than that used in the kernel. +

+
+
+
+
+

L

+
+
+LAYERDEPENDS
+

Lists the layers that this recipe depends upon, separated by spaces. + Optionally, you can specify a specific layer version for a dependency + by adding it to the end of the layer name with a colon, (e.g. "anotherlayer:3" + to be compared against LAYERVERSION_anotherlayer in this case). + An error will be produced if any dependency is missing or + the version numbers do not match exactly (if specified). + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERDEPENDS_mylayer).

+
+LAYERDIR
+

When used inside the layer.conf configuration + file, this variable provides the path of the current layer. + This variable requires immediate expansion + (see the BitBake manual) as lazy expansion can result in + the expansion happening in the wrong directory and therefore + giving the wrong value.

+
+LAYERVERSION
+

Optionally specifies the version of a layer as a single number. + You can use this within LAYERDEPENDS for another layer in order to + depend on a specific version of the layer. + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERVERSION_mylayer).

+
+LIC_FILES_CHKSUM
+
+

Checksums of the license text in the recipe source code.

+

This variable tracks changes in license text of the source + code files. + If the license text is changed, it will trigger a build + failure, which gives the developer an opportunity to review any + license change.

+

+ This variable must be defined for all recipes (unless LICENSE + is set to "CLOSED")

+

For more information, see the + + Tracking License Changes section

+
+
+LICENSE
+
+

+ The list of source licenses for the recipe. + Follow these rules: +

+
    +
  • Do not use spaces within individual + license names.

  • +
  • Separate license names using + | (pipe) when there is a choice between licenses. +

  • +
  • Separate license names using + & (ampersand) when multiple licenses exist + that cover different parts of the source. +

  • +
  • You can use spaces between license + names.

  • +
+

+

+

+ Here are some examples: +

+
+     LICENSE = "LGPLv2.1 | GPLv3"
+     LICENSE = "MPL-1 & LGPLv2.1"
+     LICENSE = "GPLv2+"
+                    
+

+ The first example is from the recipes for Qt, which the user + may choose to distribute under either the LGPL version + 2.1 or GPL version 3. + The second example is from Cairo where two licenses cover + different parts of the source code. + The final example is from sysstat, + which presents a single license. +

+
+
+LICENSE_PATH
+
+

Path to additional licenses used during the build. + By default, the OpenEmbedded build system uses COMMON_LICENSE_DIR + to define the directory that holds common license text used during the build. + The LICENSE_PATH variable allows you to extend that + location to other areas that have additional licenses: +

+
+  LICENSE_PATH += "/path/to/additional/common/licenses"
+                    
+
+
+
+
+

M

+
+
+MACHINE
+
+

+ Specifies the target device for which the image is built. + You define MACHINE in the + local.conf file found in the + Build Directory. + By default, MACHINE is set to + "qemux86", which is an x86-based architecture machine to + be emulated using QEMU: +

+
+     MACHINE ?= "qemux86"
+                    
+

+ The variable corresponds to a machine configuration file of the + same name, through which machine-specific configurations are set. + Thus, when MACHINE is set to "qemux86" there + exists the corresponding qemux86.conf machine + configuration file, which can be found in the + Source Directory + in meta/conf/machine. +

+

+ The list of machines supported by the Yocto Project as + shipped include the following: +

+
+     MACHINE ?= "qemuarm"
+     MACHINE ?= "qemumips"
+     MACHINE ?= "qemuppc"
+     MACHINE ?= "qemux86"
+     MACHINE ?= "qemux86-64"
+     MACHINE ?= "atom-pc"
+     MACHINE ?= "beagleboard"
+     MACHINE ?= "mpc8315e-rdb"
+     MACHINE ?= "routerstationpro"
+                    
+

+ The last four are Yocto Project reference hardware boards, which + are provided in the meta-yocto-bsp layer. +

+
+

Note

Adding additional Board Support Package (BSP) layers + to your configuration adds new possible settings for + MACHINE. +
+

+

+
+
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS
+
+

+

+ A list of required machine-specific packages to install as part of + the image being built. + The build process depends on these packages being present. + Furthermore, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. +

+

+ This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. +

+

+ As an example, suppose the machine for which you are building requires + example-init to be run during boot to initialize the hardware. + In this case, you would use the following in the machine's + .conf configuration file: +

+
+     MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init"
+                    
+

+

+
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS
+
+

+

+ A list of recommended machine-specific packages to install as part of + the image being built. + The build process does not depend on these packages being present. + However, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. +

+

+ This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will still build if a package in this list is not found. + Typically, this variable is used to handle essential kernel modules, whose + functionality may be selected to be built into the kernel rather than as a module, + in which case a package will not be produced. +

+

+ Consider an example where you have a custom kernel where a specific touchscreen + driver is required for the machine to be usable. + However, the driver can be built as a module or + into the kernel depending on the kernel configuration. + If the driver is built as a module, you want it to be installed. + But, when the driver is built into the kernel, you still want the + build to succeed. + This variable sets up a "recommends" relationship so that in the latter case, + the build will not fail due to the missing package. + To accomplish this, assuming the package for the module was called + kernel-module-ab123, you would use the + following in the machine's .conf configuration + file: +

+
+     MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123"
+                    
+

+

+

+ Some examples of these machine essentials are flash, screen, keyboard, mouse, + or touchscreen drivers (depending on the machine). +

+
+
+MACHINE_EXTRA_RDEPENDS
+
+

+ A list of machine-specific packages to install as part of the + image being built that are not essential for the machine to boot. + However, the build process for more fully-featured images + depends on the packages being present. +

+

+ This variable affects all images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. +

+

+ The variable is similar to the + MACHINE_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. +

+

+ An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + the WiFi. + The package containing the firmware for the WiFi hardware is always + expected to exist, so it is acceptable for the build process to depend upon + finding the package. + In this case, assuming the package for the firmware was called + wifidriver-firmware, you would use the following in the + .conf file for the machine: +

+
+     MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware"
+                    
+

+

+
+
+MACHINE_EXTRA_RRECOMMENDS
+
+

+

+ A list of machine-specific packages to install as part of the + image being built that are not essential for booting the machine. + The image being built has no build dependency on this list of packages. +

+

+ This variable affects only images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. +

+

+ This variable is similar to the + MACHINE_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will build if a file in this list is not found. +

+

+ An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + WiFi. + In this case, the package containing the WiFi kernel module will not be produced + if the WiFi driver is built into the kernel, in which case you still want the + build to succeed instead of failing as a result of the package not being found. + To accomplish this, assuming the package for the module was called + kernel-module-examplewifi, you would use the + following in the .conf file for the machine: +

+
+     MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi"
+                    
+

+

+
+
+MACHINE_FEATURES
+
+

Specifies the list of hardware features the + MACHINE supports. + For example, including the "bluetooth" feature causes the + bluez bluetooth daemon to be built and + added to the image. + It also causes the connman recipe + to look at MACHINE_FEATURES and when it + finds "bluetooth" there it enables the bluetooth + support in ConnMan. +

+

+ For a list of features supported by the Yocto Project as shipped, + see the "Machine" section. +

+
+
+MACHINE_FEATURES_BACKFILL
+
+

Features to be added to + MACHINE_FEATURES + if not also present in + MACHINE_FEATURES_BACKFILL_CONSIDERED. +

+

+ This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which machine features are + being backfilled for all machine configurations. + See the Feature backfilling section for + more information. +

+
+
+MACHINE_FEATURES_BACKFILL_CONSIDERED
+

Features from + MACHINE_FEATURES_BACKFILL + that should not be backfilled (i.e. added to + MACHINE_FEATURES) + during the build. + See the Feature backfilling section for + more information. +

+
+MAINTAINER
+

The email address of the distribution maintainer.

+
+MLPREFIX
+

+ Specifies a prefix has been added to + PN to create a special version + of a recipe or package, such as a multilib version. + The variable is used in places where the prefix needs to be + added to or removed from a the name (e.g. the + BPN variable). + MLPREFIX gets set when a prefix has been + added to PN. +

+
+MULTIMACH_TARGET_SYS
+

+ Separates files for different machines such that you can build + for multiple target machines using the same output directories. + See the STAMP variable + for an example. +

+
+
+
+

O

+
+
+OE_TERMINAL
+
+

+ Controls how the OpenEmbedded build system spawns + interactive terminals on the host development system + (e.g. using the BitBake command with the + -c devshell command-line option). + For more information, see the + "Using a Development Shell" section + in the Yocto Project Development Manual. +

+

+ You can use the following values for the + OE_TERMINAL variable: +

+
+     auto
+     gnome
+     xfce
+     rxvt
+     screen
+     konsole
+     none 
+                    
+

+

+
+

Note

Konsole support only works for KDE 3.x. + Also, "auto" is the default behavior for + OE_TERMINAL +
+

+

+
+
+
+
+

P

+
+
+P
+
+

The recipe name and version. + P is comprised of the following: +

+
+     ${PN}-${PV}
+                    
+
+
+PACKAGE_ARCH
+

The architecture of the resulting package or packages.

+
+PACKAGE_BEFORE_PN
+

Enables easily adding packages to + PACKAGES + before ${PN} so that the packages can pick + up files that would normally be included in the default package.

+
+PACKAGE_CLASSES
+
+

This variable, which is set in the local.conf configuration + file found in the conf folder of the + Source Directory, + specifies the package manager to use when packaging data. + You can provide one or more arguments for the variable with the first + argument being the package manager used to create images: +

+
+     PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+                    
+

+ For information on build performance effects as a result of the + package manager use, see + Packaging - package*.bbclass + in this manual. +

+
+
+PACKAGE_EXTRA_ARCHS
+

Specifies the list of architectures compatible with the device CPU. + This variable is useful when you build for several different devices that use + miscellaneous processors such as XScale and ARM926-EJS).

+
+PACKAGECONFIG
+
+

+ This variable provides a means of enabling or disabling + features of a recipe on a per-recipe basis. + The PACKAGECONFIG + variable itself specifies a space-separated list of the + features to enable. + The features themselves are specified as flags on the + PACKAGECONFIG variable. + You can provide up to four arguments, which are separated by + commas, to determine the behavior of each feature + when it is enabled or disabled. + You can omit any argument you like but must retain the + separating commas. + The arguments specify the following: +

+
    +
  1. Extra arguments + that should be added to the configure script argument list + (EXTRA_OECONF) + if the feature is enabled.

  2. +
  3. Extra arguments + that should be added to EXTRA_OECONF + if the feature is disabled. +

  4. +
  5. Additional build dependencies + (DEPENDS) + that should be added if the feature is enabled. +

  6. +
  7. Additional runtime dependencies + (RDEPENDS) + that should be added if the feature is enabled. +

  8. +
+

+

+

+ Consider the following example taken from the + librsvg recipe. + In this example the feature is croco, which + has three arguments that determine the feature's behavior. +

+
+     PACKAGECONFIG ??= "croco"
+     PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco"
+                        
+

+ The --with-croco and + libcroco arguments apply only if + the feature is enabled. + In this case, --with-croco is + added to the configure script argument list and + libcroco is added to + DEPENDS. + On the other hand, if the feature is disabled say through + a .bbappend file in another layer, then + the second argument --without-croco is + added to the configure script rather than + --with-croco. +

+
+
+PACKAGES
+
+

The list of packages to be created from the recipe. + The default value is the following: +

+
+     ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
+                    
+
+
+PACKAGES_DYNAMIC
+
+

+ A promise that your recipe satisfies runtime dependencies + for optional modules that are found in other recipes. + PACKAGES_DYNAMIC + does not actually satisfy the dependencies, it only states that + they should be satisfied. + For example, if a hard, runtime dependency + (RDEPENDS) of another package is satisfied + at build time through the PACKAGES_DYNAMIC + variable, but a package with the module name is never actually + produced, then the other package will be broken. + Thus, if you attempt to include that package in an image, + you will get a dependency failure from the packaging system + during do_rootfs. + Typically, if there is a chance that such a situation can + occur and the package that is not created is valid + without the dependency being satisfied, then you should use + RRECOMMENDS (a soft runtime dependency) + instead of RDEPENDS. +

+

+ For an example of how to use the PACKAGES_DYNAMIC + variable when you are splitting packages, see the + "Handling Optional Module Packaging" section + in the Yocto Project Development Manual. +

+
+
+PARALLEL_MAKE
+

Specifies extra options that are passed to the make command during the + compile tasks. + This variable is usually in the form -j 4, where the number + represents the maximum number of parallel threads make can run. + If you development host supports multiple cores a good rule of thumb is to set + this variable to twice the number of cores on the host.

+
+PF
+
+

Specifies the recipe or package name and includes all version and revision + numbers (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/). + This variable is comprised of the following: +

+
+     ${PN}-${EXTENDPE}${PV}-${PR}
+                    
+
+
+PN
+
+

This variable can have two separate functions depending on the context: a recipe + name or a resulting package name.

+

PN refers to a recipe name in the context of a file used + by the OpenEmbedded build system as input to create a package. + The name is normally extracted from the recipe file name. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PN + will be "expat".

+

+ The variable refers to a package name in the context of a file created or produced by the + OpenEmbedded build system.

+

If applicable, the PN variable also contains any special + suffix or prefix. + For example, using bash to build packages for the native + machine, PN is bash-native. + Using bash to build packages for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. +

+
+
+PR
+

The revision of the recipe. + The default value for this variable is "r0". +

+
+PRINC
+
+

Causes the PR variable of + .bbappend files to dynamically increment. + This increment minimizes the impact of layer ordering.

+

In order to ensure multiple .bbappend files can co-exist, + PRINC should be self referencing. + This variable defaults to 0.

+

Following is an example that increments PR by two: +

+
+     PRINC := "${@int(PRINC) + 2}"
+                    
+

+ It is adviseable not to use strings such as ".= '.1'" with the variable because + this usage is very sensitive to layer ordering. + Explicit assignments should be avoided as they cannot adequately represent multiple + .bbappend files.

+
+
+PV
+

The version of the recipe. + The version is normally extracted from the recipe filename. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PV + will be "2.0.1". + PV is generally not overridden within + a recipe unless it is building an unstable (i.e. development) version from a source code repository + (e.g. Git or Subversion). +

+
+PE
+

+ the epoch of the recipe. + The default value is "0". + The field is used to make upgrades possible when the versioning scheme changes in + some backwards incompatible way. +

+
+PREFERRED_PROVIDER
+
+

+ If multiple recipes provide an item, this variable + determines which recipe should be given preference. + The variable must always be suffixed with the name of the + provided item, and should be set to the + PN of the recipe + to which you want to give precedence. + Here is an example: +

+
+     PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
+                    
+

+

+
+
+PREFERRED_VERSION
+
+

+ If there are multiple versions of recipes available, this + variable determines which recipe should be given preference. + The variable must always be suffixed with the PN + for which to select, and should be set to the + PV to which you want to give precedence. + You can use the "%" character as a wildcard + to match any number of characters, which can be useful when + specifying versions that contain long revision number that could + potentially change. + Here are two examples: +

+
+     PREFERRED_VERSION_python = "2.6.6"
+     PREFERRED_VERSION_linux-yocto = "3.0+git%" 
+                    
+

+

+
+
+
+
+

R

+
+
+RCONFLICTS
+
+

The list of packages that conflict with a package. + Note that the package will not be installed if the conflicting packages are not + first removed.

+

+ Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: +

+
+     RCONFLICTS_${PN} = "another-conflicting-package-name"
+                   
+

+

+
+
+RDEPENDS
+
+

+ Lists a package's run-time dependencies (i.e. other packages) + that must be installed for the package to be built. + In other words, in order for the package to be built and + run correctly, it depends on the listed packages. + If a package in this list cannot be found, it is probable + that a dependency error would occur before the build. +

+

+ The names of the variables you list with + RDEPENDS must be the names of other + packages as listed in the + PACKAGES + variable. + You should not list recipe names (PN). +

+

+ Because the RDEPENDS variable applies + to packages being built, you should + always attach a package name to the variable to specify the + particular run-time package that has the dependency. + For example, suppose you are building a development package + that depends on the perl package. + In this case, you would use the following + RDEPENDS statement: +

+
+     RDEPENDS_${PN}-dev += "perl"
+                    
+

+ In the example, the package name + (${PN}-dev) must appear as it would + in the + PACKAGES + namespace before any renaming of the output package by + classes like debian.bbclass. +

+

+ In many cases you do not need to explicitly add dependencies + to RDEPENDS since some automatic + handling occurs: +

+
    +
  • shlibdeps: If + a run-time package contains a shared library + (.so), the build + processes the library in order to determine other + libraries to which it is dynamically linked. + The build process adds these libraries to + RDEPENDS when creating the run-time + package.

  • +
  • pcdeps: If + the package ships a pkg-config + information file, the build process uses this file + to add items to the RDEPENDS + variable to create the run-time packages. +

  • +
+

+

+
+
+RRECOMMENDS
+
+

+ A list of packages that extend the usability of a package being + built. + The package being built does not depend on this list of packages in + order to successfully build, but needs them for the extended usability. + To specify runtime dependencies for packages, see the + RDEPENDS variable. +

+

+ The OpenEmbedded build process automatically installs the list of packages + as part of the built package. + However, you can remove them later if you want. + If, during the build, a package from the list cannot be found, the build + process continues without an error. +

+

+ Because the RRECOMMENDS variable applies to packages + being built, you should + always attach an override to the variable to specify the particular package + whose usability is being extended. + For example, suppose you are building a development package that is extended + to support wireless functionality. + In this case, you would use the following: +

+
+     RRECOMMENDS_${PN}-dev += "<wireless_package_name>"
+                    
+

+ In the example, the package name (${PN}-dev) must + appear as it would in the + PACKAGES namespace before any + renaming of the output package by classes like debian.bbclass. +

+
+
+RREPLACES
+

The list of packages that are replaced with this package.

+
+
+
+

S

+
+
+S
+
+

+ The location in the Build Directory + where unpacked package source code resides. + This location is within the working directory + (WORKDIR), which + is not static. + The unpacked source location depends on the package name + (PN) and + package version (PV) as + follows: +

+
+ ${WORKDIR}/${PN}-${PV}
+                    
+

+ As an example, assume a + Source Directory top-level + folder named poky + and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the db package is the following: +

+
+ ~/poky/build/tmp/work/qemux86-poky-linux/db-5.1.19-r3/db-5.1.19
+                    
+

+

+
+
+SDKIMAGE_FEATURES
+

Equivalent to + IMAGE_FEATURES. + However, this variable applies to the SDK generated from an image using + bitbake -c populate_sdk imagename). +

+
+SECTION
+

The section in which packages should be categorized. + Package management utilities can make use of this variable.

+
+SELECTED_OPTIMIZATION
+

+ The variable takes the value of + FULL_OPTIMIZATION + unless DEBUG_BUILD = "1". + In this case the value of + DEBUG_OPTIMIZATION is used. +

+
+SERIAL_CONSOLE
+

The speed and device for the serial port used to attach the serial console. + This variable is given to the kernel as the "console" + parameter and after booting occurs getty is started on that port + so remote login is possible.

+
+SITEINFO_ENDIANNESS
+

+ Specifies the endian byte order of the target system. + The value should be either "le" for little-endian or "be" for big-endian. +

+
+SITEINFO_BITS
+

+ Specifies the number of bits for the target system CPU. + The value should be either "32" or "64". +

+
+SPECIAL_PKGSUFFIX
+

+ A list of prefixes for PN used by the + OpenEmbedded build system to create variants of recipes or packages. + The list specifies the prefixes to strip off during certain circumstances + such as the generation of the BPN variable. +

+
+SRC_URI
+
+

The list of source files - local or remote. + This variable tells the OpenEmbedded build system which bits to pull + in for the build and how to pull them in. + For example, if the recipe only needs to fetch a tarball from the + internet, the recipe uses a single SRC_URI entry. + On the other hand, if the recipe needs to fetch a tarball, apply + two patches, and include a custom file, the recipe would include four + instances of the variable.

+

The following list explains the available URI protocols: +

+
    +
  • +

    file:// - Fetches files, which is usually + a file shipped with the metadata, from the local machine. + The path is relative to the + FILESPATH + variable. + Thus, the build system searches, in order, from the following directories, + which are assumed to be a subdirectories of the directory in which the + recipe file resides: +

    +
      +
    • ${PN} - The recipe name + with any special suffix or prefix, if applicable. + For example, using bash to build for the native + machine, PN is bash-native. + Using bash to build for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. +

    • +
    • ${PF} - + ${PN}-${EXTENDPE}${PV}-${PR}. + The recipe name including all version and revision numbers + (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/).

    • +
    • ${P} - + ${PN}-${PV}. + The recipe name and version (i.e. bash-4.2). +

    • +
    • ${BPN} - The + base recipe name without any special suffix or version numbers. +

    • +
    • ${BP} - + ${BPN}-${PV}. + The base recipe name and version but without any special + package name suffix.

    • +
    • Files - Files beneath the directory in which the recipe + resides.

    • +
    • Directory - The directory itself in which the recipe + resides.

    • +
    +
  • +
  • bzr:// - Fetches files from a + Bazaar revision control repository.

  • +
  • git:// - Fetches files from a + Git revision control repository.

  • +
  • osc:// - Fetches files from + an OSC (OpenSuse Build service) revision control repository.

  • +
  • repo:// - Fetches files from + a repo (Git) repository.

  • +
  • svk:// - Fetches files from + an SVK revision control repository.

  • +
  • http:// - Fetches files from + the Internet using http.

  • +
  • https:// - Fetches files + from the Internet using https.

  • +
  • ftp:// - Fetches files + from the Internet using ftp.

  • +
  • cvs:// - Fetches files from + a CVS revision control repository.

  • +
  • hg:// - Fetches files from + a Mercurial (hg) revision control repository.

  • +
  • p4:// - Fetches files from + a Perforce (p4) revision control repository.

  • +
  • ssh:// - Fetches files from + a secure shell.

  • +
  • svn:// - Fetches files from + a Subversion (svn) revision control repository.

  • +
+

+

+

Standard and recipe-specific options for SRC_URI exist. + Here are standard options: +

+
    +
  • apply - Whether to apply + the patch or not. + The default action is to apply the patch.

  • +
  • striplevel - Which + striplevel to use when applying the patch. + The default level is 1.

  • +
+

+

+

Here are options specific to recipes building code from a revision control system: +

+
    +
  • mindate - Only applies + the patch if SRCDATE + is equal to or greater than mindate.

  • +
  • maxdate - Only applies + the patch if SRCDATE + is not later than mindate.

  • +
  • minrev - Only applies + the patch if SRCREV + is equal to or greater than minrev.

  • +
  • maxrev - Only applies + the patch if SRCREV + is not later than maxrev.

  • +
  • rev - Only applies the + patch if SRCREV + is equal to rev.

  • +
  • notrev - Only applies + the patch if SRCREV + is not equal to rev.

  • +
+

+

+

Here are some additional options worth mentioning: +

+
    +
  • unpack - Controls + whether or not to unpack the file if it is an archive. + The default action is to upack the file.

  • +
  • subdir - Places the file + (or extracts its contents) into the specified + subdirectory of WORKDIR. + This option is useful for unusual tarballs or other archives that + don't have their files already in a subdirectory within the archive. +

  • +
  • name - Specifies a + name to be used for association with SRC_URI checksums + when you have more than one file specified in SRC_URI. +

  • +
  • downloadfilename - Specifies + the filename used when storing the downloaded file.

  • +
+

+

+
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH
+
+

+

+ By default, the OpenEmbedded build system automatically detects whether + SRC_URI + contains files that are machine-specific. + If so, the build system automatically changes + PACKAGE_ARCH. + Setting this variable to "0" disables this behavior. +

+
+
+SRCDATE
+

+ The date of the source code used to build the package. + This variable applies only if the source was fetched from a Source Code Manager (SCM). +

+
+SRCREV
+

+ The revision of the source code used to build the package. + This variable applies to Subversion, Git, Mercurial and Bazaar + only. + Note that if you wish to build a fixed revision and you wish + to avoid performing a query on the remote repository every time + BitBake parses your recipe, you should specify a SRCREV that is a + full revision identifier and not just a tag. +

+
+SSTATE_DIR
+

The directory for the shared state.

+
+SSTATE_MIRRORS
+
+

+ Configures the OpenEmbedded build system to search other + mirror locations for prebuilt cache data objects before + building out the data. + This variable works like fetcher + MIRRORS/PREMIRRORS + and points to the cache locations to check for the shared + objects. +

+

+ You can specify a filesystem directory or a remote URL such + as HTTP or FTP. + The locations you specify need to contain the shared state + cache (sstate-cache) results from previous builds. + The sstate-cache you point to can also be from builds on + other machines. +

+

+ If a mirror uses the same structure as + SSTATE_DIR, + you need to add + "PATH" at the end as shown in the examples below. + The build system substitues the correct path within the + directory structure. +

+
+     SSTATE_MIRRORS ?= "\
+     file://.* http://someserver.tld/share/sstate/PATH \n \
+     file://.* file:///some/local/dir/sstate/PATH"
+                    
+

+

+
+
+STAGING_KERNEL_DIR
+

+ The directory with kernel headers that are required to build out-of-tree + modules. +

+
+STAMP
+
+

+ Specifies the base path used to create recipe stamp files. + The path to an actual stamp file is constructed by evaluating this + string and then appending additional information. + Currently, the default assignment for STAMP + as set in the meta/conf/bitbake.conf file + is: +

+
+     STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}-${EXTENDPE}${PV}-${PR}"
+                    
+

+ See TMPDIR, + MULTIMACH_TARGET_SYS, + PN, + EXTENDPE, + PV, and + PR for related variable + information. +

+
+
+SUMMARY
+

The short (72 characters or less) summary of the binary package for packaging + systems such as opkg, rpm or + dpkg. + By default, SUMMARY is used to define + the DESCRIPTION + variable if DESCRIPTION is not set + in the recipe. +

+
+
+
+

T

+
+
+T
+
+

This variable points to a directory were Bitbake places temporary + files when building a particular package. + It is typically set as follows: +

+
+     T = ${WORKDIR}/temp
+                    
+

+ The WORKDIR + is the directory into which Bitbake unpacks and builds the package. + The default bitbake.conf file sets this variable.

+

The T variable is not to be confused with + the TMPDIR variable, + which points to the root of the directory tree where Bitbake + places the output of an entire build. +

+
+
+TARGET_ARCH
+

The architecture of the device being built. + While a number of values are possible, the OpenEmbedded build system primarily supports + arm and i586.

+
+TARGET_CFLAGS
+

+ Flags passed to the C compiler for the target system. + This variable evaluates to the same as + CFLAGS. +

+
+TARGET_FPU
+

Specifies the method for handling FPU code. + For FPU-less targets, which include most ARM CPUs, the variable must be + set to "soft". + If not, the kernel emulation gets used, which results in a performance penalty.

+
+TARGET_OS
+

Specifies the target's operating system. + The variable can be set to "linux" for eglibc-based systems and + to "linux-uclibc" for uclibc. + For ARM/EABI targets, there are also "linux-gnueabi" and + "linux-uclibc-gnueabi" values possible.

+
+TCLIBC
+
+

+ Specifies which variant of the GNU standard C library (libc) + to use during the build process. + This variable replaces POKYLIBC, which is no longer + supported. +

+

+ You can select eglibc or uclibc. +

+
+

Note

+ This release of the Yocto Project does not support the + glibc implementation of libc. +
+

+

+
+
+TCMODE
+
+

+ The toolchain selector. + This variable replaces POKYMODE, which is no longer + supported. +

+

+ The TCMODE variable selects the external toolchain + built using the OpenEmbedded build system or a few supported combinations of + the upstream GCC or CodeSourcery Labs toolchain. + The variable identifies the tcmode-* files used in + the meta/conf/distro/include directory, which is found in the + Source Directory. +

+

+ By default, TCMODE is set to "default", which + chooses the tcmode-default.inc file. + The variable is similar to + TCLIBC, which controls + the variant of the GNU standard C library (libc) + used during the build process: eglibc or uclibc. +

+
+
+TMPDIR
+
+

+ This variable is the temporary directory the OpenEmbedded build system + uses when it does its work building images. + By default, the TMPDIR variable is named + tmp within the + Build Directory. +

+

+ If you want to establish this directory in a location other than the + default, you can uncomment the following statement in the + conf/local.conf file in the + Source Directory: +

+
+     #TMPDIR = "${TOPDIR}/tmp"
+                    
+

+

+
+
+TOPDIR
+

+ This variable is the + Build Directory. + BitBake automatically sets this variable. + The OpenEmbedded build system uses the Build Directory when building images. +

+
+
+
+

W

+
+
+WORKDIR
+
+

+ The pathname of the working directory in which the OpenEmbedded build system + builds a recipe. + This directory is located within the + TMPDIR directory structure and changes + as different packages are built. +

+

+ The actual WORKDIR directory depends on several things: +

+
    +
  • The temporary directory - TMPDIR +
  • +
  • The package architecture - PACKAGE_ARCH +
  • +
  • The target machine - MACHINE +
  • +
  • The target operating system - TARGET_OS +
  • +
  • The recipe name - PN +
  • +
  • The recipe version - PV +
  • +
  • The recipe revision - PR +
  • +
+

+

+

+ For packages that are not dependent on a particular machine, + WORKDIR is defined as follows: +

+
+ ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
+                    
+

+ As an example, assume a + Source Directory top-level + folder name poky and a default + Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the v86d package is the following: +

+
+     ~/poky/build/tmp/work/qemux86-poky-linux/v86d-01.9-r0
+                    
+

+

+

+ For packages that are dependent on a particular machine, WORKDIR + is defined slightly different: +

+
+ ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
+                    
+

+ As an example, again assume a Source Directory top-level folder + named poky and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the acl recipe, which is being built for a + MIPS-based device, is the following: +

+
+     ~/poky/build/tmp/work/mips-poky-linux/acl-2.2.51-r2
+                    
+

+

+
+
+
+
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-distro.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-distro.html new file mode 100644 index 0000000000..ba26400d5a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-distro.html @@ -0,0 +1,40 @@ + + + +11.1.1. Distribution (Distro) + + + + + + + +
+

+11.1.1. Distribution (Distro)

+

+ This section lists variables whose context is the distribution, or distro. +

+ +

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-local.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-local.html new file mode 100644 index 0000000000..2067374c26 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-local.html @@ -0,0 +1,42 @@ + + + +11.1.3. Local + + + + + + + +
+

+11.1.3. Local

+

+ This section lists variables whose context is the local configuration through the + local.conf file. +

+ +

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-machine.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-machine.html new file mode 100644 index 0000000000..82ee2a4e6d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-config-machine.html @@ -0,0 +1,41 @@ + + + +11.1.2. Machine + + + + + + + + + diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-configuration.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-configuration.html new file mode 100644 index 0000000000..c6a1c87198 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-configuration.html @@ -0,0 +1,20 @@ + + + +11.1. Configuration + + + + + + + +
+

+11.1. Configuration

+

+ The following subsections provide lists of variables whose context is + configuration: distribution, machine, and local. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-build.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-build.html new file mode 100644 index 0000000000..3068ceb8d2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-build.html @@ -0,0 +1,33 @@ + + + +11.2.4. Extra Build Information + + + + + + + +
+

+11.2.4. Extra Build Information

+

+ This section lists variables that define extra build information for recipes. +

+ +

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-dependencies.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-dependencies.html new file mode 100644 index 0000000000..4a172a7751 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-dependencies.html @@ -0,0 +1,33 @@ + + + +11.2.2. Dependencies + + + + + + + +
+

+11.2.2. Dependencies

+

+ This section lists variables that define recipe dependencies. +

+ +

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-paths.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-paths.html new file mode 100644 index 0000000000..92003d344f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-paths.html @@ -0,0 +1,29 @@ + + + +11.2.3. Paths + + + + + + + +
+

+11.2.3. Paths

+

+ This section lists variables that define recipe paths. +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-required.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-required.html new file mode 100644 index 0000000000..bb0355cced --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipe-required.html @@ -0,0 +1,30 @@ + + + +11.2.1. Required + + + + + + + +
+

+11.2.1. Required

+

+ This section lists variables that are required for recipes. +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipes.html new file mode 100644 index 0000000000..5959cdc5ed --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality-recipes.html @@ -0,0 +1,20 @@ + + + +11.2. Recipes + + + + + + + +
+

+11.2. Recipes

+

+ The following subsections provide lists of variables whose context is + recipes: required, dependencies, path, and extra build information. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality.html new file mode 100644 index 0000000000..3cf716975f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ref-varlocality.html @@ -0,0 +1,41 @@ + + + +Chapter 11. Variable Context + + + + + + + +
+

+Chapter 11. Variable Context

+ +

+ While most variables can be used in almost any context such as + .conf, .bbclass, + .inc, and .bb files, + some variables are often associated with a particular locality or context. + This chapter describes some common associations. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/required-packages-for-the-host-development-system.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/required-packages-for-the-host-development-system.html new file mode 100644 index 0000000000..5100bbcb29 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/required-packages-for-the-host-development-system.html @@ -0,0 +1,22 @@ + + + +1.3.2. Required Packages for the Host Development System + + + + + + + +
+

+1.3.2. Required Packages for the Host Development System

+

+ The list of packages you need on the host development system can + be large when covering all build scenarios using the Yocto Project. + This section provides required packages by Linux distribution and + further categorized by function. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-bugtracker.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-bugtracker.html new file mode 100644 index 0000000000..4b4f994671 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-bugtracker.html @@ -0,0 +1,20 @@ + + + +13.2. Tracking Bugs + + + + + + + +
+

+13.2. Tracking Bugs

+

+ If you find problems with the Yocto Project, you should report them using the + Bugzilla application at http://bugzilla.yoctoproject.org. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-contributions.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-contributions.html new file mode 100644 index 0000000000..c7d8c539ae --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-contributions.html @@ -0,0 +1,23 @@ + + + +13.6. Contributions + + + + + + +
+

+13.6. Contributions

+

+ The Yocto Project gladly accepts contributions. + You can submit changes to the project either by creating and sending pull requests, + or by submitting patches through email. + For information on how to do both, see the + "How to Submit a Change" + section in the Yocto Project Development Manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-intro.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-intro.html new file mode 100644 index 0000000000..c7340ff313 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-intro.html @@ -0,0 +1,23 @@ + + + +13.1. Introduction + + + + + + + +
+

+13.1. Introduction

+

+ The Yocto Project team is happy for people to experiment with the Yocto Project. + A number of places exist to find help if you run into difficulties or find bugs. + To find out how to download source code, + see the "Yocto Project Release" + list item in the Yocto Project Development Manual. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-irc.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-irc.html new file mode 100644 index 0000000000..5a611fa6a8 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-irc.html @@ -0,0 +1,25 @@ + + + +13.4. Internet Relay Chat (IRC) + + + + + + + +
+

+13.4. Internet Relay Chat (IRC)

+

+ Two IRC channels on freenode are available for the Yocto Project and Poky discussions: +

+
    +
  • #yocto

  • +
  • #poky

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-links.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-links.html new file mode 100644 index 0000000000..0a153b8f01 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-links.html @@ -0,0 +1,42 @@ + + + +13.5. Links + + + + + + + +
+

+13.5. Links

+

+ Following is a list of resources you will find helpful: +

+
    +
  • The Yocto Project website: + The home site for the Yocto Project.

  • +
  • Intel Corporation: + The company who acquired OpenedHand in 2008 and began development on the + Yocto Project.

  • +
  • OpenEmbedded: + The upstream, generic, embedded distribution used as the basis for the build system in the + Yocto Project. + Poky derives from and contributes back to the OpenEmbedded project.

  • +
  • + BitBake: The tool used to process metadata.

  • +
  • BitBake User Manual: + A comprehensive guide to the BitBake tool. + You can find the BitBake User Manual in the bitbake/doc/manual + directory, which is found in the + Source Directory. +

  • +
  • QEMU: + An open source machine emulator and virtualizer.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-mailinglist.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-mailinglist.html new file mode 100644 index 0000000000..3cc05beea4 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources-mailinglist.html @@ -0,0 +1,39 @@ + + + +13.3. Mailing lists + + + + + + + +
+

+13.3. Mailing lists

+

+ There are a number of mailing lists maintained by the Yocto Project as well as + related OpenEmbedded mailing lists for discussion, patch submission and announcements. + To subscribe to one of the following mailing lists, click on the appropriate URL + in the following list and follow the instructions: +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/resources.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources.html new file mode 100644 index 0000000000..c97f06e0c2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/resources.html @@ -0,0 +1,27 @@ + + + +Chapter 13. Contributing to the Yocto Project + + + + + + + +
+

+Chapter 13. Contributing to the Yocto Project

+ +
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html new file mode 100644 index 0000000000..8f2f5a5ed6 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state-cache.html @@ -0,0 +1,60 @@ + + + +3.2. Shared State Cache + + + + + + + +
+

+3.2. Shared State Cache

+

+ By design, the OpenEmbedded build system builds everything from scratch unless + BitBake can determine that parts don't need to be rebuilt. + Fundamentally, building from scratch is attractive as it means all parts are + built fresh and there is no possibility of stale data causing problems. + When developers hit problems, they typically default back to building from scratch + so they know the state of things from the start. +

+

+ Building an image from scratch is both an advantage and a disadvantage to the process. + As mentioned in the previous paragraph, building from scratch ensures that + everything is current and starts from a known state. + However, building from scratch also takes much longer as it generally means + rebuilding things that don't necessarily need rebuilt. +

+

+ The Yocto Project implements shared state code that supports incremental builds. + The implementation of the shared state code answers the following questions that + were fundamental roadblocks within the OpenEmbedded incremental build support system: +

+
    +
  • What pieces of the system have changed and what pieces have not changed?
  • +
  • How are changed pieces of software removed and replaced?
  • +
  • How are pre-built components that don't need to be rebuilt from scratch + used when they are available?
  • +
+

+

+

+ For the first question, the build system detects changes in the "inputs" to a given task by + creating a checksum (or signature) of the task's inputs. + If the checksum changes, the system assumes the inputs have changed and the task needs to be + rerun. + For the second question, the shared state (sstate) code tracks which tasks add which output + to the build process. + This means the output from a given task can be removed, upgraded or otherwise manipulated. + The third question is partly addressed by the solution for the second question + assuming the build system can fetch the sstate objects from remote locations and + install them if they are deemed to be valid. +

+

+ The rest of this section goes into detail about the overall incremental build + architecture, the checksums (signatures), shared state, and some tips and tricks. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state.html new file mode 100644 index 0000000000..e14e306eb5 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/shared-state.html @@ -0,0 +1,134 @@ + + + +3.2.3. Shared State + + + + + + + +
+

+3.2.3. Shared State

+

+ Checksums and dependencies, as discussed in the previous section, solve half the + problem. + The other part of the problem is being able to use checksum information during the build + and being able to reuse or rebuild specific components. +

+

+ The shared state class (sstate.bbclass) + is a relatively generic implementation of how to "capture" a snapshot of a given task. + The idea is that the build process does not care about the source of a task's output. + Output could be freshly built or it could be downloaded and unpacked from + somewhere - the build process doesn't need to worry about its source. +

+

+ There are two types of output, one is just about creating a directory + in WORKDIR. + A good example is the output of either do_install or + do_package. + The other type of output occurs when a set of data is merged into a shared directory + tree such as the sysroot. +

+

+ The Yocto Project team has tried to keep the details of the implementation hidden in + sstate.bbclass. + From a user's perspective, adding shared state wrapping to a task + is as simple as this do_deploy example taken from + do_deploy.bbclass: +

+
+     DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
+     SSTATETASKS += "do_deploy"
+     do_deploy[sstate-name] = "deploy"
+     do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"
+     do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
+
+     python do_deploy_setscene () {
+         sstate_setscene(d)
+     }
+     addtask do_deploy_setscene
+            
+

+ In the example, we add some extra flags to the task, a name field ("deploy"), an + input directory where the task sends data, and the output + directory where the data from the task should eventually be copied. + We also add a _setscene variant of the task and add the task + name to the SSTATETASKS list. +

+

+ If you have a directory whose contents you need to preserve, you can do this with + a line like the following: +

+
+     do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}"
+            
+

+ This method, as well as the following example, also works for multiple directories. +

+
+     do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}"
+     do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}"
+     do_package[sstate-lockfile] = "${PACKAGELOCK}"
+            
+

+ These methods also include the ability to take a lockfile when manipulating + shared state directory structures since some cases are sensitive to file + additions or removals. +

+

+ Behind the scenes, the shared state code works by looking in + SSTATE_DIR and + SSTATE_MIRRORS + for shared state files. + Here is an example: +

+
+     SSTATE_MIRRORS ?= "\
+     file://.* http://someserver.tld/share/sstate/PATH \n \
+     file://.* file:///some/local/dir/sstate/PATH"
+            
+

+

+
+

Note

+ The shared state directory (SSTATE_DIR) is + organized into two-character subdirectories, where the subdirectory + names are based on the first two characters of the hash. + If the shared state directory structure for a mirror has the + same structure as SSTATE_DIR, you must + specify "PATH" as part of the URI to enable the build system + to map to the appropriate subdirectory. +
+

+

+

+ The shared state package validity can be detected just by looking at the + filename since the filename contains the task checksum (or signature) as + described earlier in this section. + If a valid shared state package is found, the build process downloads it + and uses it to accelerate the task. +

+

+ The build processes uses the *_setscene tasks + for the task acceleration phase. + BitBake goes through this phase before the main execution code and tries + to accelerate any tasks for which it can find shared state packages. + If a shared state package for a task is available, the shared state + package is used. + This means the task and any tasks on which it is dependent are not + executed. +

+

+ As a real world example, the aim is when building an IPK-based image, + only the do_package_write_ipk tasks would have their + shared state packages fetched and extracted. + Since the sysroot is not used, it would never get extracted. + This is another reason why a task-based approach is preferred over a + recipe-based approach, which would have to install the output from every task. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-basic-top-level.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-basic-top-level.html new file mode 100644 index 0000000000..62bdd6b748 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-basic-top-level.html @@ -0,0 +1,20 @@ + + + +5.1.11. LICENSE, README, and README.hardware + + + + + + + +
+

+5.1.11. LICENSE, README, and README.hardware +

+

+ These files are standard top-level files. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-bblayers.conf.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-bblayers.conf.html new file mode 100644 index 0000000000..74f7729330 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-bblayers.conf.html @@ -0,0 +1,23 @@ + + + +5.2.3. build/conf/bblayers.conf + + + + + + + +
+

+5.2.3. build/conf/bblayers.conf +

+

+ This file defines layers, which is a directory tree, traversed (or walked) by BitBake. + If bblayers.conf + is not present, it is created from bblayers.conf.sample when + you source the environment setup script. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-local.conf.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-local.conf.html new file mode 100644 index 0000000000..30f1c10881 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-local.conf.html @@ -0,0 +1,37 @@ + + + +5.2.2. build/conf/local.conf + + + + + + + +
+

+5.2.2. build/conf/local.conf +

+

+ This file contains all the local user configuration for your build environment. + If there is no local.conf present, it is created from + local.conf.sample. + The local.conf file contains documentation on the various configuration options. + Any variable set here overrides any variable set elsewhere within the environment unless + that variable is hard-coded within a file (e.g. by using '=' instead of '?='). + Some variables are hard-coded for various reasons but these variables are + relatively rare. +

+

+ Edit this file to set the MACHINE + for which you want to build, which package types you wish to use + (PACKAGE_CLASSES), + where you want to downloaded files + (DL_DIR), + and how you want your host machine to use resources + (BB_NUMBER_THREADS and + PARALLEL_MAKE). +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-sanity_info.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-sanity_info.html new file mode 100644 index 0000000000..7cb04282b9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-conf-sanity_info.html @@ -0,0 +1,20 @@ + + + +5.2.4. build/conf/sanity_info + + + + + + + +
+

+5.2.4. build/conf/sanity_info +

+

+ This file is created during the build to indicate the state of the sanity checks. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-downloads.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-downloads.html new file mode 100644 index 0000000000..5ca90d8d8d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-downloads.html @@ -0,0 +1,23 @@ + + + +5.2.5. build/downloads/ + + + + + + + +
+

+5.2.5. build/downloads/ +

+

+ This directory is used for the upstream source tarballs. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + DL_DIR variable. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-pseudodone.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-pseudodone.html new file mode 100644 index 0000000000..74f4cd4a90 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-pseudodone.html @@ -0,0 +1,21 @@ + + + +5.2.1. build/pseudodone + + + + + + + +
+

+5.2.1. build/pseudodone +

+

+ This tag file indicates that the initial pseudo binary was created. + The file is built the first time BitBake is invoked. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-sstate-cache.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-sstate-cache.html new file mode 100644 index 0000000000..f1cb3d291b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-sstate-cache.html @@ -0,0 +1,23 @@ + + + +5.2.6. build/sstate-cache/ + + + + + + + +
+

+5.2.6. build/sstate-cache/ +

+

+ This directory is used for the shared state cache. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + SSTATE_DIR variable. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-buildstats.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-buildstats.html new file mode 100644 index 0000000000..c1ad81c98a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-buildstats.html @@ -0,0 +1,20 @@ + + + +5.2.8. build/tmp/buildstats/ + + + + + + + +
+

+5.2.8. build/tmp/buildstats/ +

+

+ This directory stores the build statistics. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-cache.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-cache.html new file mode 100644 index 0000000000..d18f201c6c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-cache.html @@ -0,0 +1,22 @@ + + + +5.2.9. build/tmp/cache/ + + + + + + + +
+

+5.2.9. build/tmp/cache/ +

+

+ When BitBake parses the metadata, it creates a cache file of the result that can + be used when subsequently running commands. + These results are stored here on a per-machine basis. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-deb.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-deb.html new file mode 100644 index 0000000000..42647f54d0 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-deb.html @@ -0,0 +1,22 @@ + + + +5.2.11. build/tmp/deploy/deb/ + + + + + + + +
+

+5.2.11. build/tmp/deploy/deb/ +

+

+ This directory receives any .deb packages produced by + the build process. + The packages are sorted into feeds for different architecture types. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-images.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-images.html new file mode 100644 index 0000000000..b2810d2a76 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-images.html @@ -0,0 +1,44 @@ + + + +5.2.14. build/tmp/deploy/images/ + + + + + + + +
+

+5.2.14. build/tmp/deploy/images/ +

+

+ This directory receives complete filesystem images. + If you want to flash the resulting image from a build onto a device, look here for the image. +

+

+ Be careful when deleting files in this directory. + You can safely delete old images from this directory (e.g. + core-image-*, hob-image-*, + etc.). + However, the kernel (*zImage*, *uImage*, etc.), + bootloader and other supplementary files might be deployed here prior to building an + image. + Because these files, however, are not directly produced from the image, if you + delete them they will not be automatically re-created when you build the image again. +

+

+ If you do accidentally delete files here, you will need to force them to be + re-created. + In order to do that, you will need to know the target that produced them. + For example, these commands rebuild and re-create the kernel files: +

+
+     $ bitbake -c clean virtual/kernel
+     $ bitbake virtual/kernel
+            
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-ipk.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-ipk.html new file mode 100644 index 0000000000..9975833326 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-ipk.html @@ -0,0 +1,20 @@ + + + +5.2.15. build/tmp/deploy/ipk/ + + + + + + + +
+

+5.2.15. build/tmp/deploy/ipk/ +

+

+ This directory receives .ipk packages produced by + the build process.

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-licenses.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-licenses.html new file mode 100644 index 0000000000..b3ec898551 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-licenses.html @@ -0,0 +1,23 @@ + + + +5.2.13. build/tmp/deploy/licenses/ + + + + + + + +
+

+5.2.13. build/tmp/deploy/licenses/ +

+

+ This directory receives package licensing information. + For example, the directory contains sub-directories for bash, + busybox, and eglibc (among others) that in turn + contain appropriate COPYING license files with other licensing information. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-rpm.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-rpm.html new file mode 100644 index 0000000000..1579e1131e --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy-rpm.html @@ -0,0 +1,22 @@ + + + +5.2.12. build/tmp/deploy/rpm/ + + + + + + + +
+

+5.2.12. build/tmp/deploy/rpm/ +

+

+ This directory receives any .rpm packages produced by + the build process. + The packages are sorted into feeds for different architecture types. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy.html new file mode 100644 index 0000000000..b50f20802f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-deploy.html @@ -0,0 +1,20 @@ + + + +5.2.10. build/tmp/deploy/ + + + + + + + +
+

+5.2.10. build/tmp/deploy/ +

+

+ This directory contains any 'end result' output from the OpenEmbedded build process. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-log.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-log.html new file mode 100644 index 0000000000..bd7f7053cf --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-log.html @@ -0,0 +1,24 @@ + + + +5.2.18. build/tmp/log/ + + + + + + + +
+

+5.2.18. build/tmp/log/ +

+

+ This directory contains general logs that are not otherwise placed using the + package's WORKDIR. + Examples of logs are the output from the check_pkg or + distro_check tasks. + Running a build does not necessarily mean this directory is created. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-pkgdata.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-pkgdata.html new file mode 100644 index 0000000000..2fdad1ee31 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-pkgdata.html @@ -0,0 +1,21 @@ + + + +5.2.19. build/tmp/pkgdata/ + + + + + + + +
+

+5.2.19. build/tmp/pkgdata/ +

+

+ This directory contains intermediate packaging data that is used later in the packaging process. + For more information, see the "Packaging - package*.bbclass" section. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-stamps.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-stamps.html new file mode 100644 index 0000000000..a6f77c8ff3 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-stamps.html @@ -0,0 +1,24 @@ + + + +5.2.17. build/tmp/stamps/ + + + + + + + +
+

+5.2.17. build/tmp/stamps/ +

+

+ This directory holds information that that BitBake uses for accounting purposes + to track what tasks have run and when they have run. + The directory is sub-divided by architecture. + The files in the directory are empty of data. + However, BitBake uses the filenames and timestamps for tracking purposes. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-sysroots.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-sysroots.html new file mode 100644 index 0000000000..10a74d805e --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-sysroots.html @@ -0,0 +1,24 @@ + + + +5.2.16. build/tmp/sysroots/ + + + + + + + +
+

+5.2.16. build/tmp/sysroots/ +

+

+ This directory contains shared header files and libraries as well as other shared + data. + Packages that need to share output with other packages do so within this directory. + The directory is subdivided by architecture so multiple builds can run within + the one Build Directory. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-work.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-work.html new file mode 100644 index 0000000000..aa78c18b5d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp-work.html @@ -0,0 +1,52 @@ + + + +5.2.20. build/tmp/work/ + + + + + + + +
+

+5.2.20. build/tmp/work/ +

+

+ This directory contains architecture-specific work sub-directories for packages built by BitBake. + All tasks execute from a work directory. + For example, the source for a particular package is unpacked, patched, configured and compiled all + within its own work directory. + Within the work directory, organization is based on the package group for which the source + is being compiled. +

+

+ It is worth considering the structure of a typical work directory. + As an example, consider the linux-yocto-kernel-3.0 + on the machine qemux86 + built within the Yocto Project. + For this package, a work directory of + tmp/work/qemux86-poky-linux/linux-yocto-3.0+git1+<.....>, + referred to as WORKDIR, is created. + Within this directory, the source is unpacked to + linux-qemux86-standard-build and then patched by Quilt + (see the + "Modifying Package + Source Code with Quilt" section in the Yocto Project Development Manual. + Within the linux-qemux86-standard-build directory, + standard Quilt directories linux-3.0/patches + and linux-3.0/.pc are created, + and standard Quilt commands can be used. +

+

+ There are other directories generated within WORKDIR. + The most important directory is WORKDIR/temp/, which has log files for each + task (log.do_*.pid) and contains the scripts BitBake runs for + each task (run.do_*.pid). + The WORKDIR/image/ directory is where "make + install" places its output that is then split into sub-packages + within WORKDIR/packages-split/. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp.html new file mode 100644 index 0000000000..216d255c78 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build-tmp.html @@ -0,0 +1,26 @@ + + + +5.2.7. build/tmp/ + + + + + + + +
+

+5.2.7. build/tmp/ +

+

+ This directory receives all the OpenEmbedded build system's output. + BitBake creates this directory if it does not exist. + As a last resort, to clean up a build and start it from scratch (other than the downloads), + you can remove everything in the tmp directory or get rid of the + directory completely. + If you do, you should also completely remove the build/sstate-cache + directory as well. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build.html new file mode 100644 index 0000000000..c3b9ae5054 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-build.html @@ -0,0 +1,15 @@ + + + +5.2. The Build Directory - build/ + + + + + + + +

+5.2. The Build Directory - build/ +

+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-bitbake.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-bitbake.html new file mode 100644 index 0000000000..aca036d970 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-bitbake.html @@ -0,0 +1,40 @@ + + + +5.1.1. bitbake/ + + + + + + + +
+

+5.1.1. bitbake/ +

+

+ The Source Directory + includes a copy of BitBake for ease of use. + The copy usually matches the current stable BitBake release from the BitBake project. + BitBake, a metadata interpreter, reads the Yocto Project metadata and runs the tasks + defined by that data. + Failures are usually from the metadata and not from BitBake itself. + Consequently, most users do not need to worry about BitBake. +

+

+ When you run the bitbake command, the wrapper script in + scripts/ is executed to run the main BitBake executable, + which resides in the bitbake/bin/ directory. + Sourcing the oe-init-build-env + script places the scripts and bitbake/bin + directories (in that order) into the shell's PATH environment + variable. +

+

+ For more information on BitBake, see the BitBake documentation + inculded in the bitbake/doc/manual directory of the + Source Directory. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-build.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-build.html new file mode 100644 index 0000000000..23f5549b5b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-build.html @@ -0,0 +1,33 @@ + + + +5.1.2. build/ + + + + + + + +
+

+5.1.2. build/ +

+

+ This directory contains user configuration files and the output + generated by the OpenEmbedded build system in its standard configuration where + the source tree is combined with the output. + The Build Directory + is created initially when you source + the OpenEmbedded build environment setup script oe-init-build-env. +

+

+ It is also possible to place output and configuration + files in a directory separate from the + Source Directory + by providing a directory name when you source + the setup script. + For information on separating output from your local Source Directory files, see oe-init-build-env. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto-bsp.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto-bsp.html new file mode 100644 index 0000000000..29eff27053 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto-bsp.html @@ -0,0 +1,21 @@ + + + +5.1.6. meta-yocto-bsp/ + + + + + + + +
+

+5.1.6. meta-yocto-bsp/ +

+

+ This directory contains the Yocto Project reference + hardware BSPs. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto.html new file mode 100644 index 0000000000..e9a8e8e56b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta-yocto.html @@ -0,0 +1,21 @@ + + + +5.1.5. meta-yocto/ + + + + + + + +
+

+5.1.5. meta-yocto/ +

+

+ This directory contains the configuration for the Poky + reference distribution. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta.html new file mode 100644 index 0000000000..9a7cee2c13 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-meta.html @@ -0,0 +1,23 @@ + + + +5.1.4. meta/ + + + + + + + +
+

+5.1.4. meta/ +

+

+ This directory contains the OpenEmbedded Core metadata. + The directory holds recipes, common classes, and machine + configuration for emulated targets (qemux86, qemuarm, + and so on.) +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-script.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-script.html new file mode 100644 index 0000000000..64266a9482 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-script.html @@ -0,0 +1,53 @@ + + + +5.1.10. oe-init-build-env + + + + + + + +
+

+5.1.10. oe-init-build-env +

+

+ This script sets up the OpenEmbedded build environment. + Running this script with the source command in + a shell makes changes to PATH and sets other core BitBake variables based on the + current working directory. + You need to run this script before running BitBake commands. + The script uses other scripts within the scripts directory to do + the bulk of the work. +

+

+ By default, running this script without a Build Directory argument creates the + build directory. + If you provide a Build Directory argument when you source + the script, you direct OpenEmbedded build system to create a + Build Directory of your choice. + For example, the following command creates a Build Directory named + mybuilds that is outside of the + Source Directory: +

+
+     $ source oe-init-build-env ~/mybuilds
+            
+

+

+
+

Note

+ The OpenEmbedded build system does not support file or directory names that + contain spaces. + If you attempt to run the oe-init-build-env script + from a Source Directory that contains spaces in either the filenames + or directory names, the script returns an error indicating no such + file or directory. + Be sure to use a Source Directory free of names containing spaces. +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-scripts.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-scripts.html new file mode 100644 index 0000000000..6bc3bed649 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core-scripts.html @@ -0,0 +1,28 @@ + + + +5.1.9. scripts/ + + + + + + + +
+

+5.1.9. scripts/ +

+

+ This directory contains various integration scripts that implement + extra functionality in the Yocto Project environment (e.g. QEMU scripts). + The oe-init-build-env script appends this + directory to the shell's PATH environment variable. +

+

+ The scripts directory has useful scripts that assist contributing + back to the Yocto Project, such as create_pull_request and + send_pull_request. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core.html new file mode 100644 index 0000000000..51b6994b08 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-core.html @@ -0,0 +1,14 @@ + + + +5.1. Top level core components + + + + + + + +

+5.1. Top level core components

+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-classes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-classes.html new file mode 100644 index 0000000000..34cc0ffe32 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-classes.html @@ -0,0 +1,30 @@ + + + +5.3.1. meta/classes/ + + + + + + + +
+

+5.3.1. meta/classes/ +

+

+ This directory contains the *.bbclass files. + Class files are used to abstract common code so it can be reused by multiple + packages. + Every package inherits the base.bbclass file. + Examples of other important classes are autotools.bbclass, which + in theory allows any Autotool-enabled package to work with the Yocto Project with minimal effort. + Another example is kernel.bbclass that contains common code and functions + for working with the Linux kernel. + Functions like image generation or packaging also have their specific class files + such as image.bbclass, rootfs_*.bbclass and + package*.bbclass. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-distro.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-distro.html new file mode 100644 index 0000000000..b8b4fe0c01 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-distro.html @@ -0,0 +1,25 @@ + + + +5.3.4. meta/conf/distro/ + + + + + + + +
+

+5.3.4. meta/conf/distro/ +

+

+ Any distribution-specific configuration is controlled from this directory. + For the Yocto Project, the defaultsetup.conf is the main file here. + This directory includes the versions and the + SRCDATE definitions for applications that are configured here. + An example of an alternative configuration might be poky-bleeding.conf. + Although this file mainly inherits its configuration from Poky. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-machine.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-machine.html new file mode 100644 index 0000000000..80ccb8dedc --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf-machine.html @@ -0,0 +1,25 @@ + + + +5.3.3. meta/conf/machine/ + + + + + + + +
+

+5.3.3. meta/conf/machine/ +

+

+ This directory contains all the machine configuration files. + If you set MACHINE="qemux86", + the OpenEmbedded build system looks for a qemux86.conf file in this + directory. + The include directory contains various data common to multiple machines. + If you want to add support for a new machine to the Yocto Project, look in this directory. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf.html new file mode 100644 index 0000000000..da88f4b111 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-conf.html @@ -0,0 +1,27 @@ + + + +5.3.2. meta/conf/ + + + + + + + +
+

+5.3.2. meta/conf/ +

+

+ This directory contains the core set of configuration files that start from + bitbake.conf and from which all other configuration + files are included. + See the include statements at the end of the file and you will note that even + local.conf is loaded from there. + While bitbake.conf sets up the defaults, you can often override + these by using the (local.conf) file, machine file or + the distribution configuration file. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-hob.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-hob.html new file mode 100644 index 0000000000..a8fb22fc08 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-hob.html @@ -0,0 +1,22 @@ + + + +5.1.7. meta-hob/ + + + + + + + +
+

+5.1.7. meta-hob/ +

+

+ This directory contains template recipes used by the + Hob + build UI. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-bsp.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-bsp.html new file mode 100644 index 0000000000..7adf2d392c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-bsp.html @@ -0,0 +1,21 @@ + + + +5.3.5. meta/recipes-bsp/ + + + + + + + +
+

+5.3.5. meta/recipes-bsp/ +

+

+ This directory contains anything linking to specific hardware or hardware + configuration information such as "u-boot" and "grub". +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-connectivity.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-connectivity.html new file mode 100644 index 0000000000..112544e110 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-connectivity.html @@ -0,0 +1,20 @@ + + + +5.3.6. meta/recipes-connectivity/ + + + + + + + +
+

+5.3.6. meta/recipes-connectivity/ +

+

+ This directory contains libraries and applications related to communication with other devices. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-core.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-core.html new file mode 100644 index 0000000000..bd0542eb92 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-core.html @@ -0,0 +1,21 @@ + + + +5.3.7. meta/recipes-core/ + + + + + + + +
+

+5.3.7. meta/recipes-core/ +

+

+ This directory contains what is needed to build a basic working Linux image + including commonly used dependencies. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-devtools.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-devtools.html new file mode 100644 index 0000000000..25a38d9f01 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-devtools.html @@ -0,0 +1,21 @@ + + + +5.3.8. meta/recipes-devtools/ + + + + + + + +
+

+5.3.8. meta/recipes-devtools/ +

+

+ This directory contains tools that are primarily used by the build system. + The tools, however, can also be used on targets. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-extended.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-extended.html new file mode 100644 index 0000000000..b5506ff651 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-extended.html @@ -0,0 +1,23 @@ + + + +5.3.9. meta/recipes-extended/ + + + + + + + +
+

+5.3.9. meta/recipes-extended/ +

+

+ This directory contains non-essential applications that add features compared to the + alternatives in core. + You might need this directory for full tool functionality or for Linux Standard Base (LSB) + compliance. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-gnome.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-gnome.html new file mode 100644 index 0000000000..769447f2ff --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-gnome.html @@ -0,0 +1,20 @@ + + + +5.3.10. meta/recipes-gnome/ + + + + + + + +
+

+5.3.10. meta/recipes-gnome/ +

+

+ This directory contains all things related to the GTK+ application framework. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-graphics.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-graphics.html new file mode 100644 index 0000000000..7a0a3e4253 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-graphics.html @@ -0,0 +1,20 @@ + + + +5.3.11. meta/recipes-graphics/ + + + + + + + +
+

+5.3.11. meta/recipes-graphics/ +

+

+ This directory contains X and other graphically related system libraries +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-kernel.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-kernel.html new file mode 100644 index 0000000000..1cb7a06f81 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-kernel.html @@ -0,0 +1,21 @@ + + + +5.3.12. meta/recipes-kernel/ + + + + + + + +
+

+5.3.12. meta/recipes-kernel/ +

+

+ This directory contains the kernel and generic applications and libraries that + have strong kernel dependencies. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-multimedia.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-multimedia.html new file mode 100644 index 0000000000..08c9f3cda9 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-multimedia.html @@ -0,0 +1,20 @@ + + + +5.3.13. meta/recipes-multimedia/ + + + + + + + +
+

+5.3.13. meta/recipes-multimedia/ +

+

+ This directory contains codecs and support utilities for audio, images and video. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-qt.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-qt.html new file mode 100644 index 0000000000..bb6eca2742 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-qt.html @@ -0,0 +1,20 @@ + + + +5.3.14. meta/recipes-qt/ + + + + + + + +
+

+5.3.14. meta/recipes-qt/ +

+

+ This directory contains all things related to the Qt application framework. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-rt.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-rt.html new file mode 100644 index 0000000000..249e442891 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-rt.html @@ -0,0 +1,21 @@ + + + +5.3.15. meta/recipes-rt/ + + + + + + + +
+

+5.3.15. meta/recipes-rt/ +

+

+ This directory contains package and image recipes for using and testing + the PREEMPT_RT kernel. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-sato.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-sato.html new file mode 100644 index 0000000000..d6a27ffb4f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-sato.html @@ -0,0 +1,21 @@ + + + +5.3.16. meta/recipes-sato/ + + + + + + + +
+

+5.3.16. meta/recipes-sato/ +

+

+ This directory contains the Sato demo/reference UI/UX and its associated applications + and configuration data. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-support.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-support.html new file mode 100644 index 0000000000..7e152acfa2 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-support.html @@ -0,0 +1,21 @@ + + + +5.3.17. meta/recipes-support/ + + + + + + + +
+

+5.3.17. meta/recipes-support/ +

+

+ This directory contains recipes that used by other recipes, but that are not directly + included in images (i.e. dependencies of other recipes). +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-txt.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-txt.html new file mode 100644 index 0000000000..42bb7a678d --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-recipes-txt.html @@ -0,0 +1,20 @@ + + + +5.3.19. meta/recipes.txt + + + + + + + +
+

+5.3.19. meta/recipes.txt +

+

+ This file is a description of the contents of recipes-*. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-site.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-site.html new file mode 100644 index 0000000000..567eec8221 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-site.html @@ -0,0 +1,23 @@ + + + +5.3.18. meta/site/ + + + + + + + +
+

+5.3.18. meta/site/ +

+

+ This directory contains a list of cached results for various architectures. + Because certain "autoconf" test results cannot be determined when cross-compiling due to + the tests not able to run on a live system, the information in this directory is + passed to "autoconf" for the various architectures. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-skeleton.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-skeleton.html new file mode 100644 index 0000000000..b67bb60e48 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta-skeleton.html @@ -0,0 +1,20 @@ + + + +5.1.8. meta-skeleton/ + + + + + + + +
+

+5.1.8. meta-skeleton/ +

+

+ This directory contains template recipes for BSP and kernel development. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta.html new file mode 100644 index 0000000000..7f132b54fb --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/structure-meta.html @@ -0,0 +1,21 @@ + + + +5.3. The Metadata - meta/ + + + + + + + +
+

+5.3. The Metadata - meta/ +

+

+ As mentioned previously, metadata is the core of the Yocto Project. + Metadata has several important subdivisions: +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/support.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/support.html new file mode 100644 index 0000000000..4e0a1efb0f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/support.html @@ -0,0 +1,34 @@ + + + +3.3.1. Support + + + + + + + +
+

+3.3.1. Support

+

+ While the x32 psABI specifications are not fully finalized, this Yocto Project + release supports current development specifications of x32 psABI. + As of this release of the Yocto Project, x32 psABI support exists as follows: +

+
    +
  • You can create packages and images in x32 psABI format on x86_64 architecture targets. +

  • +
  • You can use the x32 psABI support through the meta-x32 + layer on top of the OE-core/Yocto layer.

  • +
  • The toolchain from the experimental/meta-x32 layer + is used for building x32 psABI program binaries.

  • +
  • You can successfully build many recipes with the x32 toolchain.

  • +
  • You can create and boot core-image-minimal and + core-image-sato images.

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/technical-details.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/technical-details.html new file mode 100644 index 0000000000..1a54121c49 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/technical-details.html @@ -0,0 +1,50 @@ + + + +Chapter 3. Technical Details + + + + + + + +
+

+Chapter 3. Technical Details

+ +

+ This chapter provides technical details for various parts of the Yocto Project. + Currently, topics include Yocto Project components and shared state (sstate) cache. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/tips-and-tricks.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/tips-and-tricks.html new file mode 100644 index 0000000000..78773b954a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/tips-and-tricks.html @@ -0,0 +1,22 @@ + + + +3.2.4. Tips and Tricks + + + + + + + +
+

+3.2.4. Tips and Tricks

+

+ The code in the build system that supports incremental builds is not + simple code. + This section presents some tips and tricks that help you work around + issues related to shared state code. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/ubuntu-packages.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/ubuntu-packages.html new file mode 100644 index 0000000000..63c0118692 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/ubuntu-packages.html @@ -0,0 +1,60 @@ + + + +1.3.2.1. Ubuntu + + + + + + + +
+

+1.3.2.1. Ubuntu

+

+ The following list shows the required packages by function + given a supported Ubuntu Linux distribution: +

+
    +
  • +

    Essentials: + Packages needed to build an image on a headless + system: +

    +
    +     $ sudo apt-get install gawk wget git-core diffstat unzip texinfo \
    +     build-essential chrpath
    +                        
    +
  • +
  • +

    Graphical Extras: + Packages recommended if the host system has graphics support: +

    +
    +     $ sudo apt-get install libsdl1.2-dev xterm
    +                        
    +
  • +
  • +

    Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +
    +     $ sudo apt-get install make xsltproc docbook-utils fop
    +                        
    +
  • +
  • +

    ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +
    +     $ sudo apt-get install autoconf automake libtool libglib2.0-dev
    +                        
    +
  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/understanding-what-the-build-history-contains.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/understanding-what-the-build-history-contains.html new file mode 100644 index 0000000000..cdaa962f57 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/understanding-what-the-build-history-contains.html @@ -0,0 +1,25 @@ + + + +2.4.2. Understanding What the Build History Contains + + + + + + + +
+

+2.4.2. Understanding What the Build History Contains

+

+ Build history information is kept in + $TMPDIR/buildhistory + in the Build Directory. + The following is an example abbreviated listing: +

+
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/using-build-history-to-gather-image-information-only.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/using-build-history-to-gather-image-information-only.html new file mode 100644 index 0000000000..26c2a4d080 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/using-build-history-to-gather-image-information-only.html @@ -0,0 +1,34 @@ + + + +2.4.2.3. Using Build History to Gather Image Information Only + + + + + + + +
+

+2.4.2.3. Using Build History to Gather Image Information Only

+

+ As you can see, build history produces image information, + including dependency graphs, so you can see why something + was pulled into the image. + If you are just interested in this information and not + interested in collecting history or any package information, + you can enable writing only image information without + any history by adding the following + to your conf/local.conf file found in the + Build Directory: +

+
+     INHERIT += "buildhistory"
+     BUILDHISTORY_COMMIT = "0"
+     BUILDHISTORY_FEATURES = "image"
+                
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/using-x32-right-now.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/using-x32-right-now.html new file mode 100644 index 0000000000..614b31ddaa --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/using-x32-right-now.html @@ -0,0 +1,70 @@ + + + +3.3.3. Using x32 Right Now + + + + + + + +
+

+3.3.3. Using x32 Right Now

+

+ Despite the fact the x32 psABI support is in development state for this release of the + Yocto Project, you can follow these steps to use the x32 spABI: +

+
    +
  • Add the experimental/meta-x32 layer to your local + Build Directory. + You can find the experimental/meta-x32 source repository at + http://git.yoctoproject.org.

  • +
  • +

    Edit your conf/bblayers.conf file so that it includes + the meta-x32. + Here is an example: +

    +
    +     BBLAYERS ?= " \
    +        /home/nitin/prj/poky.git/meta \
    +        /home/nitin/prj/poky.git/meta-yocto \
    +        /home/nitin/prj/poky.git/meta-yocto-bsp \
    +        /home/nitin/prj/meta-x32.git \
    +     "
    +                    
    +
  • +
  • +

    Enable the x32 psABI tuning file for x86_64 + machines by editing the conf/local.conf like this: +

    +
    +      MACHINE = "qemux86-64"
    +      DEFAULTTUNE = "x86-64-x32"
    +      baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
    +         or 'INVALID'), True) or 'lib'}"
    +      #MACHINE = "atom-pc"
    +      #DEFAULTTUNE = "core2-64-x32"
    +                    
    +
  • +
  • +

    As usual, use BitBake to build an image that supports the x32 psABI. + Here is an example: +

    +
    +     $ bitake core-image-sato
    +                    
    +
  • +
  • +

    As usual, run your image using QEMU: +

    +
    +     $ runqemu qemux86-64 core-image-sato
    +                    
    +
  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-LIC_FILES_CHKSUM-explanation-of-syntax.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-LIC_FILES_CHKSUM-explanation-of-syntax.html new file mode 100644 index 0000000000..e702578a24 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-LIC_FILES_CHKSUM-explanation-of-syntax.html @@ -0,0 +1,58 @@ + + + +3.4.1.2. Explanation of Syntax + + + + + + + +
+

+3.4.1.2. Explanation of Syntax

+

+ As mentioned in the previous section, the + LIC_FILES_CHKSUM variable lists all the + important files that contain the license text for the source code. + It is possible to specify a checksum for an entire file, or a specific section of a + file (specified by beginning and ending line numbers with the "beginline" and "endline" + parameters, respectively). + The latter is useful for source files with a license notice header, + README documents, and so forth. + If you do not use the "beginline" parameter, then it is assumed that the text begins on the + first line of the file. + Similarly, if you do not use the "endline" parameter, it is assumed that the license text + ends with the last line of the file. +

+

+ The "md5" parameter stores the md5 checksum of the license text. + If the license text changes in any way as compared to this parameter + then a mismatch occurs. + This mismatch triggers a build failure and notifies the developer. + Notification allows the developer to review and address the license text changes. + Also note that if a mismatch occurs during the build, the correct md5 + checksum is placed in the build log and can be easily copied to the recipe. +

+

+ There is no limit to how many files you can specify using the + LIC_FILES_CHKSUM variable. + Generally, however, every project requires a few specifications for license tracking. + Many projects have a "COPYING" file that stores the license information for all the source + code files. + This practice allows you to just track the "COPYING" file as long as it is kept up to date. +

+
+

Tip

+ If you specify an empty or invalid "md5" parameter, BitBake returns an md5 mis-match + error and displays the correct "md5" parameter value during the build. + The correct parameter is also captured in the build log. +
+
+

Tip

+ If the whole file contains only license text, you do not need to use the "beginline" and + "endline" parameters. +
+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-build.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-build.html new file mode 100644 index 0000000000..c1fa0e6c00 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-build.html @@ -0,0 +1,24 @@ + + + +2.1. Running a Build + + + + + + + +
+

+2.1. Running a Build

+

+ This section provides a summary of the build process and provides information + for less obvious aspects of the build process. + For general information on how to build an image using the OpenEmbedded build + system, see the + "Building an Image" + section of the Yocto Project Quick Start. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-bitbake.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-bitbake.html new file mode 100644 index 0000000000..184ffdbd2c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-bitbake.html @@ -0,0 +1,66 @@ + + + +3.1.1. BitBake + + + + + + + +
+

+3.1.1. BitBake

+

+ BitBake is the tool at the heart of the OpenEmbedded build system and is responsible + for parsing the metadata, generating a list of tasks from it, + and then executing those tasks. + To see a list of the options BitBake supports, use the following help command: +

+
+     $ bitbake --help
+            
+

+

+

+ The most common usage for BitBake is bitbake <packagename>, where + packagename is the name of the package you want to build + (referred to as the "target" in this manual). + The target often equates to the first part of a .bb filename. + So, to run the matchbox-desktop_1.2.3.bb file, you + might type the following: +

+
+     $ bitbake matchbox-desktop
+            
+

+ Several different versions of matchbox-desktop might exist. + BitBake chooses the one selected by the distribution configuration. + You can get more details about how BitBake chooses between different + target versions and providers in the + "Preferences and Providers" section. +

+

+ BitBake also tries to execute any dependent tasks first. + So for example, before building matchbox-desktop, BitBake + would build a cross compiler and eglibc if they had not already + been built. +

+
+

Note

This release of the Yocto Project does not support the glibc + GNU version of the Unix standard C library. By default, the OpenEmbedded build system + builds with eglibc.
+

+

+

+ A useful BitBake option to consider is the -k or + --continue option. + This option instructs BitBake to try and continue processing the job as much + as possible even after encountering an error. + When an error occurs, the target that + failed and those that depend on it cannot be remade. + However, when you use this option other dependencies can still be processed. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-classes.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-classes.html new file mode 100644 index 0000000000..92427061ea --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-classes.html @@ -0,0 +1,24 @@ + + + +3.1.3. Classes + + + + + + + +
+

+3.1.3. Classes

+

+ Class files (.bbclass) contain information that is useful to share + between metadata files. + An example is the Autotools class, which contains + common settings for any application that Autotools uses. + The "Classes" chapter provides details + about common classes and how to use them. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-configuration.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-configuration.html new file mode 100644 index 0000000000..49e4e14649 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-configuration.html @@ -0,0 +1,24 @@ + + + +3.1.4. Configuration + + + + + + + +
+

+3.1.4. Configuration

+

+ The configuration files (.conf) define various configuration variables + that govern the OpenEmbedded build process. + These files fall into several areas that define machine configuration options, + distribution configuration options, compiler tuning options, general common configuration + options and user configuration options (local.conf, which is found + in the Build Directory). +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-metadata.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-metadata.html new file mode 100644 index 0000000000..4f73445d8f --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components-metadata.html @@ -0,0 +1,29 @@ + + + +3.1.2. Metadata (Recipes) + + + + + + + +
+

+3.1.2. Metadata (Recipes)

+

+ The .bb files are usually referred to as "recipes." + In general, a recipe contains information about a single piece of software. + The information includes the location from which to download the source patches + (if any are needed), which special configuration options to apply, + how to compile the source files, and how to package the compiled output. +

+

+ The term "package" can also be used to describe recipes. + However, since the same word is used for the packaged output from the OpenEmbedded + build system (i.e. .ipk or .deb files), + this document avoids using the term "package" when referring to recipes. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components.html new file mode 100644 index 0000000000..ccd3ae5fbd --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-components.html @@ -0,0 +1,52 @@ + + + +3.1. Yocto Project Components + + + + + + + +
+

+3.1. Yocto Project Components

+

+ The BitBake task executor together with various types of configuration files form the + OpenEmbedded Core. + This section overviews the BitBake task executor and the + configuration files by describing what they are used for and how they interact. +

+

+ BitBake handles the parsing and execution of the data files. + The data itself is of various types: +

+
    +
  • Recipes: Provides details about particular + pieces of software

  • +
  • Class Data: An abstraction of common build + information (e.g. how to build a Linux kernel).

  • +
  • Configuration Data: Defines machine-specific settings, + policy decisions, etc. + Configuration data acts as the glue to bind everything together.

  • +
+

+ For more information on data, see the + "Yocto Project Terms" + section in the Yocto Project Development Manual. +

+

+ BitBake knows how to combine multiple data sources together and refers to each data source + as a layer. + For information on layers, see the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. +

+

+ Following are some brief details on these core components. + For more detailed information on these components see the + "Directory Structure" chapter. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-configuring-LIC_FILES_CHKSUM.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-configuring-LIC_FILES_CHKSUM.html new file mode 100644 index 0000000000..ffcfd24e15 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-configuring-LIC_FILES_CHKSUM.html @@ -0,0 +1,23 @@ + + + +3.4.1. Tracking License Changes + + + + + + + +
+

+3.4.1. Tracking License Changes

+

+ The license of an upstream project might change in the future. + In order to prevent these changes going unnoticed, the + LIC_FILES_CHKSUM + variable tracks changes to the license text. The checksums are validated at the end of the + configure step, and if the checksums do not match, the build will fail. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-bitbake.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-bitbake.html new file mode 100644 index 0000000000..06a3b7f9fa --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-bitbake.html @@ -0,0 +1,30 @@ + + + +2.3.4. General BitBake Problems + + + + + + + +
+

+2.3.4. General BitBake Problems

+

+ You can see debug output from BitBake by using the -D option. + The debug output gives more information about what BitBake + is doing and the reason behind it. + Each -D option you use increases the logging level. + The most common usage is -DDD. +

+

+ The output from bitbake -DDD -v targetname can reveal why + BitBake chose a certain version of a package or why BitBake + picked a certain provider. + This command could also help you in a situation where you think BitBake did something + unexpected. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-buildfile.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-buildfile.html new file mode 100644 index 0000000000..9450f1aaff --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-buildfile.html @@ -0,0 +1,24 @@ + + + +2.3.5. Building with No Dependencies + + + + + + + +
+

+2.3.5. Building with No Dependencies

+

+ If you really want to build a specific .bb file, you can use + the command form bitbake -b <somepath/somefile.bb>. + This command form does not check for dependencies so you should use it + only when you know its dependencies already exist. + You can also specify fragments of the filename. + In this case, BitBake checks for a unique match. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-dependencies.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-dependencies.html new file mode 100644 index 0000000000..c48b00e97a --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-dependencies.html @@ -0,0 +1,26 @@ + + + +2.3.3. Dependency Graphs + + + + + + + +
+

+2.3.3. Dependency Graphs

+

+ Sometimes it can be hard to see why BitBake wants to build some other packages before a given + package you have specified. + The bitbake -g targetname command creates the + depends.dot, package-depends.dot, + and task-depends.dot files in the current directory. + These files show the package and task dependencies and are useful for debugging problems. + You can use the bitbake -g -u depexp targetname command to + display the results in a more human-readable form. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-others.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-others.html new file mode 100644 index 0000000000..a83f4cc4e4 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-others.html @@ -0,0 +1,34 @@ + + + +2.3.8. Other Tips + + + + + + + +
+

+2.3.8. Other Tips

+

+ Here are some other tips that you might find useful: +

+
    +
  • When adding new packages, it is worth watching for + undesirable items making their way into compiler command lines. + For example, you do not want references to local system files like + /usr/lib/ or /usr/include/. +

  • +
  • If you want to remove the psplash boot splashscreen, + add psplash=false to the kernel command line. + Doing so prevents psplash from loading and thus allows you to see the console. + It is also possible to switch out of the splashscreen by + switching the virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). +

  • +
+

+

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskfailures.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskfailures.html new file mode 100644 index 0000000000..709af32619 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskfailures.html @@ -0,0 +1,27 @@ + + + +2.3.1. Task Failures + + + + + + + +
+

+2.3.1. Task Failures

+

The log file for shell tasks is available in + ${WORKDIR}/temp/log.do_taskname.pid. + For example, the compile task for the QEMU minimal image for the x86 + machine (qemux86) might be + tmp/work/qemux86-poky-linux/core-image-minimal-1.0-r0/temp/log.do_compile.20830. + To see what BitBake runs to generate that log, look at the corresponding + run.do_taskname.pid file located in the same directory. +

+

+ Presently, the output from Python tasks is sent directly to the console. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskrunning.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskrunning.html new file mode 100644 index 0000000000..998d9d03c7 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-taskrunning.html @@ -0,0 +1,68 @@ + + + +2.3.2. Running Specific Tasks + + + + + + + +
+

+2.3.2. Running Specific Tasks

+

+ Any given package consists of a set of tasks. + The standard BitBake behavior in most cases is: fetch, + unpack, + patch, configure, + compile, install, package, + package_write, and build. + The default task is build and any tasks on which it depends + build first. + Some tasks exist, such as devshell, that are not part of the + default build chain. + If you wish to run a task that is not part of the default build chain, you can use the + -c option in BitBake as follows: +

+
+     $ bitbake matchbox-desktop -c devshell
+            
+

+

+

+ If you wish to rerun a task, use the -f force option. + For example, the following sequence forces recompilation after changing files in the + working directory. +

+
+     $ bitbake matchbox-desktop
+               .
+               .
+        [make some changes to the source code in the working directory]
+               .
+               .
+     $ bitbake matchbox-desktop -c compile -f
+     $ bitbake matchbox-desktop
+            
+

+

+

+ This sequence first builds matchbox-desktop and then recompiles it. + The last command reruns all tasks (basically the packaging tasks) after the compile. + BitBake recognizes that the compile task was rerun and therefore + understands that the other tasks also need to be run again. +

+

+ You can view a list of tasks in a given package by running the + listtasks task as follows: +

+
+     $ bitbake matchbox-desktop -c listtasks
+            
+

+ The results are in the file ${WORKDIR}/temp/log.do_listtasks. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-variables.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-variables.html new file mode 100644 index 0000000000..ae185be166 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging-variables.html @@ -0,0 +1,22 @@ + + + +2.3.6. Variables + + + + + + + +
+

+2.3.6. Variables

+

+ The -e option dumps the resulting environment for + either the configuration (no package specified) or for a + specific package when specified; or -b recipename + to show the environment from parsing a single recipe file only. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging.html new file mode 100644 index 0000000000..9a8b72dc96 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-debugging.html @@ -0,0 +1,26 @@ + + + +2.3. Debugging Build Failures + + + + + + + +
+

+2.3. Debugging Build Failures

+

+ The exact method for debugging build failures depends on the nature of the + problem and on the system's area from which the bug originates. + Standard debugging practices such as comparison against the last + known working version with examination of the changes and the re-application of steps + to identify the one causing the problem are + valid for the Yocto Project just as they are for any other system. + Even though it is impossible to detail every possible potential failure, + this section provides some general tips to aid in debugging. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-install.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-install.html new file mode 100644 index 0000000000..d8d60e1c6b --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-install.html @@ -0,0 +1,28 @@ + + + +2.2. Installing and Using the Result + + + + + + + +
+

+2.2. Installing and Using the Result

+

+ Once an image has been built, it often needs to be installed. + The images and kernels built by the OpenEmbedded build system are placed in the + Build Directory in + tmp/deploy/images. + For information on how to run pre-built images such as qemux86 + and qemuarm, see the + "Using Pre-Built Binaries and QEMU" + section in the Yocto Project Quick Start. + For information about how to install these images, see the documentation for your + particular board/machine. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-specifying-LIC_FILES_CHKSUM.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-specifying-LIC_FILES_CHKSUM.html new file mode 100644 index 0000000000..b518fce8a1 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky-specifying-LIC_FILES_CHKSUM.html @@ -0,0 +1,57 @@ + + + +3.4.1.1. Specifying the LIC_FILES_CHKSUM Variable + + + + + + + +
+

+3.4.1.1. Specifying the LIC_FILES_CHKSUM Variable

+

+ The LIC_FILES_CHKSUM + variable contains checksums of the license text in the source code for the recipe. + Following is an example of how to specify LIC_FILES_CHKSUM: +

+
+     LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \
+                         file://licfile1.txt;beginline=5;endline=29;md5=yyyy \
+                         file://licfile2.txt;endline=50;md5=zzzz \
+                         ..."
+                
+

+

+

+ The build system uses the + S variable as the + default directory used when searching files listed in + LIC_FILES_CHKSUM. + The previous example employs the default directory. +

+

+ You can also use relative paths as shown in the following example: +

+
+     LIC_FILES_CHKSUM = "file://src/ls.c;startline=5;endline=16;\
+                                         md5=bb14ed3c4cda583abc85401304b5cd4e"
+     LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
+                
+

+

+

+ In this example, the first line locates a file in + ${S}/src/ls.c. + The second line refers to a file in + WORKDIR, which is the parent + of S. +

+

+ Note that this variable is mandatory for all recipes, unless the + LICENSE variable is set to "CLOSED". +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky.html new file mode 100644 index 0000000000..95be1f1041 --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/usingpoky.html @@ -0,0 +1,48 @@ + + + +Chapter 2. Using the Yocto Project + + + + + + + +
+

+Chapter 2. Using the Yocto Project

+ +

+ This chapter describes common usage for the Yocto Project. + The information is introductory in nature as other manuals in the Yocto Project + documentation set provide more details on how to use the Yocto Project. +

+
+ diff --git a/documentation/ref-manual/eclipse/html/poky-ref-manual/x32.html b/documentation/ref-manual/eclipse/html/poky-ref-manual/x32.html new file mode 100644 index 0000000000..5be350886c --- /dev/null +++ b/documentation/ref-manual/eclipse/html/poky-ref-manual/x32.html @@ -0,0 +1,35 @@ + + + +3.3. x32 + + + + + + + +
+

+3.3. x32

+

+ x32 is a new processor-specific Application Binary Interface (psABI) for x86_64. + An ABI defines the calling conventions between functions in a processing environment. + The interface determines what registers are used and what the sizes are for various C data types. +

+

+ Some processing environments prefer using 32-bit applications even when running + on Intel 64-bit platforms. + Consider the i386 psABI, which is a very old 32-bit ABI for Intel 64-bit platforms. + The i386 psABI does not provide efficient use and access of the Intel 64-bit processor resources, + leaving the system underutilized. + Now consider the x86_64 psABI. + This ABI is newer and uses 64-bits for data sizes and program pointers. + The extra bits increase the footprint size of the programs, libraries, + and also increases the memory and file system size requirements. + Executing under the x32 psABI enables user programs to utilize CPU and system resources + more efficiently while keeping the memory footprint of the applications low. + Extra bits are used for registers but not for addressing mechanisms. +

+
+ diff --git a/documentation/ref-manual/eclipse/poky-ref-manual-toc.xml b/documentation/ref-manual/eclipse/poky-ref-manual-toc.xml new file mode 100644 index 0000000000..8624641cf5 --- /dev/null +++ b/documentation/ref-manual/eclipse/poky-ref-manual-toc.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/ref-manual/examples/hello-autotools/hello_2.3.bb b/documentation/ref-manual/examples/hello-autotools/hello_2.3.bb new file mode 100644 index 0000000000..5dfb0b30cf --- /dev/null +++ b/documentation/ref-manual/examples/hello-autotools/hello_2.3.bb @@ -0,0 +1,8 @@ +DESCRIPTION = "GNU Helloworld application" +SECTION = "examples" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=adefda309052235aa5d1e99ce7557010" + +SRC_URI = "${GNU_MIRROR}/hello/hello-${PV}.tar.bz2" + +inherit autotools diff --git a/documentation/ref-manual/examples/hello-single/files/helloworld.c b/documentation/ref-manual/examples/hello-single/files/helloworld.c new file mode 100644 index 0000000000..fc7169b7b8 --- /dev/null +++ b/documentation/ref-manual/examples/hello-single/files/helloworld.c @@ -0,0 +1,8 @@ +#include + +int main(void) +{ + printf("Hello world!\n"); + + return 0; +} diff --git a/documentation/ref-manual/examples/hello-single/hello.bb b/documentation/ref-manual/examples/hello-single/hello.bb new file mode 100644 index 0000000000..0812743e39 --- /dev/null +++ b/documentation/ref-manual/examples/hello-single/hello.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Simple helloworld application" +SECTION = "examples" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://helloworld.c" + +S = "${WORKDIR}" + +do_compile() { + ${CC} helloworld.c -o helloworld +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 helloworld ${D}${bindir} +} diff --git a/documentation/ref-manual/examples/libxpm/libxpm_3.5.6.bb b/documentation/ref-manual/examples/libxpm/libxpm_3.5.6.bb new file mode 100644 index 0000000000..b58d4d7bd1 --- /dev/null +++ b/documentation/ref-manual/examples/libxpm/libxpm_3.5.6.bb @@ -0,0 +1,14 @@ +require xorg-lib-common.inc + +DESCRIPTION = "X11 Pixmap library" +LICENSE = "X-BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3e07763d16963c3af12db271a31abaa5" +DEPENDS += "libxext" +PR = "r2" +PE = "1" + +XORG_PN = "libXpm" + +PACKAGES =+ "sxpm cxpm" +FILES_cxpm = "${bindir}/cxpm" +FILES_sxpm = "${bindir}/sxpm" diff --git a/documentation/ref-manual/examples/mtd-makefile/mtd-utils_1.0.0.bb b/documentation/ref-manual/examples/mtd-makefile/mtd-utils_1.0.0.bb new file mode 100644 index 0000000000..5d05a437a4 --- /dev/null +++ b/documentation/ref-manual/examples/mtd-makefile/mtd-utils_1.0.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Tools for managing memory technology devices." +SECTION = "base" +DEPENDS = "zlib" +HOMEPAGE = "http://www.linux-mtd.infradead.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://include/common.h;beginline=1;endline=17;md5=ba05b07912a44ea2bf81ce409380049c" + +SRC_URI = "ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-${PV}.tar.gz" + +CFLAGS_prepend = "-I ${S}/include " + +do_install() { + oe_runmake install DESTDIR=${D} +} diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml new file mode 100644 index 0000000000..176573de28 --- /dev/null +++ b/documentation/ref-manual/faq.xml @@ -0,0 +1,606 @@ + %poky; ] > + + +FAQ + + + + + How does Poky differ from OpenEmbedded? + + + + + The term "Poky" refers to the specific reference build system that + the Yocto Project provides. + Poky is based on OE-Core + and BitBake. + Thus, the generic term used here for the build system is + the "OpenEmbedded build system." + Development in the Yocto Project using Poky is closely tied to OpenEmbedded, with + changes always being merged to OE-Core or BitBake first before being pulled back + into Poky. + This practice benefits both projects immediately. + For a fuller description of the term "Poky", see the + poky term in the Yocto Project + Development Manual. + + + + + + + + I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + Can I still use the Yocto Project? + + + + + You can use a stand-alone tarball to provide Python 2.6. + You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations: + + 32-bit tarball + 64-bit tarball + + + + These tarballs are self-contained with all required libraries and should work + on most Linux systems. + To use the tarballs extract them into the root + directory and run the appropriate command: + + $ export PATH=/opt/poky/sysroots/i586-pokysdk-linux/usr/bin/:$PATH + $ export PATH=/opt/poky/sysroots/x86_64-pokysdk-linux/usr/bin/:$PATH + + + + Once you run the command, BitBake uses Python 2.6. + + + + + + + + How can you claim Poky / OpenEmbedded-Core is stable? + + + + + There are three areas that help with stability; + + The Yocto Project team keeps + OE-Core small + and focused, containing around 830 recipes as opposed to the thousands + available in other OpenEmbedded community layers. + Keeping it small makes it easy to test and maintain. + The Yocto Project team runs manual and automated tests + using a small, fixed set of reference hardware as well as emulated + targets. + The Yocto Project uses an an autobuilder, + which provides continuous build and integration tests. + + + + + + + + + How do I get support for my board added to the Yocto Project? + + + + + Support for an additional board is added by creating a BSP layer for it. + For more information on how to create a BSP layer, see the + Yocto Project Board Support Package (BSP) Developer's Guide. + + + Usually, if the board is not completely exotic, adding support in + the Yocto Project is fairly straightforward. + + + + + + + + Are there any products built using the OpenEmbedded build system? + + + + + The software running on the Vernier LabQuest + is built using the OpenEmbedded build system. + See the Vernier LabQuest + website for more information. + There are a number of pre-production devices using the OpenEmbedded build system + and the Yocto Project team + announces them as soon as they are released. + + + + + + + + What does the OpenEmbedded build system produce as output? + + + + + Because the same set of recipes can be used to create output of various formats, the + output of an OpenEmbedded build depends on how it was started. + Usually, the output is a flashable image ready for the target device. + + + + + + + + How do I add my package to the Yocto Project? + + + + + To add a package, you need to create a BitBake recipe. + For information on how to add a package, see the section + "Adding a Package" + in the Yocto Project Development Manual. + + + + + + + + Do I have to reflash my entire board with a new Yocto Project image when recompiling + a package? + + + + + The OpenEmbedded build system can build packages in various formats such as + ipk for opkg, + Debian package (.deb), or RPM. + The packages can then be upgraded using the package tools on the device, much like + on a desktop distribution such as Ubuntu or Fedora. + + + + + + + + What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME? + + + + + GNOME Mobile is a subset of the GNOME + platform targeted at mobile and embedded devices. + The the main difference between GNOME Mobile and standard GNOME is that + desktop-orientated libraries have been removed, along with deprecated libraries, + creating a much smaller footprint. + + + + + + + + I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. + What is wrong? + + + + + You are probably running the build on an NTFS filesystem. + Use ext2, ext3, or ext4 instead. + + + + + + + + How do I make the Yocto Project work in RHEL/CentOS? + + + + + To get the Yocto Project working under RHEL/CentOS 5.1 you need to first + install some required packages. + The standard CentOS packages needed are: + + "Development tools" (selected during installation) + texi2html + compat-gcc-34 + + On top of these, you need the following external packages: + + python-sqlite2 from + DAG repository + + help2man from + Karan repository + + + + + Once these packages are installed, the OpenEmbedded build system will be able + to build standard images. + However, there might be a problem with the QEMU emulator segfaulting. + You can either disable the generation of binary locales by setting + ENABLE_BINARY_LOCALE_GENERATION + to "0" or by removing the linux-2.6-execshield.patch + from the kernel and rebuilding it since that is the patch that causes the problems with QEMU. + + + + + + + + I see lots of 404 responses for files on + http://www.yoctoproject.org/sources/*. Is something wrong? + + + + + Nothing is wrong. + The OpenEmbedded build system checks any configured source mirrors before downloading + from the upstream sources. + The build system does this searching for both source archives and + pre-checked out versions of SCM managed software. + These checks help in large installations because it can reduce load on the SCM servers + themselves. + The address above is one of the default mirrors configured into the + build system. + Consequently, if an upstream source disappears, the team + can place sources there so builds continue to work. + + + + + + + + I have machine-specific data in a package for one machine only but the package is + being marked as machine-specific in all cases, how do I prevent this? + + + + + Set SRC_URI_OVERRIDES_PACKAGE_ARCH + = "0" in the .bb file but make sure the package is + manually marked as + machine-specific in the case that needs it. + The code that handles SRC_URI_OVERRIDES_PACKAGE_ARCH is in base.bbclass. + + + + + + + + I'm behind a firewall and need to use a proxy server. How do I do that? + + + + + Most source fetching by the OpenEmbedded build system is done by wget + and you therefore need to specify the proxy settings in a + .wgetrc file in your home directory. + Example settings in that file would be + + http_proxy = http://proxy.yoyodyne.com:18023/ + ftp_proxy = http://proxy.yoyodyne.com:18023/ + + The Yocto Project also includes a site.conf.sample + file that shows how to configure CVS and Git proxy servers + if needed. + + + + + + + + What’s the difference between foo and foo-native? + + + + + The *-native targets are designed to run on the system + being used for the build. + These are usually tools that are needed to assist the build in some way such as + quilt-native, which is used to apply patches. + The non-native version is the one that runs on the target device. + + + + + + + + I'm seeing random build failures. Help?! + + + + + If the same build is failing in totally different and random ways, + the most likely explanation is that either the hardware you're running the + build on has some problem, or, if you are running the build under virtualisation, + the virtualisation probably has bugs. + The OpenEmbedded build system processes a massive amount of data causing lots of network, disk and + CPU activity and is sensitive to even single bit failures in any of these areas. + True random failures have always been traced back to hardware or virtualisation issues. + + + + + + + + What do we need to ship for license compliance? + + + + + This is a difficult question and you need to consult your lawyer for the answer + for your specific case. + It is worth bearing in mind that for GPL compliance there needs to be enough + information shipped to allow someone else to rebuild the same end result + you are shipping. + This means sharing the source code, any patches applied to it, and also any + configuration information about how that package was configured and built. + + + + + + + + How do I disable the cursor on my touchscreen device? + + + + + You need to create a form factor file as described in the + "Miscellaneous Recipe Files" + section and set the HAVE_TOUCHSCREEN variable equal to one as follows: + + HAVE_TOUCHSCREEN=1 + + + + + + + + + How do I make sure connected network interfaces are brought up by default? + + + + + The default interfaces file provided by the netbase recipe does not + automatically bring up network interfaces. + Therefore, you will need to add a BSP-specific netbase that includes an interfaces + file. + See the "Miscellaneous Recipe Files" + section for information on creating these types of miscellaneous recipe files. + + + For example, add the following files to your layer: + + meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces + meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend + + + + + + + + + How do I create images with more free space? + + + + + Images are created to be 1.2 times the size of the populated root filesystem. + To modify this ratio so that there is more free space available, you need to + set the configuration value IMAGE_OVERHEAD_FACTOR. + For example, setting IMAGE_OVERHEAD_FACTOR to 1.5 sets + the image size ratio to one and a half times the size of the populated + root filesystem. + + IMAGE_OVERHEAD_FACTOR = "1.5" + + + + + + + + + Why don't you support directories with spaces in the pathnames? + + + + + The Yocto Project team has tried to do this before but too many of the tools + the OpenEmbedded build system depends on such as autoconf + break when they find spaces in pathnames. + Until that situation changes, the team will not support spaces in pathnames. + + + + + + + + How do I use an external toolchain? + + + + + The toolchain configuration is very flexible and customizable. + It is primarily controlled with the + TCMODE variable. + This variable controls which tcmode-*.inc file to include + from the meta/conf/distro/include directory within the + source directory. + + + + The default value of TCMODE is "default" + (i.e. tcmode-default.inc). + However, other patterns are accepted. + In particular, "external-*" refers to external toolchains of which there are some + basic examples included in the OpenEmbedded Core (meta). + You can use your own custom toolchain definition in your own layer + (or as defined in the local.conf file) at the location + conf/distro/include/tcmode-*.inc. + + + + In addition to the toolchain configuration, you also need a corresponding toolchain recipe file. + This recipe file needs to package up any pre-built objects in the toolchain such as + libgcc, libstdcc++, + any locales, and libc. + An example is the external-sourcery-toolchain.bb, which is located + in meta/recipes-core/meta/ within the source directory. + + + + + + + + How does the OpenEmbedded build system obtain source code and will it work behind my + firewall or proxy server? + + + + + The way the build system obtains source code is highly configurable. + You can setup the build system to get source code in most environments if + HTTP transport is available. + + + When the build system searches for source code, it first tries the local download directory. + If that location fails, Poky tries PREMIRRORS, the upstream source, + and then MIRRORS in that order. + + + By default, the OpenEmbedded build system uses the Yocto Project source PREMIRRORS + for SCM-based sources, + upstreams for normal tarballs, and then falls back to a number of other mirrors + including the Yocto Project source mirror if those fail. + + + As an example, you could add a specific server for Poky to attempt before any + others by adding something like the following to the local.conf + configuration file: + + PREMIRRORS_prepend = "\ + git://.*/.* http://www.yoctoproject.org/sources/ \n \ + ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ + http://.*/.* http://www.yoctoproject.org/sources/ \n \ + https://.*/.* http://www.yoctoproject.org/sources/ \n" + + + + These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS + requests and direct them to the http:// sources mirror. + You can use file:// URLs to point to local directories + or network shares as well. + + + Aside from the previous technique, these options also exist: + + BB_NO_NETWORK = "1" + + This statement tells BitBake to throw an error instead of trying to access the + Internet. + This technique is useful if you want to ensure code builds only from local sources. + + + Here is another technique: + + BB_FETCH_PREMIRRORONLY = "1" + + This statement limits Poky to pulling source from the PREMIRRORS only. + Again, this technique is useful for reproducing builds. + + + Here is another technique: + + BB_GENERATE_MIRROR_TARBALLS = "1" + + This statement tells Poky to generate mirror tarballs. + This technique is useful if you want to create a mirror server. + If not, however, the technique can simply waste time during the build. + + + Finally, consider an example where you are behind an HTTP-only firewall. + You could make the following changes to the local.conf + configuration file as long as the PREMIRROR server is up to date: + + PREMIRRORS_prepend = "\ + ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ + http://.*/.* http://www.yoctoproject.org/sources/ \n \ + https://.*/.* http://www.yoctoproject.org/sources/ \n" + BB_FETCH_PREMIRRORONLY = "1" + + These changes would cause Poky to successfully fetch source over HTTP and + any network accesses to anything other than the PREMIRROR would fail. + + + The build system also honors the standard shell environment variables + http_proxy, ftp_proxy, + https_proxy, and all_proxy + to redirect requests through proxy servers. + + + + + + + + Can I get rid of build output so I can start over? + + + + + Yes - you can easily do this. + When you use BitBake to build an image, all the build output goes into the + directory created when you source the oe-init-build-env + setup file. + By default, this build directory + is named build but can be named + anything you want. + + + + Within the build directory is the tmp directory. + To remove all the build output yet preserve any source code or downloaded files + from previous builds, simply remove the tmp directory. + + + + + + + + diff --git a/documentation/ref-manual/figures/buildhistory-web.png b/documentation/ref-manual/figures/buildhistory-web.png new file mode 100644 index 0000000000000000000000000000000000000000..f6db86c9772e1eb45dbaf4d8d1f4a18c908cec8c GIT binary patch literal 49966 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 HxRCz^<`2)w literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/figures/buildhistory.png b/documentation/ref-manual/figures/buildhistory.png new file mode 100644 index 0000000000000000000000000000000000000000..614b8ee2e41cbd4533ddf97249e8f4f18686a108 GIT binary patch literal 42062 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 KE>}kX!~X!DjxE#x literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/figures/poky-title.png b/documentation/ref-manual/figures/poky-title.png new file mode 100644 index 0000000000000000000000000000000000000000..2893d84620d74e5c3318c03fbb44bcf60853ae44 GIT binary patch literal 11592 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 literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml new file mode 100644 index 0000000000..38c58da262 --- /dev/null +++ b/documentation/ref-manual/introduction.xml @@ -0,0 +1,322 @@ + %poky; ] > + + +Introduction + +
+ Introduction + + + This manual provides reference information for the current release of the Yocto Project. + The Yocto Project is an open-source collaboration project focused on embedded Linux + developers. + Amongst other things, the Yocto Project uses the OpenEmbedded build system, which + is based on the Poky project, to construct complete Linux images. + You can find complete introductory and getting started information on the Yocto Project + by reading the + Yocto Project Quick Start. + For task-based information using the Yocto Project, see the + Yocto Project Development Manual. + You can also find lots of information on the Yocto Project on the + Yocto Project website. + +
+ +
+ Documentation Overview + + This reference manual consists of the following: + + + Using the Yocto Project: This chapter + provides an overview of the components that make up the Yocto Project + followed by information about debugging images created in the Yocto Project. + + + Technical Details: + This chapter describes fundamental Yocto Project components as well as an explanation + behind how the Yocto Project uses shared state (sstate) cache to speed build time. + + + Directory Structure: + This chapter describes the + source directory created + either by unpacking a released Yocto Project tarball on your host development system, + or by cloning the upstream + Poky Git repository. + + + BitBake: + This chapter provides an overview of the BitBake tool and its role within + the Yocto Project. + + Classes: + This chapter describes the classes used in the Yocto Project. + + Images: + This chapter describes the standard images that the Yocto Project supports. + + + Features: + This chapter describes mechanisms for creating distribution, machine, and image + features during the build process using the OpenEmbedded build system. + + Variables Glossary: + This chapter presents most variables used by the OpenEmbedded build system, which + using BitBake. + Entries describe the function of the variable and how to apply them. + + + Variable Context: + This chapter provides variable locality or context. + + FAQ: + This chapter provides answers for commonly asked questions in the Yocto Project + development environment. + + Contributing to the Yocto Project: + This chapter provides guidance on how you can contribute back to the Yocto + Project. + + +
+ + +
+System Requirements + + For general Yocto Project system requirements, see the + "What You Need and How You Get It" section + in the Yocto Project Quick Start. + The remainder of this section provides details on system requirements + not covered in the Yocto Project Quick Start. + + +
+ Supported Linux Distributions + + + Currently, the Yocto Project is supported on the following distributions: + + Ubuntu 10.04.4 LTS + Ubuntu 11.10 + Ubuntu 12.04.1 LTS + Ubuntu 12.04.1 LTS + Ubuntu 12.10 + Fedora release 16 (Verne) + Fedora release 17 (Beefy Miracle) + Fedora release 18 (Spherical Cow) + CentOS release 5.6 (Final) + CentOS release 5.7 (Final) + CentOS release 5.8 (Final) + CentOS release 6.3 (Final) + Debian GNU/Linux 6.0.6 (squeeze) + openSUSE 11.4 + openSUSE 12.1 + openSUSE 12.2 + + + + + For additional information on distributions that support the + Yocto Project, see the + Distribution Support wiki page. + +
+ +
+ Required Packages for the Host Development System + + + The list of packages you need on the host development system can + be large when covering all build scenarios using the Yocto Project. + This section provides required packages by Linux distribution and + further categorized by function. + + +
+ Ubuntu + + + The following list shows the required packages by function + given a supported Ubuntu Linux distribution: + + Essentials: + Packages needed to build an image on a headless + system: + + $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; + + Graphical Extras: + Packages recommended if the host system has graphics support: + + $ sudo apt-get install libsdl1.2-dev xterm + + Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: + + $ sudo apt-get install make xsltproc docbook-utils fop + + ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: + + $ sudo apt-get install autoconf automake libtool libglib2.0-dev + + + +
+ +
+ Fedora Packages + + + The following list shows the required packages by function + given a supported Fedora Linux distribution: + + Essentials: + Packages needed to build an image for a headless + system: + + $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; + + Graphical Extras: + Packages recommended if the host system has graphics support: + + $ sudo yum install SDL-devel xterm + + Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: + + $ sudo yum install make docbook-style-dsssl docbook-style-xsl \ + docbook-dtds docbook-utils fop libxslt + + ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: + + $ sudo yum install autoconf automake libtool glib2-devel + + + +
+ +
+ OpenSUSE Packages + + + The following list shows the required packages by function + given a supported OpenSUSE Linux distribution: + + Essentials: + Packages needed to build an image for a headless + system: + + $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; + + Graphical Extras: + Packages recommended if the host system has graphics support: + + $ sudo zypper install libSDL-devel xterm + + Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: + + $ sudo zypper install make fop xsltproc + + ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: + + $ sudo zypper install autoconf automake libtool glib2-devel + + + +
+ +
+ CentOS Packages + + + The following list shows the required packages by function + given a supported CentOS Linux distribution: + + Essentials: + Packages needed to build an image for a headless + system: + + $ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; + + Graphical Extras: + Packages recommended if the host system has graphics support: + + $ sudo yum -y install SDL-devel xterm + + Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: + + $ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \ + docbook-dtds docbook-utils fop libxslt + + ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: + + $ sudo yum -y install autoconf automake libtool glib2-devel + + + Depending on the CentOS version you are using, other requirements + and dependencies might exist. + For details, you should look at the CentOS sections on the + Poky/GettingStarted/Dependencies + wiki page. + +
+
+
+ +
+ Obtaining the Yocto Project + + The Yocto Project development team makes the Yocto Project available through a number + of methods: + + Releases: Stable, tested releases are available through + . + Nightly Builds: These releases are available at + . + These builds include Yocto Project releases, meta-toolchain tarball installation scripts, and + experimental builds. + Yocto Project Website: You can find releases + of the Yocto Project and supported BSPs at the + Yocto Project website. + Along with these downloads, you can find lots of other information at this site. + + + +
+ +
+ Development Checkouts + + Development using the Yocto Project requires a local + Source Directory. + You can set up the source directory by downloading a Yocto Project release tarball and unpacking it, + or by cloning a copy of the upstream + Poky Git repository. + For information on both these methods, see the + "Getting Setup" + section in the Yocto Project Development Manual. + +
+ +
+ diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml new file mode 100644 index 0000000000..40c570f8ca --- /dev/null +++ b/documentation/ref-manual/migration.xml @@ -0,0 +1,235 @@ + %poky; ] > + + +Migrating to a Newer Yocto Project Release + + + This chapter provides information you can use to migrate work to a + newer Yocto Project release. You can find the same information in the + release notes for a given release. + + +
+ Moving to the Yocto Project 1.3 Release + + + This section provides migration information for moving to the + Yocto Project 1.3 Release. + + +
+ Local Configuration + + + Differences include changes for + SSTATE_MIRRORS + and bblayers.conf. + + +
+ SSTATE_MIRRORS + + + The shared state cache (sstate-cache) as pointed to by + SSTATE_DIR by default + now has two-character subdirectories to prevent there being an issue with too + many files in the same directory. + Also, native sstate-cache packages will go into a subdirectory named using + the distro ID string. + If you copy the newly structured sstate-cache to a mirror location + (either local or remote) and then point to it in + SSTATE_MIRRORS, + you need to append "PATH" to the end of the mirror URL so that + the path used by BitBake before the mirror substitution is + appended to the path used to access the mirror. + Here is an example: + + SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH" + + +
+ +
+ bblayers.conf + + + The meta-yocto layer has been split into + two parts: meta-yocto and + meta-yocto-bsp, corresponding to the + Poky reference distro configuration and the reference + hardware Board Support Packages (BSPs), respectively. + When running BitBake or Hob for the first time after upgrading, + your conf/bblayers.conf file will be + updated to handle this change and you will be asked to + re-run/restart for the changes to take effect. + +
+
+ +
+ Recipes + + + Differences include changes for the following: + + Python function whitespace + proto= in SRC_URI + nativesdk + Task recipes + IMAGE_FEATURES + Removed recipes + + + +
+ Python Function Whitespace + + + All Python functions must now use four spaces for indentation. + Previously, an inconsistent mix of spaces and tabs existed, + which made extending these functions using + _append or _prepend + complicated given that Python treats whitespace as + syntactically significant. + If you are defining or extending any Python functions (e.g. + populate_packages, do_unpack, + do_patch and so forth) in custom recipes + or classes, you need to ensure you are using consistent + four-space indentation. + +
+ +
+ proto= in SRC_URI + + + Any use of proto= in + SRC_URI + needs to be changed to protocol=. + In particular, this applies to the following URIs: + + svn:// + bzr:// + hg:// + osc:// + + Other URIs were already using protocol=. + This change improves consistency. + +
+ +
+ nativesdk + + + The suffix nativesdk is now implemented + as a prefix, which simplifies a lot of the packaging code for + nativesdk recipes. + All custom nativesdk recipes and any + references need to be updated to use + nativesdk-* instead of + *-nativesdk. + +
+ +
+ Task Recipes + + + "Task" recipes are now known as "Package groups" and have + been renamed from task-*.bb to + packagegroup-*.bb. + Existing references to the previous task-* + names should work in most cases as there is an automatic + upgrade path for most packages. + However, you should update references in your own recipes and + configurations as they could be removed in future releases. + You should also rename any custom task-* + recipes to packagegroup-*, and change + them to inherit packagegroup instead of + task, as well as taking the opportunity + to remove anything now handled by + packagegroup.bbclass, such as providing + -dev and -dbg + packages, setting + LIC_FILES_CHKSUM, + and so forth. + See the + "Package Groups - packagegroup.bbclass" + section for further details. + +
+ +
+ IMAGE_FEATURES + + + Image recipes that previously included "apps-console-core" + in IMAGE_FEATURES + should now include "splash" instead to enable the boot-up + splash screen. + Retaining "apps-console-core" will still include the splash + screen generates a warning. + The "apps-x11-core" and "apps-x11-games" + IMAGE_FEATURES features have been removed. + +
+ +
+ Removed Recipes + + + The following recipes have been removed. + For most of them, it is unlikely that you would have any + references to them in your own metadata. + However, you should check your metadata against this list to be sure: + + libx11-trim: + Replaced by libx11, which has a negligible + size difference with modern Xorg. + xserver-xorg-lite: + Use xserver-xorg, which has a negligible + size difference when DRI and GLX modules are not installed. + xserver-kdrive: + Effectively unmaintained for many years. + mesa-xlib: + No longer serves any purpose. + galago: + Replaced by telepathy. + gail: + Functionality was integrated into GTK+ 2.13. + eggdbus: + No longer needed. + gcc-*-intermediate: + The build has been restructured to avoid the need for + this step. + libgsmd: + Unmaintained for many years. + Functionality now provided by + ofono instead. + contacts, dates, tasks, eds-tools: + Largely unmaintained PIM application suite. + It has been moved to meta-gnome + in meta-openembedded. + + In addition to the previously listed changes, the + meta-demoapps directory has also been removed + because the recipes in it were not being maintained and many + had become obsolete or broken. + Additionally, these recipes were not parsed in the default configuration. + Many of these recipes are already provided in an updated and + maintained form within OpenEmbedded community layers such as + meta-oe and meta-gnome. + For the remainder, you can now find them in the + meta-extras repository, which is in the + Yocto Project source repositories. + +
+
+
+
+ diff --git a/documentation/ref-manual/ref-bitbake.xml b/documentation/ref-manual/ref-bitbake.xml new file mode 100644 index 0000000000..4d4b9d6188 --- /dev/null +++ b/documentation/ref-manual/ref-bitbake.xml @@ -0,0 +1,419 @@ + %poky; ] > + + + + BitBake + + + BitBake is a program written in Python that interprets the metadata used by the OpenEmbedded + build system. + At some point, developers wonder what actually happens when you enter: + + $ bitbake core-image-sato + + + + + This chapter provides an overview of what happens behind the scenes from BitBake's perspective. + + + + BitBake strives to be a generic "task" executor that is capable of handling complex dependency relationships. + As such, it has no real knowledge of what the tasks being executed actually do. + BitBake just considers a list of tasks with dependencies and handles metadata + that consists of variables in a certain format that get passed to the tasks. + + +
+ Parsing + + + BitBake parses configuration files, classes, and .bb files. + + + + The first thing BitBake does is look for the bitbake.conf file. + This file resides in the + Source Directory + within the meta/conf/ directory. + BitBake finds it by examining its + BBPATH environment + variable and looking for the meta/conf/ + directory. + + + + The bitbake.conf file lists other configuration + files to include from a conf/ + directory below the directories listed in BBPATH. + In general, the most important configuration file from a user's perspective + is local.conf, which contains a user's customized + settings for the OpenEmbedded build environment. + Other notable configuration files are the distribution + configuration file (set by the + DISTRO variable) + and the machine configuration file + (set by the + MACHINE variable). + The DISTRO and MACHINE BitBake environment + variables are both usually set in + the local.conf file. + Valid distribution + configuration files are available in the meta/conf/distro/ directory + and valid machine configuration + files in the meta/conf/machine/ directory. + Within the meta/conf/machine/include/ + directory are various tune-*.inc configuration files that provide common + "tuning" settings specific to and shared between particular architectures and machines. + + + + After the parsing of the configuration files, some standard classes are included. + The base.bbclass file is always included. + Other classes that are specified in the configuration using the + INHERIT + variable are also included. + Class files are searched for in a classes subdirectory + under the paths in BBPATH in the same way as + configuration files. + + + + After classes are included, the variable + BBFILES + is set, usually in + local.conf, and defines the list of places to search for + .bb files. + By default, the BBFILES variable specifies the + meta/recipes-*/ directory within Poky. + Adding extra content to BBFILES is best achieved through the use of + BitBake layers as described in the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. + + + + BitBake parses each .bb file in BBFILES and + stores the values of various variables. + In summary, for each .bb + file the configuration plus the base class of variables are set, followed + by the data in the .bb file + itself, followed by any inherit commands that + .bb file might contain. + + + + Because parsing .bb files is a time + consuming process, a cache is kept to speed up subsequent parsing. + This cache is invalid if the timestamp of the .bb + file itself changes, or if the timestamps of any of the include, + configuration or class files the .bb + file depends on changes. + +
+ +
+ Preferences and Providers + + + Once all the .bb files have been + parsed, BitBake starts to build the target (core-image-sato + in the previous section's example) and looks for providers of that target. + Once a provider is selected, BitBake resolves all the dependencies for + the target. + In the case of core-image-sato, it would lead to + packagegroup-core-x11-sato, + which in turn leads to recipes like matchbox-terminal, + pcmanfm and gthumb. + These recipes in turn depend on eglibc and the toolchain. + + + + Sometimes a target might have multiple providers. + A common example is "virtual/kernel", which is provided by each kernel package. + Each machine often selects the best kernel provider by using a line similar to the + following in the machine configuration file: + + + + PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" + + + + The default PREFERRED_PROVIDER + is the provider with the same name as the target. + + + + Understanding how providers are chosen is made complicated by the fact + that multiple versions might exist. + BitBake defaults to the highest version of a provider. + Version comparisons are made using the same method as Debian. + You can use the + PREFERRED_VERSION + variable to specify a particular version (usually in the distro configuration). + You can influence the order by using the + DEFAULT_PREFERENCE + variable. + By default, files have a preference of "0". + Setting the DEFAULT_PREFERENCE to "-1" makes the + package unlikely to be used unless it is explicitly referenced. + Setting the DEFAULT_PREFERENCE to "1" makes it likely the package is used. + PREFERRED_VERSION overrides any DEFAULT_PREFERENCE setting. + DEFAULT_PREFERENCE is often used to mark newer and more experimental package + versions until they have undergone sufficient testing to be considered stable. + + + + In summary, BitBake has created a list of providers, which is prioritized, for each target. + +
+ +
+ Dependencies + + + Each target BitBake builds consists of multiple tasks such as + fetch, unpack, + patch, configure, + and compile. + For best performance on multi-core systems, BitBake considers each task as an independent + entity with its own set of dependencies. + + + + Dependencies are defined through several variables. + You can find information about variables BitBake uses in the BitBake documentation, + which is found in the bitbake/doc/manual directory within the + Source Directory. + At a basic level, it is sufficient to know that BitBake uses the + DEPENDS and + RDEPENDS variables when + calculating dependencies. + +
+ +
+ The Task List + + + Based on the generated list of providers and the dependency information, + BitBake can now calculate exactly what tasks it needs to run and in what + order it needs to run them. + The build now starts with BitBake forking off threads up to the limit set in the + BB_NUMBER_THREADS variable. + BitBake continues to fork threads as long as there are tasks ready to run, + those tasks have all their dependencies met, and the thread threshold has not been + exceeded. + + + + It is worth noting that you can greatly speed up the build time by properly setting + the BB_NUMBER_THREADS variable. + See the + "Building an Image" + section in the Yocto Project Quick Start for more information. + + + + As each task completes, a timestamp is written to the directory specified by the + STAMP variable. + On subsequent runs, BitBake looks within the /build/tmp/stamps + directory and does not rerun + tasks that are already completed unless a timestamp is found to be invalid. + Currently, invalid timestamps are only considered on a per + .bb file basis. + So, for example, if the configure stamp has a timestamp greater than the + compile timestamp for a given target, then the compile task would rerun. + Running the compile task again, however, has no effect on other providers + that depend on that target. + This behavior could change or become configurable in future versions of BitBake. + + + + Some tasks are marked as "nostamp" tasks. + No timestamp file is created when these tasks are run. + Consequently, "nostamp" tasks are always rerun. + +
+ +
+ Running a Task + + + Tasks can either be a shell task or a Python task. + For shell tasks, BitBake writes a shell script to + ${WORKDIR}/temp/run.do_taskname.pid and then executes the script. + The generated shell script contains all the exported variables, and the shell functions + with all variables expanded. + Output from the shell script goes to the file ${WORKDIR}/temp/log.do_taskname.pid. + Looking at the expanded shell functions in the run file and the output in the log files + is a useful debugging technique. + + + + For Python tasks, BitBake executes the task internally and logs information to the + controlling terminal. + Future versions of BitBake will write the functions to files similar to the way + shell tasks are handled. + Logging will be handled in way similar to shell tasks as well. + + + + Once all the tasks have been completed BitBake exits. + + + + When running a task, BitBake tightly controls the execution environment + of the build tasks to make sure unwanted contamination from the build machine + cannot influence the build. + Consequently, if you do want something to get passed into the build + task's environment, you must take a few steps: + + Tell BitBake to load what you want from the environment + into the data store. + You can do so through the BB_ENV_EXTRAWHITE + variable. + For example, assume you want to prevent the build system from + accessing your $HOME/.ccache directory. + The following command tells BitBake to load + CCACHE_DIR from the environment into the data + store: + + export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR" + + Tell BitBake to export what you have loaded into the + environment store to the task environment of every running task. + Loading something from the environment into the data store + (previous step) only makes it available in the datastore. + To export it to the task environment of every running task, + use a command similar to the following in your + local.conf or distro configuration file: + + export CCACHE_DIR + + + + + + A side effect of the previous steps is that BitBake records the variable + as a dependency of the build process in things like the shared state + checksums. + If doing so results in unnecessary rebuilds of tasks, you can whitelist the + variable so that the shared state code ignores the dependency when it creates + checksums. + For information on this process, see the BB_HASHBASE_WHITELIST + example in the "Checksums (Signatures)" section. + +
+ +
+ BitBake Command Line + + + Following is the BitBake help output: + + + +$ bitbake --help +Usage: bitbake [options] [package ...] + +Executes the specified task (default is 'build') for a given set of BitBake files. +It expects that BBFILES is defined, which is a space separated list of files to +be executed. BBFILES does support wildcards. +Default BBFILES are the .bb files in the current directory. + +Options: + --version show program's version number and exit + -h, --help show this help message and exit + -b BUILDFILE, --buildfile=BUILDFILE + execute the task against this .bb file, rather than a + package from BBFILES. Does not handle any + dependencies. + -k, --continue continue as much as possible after an error. While the + target that failed, and those that depend on it, + cannot be remade, the other dependencies of these + targets can be processed all the same. + -a, --tryaltconfigs continue with builds by trying to use alternative + providers where possible. + -f, --force force run of specified cmd, regardless of stamp status + -c CMD, --cmd=CMD Specify task to execute. Note that this only executes + the specified task for the providee and the packages + it depends on, i.e. 'compile' does not implicitly call + stage for the dependencies (IOW: use only if you know + what you are doing). Depending on the base.bbclass a + listtasks tasks is defined and will show available + tasks + -r PREFILE, --read=PREFILE + read the specified file before bitbake.conf + -R POSTFILE, --postread=POSTFILE + read the specified file after bitbake.conf + -v, --verbose output more chit-chat to the terminal + -D, --debug Increase the debug level. You can specify this more + than once. + -n, --dry-run don't execute, just go through the motions + -S, --dump-signatures + don't execute, just dump out the signature + construction information + -p, --parse-only quit after parsing the BB files (developers only) + -s, --show-versions show current and preferred versions of all packages + -e, --environment show the global or per-package environment (this is + what used to be bbread) + -g, --graphviz emit the dependency trees of the specified packages in + the dot syntax + -I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED + Assume these dependencies don't exist and are already + provided (equivalent to ASSUME_PROVIDED). Useful to + make dependency graphs more appealing + -l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS + Show debug logging for the specified logging domains + -P, --profile profile the command and print a report + -u UI, --ui=UI userinterface to use + -t SERVERTYPE, --servertype=SERVERTYPE + Choose which server to use, none, process or xmlrpc + --revisions-changed Set the exit code depending on whether upstream + floating revisions have changed or not + +
+ +
+ Fetchers + + + BitBake also contains a set of "fetcher" modules that allow + retrieval of source code from various types of sources. + For example, BitBake can get source code from a disk with the metadata, from websites, + from remote shell accounts or from Source Code Management (SCM) systems + like cvs/subversion/git. + + + + Fetchers are usually triggered by entries in + SRC_URI. + You can find information about the options and formats of entries for specific + fetchers in the BitBake manual located in the + bitbake/doc/manual directory of the + Source Directory. + + + + One useful feature for certain Source Code Manager (SCM) fetchers is the ability to + "auto-update" when the upstream SCM changes version. + Since this ability requires certain functionality from the SCM, not all + systems support it. + Currently Subversion, Bazaar and to a limited extent, Git support the ability to "auto-update". + This feature works using the SRCREV + variable. + See the + "Using an External SCM" section + in the Yocto Project Development Manual for more information. + + +
+ +
+ diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml new file mode 100644 index 0000000000..2caea272a4 --- /dev/null +++ b/documentation/ref-manual/ref-classes.xml @@ -0,0 +1,720 @@ + %poky; ] > + + +Classes + + + Class files are used to abstract common functionality and share it amongst multiple + .bb files. + Any metadata usually found in a .bb file can also be placed in a class + file. + Class files are identified by the extension .bbclass and are usually placed + in a classes/ directory beneath the + meta*/ directory found in the + Source Directory. + Class files can also be pointed to by BUILDDIR (e.g. build/)in the same way as + .conf files in the conf directory. + Class files are searched for in BBPATH + using the same method by which .conf files are searched. + + + + In most cases inheriting the class is enough to enable its features, although + for some classes you might need to set variables or override some of the + default behaviour. + + +
+ The base class - <filename>base.bbclass</filename> + + + The base class is special in that every .bb + file inherits it automatically. + This class contains definitions for standard basic + tasks such as fetching, unpacking, configuring (empty by default), compiling + (runs any Makefile present), installing (empty by default) and packaging + (empty by default). + These classes are often overridden or extended by other classes + such as autotools.bbclass or package.bbclass. + The class also contains some commonly used functions such as oe_runmake. + +
+ +
+ Autotooled Packages - <filename>autotools.bbclass</filename> + + + Autotools (autoconf, automake, + and libtool) bring standardization. + This class defines a set of tasks (configure, compile etc.) that + work for all Autotooled packages. + It should usually be enough to define a few standard variables + and then simply inherit autotools. + This class can also work with software that emulates Autotools. + For more information, see the + "Autotooled Package" + section in the Yocto Project Development Manual. + + + + It's useful to have some idea of how the tasks defined by this class work + and what they do behind the scenes. + + do_configure ‐ regenerates the + configure script (using autoreconf) and then launches it + with a standard set of arguments used during cross-compilation. + You can pass additional parameters to configure through the + EXTRA_OECONF variable. + + do_compile ‐ runs make with + arguments that specify the compiler and linker. + You can pass additional arguments through + the EXTRA_OEMAKE variable. + + do_install ‐ runs make install + and passes a DESTDIR option, which takes its value from the standard + DESTDIR variable. + + + +
+ +
+ Alternatives - <filename>update-alternatives.bbclass</filename> + + + Several programs can fulfill the same or similar function and be installed with the same name. + For example, the ar command is available from the + busybox, binutils and + elfutils packages. + The update-alternatives.bbclass class handles renaming the + binaries so that multiple packages can be installed without conflicts. + The ar command still works regardless of which packages are installed + or subsequently removed. + The class renames the conflicting binary in each package and symlinks the highest + priority binary during installation or removal of packages. + + + Four variables control this class: + + ALTERNATIVE_NAME ‐ The name of the + binary that is replaced (ar in this example). + ALTERNATIVE_LINK ‐ The path to + the resulting binary (/bin/ar in this example). + ALTERNATIVE_PATH ‐ The path to the + real binary (/usr/bin/ar.binutils in this example). + ALTERNATIVE_PRIORITY ‐ The priority of + the binary. + The version with the most features should have the highest priority. + + + + + Currently, the OpenEmbedded build system supports only one binary per package. + +
+ +
+ Initscripts - <filename>update-rc.d.bbclass</filename> + + + This class uses update-rc.d to safely install an + initialization script on behalf of the package. + The OpenEmbedded build system takes care of details such as making sure the script is stopped before + a package is removed and started when the package is installed. + Three variables control this class: + INITSCRIPT_PACKAGES, + INITSCRIPT_NAME and + INITSCRIPT_PARAMS. + See the variable links for details. + +
+ +
+ Binary config scripts - <filename>binconfig.bbclass</filename> + + + Before pkg-config had become widespread, libraries shipped shell + scripts to give information about the libraries and include paths needed + to build software (usually named LIBNAME-config). + This class assists any recipe using such scripts. + + + + During staging, BitBake installs such scripts into the + sysroots/ directory. + BitBake also changes all paths to point into the sysroots/ + directory so all builds that use the script will use the correct + directories for the cross compiling layout. + +
+ +
+ Debian renaming - <filename>debian.bbclass</filename> + + + This class renames packages so that they follow the Debian naming + policy (i.e. eglibc becomes libc6 + and eglibc-devel becomes libc6-dev. + +
+ +
+ Pkg-config - <filename>pkgconfig.bbclass</filename> + + + pkg-config brought standardization and this class aims to make its + integration smooth for all libraries that make use of it. + + + + During staging, BitBake installs pkg-config data into the + sysroots/ directory. + By making use of sysroot functionality within pkg-config, + this class no longer has to manipulate the files. + +
+ +
+ Distribution of sources - <filename>src_distribute_local.bbclass</filename> + + + Many software licenses require that source files be provided along with the binaries. + To simplify this process, two classes were created: + src_distribute.bbclass and + src_distribute_local.bbclass. + + + + The results of these classes are tmp/deploy/source/ + subdirs with sources sorted by + LICENSE field. + If recipes list few licenses (or have entries like "Bitstream Vera"), + the source archive is placed in each license directory. + + + + This class operates using three modes: + + copy: Copies the files to the + distribute directory. + symlink: Symlinks the files to the + distribute directory. + move+symlink: Moves the files into + the distribute directory and then symlinks them back. + + +
+ +
+ Perl modules - <filename>cpan.bbclass</filename> + + + Recipes for Perl modules are simple. + These recipes usually only need to point to the source's archive and then inherit the + proper .bbclass file. + Building is split into two methods depending on which method the module authors used. + + + + Modules that use old Makefile.PL-based build system require + cpan.bbclass in their recipes. + + + + Modules that use Build.PL-based build system require + using cpan_build.bbclass in their recipes. + +
+ +
+ Python extensions - <filename>distutils.bbclass</filename> + + + Recipes for Python extensions are simple. + These recipes usually only need to point to the source's archive and then inherit + the proper .bbclass file. + Building is split into two methods dependling on which method the module authors used. + + + + Extensions that use an Autotools-based build system require Autotools and + distutils-based .bbclasse files in their recipes. + + + + Extensions that use distutils-based build systems require + distutils.bbclass in their recipes. + +
+ +
+ Developer Shell - <filename>devshell.bbclass</filename> + + + This class adds the devshell task. + Distribution policy dictates whether to include this class. + See the + "Using a Development Shell" section + in the Yocto Project Development Manual for more information about using devshell. + +
+ +
+ Package Groups - <filename>packagegroup.bbclass</filename> + + + This class sets default values appropriate for package group recipes (such as + PACKAGES, + PACKAGE_ARCH, + ALLOW_EMPTY, + and so forth. + It is highly recommended that all package group recipes inherit this class. + + + For information on how to use this class, see the + "Customizing Images Using Custom Package Tasks" + section in the Yocto Project Development Manual. + + + Previously, this class was named task.bbclass. + +
+ + +
+ Packaging - <filename>package*.bbclass</filename> + + + The packaging classes add support for generating packages from a build's + output. + The core generic functionality is in package.bbclass. + The code specific to particular package types is contained in various sub-classes such as + package_deb.bbclass, package_ipk.bbclass, + and package_rpm.bbclass. + Most users will want one or more of these classes. + + + + You can control the list of resulting package formats by using the + PACKAGE_CLASSES + variable defined in the local.conf configuration file, + which is located in the conf folder of the + Source Directory. + When defining the variable, you can specify one or more package types. + Since images are generated from packages, a packaging class is + needed to enable image generation. + The first class listed in this variable is used for image generation. + + + + The package class you choose can affect build-time performance and has space + ramifications. + In general, building a package with RPM takes about thirty percent more time as + compared to using IPK to build the same or similar package. + This comparison takes into account a complete build of the package with all + dependencies previously built. + The reason for this discrepancy is because the RPM package manager creates and + processes more metadata than the IPK package manager. + Consequently, you might consider setting PACKAGE_CLASSES + to "package_ipk" if you are building smaller systems. + + + + Keep in mind, however, that RPM starts to provide more abilities than IPK due to + the fact that it processes more metadata. + For example, this information includes individual file types, file checksum generation + and evaluation on install, sparse file support, conflict detection and resolution + for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks. + + + + Another consideration for packages built using the RPM package manager is space. + For smaller systems, the extra space used for the Berkley Database and the amount + of metadata can affect your ability to do on-device upgrades. + + + + You can find additional information on the effects of the package class at these + two Yocto Project mailing list links: + + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006362.html + + https://lists.yoctoproject.org/pipermail/poky/2011-May/006363.html + + +
+ +
+ Building kernels - <filename>kernel.bbclass</filename> + + + This class handles building Linux kernels. + The class contains code to build all kernel trees. + All needed headers are staged into the + STAGING_KERNEL_DIR + directory to allow out-of-tree module builds using module.bbclass. + + + + This means that each built kernel module is packaged separately and inter-module + dependencies are created by parsing the modinfo output. + If all modules are required, then installing the kernel-modules + package installs all packages with modules and various other kernel packages + such as kernel-vmlinux. + + + + Various other classes are used by the kernel and module classes internally including + kernel-arch.bbclass, module_strip.bbclass, + module-base.bbclass, and linux-kernel-base.bbclass. + +
+ +
+ Creating images - <filename>image.bbclass</filename> and <filename>rootfs*.bbclass</filename> + + + These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. + + + + The IMAGE_FSTYPES + variable controls the types of images to generate. + + + + The IMAGE_INSTALL + variable controls the list of packages to install into the image. + +
+ +
+ Host System sanity checks - <filename>sanity.bbclass</filename> + + + This class checks to see if prerequisite software is present so that + users can be notified of potential problems that might affect their build. + The class also performs basic user configuration checks from + the local.conf configuration file to + prevent common mistakes that cause build failures. + Distribution policy usually determines whether to include this class. + +
+ +
+ Generated output quality assurance checks - <filename>insane.bbclass</filename> + + + This class adds a step to the package generation process that sanity checks the + packages generated by the OpenEmbedded build system. + A range of checks are performed that check the build's output + for common problems that show up during runtime. + Distribution policy usually dictates whether to include this class. + + + + You can configure the sanity checks so that specific test failures either raise a warning or + an error message. + Typically, failures for new tests generate a warning. + Subsequent failures for the same test would then generate an error message + once the metadata is in a known and good condition. + You use the WARN_QA variable to specify tests for which you + want to generate a warning message on failure. + You use the ERROR_QA variable to specify tests for which you + want to generate an error message on failure. + + + + The following list shows the tests you can list with the WARN_QA + and ERROR_QA variables: + + ldflags: + Ensures that the binaries were linked with the + LDFLAGS options provided by the build system. + If this test fails, check that the LDFLAGS variable + is being passed to the linker command. + useless-rpaths: + Checks for dynamic library load paths (rpaths) in the binaries that + by default on a standard system are searched by the linker (e.g. + /lib and /usr/lib). + While these paths will not cause any breakage, they do waste space and + are unnecessary. + rpaths: + Checks for rpaths in the binaries that contain build system paths such + as TMPDIR. + If this test fails, bad -rpath options are being + passed to the linker commands and your binaries have potential security + issues. + dev-so: + Checks that the .so symbolic links are in the + -dev package and not in any of the other packages. + In general, these symlinks are only useful for development purposes. + Thus, the -dev 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. + + debug-files: + Checks for .debug directories in anything but the + -dbg package. + The debug files should all be in the -dbg package. + Thus, anything packaged elsewhere is incorrect packaging. + arch: + Checks the Executable and Linkable Format (ELF) type, bit size and endianness + of any binaries to ensure it matches the target architecture. + This test fails if any binaries don't match the type since there would be an + incompatibility. + Sometimes software, like bootloaders, might need to bypass this check. + + debug-deps: + Checks that -dbg packages only depend on other + -dbg packages and not on any other types of packages, + which would cause a packaging bug. + dev-deps: + Checks that -dev packages only depend on other + -dev packages and not on any other types of packages, + which would be a packaging bug. + pkgconfig: + Checks .pc files for any + TMPDIR/WORKDIR paths. + Any .pc file containing these paths is incorrect + since pkg-config itself adds the correct sysroot prefix + when the files are accessed. + la: + Checks .la files for any TMPDIR + paths. + Any .la file continaing these paths is incorrect since + libtool adds the correct sysroot prefix when using the + files automatically itself. + desktop: + Runs the desktop-file-validate program against any + .desktop files to validate their contents against + the specification for .desktop files. + + +
+ +
+ Autotools configuration data cache - <filename>siteinfo.bbclass</filename> + + + Autotools can require tests that must execute on the target hardware. + Since this is not possible in general when cross compiling, site information is + used to provide cached test results so these tests can be skipped over but + still make the correct values available. + The meta/site directory + contains test results sorted into different categories such as architecture, endianness, and + the libc used. + Site information provides a list of files containing data relevant to + the current build in the + CONFIG_SITE variable + that Autotools automatically picks up. + + + + The class also provides variables like + SITEINFO_ENDIANNESS + and SITEINFO_BITS + that can be used elsewhere in the metadata. + + + + Because this class is included from base.bbclass, it is always active. + +
+ +
+ Adding Users - <filename>useradd.bbclass</filename> + + + If you have packages that install files that are owned by custom users or groups, + you can use this class to specify those packages and associate the users and groups + with those packages. + The meta-skeleton/recipes-skeleton/useradd/useradd-example.bb + recipe in the Source Directory + provides a simple exmample that shows how to add three + users and groups to two packages. + See the useradd-example.bb for more information on how to + use this class. + +
+ +
+ Using External Source - <filename>externalsrc.bbclass</filename> + + + You can use this class to build software from source code that is external to the + OpenEmbedded build system. + In other words, your source code resides in an external tree outside of the Yocto Project. + Building software from an external source tree means that the normal fetch, unpack, and + patch process is not used. + + + + To use the class, you need to define the + S variable to point to the directory that contains the source files. + You also need to have your recipe inherit the externalsrc.bbclass class. + + + + This class expects the source code to support recipe builds that use the + B variable to point to the directory in + which the OpenEmbedded build system places the generated objects built from the recipes. + By default, the B directory is set to the following, which is separate from the + Source Directory (S): + + ${WORKDIR}/${BPN}/{PV}/ + + See the glossary entries for the + WORKDIR, + BPN, + PV, + S, and + B for more information. + + + + You can build object files in the external tree by setting the + B variable equal to "${S}". + However, this practice does not work well if you use the source for more than one variant + (i.e., "natives" such as quilt-native, + or "crosses" such as gcc-cross). + So, be sure there are no "native", "cross", or "multilib" variants of the recipe. + + + + If you do want to build different variants of a recipe, you can use the + BBCLASSEXTEND variable. + When you do, the B variable must support the + recipe's ability to build variants in different working directories. + Most autotools-based recipes support separating these directories. + The OpenEmbedded build system defaults to using separate directories for gcc + and some kernel recipes. + Alternatively, you can make sure that separate recipes exist that each + use the BBCLASSEXTEND variable to build each variant. + The separate recipes can inherit a single target recipe. + + + + For information on how to use this class, see the + "Building + Software from an External Source" section in the Yocto Project Development Manual. + +
+ +
+ Other Classes + + + Thus far, this chapter has discussed only the most useful and important + classes. + However, other classes exist within the meta/classes directory + in the Source Directory. + You can examine the .bbclass files directly for more + information. + +
+ + + + +
+ diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml new file mode 100644 index 0000000000..77c31275ae --- /dev/null +++ b/documentation/ref-manual/ref-features.xml @@ -0,0 +1,294 @@ + %poky; ] > + + + Reference: Features + + + Features provide a mechanism for working out which packages + should be included in the generated images. + Distributions can select which features they want to support through the + DISTRO_FEATURES + variable, which is set in the poky.conf distribution configuration file. + Machine features are set in the + MACHINE_FEATURES + variable, which is set in the machine configuration file and + specifies the hardware features for a given machine. + + + + These two variables combine to work out which kernel modules, + utilities, and other packages to include. + A given distribution can support a selected subset of features so some machine features might not + be included if the distribution itself does not support them. + + + + One method you can use to determine which recipes are checking to see if a + particular feature is contained or not is to grep through + the metadata for the feature. + Here is an example that discovers the recipes whose build is potentially + changed based on a given feature: + + $ cd $HOME/poky + $ git grep 'contains.*MACHINE_FEATURES.*<feature>' + + + + + This chapter provides a reference of shipped machine and distro features + you can include as part of the image, a reference on image types you can + build, and a reference on feature backfilling. + + + +
+ Distro + + + The items below are features you can use with + DISTRO_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. + + + + This list only represents features as shipped with the Yocto Project metadata: + + alsa: ALSA support will be included (OSS compatibility + kernel modules will be installed if available). + bluetooth: Include bluetooth support (integrated BT only) + + ext2: Include tools for supporting for devices with internal + HDD/Microdrive for storing files (instead of Flash only devices) + + irda: Include Irda support + + keyboard: Include keyboard support (e.g. keymaps will be + loaded during boot). + + pci: Include PCI bus support + + pcmcia: Include PCMCIA/CompactFlash support + + usbgadget: USB Gadget Device support (for USB + networking/serial/storage) + + usbhost: USB Host support (allows to connect external + keyboard, mouse, storage, network etc) + + wifi: WiFi support (integrated only) + + cramfs: CramFS support + + ipsec: IPSec support + + ipv6: IPv6 support + + nfs: NFS client support (for mounting NFS exports on + device) + ppp: PPP dialup support + smbfs: SMB networks client support (for mounting + Samba/Microsoft Windows shares on device) + + +
+ +
+ Machine + + + The items below are features you can use with + MACHINE_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. + + + + This feature list only represents features as shipped with the Yocto Project metadata: + + acpi: Hardware has ACPI (x86/x86_64 only) + + alsa: Hardware has ALSA audio drivers + + apm: Hardware uses APM (or APM emulation) + + bluetooth: Hardware has integrated BT + + ext2: Hardware HDD or Microdrive + + irda: Hardware has Irda support + + keyboard: Hardware has a keyboard + + pci: Hardware has a PCI bus + + pcmcia: Hardware has PCMCIA or CompactFlash sockets + + screen: Hardware has a screen + + serial: Hardware has serial support (usually RS232) + + touchscreen: Hardware has a touchscreen + + usbgadget: Hardware is USB gadget device capable + + usbhost: Hardware is USB Host capable + + wifi: Hardware has integrated WiFi + + + +
+ +
+ Images + + + The contents of images generated by the OpenEmbedded build system can be controlled by the + IMAGE_FEATURES + and EXTRA_IMAGE_FEATURES + variables that you typically configure in your image recipes. + Through these variables you can add several different + predefined packages such as development utilities or packages with debug + information needed to investigate application problems or profile applications. + + + + Current list of + IMAGE_FEATURES contains the following: + + splash: Enables showing a splash screen during boot. + By default, this screen is provided by psplash, which does + allow customization. + If you prefer to use an alternative splash screen package, you can do so by + setting the SPLASH variable + to a different package name (or names) within the image recipe or at the distro + configuration level. + ssh-server-dropbear: Installs the Dropbear minimal + SSH server. + + ssh-server-openssh: Installs the OpenSSH SSH server, + which is more full-featured than Dropbear. + Note that if both the OpenSSH SSH server and the Dropbear minimal SSH server + are present in IMAGE_FEATURES, then OpenSSH will take + precedence and Dropbear will not be installed. + x11: Installs the X server + x11-base: Installs the X server with a + minimal environment. + x11-sato: Installs the OpenedHand Sato environment. + + tools-sdk: Installs a full SDK that runs on the device. + + tools-debug: Installs debugging tools such as + strace and gdb. + + tools-profile: Installs profiling tools such as + oprofile, exmap, and + LTTng. + tools-testapps: Installs device testing tools (e.g. + touchscreen debugging). + nfs-server: Installs an NFS server. + dev-pkgs: Installs development packages (headers and + extra library links) for all packages installed in a given image. + staticdev-pkgs: Installs static development + packages (i.e. static libraries containing *.a files) for all + packages installed in a given image. + dbg-pkgs: Installs debug symbol packages for all packages + installed in a given image. + doc-pkgs: Installs documentation packages for all packages + installed in a given image. + + +
+ +
+ Feature Backfilling + + + Sometimes it is necessary in the OpenEmbedded build system to extend + MACHINE_FEATURES + or DISTRO_FEATURES + to control functionality that was previously enabled and not able + to be disabled. + For these cases, we need to add an + additional feature item to appear in one of these variables, + but we do not want to force developers who have existing values + of the variables in their configuration to add the new feature + in order to retain the same overall level of functionality. + Thus, the OpenEmbedded build system has a mechanism to + automatically "backfill" these added features into existing + distro or machine configurations. + You can see the list of features for which this is done by + finding the + DISTRO_FEATURES_BACKFILL + and MACHINE_FEATURES_BACKFILL + variables in the meta/conf/bitbake.conf file. + + + + Because such features are backfilled by default into all + configurations as described in the previous paragraph, developers + who wish to disable the new features need to be able to selectively + prevent the backfilling from occurring. + They can do this by adding the undesired feature or features to the + DISTRO_FEATURES_BACKFILL_CONSIDERED + or MACHINE_FEATURES_BACKFILL_CONSIDERED + variables for distro features and machine features respectively. + + + + Here are two examples to help illustrate feature backfilling: + + The "pulseaudio" distro feature option: + Previously, PulseAudio support was enabled within the Qt and + GStreamer frameworks. + Because of this, the feature is backfilled and thus + enabled for all distros through the + DISTRO_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your distro needs to disable the feature. + You can disable the feature without affecting + other existing distro configurations that need PulseAudio support + by adding "pulseaudio" to + DISTRO_FEATURES_BACKFILL_CONSIDERED + in your distro's .conf file. + Adding the feature to this variable when it also + exists in the DISTRO_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's DISTRO_FEATURES, effectively disabling + the feature for that particular distro. + The "rtc" machine feature option: + Previously, real time clock (RTC) support was enabled for all + target devices. + Because of this, the feature is backfilled and thus enabled + for all machines through the MACHINE_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your target device does not have this capability. + You can disable RTC support for your device without + affecting other machines that need RTC support + by adding the feature to your machine's + MACHINE_FEATURES_BACKFILL_CONSIDERED + list in the machine's .conf file. + Adding the feature to this variable when it also + exists in the MACHINE_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's MACHINE_FEATURES, effectively + disabling RTC support for that particular machine. + + +
+
+ + diff --git a/documentation/ref-manual/ref-images.xml b/documentation/ref-manual/ref-images.xml new file mode 100644 index 0000000000..0a827ca235 --- /dev/null +++ b/documentation/ref-manual/ref-images.xml @@ -0,0 +1,132 @@ + %poky; ] > + + + Images + + + The OpenEmbedded build process supports several types of images to satisfy different needs. + When you issue the bitbake command you provide a “top-level†recipe + that essentially begins the build for the type of image you want. + + + + Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + Furthermore, if you are going to build an image using non-GPLv3 components, + you must make the following changes in the local.conf file + before using the BitBake command to build the minimal or base image: + + 1. Comment out the EXTRA_IMAGE_FEATURES line + 2. Set INCOMPATIBLE_LICENSE = "GPLv3" + + + + + From within the poky Git repository, use the following command to list + the supported images: + + $ ls meta*/recipes*/images/*.bb + + These recipes reside in the meta/recipes-core/images, + meta/recipes-extended/images, + meta/recipes-graphics/images, and + meta/recipes-sato/images directories + within the source directory. + Although the recipe names are somewhat explanatory, here is a list that describes them: + + + + core-image-base: + A console-only image that fully supports the target device hardware. + core-image-minimal: + A small image just capable of allowing a device to boot. + core-image-minimal-dev: + A core-image-minimal image suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. + + core-image-minimal-initramfs: + A core-image-minimal image that has the Minimal RAM-based + Initial Root Filesystem (initramfs) as part of the kernel, + which allows the system to find the first “init†program more efficiently. + + core-image-minimal-mtdutils: + A core-image-minimal image that has support + for the Minimal MTD Utilities, which let the user interact with the + MTD subsystem in the kernel to perform operations on flash devices. + + core-image-x11: + A very basic X11 image with a terminal. + + core-image-basic: + A console-only image with more full-featured Linux system + functionality installed. + core-image-lsb: + An image that conforms to the Linux Standard Base (LSB) specification. + core-image-lsb-dev: + A core-image-lsb image that is suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. + + core-image-lsb-sdk: + A core-image-lsb that includes everything in meta-toolchain + but also includes development headers and libraries to form a complete standalone SDK. + This image is suitable for development using the target. + core-image-clutter: + An image with support for the Open GL-based toolkit Clutter, which enables development of + rich and animated graphical user interfaces. + core-image-sato: + An image with Sato support, a mobile environment and visual style that works well + with mobile devices. + The image supports X11 with a Sato theme and applications such as + a terminal, editor, file manager, media player, and so forth. + core-image-sato-dev: + A core-image-sato image suitable for development + using the host. + The image includes libraries needed to build applications on the device itself, + testing and profiling tools, and debug symbols. + This image was formerly core-image-sdk. + core-image-sato-sdk: + A core-image-sato image that includes everything in meta-toolchain. + The image also includes development headers and libraries to form a complete standalone SDK + and is suitable for development using the target. + core-image-rt: + A core-image-minimal image plus a real-time test suite and + tools appropriate for real-time use. + core-image-rt-sdk: + A core-image-rt image that includes everything in + meta-toolchain. + The image also includes development headers and libraries to form a complete + stand-alone SDK and is suitable for development using the target. + core-image-gtk-directfb: + An image that uses gtk+ over directfb + instead of X11. + In order to build, this image requires specific distro configuration that enables + gtk over directfb. + build-appliance-image: + An image you can boot and run using either the + VMware Player + or VMware Workstation. + For more information on this image, see the + Build Appliance page on + the Yocto Project website. + + + + From the Yocto Project release 1.1 onwards, -live and + -directdisk images have been replaced by a "live" + option in IMAGE_FSTYPES that will work with any image to produce an + image file that can be + copied directly to a CD or USB device and run as is. + To build a live image, simply add + "live" to IMAGE_FSTYPES within the local.conf + file or wherever appropriate and then build the desired image as normal. + + + diff --git a/documentation/ref-manual/ref-manual-customization.xsl b/documentation/ref-manual/ref-manual-customization.xsl new file mode 100644 index 0000000000..362ebed131 --- /dev/null +++ b/documentation/ref-manual/ref-manual-customization.xsl @@ -0,0 +1,6 @@ + + + + + + diff --git a/documentation/ref-manual/ref-manual.html b/documentation/ref-manual/ref-manual.html new file mode 100644 index 0000000000..d491bd023d --- /dev/null +++ b/documentation/ref-manual/ref-manual.html @@ -0,0 +1,5283 @@ + + +

+

Richard Purdie

+ Linux Foundation
+
+ +
+

+ Permission is granted to copy, distribute and/or modify this document under + the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. +

+

Note

+ Due to production processes, there could be differences between the Yocto Project + documentation bundled in the release tarball and the + Yocto Project Reference Manual on + the Yocto Project website. + For the latest version of this manual, see the manual on the website. +
+
+ + + + + + + +
Revision History
Revision 4.0+git24 November 2010
Released with the Yocto Project 0.9 Release
Revision 1.06 April 2011
Released with the Yocto Project 1.0 Release.
Revision 1.0.123 May 2011
Released with the Yocto Project 1.0.1 Release.
Revision 1.16 October 2011
Released with the Yocto Project 1.1 Release.
Revision 1.2April 2012
Released with the Yocto Project 1.2 Release.
Revision 1.3October 2012
Released with the Yocto Project 1.3 Release.
Revision 1.4Sometime in 2013
Released with the Yocto Project 1.4 Release.

Table of Contents

1. Introduction
1.1. Introduction
1.2. Documentation Overview
1.3. System Requirements
1.3.1. Supported Linux Distributions
1.3.2. Required Packages for the Host Development System
1.4. Obtaining the Yocto Project
1.5. Development Checkouts
2. Using the Yocto Project
2.1. Running a Build
2.1.1. Build Overview
2.1.2. Building an Image Using GPL Components
2.2. Installing and Using the Result
2.3. Debugging Build Failures
2.3.1. Task Failures
2.3.2. Running Specific Tasks
2.3.3. Dependency Graphs
2.3.4. General BitBake Problems
2.3.5. Building with No Dependencies
2.3.6. Variables
2.3.7. Recipe Logging Mechanisms
2.3.8. Other Tips
2.4. Maintaining Build Output Quality
2.4.1. Enabling and Disabling Build History
2.4.2. Understanding What the Build History Contains
3. Technical Details
3.1. Yocto Project Components
3.1.1. BitBake
3.1.2. Metadata (Recipes)
3.1.3. Classes
3.1.4. Configuration
3.2. Shared State Cache
3.2.1. Overall Architecture
3.2.2. Checksums (Signatures)
3.2.3. Shared State
3.2.4. Tips and Tricks
3.3. x32
3.3.1. Support
3.3.2. Future Development and Limitations
3.3.3. Using x32 Right Now
3.4. Licenses
3.4.1. Tracking License Changes
3.4.2. Enabling Commercially Licensed Recipes
4. Migrating to a Newer Yocto Project Release
4.1. Moving to the Yocto Project 1.3 Release
4.1.1. Local Configuration
4.1.2. Recipes
5. Source Directory Structure
5.1. Top level core components
5.1.1. bitbake/
5.1.2. build/
5.1.3. documentation
5.1.4. meta/
5.1.5. meta-yocto/
5.1.6. meta-yocto-bsp/
5.1.7. meta-hob/
5.1.8. meta-skeleton/
5.1.9. scripts/
5.1.10. oe-init-build-env
5.1.11. LICENSE, README, and README.hardware
5.2. The Build Directory - build/
5.2.1. build/pseudodone
5.2.2. build/conf/local.conf
5.2.3. build/conf/bblayers.conf
5.2.4. build/conf/sanity_info
5.2.5. build/downloads/
5.2.6. build/sstate-cache/
5.2.7. build/tmp/
5.2.8. build/tmp/buildstats/
5.2.9. build/tmp/cache/
5.2.10. build/tmp/deploy/
5.2.11. build/tmp/deploy/deb/
5.2.12. build/tmp/deploy/rpm/
5.2.13. build/tmp/deploy/licenses/
5.2.14. build/tmp/deploy/images/
5.2.15. build/tmp/deploy/ipk/
5.2.16. build/tmp/sysroots/
5.2.17. build/tmp/stamps/
5.2.18. build/tmp/log/
5.2.19. build/tmp/pkgdata/
5.2.20. build/tmp/work/
5.3. The Metadata - meta/
5.3.1. meta/classes/
5.3.2. meta/conf/
5.3.3. meta/conf/machine/
5.3.4. meta/conf/distro/
5.3.5. meta/recipes-bsp/
5.3.6. meta/recipes-connectivity/
5.3.7. meta/recipes-core/
5.3.8. meta/recipes-devtools/
5.3.9. meta/recipes-extended/
5.3.10. meta/recipes-gnome/
5.3.11. meta/recipes-graphics/
5.3.12. meta/recipes-kernel/
5.3.13. meta/recipes-multimedia/
5.3.14. meta/recipes-qt/
5.3.15. meta/recipes-rt/
5.3.16. meta/recipes-sato/
5.3.17. meta/recipes-support/
5.3.18. meta/site/
5.3.19. meta/recipes.txt
6. BitBake
6.1. Parsing
6.2. Preferences and Providers
6.3. Dependencies
6.4. The Task List
6.5. Running a Task
6.6. BitBake Command Line
6.7. Fetchers
7. Classes
7.1. The base class - base.bbclass
7.2. Autotooled Packages - autotools.bbclass
7.3. Alternatives - update-alternatives.bbclass
7.4. Initscripts - update-rc.d.bbclass
7.5. Binary config scripts - binconfig.bbclass
7.6. Debian renaming - debian.bbclass
7.7. Pkg-config - pkgconfig.bbclass
7.8. Distribution of sources - src_distribute_local.bbclass
7.9. Perl modules - cpan.bbclass
7.10. Python extensions - distutils.bbclass
7.11. Developer Shell - devshell.bbclass
7.12. Package Groups - packagegroup.bbclass
7.13. Packaging - package*.bbclass
7.14. Building kernels - kernel.bbclass
7.15. Creating images - image.bbclass and rootfs*.bbclass
7.16. Host System sanity checks - sanity.bbclass
7.17. Generated output quality assurance checks - insane.bbclass
7.18. Autotools configuration data cache - siteinfo.bbclass
7.19. Adding Users - useradd.bbclass
7.20. Using External Source - externalsrc.bbclass
7.21. Other Classes
8. Images
9. Reference: Features
9.1. Distro
9.2. Machine
9.3. Images
9.4. Feature Backfilling
10. Variables Glossary
Glossary
11. Variable Context
11.1. Configuration
11.1.1. Distribution (Distro)
11.1.2. Machine
11.1.3. Local
11.2. Recipes
11.2.1. Required
11.2.2. Dependencies
11.2.3. Paths
11.2.4. Extra Build Information
12. FAQ
13. Contributing to the Yocto Project
13.1. Introduction
13.2. Tracking Bugs
13.3. Mailing lists
13.4. Internet Relay Chat (IRC)
13.5. Links
13.6. Contributions
+ + +

Chapter 1. Introduction

1.1. Introduction

+ This manual provides reference information for the current release of the Yocto Project. + The Yocto Project is an open-source collaboration project focused on embedded Linux + developers. + Amongst other things, the Yocto Project uses the OpenEmbedded build system, which + is based on the Poky project, to construct complete Linux images. + You can find complete introductory and getting started information on the Yocto Project + by reading the + Yocto Project Quick Start. + For task-based information using the Yocto Project, see the + Yocto Project Development Manual. + You can also find lots of information on the Yocto Project on the + Yocto Project website. +

1.2. Documentation Overview

+ This reference manual consists of the following: +

  • + Using the Yocto Project: This chapter + provides an overview of the components that make up the Yocto Project + followed by information about debugging images created in the Yocto Project. +

  • + Technical Details: + This chapter describes fundamental Yocto Project components as well as an explanation + behind how the Yocto Project uses shared state (sstate) cache to speed build time. +

  • + Directory Structure: + This chapter describes the + source directory created + either by unpacking a released Yocto Project tarball on your host development system, + or by cloning the upstream + Poky Git repository. +

  • + BitBake: + This chapter provides an overview of the BitBake tool and its role within + the Yocto Project.

  • + Classes: + This chapter describes the classes used in the Yocto Project.

  • + Images: + This chapter describes the standard images that the Yocto Project supports. +

  • + Features: + This chapter describes mechanisms for creating distribution, machine, and image + features during the build process using the OpenEmbedded build system.

  • + Variables Glossary: + This chapter presents most variables used by the OpenEmbedded build system, which + using BitBake. + Entries describe the function of the variable and how to apply them. +

  • + Variable Context: + This chapter provides variable locality or context.

  • + FAQ: + This chapter provides answers for commonly asked questions in the Yocto Project + development environment.

  • + Contributing to the Yocto Project: + This chapter provides guidance on how you can contribute back to the Yocto + Project.

+

1.3. System Requirements

+ For general Yocto Project system requirements, see the + "What You Need and How You Get It" section + in the Yocto Project Quick Start. + The remainder of this section provides details on system requirements + not covered in the Yocto Project Quick Start. +

1.3.1. Supported Linux Distributions

+ Currently, the Yocto Project is supported on the following distributions: +

  • Ubuntu 10.04.4 LTS

  • Ubuntu 11.10

  • Ubuntu 12.04.1 LTS

  • Ubuntu 12.04.1 LTS

  • Ubuntu 12.10

  • Fedora release 16 (Verne)

  • Fedora release 17 (Beefy Miracle)

  • Fedora release 18 (Spherical Cow)

  • CentOS release 5.6 (Final)

  • CentOS release 5.7 (Final)

  • CentOS release 5.8 (Final)

  • CentOS release 6.3 (Final)

  • Debian GNU/Linux 6.0.6 (squeeze)

  • openSUSE 11.4

  • openSUSE 12.1

  • openSUSE 12.2

+

Note

+ For additional information on distributions that support the + Yocto Project, see the + Distribution Support wiki page. +

1.3.2. Required Packages for the Host Development System

+ The list of packages you need on the host development system can + be large when covering all build scenarios using the Yocto Project. + This section provides required packages by Linux distribution and + further categorized by function. +

1.3.2.1. Ubuntu

+ The following list shows the required packages by function + given a supported Ubuntu Linux distribution: +

  • Essentials: + Packages needed to build an image on a headless + system: +

    +     $ sudo apt-get install gawk wget git-core diffstat unzip texinfo \
    +     build-essential chrpath
    +                        
  • Graphical Extras: + Packages recommended if the host system has graphics support: +

    +     $ sudo apt-get install libsdl1.2-dev xterm
    +                        
  • Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +     $ sudo apt-get install make xsltproc docbook-utils fop
    +                        
  • ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +     $ sudo apt-get install autoconf automake libtool libglib2.0-dev
    +                        

+

1.3.2.2. Fedora Packages

+ The following list shows the required packages by function + given a supported Fedora Linux distribution: +

  • Essentials: + Packages needed to build an image for a headless + system: +

    +     $ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
    +     diffutils diffstat git cpp gcc gcc-c++ eglibc-devel texinfo chrpath \
    +     ccache
    +                        
  • Graphical Extras: + Packages recommended if the host system has graphics support: +

    +     $ sudo yum install SDL-devel xterm
    +                        
  • Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +     $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
    +     docbook-dtds docbook-utils fop libxslt
    +                        
  • ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +     $ sudo yum install autoconf automake libtool glib2-devel
    +                        

+

1.3.2.3. OpenSUSE Packages

+ The following list shows the required packages by function + given a supported OpenSUSE Linux distribution: +

  • Essentials: + Packages needed to build an image for a headless + system: +

    +     $ sudo zypper install python gcc gcc-c++ git chrpath make wget python-xml \
    +     diffstat texinfo python-curses
    +                        
  • Graphical Extras: + Packages recommended if the host system has graphics support: +

    +     $ sudo zypper install libSDL-devel xterm
    +                        
  • Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +     $ sudo zypper install make fop xsltproc
    +                        
  • ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +     $ sudo zypper install autoconf automake libtool glib2-devel
    +                        

+

1.3.2.4. CentOS Packages

+ The following list shows the required packages by function + given a supported CentOS Linux distribution: +

  • Essentials: + Packages needed to build an image for a headless + system: +

    +     $ sudo yum -y install gawk make wget tar bzip2 gzip python unzip perl patch \
    +     diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath
    +                        
  • Graphical Extras: + Packages recommended if the host system has graphics support: +

    +     $ sudo yum -y install SDL-devel xterm
    +                        
  • Documentation: + Packages needed if you are going to build out the + Yocto Project documentation manuals: +

    +     $ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \
    +     docbook-dtds docbook-utils fop libxslt
    +                        
  • ADT Installer Extras: + Packages needed if you are going to be using the + Application Development Toolkit (ADT) Installer: +

    +     $ sudo yum -y install autoconf automake libtool glib2-devel
    +                        

+

Note

Depending on the CentOS version you are using, other requirements + and dependencies might exist. + For details, you should look at the CentOS sections on the + Poky/GettingStarted/Dependencies + wiki page.

+

1.4. Obtaining the Yocto Project

+ The Yocto Project development team makes the Yocto Project available through a number + of methods: +

+

1.5. Development Checkouts

+ Development using the Yocto Project requires a local + Source Directory. + You can set up the source directory by downloading a Yocto Project release tarball and unpacking it, + or by cloning a copy of the upstream + Poky Git repository. + For information on both these methods, see the + "Getting Setup" + section in the Yocto Project Development Manual. +

+ +

Chapter 2. Using the Yocto Project

+ This chapter describes common usage for the Yocto Project. + The information is introductory in nature as other manuals in the Yocto Project + documentation set provide more details on how to use the Yocto Project. +

2.1. Running a Build

+ This section provides a summary of the build process and provides information + for less obvious aspects of the build process. + For general information on how to build an image using the OpenEmbedded build + system, see the + "Building an Image" + section of the Yocto Project Quick Start. +

2.1.1. Build Overview

+ The first thing you need to do is set up the OpenEmbedded build environment by sourcing + the environment setup script as follows: +

+     $ source oe-init-build-env [build_dir]
+            

+

+ The build_dir is optional and specifies the directory the + OpenEmbedded build system uses for the build - + the Build Directory. + If you do not specify a Build Directory it defaults to build + in your current working directory. + A common practice is to use a different Build Directory for different targets. + For example, ~/build/x86 for a qemux86 + target, and ~/build/arm for a qemuarm target. + See oe-init-build-env + for more information on this script. +

+ Once the build environment is set up, you can build a target using: +

+     $ bitbake <target>
+            

+

+ The target is the name of the recipe you want to build. + Common targets are the images in meta/recipes-core/images, + /meta/recipes-sato/images, etc. all found in the + Source Directory. + Or, the target can be the name of a recipe for a specific piece of software such as + busybox. + For more details about the images the OpenEmbedded build system supports, see the + "Images" chapter. +

Note

+ Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + See the "Images" chapter for more information. +

2.1.2. Building an Image Using GPL Components

+ When building an image using GPL components, you need to maintain your original + settings and not switch back and forth applying different versions of the GNU + General Public License. + If you rebuild using different versions of GPL, dependency errors might occur + due to some components not being rebuilt. +

2.2. Installing and Using the Result

+ Once an image has been built, it often needs to be installed. + The images and kernels built by the OpenEmbedded build system are placed in the + Build Directory in + tmp/deploy/images. + For information on how to run pre-built images such as qemux86 + and qemuarm, see the + "Using Pre-Built Binaries and QEMU" + section in the Yocto Project Quick Start. + For information about how to install these images, see the documentation for your + particular board/machine. +

2.3. Debugging Build Failures

+ The exact method for debugging build failures depends on the nature of the + problem and on the system's area from which the bug originates. + Standard debugging practices such as comparison against the last + known working version with examination of the changes and the re-application of steps + to identify the one causing the problem are + valid for the Yocto Project just as they are for any other system. + Even though it is impossible to detail every possible potential failure, + this section provides some general tips to aid in debugging. +

2.3.1. Task Failures

The log file for shell tasks is available in + ${WORKDIR}/temp/log.do_taskname.pid. + For example, the compile task for the QEMU minimal image for the x86 + machine (qemux86) might be + tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_compile.20830. + To see what BitBake runs to generate that log, look at the corresponding + run.do_taskname.pid file located in the same directory. +

+ Presently, the output from Python tasks is sent directly to the console. +

2.3.2. Running Specific Tasks

+ Any given package consists of a set of tasks. + The standard BitBake behavior in most cases is: fetch, + unpack, + patch, configure, + compile, install, package, + package_write, and build. + The default task is build and any tasks on which it depends + build first. + Some tasks exist, such as devshell, that are not part of the + default build chain. + If you wish to run a task that is not part of the default build chain, you can use the + -c option in BitBake as follows: +

+     $ bitbake matchbox-desktop -c devshell
+            

+

+ If you wish to rerun a task, use the -f force option. + For example, the following sequence forces recompilation after changing files in the + working directory. +

+     $ bitbake matchbox-desktop
+               .
+               .
+        [make some changes to the source code in the working directory]
+               .
+               .
+     $ bitbake matchbox-desktop -c compile -f
+     $ bitbake matchbox-desktop
+            

+

+ This sequence first builds matchbox-desktop and then recompiles it. + The last command reruns all tasks (basically the packaging tasks) after the compile. + BitBake recognizes that the compile task was rerun and therefore + understands that the other tasks also need to be run again. +

+ You can view a list of tasks in a given package by running the + listtasks task as follows: +

+     $ bitbake matchbox-desktop -c listtasks
+            

+ The results are in the file ${WORKDIR}/temp/log.do_listtasks. +

2.3.3. Dependency Graphs

+ Sometimes it can be hard to see why BitBake wants to build some other packages before a given + package you have specified. + The bitbake -g targetname command creates the + depends.dot, package-depends.dot, + and task-depends.dot files in the current directory. + These files show the package and task dependencies and are useful for debugging problems. + You can use the bitbake -g -u depexp targetname command to + display the results in a more human-readable form. +

2.3.4. General BitBake Problems

+ You can see debug output from BitBake by using the -D option. + The debug output gives more information about what BitBake + is doing and the reason behind it. + Each -D option you use increases the logging level. + The most common usage is -DDD. +

+ The output from bitbake -DDD -v targetname can reveal why + BitBake chose a certain version of a package or why BitBake + picked a certain provider. + This command could also help you in a situation where you think BitBake did something + unexpected. +

2.3.5. Building with No Dependencies

+ If you really want to build a specific .bb file, you can use + the command form bitbake -b <somepath/somefile.bb>. + This command form does not check for dependencies so you should use it + only when you know its dependencies already exist. + You can also specify fragments of the filename. + In this case, BitBake checks for a unique match. +

2.3.6. Variables

+ The -e option dumps the resulting environment for + either the configuration (no package specified) or for a + specific package when specified; or -b recipename + to show the environment from parsing a single recipe file only. +

2.3.7. Recipe Logging Mechanisms

+ Best practices exist while writing recipes that both log build progress and + act on build conditions such as warnings and errors. + Both Python and Bash language bindings exist for the logging mechanism: +

  • Python: For Python functions, BitBake + supports several loglevels: bb.fatal, + bb.error, bb.warn, + bb.note, bb.plain, + and bb.debug.

  • Bash: For Bash functions, the same set + of loglevels exist and are accessed with a similar syntax: + bbfatal, bberror, + bbwarn, bbnote, + bbplain, and bbdebug.

+

+ For guidance on how logging is handled in both Python and Bash recipes, see the + logging.bbclass file in the + meta/classes folder of the + Source Directory. +

2.3.7.1. Logging With Python

+ When creating recipes using Python and inserting code that handles build logs + keep in mind the goal is to have informative logs while keeping the console as + "silent" as possible. + Also, if you want status messages in the log use the "debug" loglevel. +

+ Following is an example written in Python. + The code handles logging for a function that determines the number of tasks + needed to be run: +

+     python do_listtasks() {
+         bb.debug(2, "Starting to figure out the task list")
+         if noteworthy_condition:
+             bb.note("There are 47 tasks to run")
+         bb.debug(2, "Got to point xyz")
+         if warning_trigger:
+             bb.warn("Detected warning_trigger, this might be a problem later.")
+         if recoverable_error:
+             bb.error("Hit recoverable_error, you really need to fix this!")
+         if fatal_error:
+             bb.fatal("fatal_error detected, unable to print the task list")
+         bb.plain("The tasks present are abc")
+         bb.debug(2, "Finished figuring out the tasklist")
+     }
+                

+

2.3.7.2. Logging With Bash

+ When creating recipes using Bash and inserting code that handles build + logs you have the same goals - informative with minimal console output. + The syntax you use for recipes written in Bash is similar to that of + recipes written in Python described in the previous section. +

+ Following is an example written in Bash. + The code logs the progress of the do_my_function function. +

+     do_my_function() {
+         bbdebug 2 "Running do_my_function"
+         if [ exceptional_condition ]; then
+             bbnote "Hit exceptional_condition"
+         fi
+         bbdebug 2  "Got to point xyz"
+         if [ warning_trigger ]; then
+             bbwarn "Detected warning_trigger, this might cause a problem later."
+         fi
+         if [ recoverable_error ]; then
+             bberror "Hit recoverable_error, correcting"
+         fi
+         if [ fatal_error ]; then
+             bbfatal "fatal_error detected"
+         fi
+         bbdebug 2 "Completed do_my_function"
+     }
+                

+

2.3.8. Other Tips

+ Here are some other tips that you might find useful: +

  • When adding new packages, it is worth watching for + undesirable items making their way into compiler command lines. + For example, you do not want references to local system files like + /usr/lib/ or /usr/include/. +

  • If you want to remove the psplash boot splashscreen, + add psplash=false to the kernel command line. + Doing so prevents psplash from loading and thus allows you to see the console. + It is also possible to switch out of the splashscreen by + switching the virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). +

+

2.4. Maintaining Build Output Quality

+ A build's quality can be influenced by many things. + For example, if you upgrade a recipe to use a new version of an upstream software + package or you experiment with some new configuration options, subtle changes + can occur that you might not detect until later. + Consider the case where your recipe is using a newer version of an upstream package. + In this case, a new version of a piece of software might introduce an optional + dependency on another library, which is auto-detected. + If that library has already been built when the software is building, + then the software will link to the built library and that library will be pulled + into your image along with the new software even if you did not want the + library. +

+ The buildhistory class exists to help you maintain + the quality of your build output. + You can use the class to highlight unexpected and possibly unwanted + changes in the build output. + When you enable build history it records information about the contents of + each package and image and then commits that information to a local Git + repository where you can examine the information. +

+ The remainder of this section describes the following: +

  • How you can enable and disable + build history

  • How to understand what the build history contains +

  • How to limit the information used for build history +

  • How to examine the build history from both a + command-line and web interface

+

2.4.1. Enabling and Disabling Build History

+ Build history is disabled by default. + To enable it, add the following statements to the end of your + conf/local.conf file found in the + Build Directory: +

+     INHERIT += "buildhistory"
+     BUILDHISTORY_COMMIT = "1"
+            

+ Enabling build history as previously described + causes the build process to collect build + output information and commit it to a local + Git repository. +

Note

+ Enabling build history increases your build times slightly, + particularly for images, and increases the amount of disk + space used during the build. +

+

+ You can disable build history by removing the previous statements + from your conf/local.conf file. + However, you should realize that enabling and disabling + build history in this manner can change the + do_package task checksums, which if you + are using the OEBasicHash signature generator (the default + for many current distro configurations including + DISTRO = "poky" and + DISTRO = "") will result in the packaging + tasks being re-run during the subsequent build. +

+ To disable the build history functionality without causing the + packaging tasks to be re-run, add just this statement to your + conf/local.conf file: +

+     BUILDHISTORY_FEATURES = ""
+            

+

2.4.2. Understanding What the Build History Contains

+ Build history information is kept in + $TMPDIR/buildhistory + in the Build Directory. + The following is an example abbreviated listing: +

+

2.4.2.1. Build History Package Information

+ The history for each package contains a text file that has + name-value pairs with information about the package. + For example, buildhistory/packages/core2-poky-linux/busybox/busybox/latest + contains the following: +

+     PV = 1.19.3
+     PR = r3
+     RDEPENDS = update-rc.d eglibc (>= 2.13)
+     RRECOMMENDS = busybox-syslog busybox-udhcpc
+     PKGSIZE = 564701
+     FILES = /usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* \
+        /etc /com /var /bin/* /sbin/* /lib/*.so.* /usr/share/busybox \
+        /usr/lib/busybox/* /usr/share/pixmaps /usr/share/applications \
+        /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers
+     FILELIST = /etc/busybox.links /etc/init.d/hwclock.sh /bin/busybox /bin/sh
+                

+ Most of these name-value pairs corresponds to variables used + to produce the package. + The exceptions are FILELIST, which is the + actual list of files in the package, and + PKGSIZE, which is the total size of files + in the package in bytes. +

+ There is also a file corresponding to the recipe from which the + package came (e.g. + buildhistory/packages/core2-poky-linux/busybox/latest): +

+     PV = 1.19.3
+     PR = r3
+     DEPENDS = virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs \
+        virtual/libc update-rc.d-native
+     PACKAGES = busybox-httpd busybox-udhcpd busybox-udhcpc busybox-syslog \
+        busybox-mdev busybox-dbg busybox busybox-doc busybox-dev \
+        busybox-staticdev busybox-locale
+                

+

2.4.2.2. Build History Image Information

+ The files produced for each image are as follows: +

  • build-id: + Human-readable information about the build configuration + and metadata source revisions.

  • *.dot: + Dependency graphs for the image that are + compatible with graphviz. +

  • files-in-image.txt: + A list of files in the image with permissions, + owner, group, size, and symlink information. +

  • image-info.txt: + A text file containing name-value pairs with information + about the image. + See the following listing example for more information. +

  • installed-package-names.txt: + A list of installed packages by name only.

  • installed-package-sizes.txt: + A list of installed packages ordered by size. +

  • installed-packages.txt: + A list of installed packages with fuill package + filenames.

+

Note

+ Installed package information is able to be gathered and + produced even if package management is disabled for the final + image. +

+

+ Here is an example of image-info.txt: +

+     DISTRO = poky
+     DISTRO_VERSION = 1.1+snapshot-20120207
+     USER_CLASSES = image-mklibs image-prelink
+     IMAGE_CLASSES = image_types
+     IMAGE_FEATURES = debug-tweaks x11-base apps-x11-core \
+        package-management ssh-server-dropbear package-management
+     IMAGE_LINGUAS = en-us en-gb
+     IMAGE_INSTALL = task-core-boot task-base-extended
+     BAD_RECOMMENDATIONS =
+     ROOTFS_POSTPROCESS_COMMAND = buildhistory_get_image_installed ;   rootfs_update_timestamp ;
+     IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ;
+     IMAGESIZE = 171816
+                

+ Other than IMAGESIZE, which is the + total size of the files in the image in Kbytes, the + name-value pairs are variables that may have influenced the + content of the image. + This information is often useful when you are trying to determine + why a change in the package or file listings has occurred. +

2.4.2.3. Using Build History to Gather Image Information Only

+ As you can see, build history produces image information, + including dependency graphs, so you can see why something + was pulled into the image. + If you are just interested in this information and not + interested in collecting history or any package information, + you can enable writing only image information without + any history by adding the following + to your conf/local.conf file found in the + Build Directory: +

+     INHERIT += "buildhistory"
+     BUILDHISTORY_COMMIT = "0"
+     BUILDHISTORY_FEATURES = "image"
+                

+

2.4.2.4. Examining Build History Information

+ You can examine build history output from the command line or + from a web interface. +

+ To see any changes that have occurred (assuming you have + BUILDHISTORY_COMMIT = "1"), you can simply + use any Git command that allows you to view the history of + a repository. + Here is one method: +

+      $ git log -p
+                

+ You need to realize, however, that this method does show + changes that are not significant (e.g. a package's size + changing by a few bytes). +

+ A command-line tool called buildhistory-diff + does exist though that queries the Git repository and prints just + the differences that might be significant in human-readable form. + Here is an example: +

+     $ ~/poky/poky/scripts/buildhistory-diff . HEAD^
+     Changes to images/qemux86_64/eglibc/core-image-minimal (files-in-image.txt):
+        /etc/anotherpkg.conf was added
+        /sbin/anotherpkg was added
+        * (installed-package-names.txt):
+        *   anotherpkg was added
+     Changes to images/qemux86_64/eglibc/core-image-minimal (installed-package-names.txt):
+        anotherpkg was added
+     packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras"
+        * PR changed from "r0" to "r1"
+        * PV changed from "0.1.10" to "0.1.12"
+     packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%)
+        * PR changed from "r0" to "r1"
+        * PV changed from "0.1.10" to "0.1.12"
+                

+

+ To see changes to the build history using a web interface, follow + the instruction in the README file here. + http://git.yoctoproject.org/cgit/cgit.cgi/buildhistory-web/. +

+ Here is a sample screenshot of the interface: +

+

+ +

Chapter 3. Technical Details

+ This chapter provides technical details for various parts of the Yocto Project. + Currently, topics include Yocto Project components and shared state (sstate) cache. +

3.1. Yocto Project Components

+ The BitBake task executor together with various types of configuration files form the + OpenEmbedded Core. + This section overviews the BitBake task executor and the + configuration files by describing what they are used for and how they interact. +

+ BitBake handles the parsing and execution of the data files. + The data itself is of various types: +

  • Recipes: Provides details about particular + pieces of software

  • Class Data: An abstraction of common build + information (e.g. how to build a Linux kernel).

  • Configuration Data: Defines machine-specific settings, + policy decisions, etc. + Configuration data acts as the glue to bind everything together.

+ For more information on data, see the + "Yocto Project Terms" + section in the Yocto Project Development Manual. +

+ BitBake knows how to combine multiple data sources together and refers to each data source + as a layer. + For information on layers, see the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. +

+ Following are some brief details on these core components. + For more detailed information on these components see the + "Directory Structure" chapter. +

3.1.1. BitBake

+ BitBake is the tool at the heart of the OpenEmbedded build system and is responsible + for parsing the metadata, generating a list of tasks from it, + and then executing those tasks. + To see a list of the options BitBake supports, use the following help command: +

+     $ bitbake --help
+            

+

+ The most common usage for BitBake is bitbake <packagename>, where + packagename is the name of the package you want to build + (referred to as the "target" in this manual). + The target often equates to the first part of a .bb filename. + So, to run the matchbox-desktop_1.2.3.bb file, you + might type the following: +

+     $ bitbake matchbox-desktop
+            

+ Several different versions of matchbox-desktop might exist. + BitBake chooses the one selected by the distribution configuration. + You can get more details about how BitBake chooses between different + target versions and providers in the + "Preferences and Providers" section. +

+ BitBake also tries to execute any dependent tasks first. + So for example, before building matchbox-desktop, BitBake + would build a cross compiler and eglibc if they had not already + been built. +

Note

This release of the Yocto Project does not support the glibc + GNU version of the Unix standard C library. By default, the OpenEmbedded build system + builds with eglibc.

+

+ A useful BitBake option to consider is the -k or + --continue option. + This option instructs BitBake to try and continue processing the job as much + as possible even after encountering an error. + When an error occurs, the target that + failed and those that depend on it cannot be remade. + However, when you use this option other dependencies can still be processed. +

3.1.2. Metadata (Recipes)

+ The .bb files are usually referred to as "recipes." + In general, a recipe contains information about a single piece of software. + The information includes the location from which to download the source patches + (if any are needed), which special configuration options to apply, + how to compile the source files, and how to package the compiled output. +

+ The term "package" can also be used to describe recipes. + However, since the same word is used for the packaged output from the OpenEmbedded + build system (i.e. .ipk or .deb files), + this document avoids using the term "package" when referring to recipes. +

3.1.3. Classes

+ Class files (.bbclass) contain information that is useful to share + between metadata files. + An example is the Autotools class, which contains + common settings for any application that Autotools uses. + The "Classes" chapter provides details + about common classes and how to use them. +

3.1.4. Configuration

+ The configuration files (.conf) define various configuration variables + that govern the OpenEmbedded build process. + These files fall into several areas that define machine configuration options, + distribution configuration options, compiler tuning options, general common configuration + options and user configuration options (local.conf, which is found + in the Build Directory). +

3.2. Shared State Cache

+ By design, the OpenEmbedded build system builds everything from scratch unless + BitBake can determine that parts don't need to be rebuilt. + Fundamentally, building from scratch is attractive as it means all parts are + built fresh and there is no possibility of stale data causing problems. + When developers hit problems, they typically default back to building from scratch + so they know the state of things from the start. +

+ Building an image from scratch is both an advantage and a disadvantage to the process. + As mentioned in the previous paragraph, building from scratch ensures that + everything is current and starts from a known state. + However, building from scratch also takes much longer as it generally means + rebuilding things that don't necessarily need rebuilt. +

+ The Yocto Project implements shared state code that supports incremental builds. + The implementation of the shared state code answers the following questions that + were fundamental roadblocks within the OpenEmbedded incremental build support system: +

  • What pieces of the system have changed and what pieces have not changed?
  • How are changed pieces of software removed and replaced?
  • How are pre-built components that don't need to be rebuilt from scratch + used when they are available?

+

+ For the first question, the build system detects changes in the "inputs" to a given task by + creating a checksum (or signature) of the task's inputs. + If the checksum changes, the system assumes the inputs have changed and the task needs to be + rerun. + For the second question, the shared state (sstate) code tracks which tasks add which output + to the build process. + This means the output from a given task can be removed, upgraded or otherwise manipulated. + The third question is partly addressed by the solution for the second question + assuming the build system can fetch the sstate objects from remote locations and + install them if they are deemed to be valid. +

+ The rest of this section goes into detail about the overall incremental build + architecture, the checksums (signatures), shared state, and some tips and tricks. +

3.2.1. Overall Architecture

+ When determining what parts of the system need to be built, BitBake + uses a per-task basis and does not use a per-recipe basis. + You might wonder why using a per-task basis is preferred over a per-recipe basis. + To help explain, consider having the IPK packaging backend enabled and then switching to DEB. + In this case, do_install and do_package + output are still valid. + However, with a per-recipe approach, the build would not include the + .deb files. + Consequently, you would have to invalidate the whole build and rerun it. + Rerunning everything is not the best situation. + Also in this case, the core must be "taught" much about specific tasks. + This methodology does not scale well and does not allow users to easily add new tasks + in layers or as external recipes without touching the packaged-staging core. +

3.2.2. Checksums (Signatures)

+ The shared state code uses a checksum, which is a unique signature of a task's + inputs, to determine if a task needs to be run again. + Because it is a change in a task's inputs that triggers a rerun, the process + needs to detect all the inputs to a given task. + For shell tasks, this turns out to be fairly easy because + the build process generates a "run" shell script for each task and + it is possible to create a checksum that gives you a good idea of when + the task's data changes. +

+ To complicate the problem, there are things that should not be included in + the checksum. + First, there is the actual specific build path of a given task - + the WORKDIR. + It does not matter if the working directory changes because it should not + affect the output for target packages. + Also, the build process has the objective of making native/cross packages relocatable. + The checksum therefore needs to exclude WORKDIR. + The simplistic approach for excluding the working directory is to set + WORKDIR to some fixed value and create the checksum + for the "run" script. +

+ Another problem results from the "run" scripts containing functions that + might or might not get called. + The incremental build solution contains code that figures out dependencies + between shell functions. + This code is used to prune the "run" scripts down to the minimum set, + thereby alleviating this problem and making the "run" scripts much more + readable as a bonus. +

+ So far we have solutions for shell scripts. + What about python tasks? + The same approach applies even though these tasks are more difficult. + The process needs to figure out what variables a python function accesses + and what functions it calls. + Again, the incremental build solution contains code that first figures out + the variable and function dependencies, and then creates a checksum for the data + used as the input to the task. +

+ Like the WORKDIR case, situations exist where dependencies + should be ignored. + For these cases, you can instruct the build process to ignore a dependency + by using a line like the following: +

+     PACKAGE_ARCHS[vardepsexclude] = "MACHINE"
+            

+ This example ensures that the PACKAGE_ARCHS variable does not + depend on the value of MACHINE, even if it does reference it. +

+ Equally, there are cases where we need to add dependencies BitBake is not able to find. + You can accomplish this by using a line like the following: +

+      PACKAGE_ARCHS[vardeps] = "MACHINE"
+            

+ This example explicitly adds the MACHINE variable as a + dependency for PACKAGE_ARCHS. +

+ Consider a case with inline python, for example, where BitBake is not + able to figure out dependencies. + When running in debug mode (i.e. using -DDD), BitBake + produces output when it discovers something for which it cannot figure out + dependencies. + The Yocto Project team has currently not managed to cover those dependencies + in detail and is aware of the need to fix this situation. +

+ Thus far, this section has limited discussion to the direct inputs into a task. + Information based on direct inputs is referred to as the "basehash" in the + code. + However, there is still the question of a task's indirect inputs - the + things that were already built and present in the Build Directory. + The checksum (or signature) for a particular task needs to add the hashes + of all the tasks on which the particular task depends. + Choosing which dependencies to add is a policy decision. + However, the effect is to generate a master checksum that combines the basehash + and the hashes of the task's dependencies. +

+ At the code level, there are a variety of ways both the basehash and the + dependent task hashes can be influenced. + Within the BitBake configuration file, we can give BitBake some extra information + to help it construct the basehash. + The following statements effectively result in a list of global variable + dependency excludes - variables never included in any checksum: +

+  BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH"
+  BB_HASHBASE_WHITELIST += "DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS"
+  BB_HASHBASE_WHITELIST += "FILE_DIRNAME HOME LOGNAME SHELL TERM USER"
+  BB_HASHBASE_WHITELIST += "FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET"
+            

+ The previous example actually excludes + WORKDIR + since it is actually constructed as a path within + TMPDIR, which is on + the whitelist. +

+ The rules for deciding which hashes of dependent tasks to include through + dependency chains are more complex and are generally accomplished with a + python function. + The code in meta/lib/oe/sstatesig.py shows two examples + of this and also illustrates how you can insert your own policy into the system + if so desired. + This file defines the two basic signature generators OE-Core + uses: "OEBasic" and "OEBasicHash". + By default, there is a dummy "noop" signature handler enabled in BitBake. + This means that behavior is unchanged from previous versions. + OE-Core uses the "OEBasic" signature handler by default + through this setting in the bitbake.conf file: +

+  BB_SIGNATURE_HANDLER ?= "OEBasic"
+            

+ The "OEBasicHash" BB_SIGNATURE_HANDLER is the same as the + "OEBasic" version but adds the task hash to the stamp files. + This results in any metadata change that changes the task hash, automatically + causing the task to be run again. + This removes the need to bump PR + values and changes to metadata automatically ripple across the build. + Currently, this behavior is not the default behavior for OE-Core + but is the default in poky. +

+ It is also worth noting that the end result of these signature generators is to + make some dependency and hash information available to the build. + This information includes: +

+  BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe
+  BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task
+  BBHASHDEPS_<filename:taskname> - The task dependencies for each task
+  BB_TASKHASH - the hash of the currently running task
+            

+

3.2.3. Shared State

+ Checksums and dependencies, as discussed in the previous section, solve half the + problem. + The other part of the problem is being able to use checksum information during the build + and being able to reuse or rebuild specific components. +

+ The shared state class (sstate.bbclass) + is a relatively generic implementation of how to "capture" a snapshot of a given task. + The idea is that the build process does not care about the source of a task's output. + Output could be freshly built or it could be downloaded and unpacked from + somewhere - the build process doesn't need to worry about its source. +

+ There are two types of output, one is just about creating a directory + in WORKDIR. + A good example is the output of either do_install or + do_package. + The other type of output occurs when a set of data is merged into a shared directory + tree such as the sysroot. +

+ The Yocto Project team has tried to keep the details of the implementation hidden in + sstate.bbclass. + From a user's perspective, adding shared state wrapping to a task + is as simple as this do_deploy example taken from + do_deploy.bbclass: +

+     DEPLOYDIR = "${WORKDIR}/deploy-${PN}"
+     SSTATETASKS += "do_deploy"
+     do_deploy[sstate-name] = "deploy"
+     do_deploy[sstate-inputdirs] = "${DEPLOYDIR}"
+     do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
+
+     python do_deploy_setscene () {
+         sstate_setscene(d)
+     }
+     addtask do_deploy_setscene
+            

+ In the example, we add some extra flags to the task, a name field ("deploy"), an + input directory where the task sends data, and the output + directory where the data from the task should eventually be copied. + We also add a _setscene variant of the task and add the task + name to the SSTATETASKS list. +

+ If you have a directory whose contents you need to preserve, you can do this with + a line like the following: +

+     do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}"
+            

+ This method, as well as the following example, also works for multiple directories. +

+     do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}"
+     do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}"
+     do_package[sstate-lockfile] = "${PACKAGELOCK}"
+            

+ These methods also include the ability to take a lockfile when manipulating + shared state directory structures since some cases are sensitive to file + additions or removals. +

+ Behind the scenes, the shared state code works by looking in + SSTATE_DIR and + SSTATE_MIRRORS + for shared state files. + Here is an example: +

+     SSTATE_MIRRORS ?= "\
+     file://.* http://someserver.tld/share/sstate/PATH \n \
+     file://.* file:///some/local/dir/sstate/PATH"
+            

+

Note

+ The shared state directory (SSTATE_DIR) is + organized into two-character subdirectories, where the subdirectory + names are based on the first two characters of the hash. + If the shared state directory structure for a mirror has the + same structure as SSTATE_DIR, you must + specify "PATH" as part of the URI to enable the build system + to map to the appropriate subdirectory. +

+

+ The shared state package validity can be detected just by looking at the + filename since the filename contains the task checksum (or signature) as + described earlier in this section. + If a valid shared state package is found, the build process downloads it + and uses it to accelerate the task. +

+ The build processes uses the *_setscene tasks + for the task acceleration phase. + BitBake goes through this phase before the main execution code and tries + to accelerate any tasks for which it can find shared state packages. + If a shared state package for a task is available, the shared state + package is used. + This means the task and any tasks on which it is dependent are not + executed. +

+ As a real world example, the aim is when building an IPK-based image, + only the do_package_write_ipk tasks would have their + shared state packages fetched and extracted. + Since the sysroot is not used, it would never get extracted. + This is another reason why a task-based approach is preferred over a + recipe-based approach, which would have to install the output from every task. +

3.2.4. Tips and Tricks

+ The code in the build system that supports incremental builds is not + simple code. + This section presents some tips and tricks that help you work around + issues related to shared state code. +

3.2.4.1. Debugging

+ When things go wrong, debugging needs to be straightforward. + Because of this, the Yocto Project team included strong debugging + tools: +

  • Whenever a shared state package is written out, so is a + corresponding .siginfo file. + This practice results in a pickled python database of all + the metadata that went into creating the hash for a given shared state + package.

  • If BitBake is run with the --dump-signatures + (or -S) option, BitBake dumps out + .siginfo files in + the stamp directory for every task it would have executed instead of + building the specified target package.

  • There is a bitbake-diffsigs command that + can process these .siginfo files. + If one file is specified, it will dump out the dependency + information in the file. + If two files are specified, it will compare the two files and dump out + the differences between the two. + This allows the question of "What changed between X and Y?" to be + answered easily.

+

3.2.4.2. Invalidating Shared State

+ The shared state code uses checksums and shared state + cache to avoid unnecessarily rebuilding tasks. + As with all schemes, this one has some drawbacks. + It is possible that you could make implicit changes that are not factored + into the checksum calculation, but do affect a task's output. + A good example is perhaps when a tool changes its output. + Let's say that the output of rpmdeps needed to change. + The result of the change should be that all the "package", "package_write_rpm", + and "package_deploy-rpm" shared state cache items would become invalid. + But, because this is a change that is external to the code and therefore implicit, + the associated shared state cache items do not become invalidated. + In this case, the build process would use the cached items rather than running the + task again. + Obviously, these types of implicit changes can cause problems. +

+ To avoid these problems during the build, you need to understand the effects of any + change you make. + Note that any changes you make directly to a function automatically are factored into + the checksum calculation and thus, will invalidate the associated area of sstate cache. + You need to be aware of any implicit changes that are not obvious changes to the + code and could affect the output of a given task. + Once you are aware of such a change, you can take steps to invalidate the cache + and force the task to run. + The step to take is as simple as changing a function's comments in the source code. + For example, to invalidate package shared state files, change the comment statements + of do_package or the comments of one of the functions it calls. + The change is purely cosmetic, but it causes the checksum to be recalculated and + forces the task to be run again. +

Note

+ For an example of a commit that makes a cosmetic change to invalidate + a shared state, see this + commit. +

3.3. x32

+ x32 is a new processor-specific Application Binary Interface (psABI) for x86_64. + An ABI defines the calling conventions between functions in a processing environment. + The interface determines what registers are used and what the sizes are for various C data types. +

+ Some processing environments prefer using 32-bit applications even when running + on Intel 64-bit platforms. + Consider the i386 psABI, which is a very old 32-bit ABI for Intel 64-bit platforms. + The i386 psABI does not provide efficient use and access of the Intel 64-bit processor resources, + leaving the system underutilized. + Now consider the x86_64 psABI. + This ABI is newer and uses 64-bits for data sizes and program pointers. + The extra bits increase the footprint size of the programs, libraries, + and also increases the memory and file system size requirements. + Executing under the x32 psABI enables user programs to utilize CPU and system resources + more efficiently while keeping the memory footprint of the applications low. + Extra bits are used for registers but not for addressing mechanisms. +

3.3.1. Support

+ While the x32 psABI specifications are not fully finalized, this Yocto Project + release supports current development specifications of x32 psABI. + As of this release of the Yocto Project, x32 psABI support exists as follows: +

  • You can create packages and images in x32 psABI format on x86_64 architecture targets. +

  • You can use the x32 psABI support through the meta-x32 + layer on top of the OE-core/Yocto layer.

  • The toolchain from the experimental/meta-x32 layer + is used for building x32 psABI program binaries.

  • You can successfully build many recipes with the x32 toolchain.

  • You can create and boot core-image-minimal and + core-image-sato images.

+

3.3.2. Future Development and Limitations

+ As of this Yocto Project release, the x32 psABI kernel and library interfaces + specifications are not finalized. +

+ Future Plans for the x32 psABI in the Yocto Project include the following: +

  • Enhance and fix the few remaining recipes so they + work with and support x32 toolchains.

  • Enhance RPM Package Manager (RPM) support for x32 binaries.

  • Support larger images.

  • Integrate x32 recipes, toolchain, and kernel changes from + experimental/meta-x32 into OE-core.

+

3.3.3. Using x32 Right Now

+ Despite the fact the x32 psABI support is in development state for this release of the + Yocto Project, you can follow these steps to use the x32 spABI: +

  • Add the experimental/meta-x32 layer to your local + Build Directory. + You can find the experimental/meta-x32 source repository at + http://git.yoctoproject.org.

  • Edit your conf/bblayers.conf file so that it includes + the meta-x32. + Here is an example: +

    +     BBLAYERS ?= " \
    +        /home/nitin/prj/poky.git/meta \
    +        /home/nitin/prj/poky.git/meta-yocto \
    +        /home/nitin/prj/poky.git/meta-yocto-bsp \
    +        /home/nitin/prj/meta-x32.git \
    +        "
    +     BBLAYERS_NON_REMOVABLE ?= " \
    +        /home/nitin/prj/poky.git/meta \
    +        /home/nitin/prj/poky.git/meta-yocto \
    +        "
    +                    
  • Enable the x32 psABI tuning file for x86_64 + machines by editing the conf/local.conf like this: +

    +      MACHINE = "qemux86-64"
    +      DEFAULTTUNE = "x86-64-x32"
    +      baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
    +         or 'INVALID'), True) or 'lib'}"
    +      #MACHINE = "atom-pc"
    +      #DEFAULTTUNE = "core2-64-x32"
    +                    
  • As usual, use BitBake to build an image that supports the x32 psABI. + Here is an example: +

    +     $ bitake core-image-sato
    +                    
  • As usual, run your image using QEMU: +

    +     $ runqemu qemux86-64 core-image-sato
    +                    

+

3.4. Licenses

+ This section describes the mechanism by which the OpenEmbedded build system + tracks changes to licensing text. + The section also describes how to enable commercially licensed recipes, + which by default are disabled. +

+ For information that can help you maintain compliance with various open + source licensing during the lifecycle of the product, see the + "Maintaining Open Source License Compliance During Your Project's Lifecycle" section + in the Yocto Project Development Manual. +

3.4.1. Tracking License Changes

+ The license of an upstream project might change in the future. + In order to prevent these changes going unnoticed, the + LIC_FILES_CHKSUM + variable tracks changes to the license text. The checksums are validated at the end of the + configure step, and if the checksums do not match, the build will fail. +

3.4.1.1. Specifying the LIC_FILES_CHKSUM Variable

+ The LIC_FILES_CHKSUM + variable contains checksums of the license text in the source code for the recipe. + Following is an example of how to specify LIC_FILES_CHKSUM: +

+     LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \
+                         file://licfile1.txt;beginline=5;endline=29;md5=yyyy \
+                         file://licfile2.txt;endline=50;md5=zzzz \
+                         ..."
+                

+

+ The build system uses the + S variable as the + default directory used when searching files listed in + LIC_FILES_CHKSUM. + The previous example employs the default directory. +

+ You can also use relative paths as shown in the following example: +

+     LIC_FILES_CHKSUM = "file://src/ls.c;startline=5;endline=16;\
+                                         md5=bb14ed3c4cda583abc85401304b5cd4e"
+     LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
+                

+

+ In this example, the first line locates a file in + ${S}/src/ls.c. + The second line refers to a file in + WORKDIR, which is the parent + of S. +

+ Note that this variable is mandatory for all recipes, unless the + LICENSE variable is set to "CLOSED". +

3.4.1.2. Explanation of Syntax

+ As mentioned in the previous section, the + LIC_FILES_CHKSUM variable lists all the + important files that contain the license text for the source code. + It is possible to specify a checksum for an entire file, or a specific section of a + file (specified by beginning and ending line numbers with the "beginline" and "endline" + parameters, respectively). + The latter is useful for source files with a license notice header, + README documents, and so forth. + If you do not use the "beginline" parameter, then it is assumed that the text begins on the + first line of the file. + Similarly, if you do not use the "endline" parameter, it is assumed that the license text + ends with the last line of the file. +

+ The "md5" parameter stores the md5 checksum of the license text. + If the license text changes in any way as compared to this parameter + then a mismatch occurs. + This mismatch triggers a build failure and notifies the developer. + Notification allows the developer to review and address the license text changes. + Also note that if a mismatch occurs during the build, the correct md5 + checksum is placed in the build log and can be easily copied to the recipe. +

+ There is no limit to how many files you can specify using the + LIC_FILES_CHKSUM variable. + Generally, however, every project requires a few specifications for license tracking. + Many projects have a "COPYING" file that stores the license information for all the source + code files. + This practice allows you to just track the "COPYING" file as long as it is kept up to date. +

Tip

+ If you specify an empty or invalid "md5" parameter, BitBake returns an md5 mis-match + error and displays the correct "md5" parameter value during the build. + The correct parameter is also captured in the build log. +

Tip

+ If the whole file contains only license text, you do not need to use the "beginline" and + "endline" parameters. +

3.4.2. Enabling Commercially Licensed Recipes

+ By default, the OpenEmbedded build system disables + components that have commercial or other special licensing + requirements. + Such requirements are defined on a + recipe-by-recipe basis through the LICENSE_FLAGS variable + definition in the affected recipe. + For instance, the + $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + recipe contains the following statement: +

+     LICENSE_FLAGS = "commercial"
+            

+ Here is a slightly more complicated example that contains both an + explicit recipe name and version (after variable expansion): +

+     LICENSE_FLAGS = "license_${PN}_${PV}"
+            

+ In order for a component restricted by a LICENSE_FLAGS + definition to be enabled and included in an image, it + needs to have a matching entry in the global + LICENSE_FLAGS_WHITELIST variable, which is a variable + typically defined in your local.conf file. + For example, to enable + the $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + package, you could add either the string + "commercial_gst-plugins-ugly" or the more general string + "commercial" to LICENSE_FLAGS_WHITELIST. + See the + "License Flag Matching" section + for a full explanation of how LICENSE_FLAGS matching works. + Here is the example: +

+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly"
+            

+ Likewise, to additionally enable the package built from the recipe containing + LICENSE_FLAGS = "license_${PN}_${PV}", and assuming + that the actual recipe name was emgd_1.10.bb, + the following string would enable that package as well as + the original gst-plugins-ugly package: +

+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10"
+            

+ As a convenience, you do not need to specify the complete license string + in the whitelist for every package. + you can use an abbreviated form, which consists + of just the first portion or portions of the license string before + the initial underscore character or characters. + A partial string will match + any license that contains the given string as the first + portion of its license. + For example, the following + whitelist string will also match both of the packages + previously mentioned as well as any other packages that have + licenses starting with "commercial" or "license". +

+     LICENSE_FLAGS_WHITELIST = "commercial license"
+            

+

3.4.2.1. License Flag Matching

+ The definition of 'matching' in reference to a + recipe's LICENSE_FLAGS setting is simple. + However, some things exist that you should know about in order to + correctly and effectively use it. +

+ Before a flag + defined by a particular recipe is tested against the + contents of the LICENSE_FLAGS_WHITELIST variable, the + string _${PN} (with + PN expanded of course) is + appended to the flag, thus automatically making each + LICENSE_FLAGS value recipe-specific. + That string is + then matched against the whitelist. + So if you specify LICENSE_FLAGS = "commercial" in recipe + "foo" for example, the string "commercial_foo" + would normally be what is specified in the whitelist in order for it to + match. +

+ You can broaden the match by + putting any "_"-separated beginning subset of a + LICENSE_FLAGS flag in the whitelist, which will also + match. + For example, simply specifying "commercial" in + the whitelist would match any expanded LICENSE_FLAGS + definition starting with "commercial" such as + "commercial_foo" and "commercial_bar", which are the + strings that would be automatically generated for + hypothetical "foo" and "bar" recipes assuming those + recipes had simply specified the following: +

+     LICENSE_FLAGS = "commercial"
+                

+

+ Broadening the match allows for a range of specificity for the items + in the whitelist, from more general to perfectly + specific. + So you have the choice of exhaustively + enumerating each license flag in the whitelist to + allow only those specific recipes into the image, or + of using a more general string to pick up anything + matching just the first component or components of the specified + string. +

+ This scheme works even if the flag already + has _${PN} appended - the extra _${PN} is + redundant, but does not affect the outcome. + For example, a license flag of "commercial_1.2_foo" would + turn into "commercial_1.2_foo_foo" and would match + both the general "commercial" and the specific + "commercial_1.2_foo", as expected. + The flag would also match + "commercial_1.2_foo_foo" and "commercial_1.2", which + does not make much sense regarding use in the whitelist. +

+ For a versioned string, you could instead specify + "commercial_foo_1.2", which would turn into + "commercial_foo_1.2_foo". + And, as expected, this flag allows + you to pick up this package along with + anything else "commercial" when you specify "commercial" + in the whitelist. + Or, the flag allows you to pick up this package along with anything "commercial_foo" + regardless of version when you use "commercial_foo" in the whitelist. + Finally, you can be completely specific about the package and version and specify + "commercial_foo_1.2" package and version. +

3.4.2.2. Other Variables Related to Commercial Licenses

+ Other helpful variables related to commercial + license handling exist and are defined in the + $HOME/poky/meta/conf/distro/include/default-distrovars.inc file: +

+     COMMERCIAL_AUDIO_PLUGINS ?= ""
+     COMMERCIAL_VIDEO_PLUGINS ?= ""
+     COMMERCIAL_QT = ""
+                

+ If you want to enable these components, you can do so by making sure you have + the following statements in your local.conf configuration file: +

+     COMMERCIAL_AUDIO_PLUGINS = "gst-plugins-ugly-mad \
+        gst-plugins-ugly-mpegaudioparse"
+     COMMERCIAL_VIDEO_PLUGINS = "gst-plugins-ugly-mpeg2dec \
+        gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
+     COMMERCIAL_QT ?= "qmmp"
+     LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly commercial_gst-plugins-bad commercial_qmmp"
+                

+ Of course, you could also create a matching whitelist + for those components using the more general "commercial" + in the whitelist, but that would also enable all the + other packages with LICENSE_FLAGS containing + "commercial", which you may or may not want: +

+     LICENSE_FLAGS_WHITELIST = "commercial"
+                

+

+ Specifying audio and video plug-ins as part of the + COMMERCIAL_AUDIO_PLUGINS and + COMMERCIAL_VIDEO_PLUGINS statements + or commercial qt components as part of + the COMMERCIAL_QT statement (along + with the enabling LICENSE_FLAGS_WHITELIST) includes the + plug-ins or components into built images, thus adding + support for media formats or components. +

+ +

Chapter 4. Migrating to a Newer Yocto Project Release

+ This chapter provides information you can use to migrate work to a + newer Yocto Project release. You can find the same information in the + release notes for a given release. +

4.1. Moving to the Yocto Project 1.3 Release

+ This section provides migration information for moving to the + Yocto Project 1.3 Release. +

4.1.1. Local Configuration

+ Differences include changes for + SSTATE_MIRRORS + and bblayers.conf. +

4.1.1.1. SSTATE_MIRRORS

+ The shared state cache (sstate-cache) as pointed to by + SSTATE_DIR by default + now has two-character subdirectories to prevent there being an issue with too + many files in the same directory. + Also, native sstate-cache packages will go into a subdirectory named using + the distro ID string. + If you copy the newly structured sstate-cache to a mirror location + (either local or remote) and then point to it in + SSTATE_MIRRORS, + you need to append "PATH" to the end of the mirror URL so that + the path used by BitBake before the mirror substitution is + appended to the path used to access the mirror. + Here is an example: +

+     SSTATE_MIRRORS = "file://.* http://someserver.tld/share/sstate/PATH"
+                

+

4.1.1.2. bblayers.conf

+ The meta-yocto layer has been split into + two parts: meta-yocto and + meta-yocto-bsp, corresponding to the + Poky reference distro configuration and the reference + hardware Board Support Packages (BSPs), respectively. + When running BitBake or Hob for the first time after upgrading, + your conf/bblayers.conf file will be + updated to handle this change and you will be asked to + re-run/restart for the changes to take effect. +

4.1.2. Recipes

+ Differences include changes for the following: +

  • Python function whitespace

  • proto= in SRC_URI

  • nativesdk

  • Task recipes

  • IMAGE_FEATURES

  • Removed recipes

+

4.1.2.1. Python Function Whitespace

+ All Python functions must now use four spaces for indentation. + Previously, an inconsistent mix of spaces and tabs existed, + which made extending these functions using + _append or _prepend + complicated given that Python treats whitespace as + syntactically significant. + If you are defining or extending any Python functions (e.g. + populate_packages, do_unpack, + do_patch and so forth) in custom recipes + or classes, you need to ensure you are using consistent + four-space indentation. +

4.1.2.2. proto= in SRC_URI

+ Any use of proto= in + SRC_URI + needs to be changed to protocol=. + In particular, this applies to the following URIs: +

  • svn://

  • bzr://

  • hg://

  • osc://

+ Other URIs were already using protocol=. + This change improves consistency. +

4.1.2.3. nativesdk

+ The suffix nativesdk is now implemented + as a prefix, which simplifies a lot of the packaging code for + nativesdk recipes. + All custom nativesdk recipes and any + references need to be updated to use + nativesdk-* instead of + *-nativesdk. +

4.1.2.4. Task Recipes

+ "Task" recipes are now known as "Package groups" and have + been renamed from task-*.bb to + packagegroup-*.bb. + Existing references to the previous task-* + names should work in most cases as there is an automatic + upgrade path for most packages. + However, you should update references in your own recipes and + configurations as they could be removed in future releases. + You should also rename any custom task-* + recipes to packagegroup-*, and change + them to inherit packagegroup instead of + task, as well as taking the opportunity + to remove anything now handled by + packagegroup.bbclass, such as providing + -dev and -dbg + packages, setting + LIC_FILES_CHKSUM, + and so forth. + See the + "Package Groups - packagegroup.bbclass" + section for further details. +

4.1.2.5. IMAGE_FEATURES

+ Image recipes that previously included "apps-console-core" + in IMAGE_FEATURES + should now include "splash" instead to enable the boot-up + splash screen. + Retaining "apps-console-core" will still include the splash + screen generates a warning. + The "apps-x11-core" and "apps-x11-games" + IMAGE_FEATURES features have been removed. +

4.1.2.6. Removed Recipes

+ The following recipes have been removed. + For most of them, it is unlikely that you would have any + references to them in your own metadata. + However, you should check your metadata against this list to be sure: +

  • libx11-trim: + Replaced by libx11, which has a negligible + size difference with modern Xorg.

  • xserver-xorg-lite: + Use xserver-xorg, which has a negligible + size difference when DRI and GLX modules are not installed.

  • xserver-kdrive: + Effectively unmaintained for many years.

  • mesa-xlib: + No longer serves any purpose.

  • galago: + Replaced by telepathy.

  • gail: + Functionality was integrated into GTK+ 2.13.

  • eggdbus: + No longer needed.

  • gcc-*-intermediate: + The build has been restructured to avoid the need for + this step.

  • libgsmd: + Unmaintained for many years. + Functionality now provided by + ofono instead.

  • contacts, dates, tasks, eds-tools: + Largely unmaintained PIM application suite. + It has been moved to meta-gnome + in meta-openembedded.

+ In addition to the previously listed changes, the + meta-demoapps directory has also been removed + because the recipes in it were not being maintained and many + had become obsolete or broken. + Additionally, these recipes were not parsed in the default configuration. + Many of these recipes are already provided in an updated and + maintained form within OpenEmbedded community layers such as + meta-oe and meta-gnome. + For the remainder, you can now find them in the + meta-extras repository, which is in the + Yocto Project source repositories. +

+ +

Chapter 5. Source Directory Structure

+ The Source Directory consists of several components. + Understanding them and knowing where they are located is key to using the Yocto Project well. + This chapter describes the Source Directory and gives information about the various + files and directories. +

+ For information on how to establish a local Source Directory on your development system, see the + "Getting Set Up" + section in the Yocto Project Development Manual. +

Note

+ The OpenEmbedded build system does not support file or directory names that + contain spaces. + Be sure that the Source Directory you use does not contain these types + of names. +

5.1. Top level core components

5.1.1. bitbake/

+ The Source Directory + includes a copy of BitBake for ease of use. + The copy usually matches the current stable BitBake release from the BitBake project. + BitBake, a metadata interpreter, reads the Yocto Project metadata and runs the tasks + defined by that data. + Failures are usually from the metadata and not from BitBake itself. + Consequently, most users do not need to worry about BitBake. +

+ When you run the bitbake command, the wrapper script in + scripts/ is executed to run the main BitBake executable, + which resides in the bitbake/bin/ directory. + Sourcing the oe-init-build-env + script places the scripts and bitbake/bin + directories (in that order) into the shell's PATH environment + variable. +

+ For more information on BitBake, see the BitBake documentation + inculded in the bitbake/doc/manual directory of the + Source Directory. +

5.1.2. build/

+ This directory contains user configuration files and the output + generated by the OpenEmbedded build system in its standard configuration where + the source tree is combined with the output. + The Build Directory + is created initially when you source + the OpenEmbedded build environment setup script oe-init-build-env. +

+ It is also possible to place output and configuration + files in a directory separate from the + Source Directory + by providing a directory name when you source + the setup script. + For information on separating output from your local Source Directory files, see oe-init-build-env. +

5.1.3. documentation

+ This directory holds the source for the Yocto Project documentation + as well as templates and tools that allow you to generate PDF and HTML + versions of the manuals. + Each manual is contained in a sub-folder. + For example, the files for this manual reside in + ref-manual. +

5.1.4. meta/

+ This directory contains the OpenEmbedded Core metadata. + The directory holds recipes, common classes, and machine + configuration for emulated targets (qemux86, qemuarm, + and so on.) +

5.1.5. meta-yocto/

+ This directory contains the configuration for the Poky + reference distribution. +

5.1.6. meta-yocto-bsp/

+ This directory contains the Yocto Project reference + hardware BSPs. +

5.1.7. meta-hob/

+ This directory contains template recipes used by the + Hob + build UI. +

5.1.8. meta-skeleton/

+ This directory contains template recipes for BSP and kernel development. +

5.1.9. scripts/

+ This directory contains various integration scripts that implement + extra functionality in the Yocto Project environment (e.g. QEMU scripts). + The oe-init-build-env script appends this + directory to the shell's PATH environment variable. +

+ The scripts directory has useful scripts that assist contributing + back to the Yocto Project, such as create_pull_request and + send_pull_request. +

5.1.10. oe-init-build-env

+ This script sets up the OpenEmbedded build environment. + Running this script with the source command in + a shell makes changes to PATH and sets other core BitBake variables based on the + current working directory. + You need to run this script before running BitBake commands. + The script uses other scripts within the scripts directory to do + the bulk of the work. +

+ By default, running this script without a Build Directory argument creates the + build directory. + If you provide a Build Directory argument when you source + the script, you direct OpenEmbedded build system to create a + Build Directory of your choice. + For example, the following command creates a Build Directory named + mybuilds that is outside of the + Source Directory: +

+     $ source oe-init-build-env ~/mybuilds
+            

+

Note

+ The OpenEmbedded build system does not support file or directory names that + contain spaces. + If you attempt to run the oe-init-build-env script + from a Source Directory that contains spaces in either the filenames + or directory names, the script returns an error indicating no such + file or directory. + Be sure to use a Source Directory free of names containing spaces. +

+

5.1.11. LICENSE, README, and README.hardware

+ These files are standard top-level files. +

5.2. The Build Directory - build/

5.2.1. build/pseudodone

+ This tag file indicates that the initial pseudo binary was created. + The file is built the first time BitBake is invoked. +

5.2.2. build/conf/local.conf

+ This file contains all the local user configuration for your build environment. + If there is no local.conf present, it is created from + local.conf.sample. + The local.conf file contains documentation on the various configuration options. + Any variable set here overrides any variable set elsewhere within the environment unless + that variable is hard-coded within a file (e.g. by using '=' instead of '?='). + Some variables are hard-coded for various reasons but these variables are + relatively rare. +

+ Edit this file to set the MACHINE + for which you want to build, which package types you wish to use + (PACKAGE_CLASSES), + where you want to downloaded files + (DL_DIR), + and how you want your host machine to use resources + (BB_NUMBER_THREADS and + PARALLEL_MAKE). +

5.2.3. build/conf/bblayers.conf

+ This file defines layers, which are directory trees, traversed (or walked) by BitBake. + If bblayers.conf + is not present, it is created from bblayers.conf.sample when + you source the environment setup script. +

+ The bblayers.conf file uses the + BBLAYERS variable to + list the layers BitBake tries to find. + The file uses the + BBLAYERS_NON_REMOVABLE + variable to list layers that must not be removed. +

5.2.4. build/conf/sanity_info

+ This file is created during the build to indicate the state of the sanity checks. +

5.2.5. build/downloads/

+ This directory is used for the upstream source tarballs. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + DL_DIR variable. +

5.2.6. build/sstate-cache/

+ This directory is used for the shared state cache. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + SSTATE_DIR variable. +

5.2.7. build/tmp/

+ This directory receives all the OpenEmbedded build system's output. + BitBake creates this directory if it does not exist. + As a last resort, to clean up a build and start it from scratch (other than the downloads), + you can remove everything in the tmp directory or get rid of the + directory completely. + If you do, you should also completely remove the build/sstate-cache + directory as well. +

5.2.8. build/tmp/buildstats/

+ This directory stores the build statistics. +

5.2.9. build/tmp/cache/

+ When BitBake parses the metadata, it creates a cache file of the result that can + be used when subsequently running commands. + These results are stored here on a per-machine basis. +

5.2.10. build/tmp/deploy/

+ This directory contains any 'end result' output from the OpenEmbedded build process. +

5.2.11. build/tmp/deploy/deb/

+ This directory receives any .deb packages produced by + the build process. + The packages are sorted into feeds for different architecture types. +

5.2.12. build/tmp/deploy/rpm/

+ This directory receives any .rpm packages produced by + the build process. + The packages are sorted into feeds for different architecture types. +

5.2.13. build/tmp/deploy/licenses/

+ This directory receives package licensing information. + For example, the directory contains sub-directories for bash, + busybox, and eglibc (among others) that in turn + contain appropriate COPYING license files with other licensing information. +

5.2.14. build/tmp/deploy/images/

+ This directory receives complete filesystem images. + If you want to flash the resulting image from a build onto a device, look here for the image. +

+ Be careful when deleting files in this directory. + You can safely delete old images from this directory (e.g. + core-image-*, hob-image-*, + etc.). + However, the kernel (*zImage*, *uImage*, etc.), + bootloader and other supplementary files might be deployed here prior to building an + image. + Because these files, however, are not directly produced from the image, if you + delete them they will not be automatically re-created when you build the image again. +

+ If you do accidentally delete files here, you will need to force them to be + re-created. + In order to do that, you will need to know the target that produced them. + For example, these commands rebuild and re-create the kernel files: +

+     $ bitbake -c clean virtual/kernel
+     $ bitbake virtual/kernel
+            

+

5.2.15. build/tmp/deploy/ipk/

+ This directory receives .ipk packages produced by + the build process.

5.2.16. build/tmp/sysroots/

+ This directory contains shared header files and libraries as well as other shared + data. + Packages that need to share output with other packages do so within this directory. + The directory is subdivided by architecture so multiple builds can run within + the one Build Directory. +

5.2.17. build/tmp/stamps/

+ This directory holds information that BitBake uses for accounting purposes + to track what tasks have run and when they have run. + The directory is sub-divided by architecture, package name, and + version. + Following is an example: +

+     stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do
+            

+ Although the files in the directory are empty of data, + BitBake uses the filenames and timestamps for tracking purposes. +

5.2.18. build/tmp/log/

+ This directory contains general logs that are not otherwise placed using the + package's WORKDIR. + Examples of logs are the output from the check_pkg or + distro_check tasks. + Running a build does not necessarily mean this directory is created. +

5.2.19. build/tmp/pkgdata/

+ This directory contains intermediate packaging data that is used later in the packaging process. + For more information, see the "Packaging - package*.bbclass" section. +

5.2.20. build/tmp/work/

+ This directory contains architecture-specific work sub-directories + for packages built by BitBake. + All tasks execute from the appropriate work directory. + For example, the source for a particular package is unpacked, + patched, configured and compiled all within its own work directory. + Within the work directory, organization is based on the package group + and version for which the source is being compiled + as defined by the + WORKDIR. +

+ It is worth considering the structure of a typical work directory. + As an example, consider the linux-yocto-kernel-3.0 + on the machine qemux86 + built within the Yocto Project. + For this package, a work directory of + tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>, + referred to as the + WORKDIR, is created. + Within this directory, the source is unpacked to + linux-qemux86-standard-build and then patched by Quilt + (see the + "Modifying Package + Source Code with Quilt" section in the Yocto Project Development Manual. + Within the linux-qemux86-standard-build directory, + standard Quilt directories linux-3.0/patches + and linux-3.0/.pc are created, + and standard Quilt commands can be used. +

+ There are other directories generated within WORKDIR. + The most important directory is WORKDIR/temp/, + which has log files for each task (log.do_*.pid) + and contains the scripts BitBake runs for each task + (run.do_*.pid). + The WORKDIR/image/ directory is where "make + install" places its output that is then split into sub-packages + within WORKDIR/packages-split/. +

5.3. The Metadata - meta/

+ As mentioned previously, metadata is the core of the Yocto Project. + Metadata has several important subdivisions: +

5.3.1. meta/classes/

+ This directory contains the *.bbclass files. + Class files are used to abstract common code so it can be reused by multiple + packages. + Every package inherits the base.bbclass file. + Examples of other important classes are autotools.bbclass, which + in theory allows any Autotool-enabled package to work with the Yocto Project with minimal effort. + Another example is kernel.bbclass that contains common code and functions + for working with the Linux kernel. + Functions like image generation or packaging also have their specific class files + such as image.bbclass, rootfs_*.bbclass and + package*.bbclass. +

5.3.2. meta/conf/

+ This directory contains the core set of configuration files that start from + bitbake.conf and from which all other configuration + files are included. + See the include statements at the end of the file and you will note that even + local.conf is loaded from there. + While bitbake.conf sets up the defaults, you can often override + these by using the (local.conf) file, machine file or + the distribution configuration file. +

5.3.3. meta/conf/machine/

+ This directory contains all the machine configuration files. + If you set MACHINE="qemux86", + the OpenEmbedded build system looks for a qemux86.conf file in this + directory. + The include directory contains various data common to multiple machines. + If you want to add support for a new machine to the Yocto Project, look in this directory. +

5.3.4. meta/conf/distro/

+ Any distribution-specific configuration is controlled from this directory. + For the Yocto Project, the defaultsetup.conf is the main file here. + This directory includes the versions and the + SRCDATE definitions for applications that are configured here. + An example of an alternative configuration might be poky-bleeding.conf. + Although this file mainly inherits its configuration from Poky. +

5.3.5. meta/recipes-bsp/

+ This directory contains anything linking to specific hardware or hardware + configuration information such as "u-boot" and "grub". +

5.3.6. meta/recipes-connectivity/

+ This directory contains libraries and applications related to communication with other devices. +

5.3.7. meta/recipes-core/

+ This directory contains what is needed to build a basic working Linux image + including commonly used dependencies. +

5.3.8. meta/recipes-devtools/

+ This directory contains tools that are primarily used by the build system. + The tools, however, can also be used on targets. +

5.3.9. meta/recipes-extended/

+ This directory contains non-essential applications that add features compared to the + alternatives in core. + You might need this directory for full tool functionality or for Linux Standard Base (LSB) + compliance. +

5.3.10. meta/recipes-gnome/

+ This directory contains all things related to the GTK+ application framework. +

5.3.11. meta/recipes-graphics/

+ This directory contains X and other graphically related system libraries +

5.3.12. meta/recipes-kernel/

+ This directory contains the kernel and generic applications and libraries that + have strong kernel dependencies. +

5.3.13. meta/recipes-multimedia/

+ This directory contains codecs and support utilities for audio, images and video. +

5.3.14. meta/recipes-qt/

+ This directory contains all things related to the Qt application framework. +

5.3.15. meta/recipes-rt/

+ This directory contains package and image recipes for using and testing + the PREEMPT_RT kernel. +

5.3.16. meta/recipes-sato/

+ This directory contains the Sato demo/reference UI/UX and its associated applications + and configuration data. +

5.3.17. meta/recipes-support/

+ This directory contains recipes that used by other recipes, but that are not directly + included in images (i.e. dependencies of other recipes). +

5.3.18. meta/site/

+ This directory contains a list of cached results for various architectures. + Because certain "autoconf" test results cannot be determined when cross-compiling due to + the tests not able to run on a live system, the information in this directory is + passed to "autoconf" for the various architectures. +

5.3.19. meta/recipes.txt

+ This file is a description of the contents of recipes-*. +

+ +

Chapter 6. BitBake

+ BitBake is a program written in Python that interprets the metadata used by the OpenEmbedded + build system. + At some point, developers wonder what actually happens when you enter: +

+     $ bitbake core-image-sato
+        

+

+ This chapter provides an overview of what happens behind the scenes from BitBake's perspective. +

Note

+ BitBake strives to be a generic "task" executor that is capable of handling complex dependency relationships. + As such, it has no real knowledge of what the tasks being executed actually do. + BitBake just considers a list of tasks with dependencies and handles metadata + that consists of variables in a certain format that get passed to the tasks. +

6.1. Parsing

+ BitBake parses configuration files, classes, and .bb files. +

+ The first thing BitBake does is look for the bitbake.conf file. + This file resides in the + Source Directory + within the meta/conf/ directory. + BitBake finds it by examining its + BBPATH environment + variable and looking for the meta/conf/ + directory. +

+ The bitbake.conf file lists other configuration + files to include from a conf/ + directory below the directories listed in BBPATH. + In general, the most important configuration file from a user's perspective + is local.conf, which contains a user's customized + settings for the OpenEmbedded build environment. + Other notable configuration files are the distribution + configuration file (set by the + DISTRO variable) + and the machine configuration file + (set by the + MACHINE variable). + The DISTRO and MACHINE BitBake environment + variables are both usually set in + the local.conf file. + Valid distribution + configuration files are available in the meta/conf/distro/ directory + and valid machine configuration + files in the meta/conf/machine/ directory. + Within the meta/conf/machine/include/ + directory are various tune-*.inc configuration files that provide common + "tuning" settings specific to and shared between particular architectures and machines. +

+ After the parsing of the configuration files, some standard classes are included. + The base.bbclass file is always included. + Other classes that are specified in the configuration using the + INHERIT + variable are also included. + Class files are searched for in a classes subdirectory + under the paths in BBPATH in the same way as + configuration files. +

+ After classes are included, the variable + BBFILES + is set, usually in + local.conf, and defines the list of places to search for + .bb files. + By default, the BBFILES variable specifies the + meta/recipes-*/ directory within Poky. + Adding extra content to BBFILES is best achieved through the use of + BitBake layers as described in the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. +

+ BitBake parses each .bb file in BBFILES and + stores the values of various variables. + In summary, for each .bb + file the configuration plus the base class of variables are set, followed + by the data in the .bb file + itself, followed by any inherit commands that + .bb file might contain. +

+ Because parsing .bb files is a time + consuming process, a cache is kept to speed up subsequent parsing. + This cache is invalid if the timestamp of the .bb + file itself changes, or if the timestamps of any of the include, + configuration or class files the .bb + file depends on changes. +

6.2. Preferences and Providers

+ Once all the .bb files have been + parsed, BitBake starts to build the target (core-image-sato + in the previous section's example) and looks for providers of that target. + Once a provider is selected, BitBake resolves all the dependencies for + the target. + In the case of core-image-sato, it would lead to + packagegroup-core-x11-sato, + which in turn leads to recipes like matchbox-terminal, + pcmanfm and gthumb. + These recipes in turn depend on eglibc and the toolchain. +

+ Sometimes a target might have multiple providers. + A common example is "virtual/kernel", which is provided by each kernel package. + Each machine often selects the best kernel provider by using a line similar to the + following in the machine configuration file: +

+     PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+        

+ The default PREFERRED_PROVIDER + is the provider with the same name as the target. +

+ Understanding how providers are chosen is made complicated by the fact + that multiple versions might exist. + BitBake defaults to the highest version of a provider. + Version comparisons are made using the same method as Debian. + You can use the + PREFERRED_VERSION + variable to specify a particular version (usually in the distro configuration). + You can influence the order by using the + DEFAULT_PREFERENCE + variable. + By default, files have a preference of "0". + Setting the DEFAULT_PREFERENCE to "-1" makes the + package unlikely to be used unless it is explicitly referenced. + Setting the DEFAULT_PREFERENCE to "1" makes it likely the package is used. + PREFERRED_VERSION overrides any DEFAULT_PREFERENCE setting. + DEFAULT_PREFERENCE is often used to mark newer and more experimental package + versions until they have undergone sufficient testing to be considered stable. +

+ In summary, BitBake has created a list of providers, which is prioritized, for each target. +

6.3. Dependencies

+ Each target BitBake builds consists of multiple tasks such as + fetch, unpack, + patch, configure, + and compile. + For best performance on multi-core systems, BitBake considers each task as an independent + entity with its own set of dependencies. +

+ Dependencies are defined through several variables. + You can find information about variables BitBake uses in the BitBake documentation, + which is found in the bitbake/doc/manual directory within the + Source Directory. + At a basic level, it is sufficient to know that BitBake uses the + DEPENDS and + RDEPENDS variables when + calculating dependencies. +

6.4. The Task List

+ Based on the generated list of providers and the dependency information, + BitBake can now calculate exactly what tasks it needs to run and in what + order it needs to run them. + The build now starts with BitBake forking off threads up to the limit set in the + BB_NUMBER_THREADS variable. + BitBake continues to fork threads as long as there are tasks ready to run, + those tasks have all their dependencies met, and the thread threshold has not been + exceeded. +

+ It is worth noting that you can greatly speed up the build time by properly setting + the BB_NUMBER_THREADS variable. + See the + "Building an Image" + section in the Yocto Project Quick Start for more information. +

+ As each task completes, a timestamp is written to the directory specified by the + STAMP variable. + On subsequent runs, BitBake looks within the /build/tmp/stamps + directory and does not rerun + tasks that are already completed unless a timestamp is found to be invalid. + Currently, invalid timestamps are only considered on a per + .bb file basis. + So, for example, if the configure stamp has a timestamp greater than the + compile timestamp for a given target, then the compile task would rerun. + Running the compile task again, however, has no effect on other providers + that depend on that target. + This behavior could change or become configurable in future versions of BitBake. +

Note

+ Some tasks are marked as "nostamp" tasks. + No timestamp file is created when these tasks are run. + Consequently, "nostamp" tasks are always rerun. +

6.5. Running a Task

+ Tasks can either be a shell task or a Python task. + For shell tasks, BitBake writes a shell script to + ${WORKDIR}/temp/run.do_taskname.pid and then executes the script. + The generated shell script contains all the exported variables, and the shell functions + with all variables expanded. + Output from the shell script goes to the file ${WORKDIR}/temp/log.do_taskname.pid. + Looking at the expanded shell functions in the run file and the output in the log files + is a useful debugging technique. +

+ For Python tasks, BitBake executes the task internally and logs information to the + controlling terminal. + Future versions of BitBake will write the functions to files similar to the way + shell tasks are handled. + Logging will be handled in way similar to shell tasks as well. +

+ Once all the tasks have been completed BitBake exits. +

+ When running a task, BitBake tightly controls the execution environment + of the build tasks to make sure unwanted contamination from the build machine + cannot influence the build. + Consequently, if you do want something to get passed into the build + task's environment, you must take a few steps: +

  1. Tell BitBake to load what you want from the environment + into the data store. + You can do so through the BB_ENV_EXTRAWHITE + variable. + For example, assume you want to prevent the build system from + accessing your $HOME/.ccache directory. + The following command tells BitBake to load + CCACHE_DIR from the environment into the data + store: +

    +     export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE CCACHE_DIR"
    +                    
  2. Tell BitBake to export what you have loaded into the + environment store to the task environment of every running task. + Loading something from the environment into the data store + (previous step) only makes it available in the datastore. + To export it to the task environment of every running task, + use a command similar to the following in your + local.conf or distro configuration file: +

    +     export CCACHE_DIR
    +                    

+

Note

+ A side effect of the previous steps is that BitBake records the variable + as a dependency of the build process in things like the shared state + checksums. + If doing so results in unnecessary rebuilds of tasks, you can whitelist the + variable so that the shared state code ignores the dependency when it creates + checksums. + For information on this process, see the BB_HASHBASE_WHITELIST + example in the "Checksums (Signatures)" section. +

6.6. BitBake Command Line

+ Following is the BitBake help output: +

+$ bitbake --help
+Usage: bitbake [options] [package ...]
+
+Executes the specified task (default is 'build') for a given set of BitBake files.
+It expects that BBFILES is defined, which is a space separated list of files to
+be executed.  BBFILES does support wildcards.
+Default BBFILES are the .bb files in the current directory.
+
+Options:
+  --version             show program's version number and exit
+  -h, --help            show this help message and exit
+  -b BUILDFILE, --buildfile=BUILDFILE
+                        execute the task against this .bb file, rather than a
+                        package from BBFILES. Does not handle any
+                        dependencies.
+  -k, --continue        continue as much as possible after an error. While the
+                        target that failed, and those that depend on it,
+                        cannot be remade, the other dependencies of these
+                        targets can be processed all the same.
+  -a, --tryaltconfigs   continue with builds by trying to use alternative
+                        providers where possible.
+  -f, --force           force run of specified cmd, regardless of stamp status
+  -c CMD, --cmd=CMD     Specify task to execute. Note that this only executes
+                        the specified task for the providee and the packages
+                        it depends on, i.e. 'compile' does not implicitly call
+                        stage for the dependencies (IOW: use only if you know
+                        what you are doing). Depending on the base.bbclass a
+                        listtasks tasks is defined and will show available
+                        tasks
+  -r PREFILE, --read=PREFILE
+                        read the specified file before bitbake.conf
+  -R POSTFILE, --postread=POSTFILE
+                        read the specified file after bitbake.conf
+  -v, --verbose         output more chit-chat to the terminal
+  -D, --debug           Increase the debug level. You can specify this more
+                        than once.
+  -n, --dry-run         don't execute, just go through the motions
+  -S, --dump-signatures
+                        don't execute, just dump out the signature
+                        construction information
+  -p, --parse-only      quit after parsing the BB files (developers only)
+  -s, --show-versions   show current and preferred versions of all packages
+  -e, --environment     show the global or per-package environment (this is
+                        what used to be bbread)
+  -g, --graphviz        emit the dependency trees of the specified packages in
+                        the dot syntax
+  -I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
+                        Assume these dependencies don't exist and are already
+                        provided (equivalent to ASSUME_PROVIDED). Useful to
+                        make dependency graphs more appealing
+  -l DEBUG_DOMAINS, --log-domains=DEBUG_DOMAINS
+                        Show debug logging for the specified logging domains
+  -P, --profile         profile the command and print a report
+  -u UI, --ui=UI        userinterface to use
+  -t SERVERTYPE, --servertype=SERVERTYPE
+                        Choose which server to use, none, process or xmlrpc
+  --revisions-changed   Set the exit code depending on whether upstream
+                        floating revisions have changed or not
+        

6.7. Fetchers

+ BitBake also contains a set of "fetcher" modules that allow + retrieval of source code from various types of sources. + For example, BitBake can get source code from a disk with the metadata, from websites, + from remote shell accounts or from Source Code Management (SCM) systems + like cvs/subversion/git. +

+ Fetchers are usually triggered by entries in + SRC_URI. + You can find information about the options and formats of entries for specific + fetchers in the BitBake manual located in the + bitbake/doc/manual directory of the + Source Directory. +

+ One useful feature for certain Source Code Manager (SCM) fetchers is the ability to + "auto-update" when the upstream SCM changes version. + Since this ability requires certain functionality from the SCM, not all + systems support it. + Currently Subversion, Bazaar and to a limited extent, Git support the ability to "auto-update". + This feature works using the SRCREV + variable. + See the + "Using an External SCM" section + in the Yocto Project Development Manual for more information. +

+ +

Chapter 7. Classes

+ Class files are used to abstract common functionality and share it amongst multiple + .bb files. + Any metadata usually found in a .bb file can also be placed in a class + file. + Class files are identified by the extension .bbclass and are usually placed + in a classes/ directory beneath the + meta*/ directory found in the + Source Directory. + Class files can also be pointed to by BUILDDIR (e.g. build/)in the same way as + .conf files in the conf directory. + Class files are searched for in BBPATH + using the same method by which .conf files are searched. +

+ In most cases inheriting the class is enough to enable its features, although + for some classes you might need to set variables or override some of the + default behaviour. +

7.1. The base class - base.bbclass

+ The base class is special in that every .bb + file inherits it automatically. + This class contains definitions for standard basic + tasks such as fetching, unpacking, configuring (empty by default), compiling + (runs any Makefile present), installing (empty by default) and packaging + (empty by default). + These classes are often overridden or extended by other classes + such as autotools.bbclass or package.bbclass. + The class also contains some commonly used functions such as oe_runmake. +

7.2. Autotooled Packages - autotools.bbclass

+ Autotools (autoconf, automake, + and libtool) bring standardization. + This class defines a set of tasks (configure, compile etc.) that + work for all Autotooled packages. + It should usually be enough to define a few standard variables + and then simply inherit autotools. + This class can also work with software that emulates Autotools. + For more information, see the + "Autotooled Package" + section in the Yocto Project Development Manual. +

+ It's useful to have some idea of how the tasks defined by this class work + and what they do behind the scenes. +

  • do_configure †regenerates the + configure script (using autoreconf) and then launches it + with a standard set of arguments used during cross-compilation. + You can pass additional parameters to configure through the + EXTRA_OECONF variable. +

  • do_compile †runs make with + arguments that specify the compiler and linker. + You can pass additional arguments through + the EXTRA_OEMAKE variable. +

  • do_install †runs make install + and passes a DESTDIR option, which takes its value from the standard + DESTDIR variable. +

+

7.3. Alternatives - update-alternatives.bbclass

+ Several programs can fulfill the same or similar function and be installed with the same name. + For example, the ar command is available from the + busybox, binutils and + elfutils packages. + The update-alternatives.bbclass class handles renaming the + binaries so that multiple packages can be installed without conflicts. + The ar command still works regardless of which packages are installed + or subsequently removed. + The class renames the conflicting binary in each package and symlinks the highest + priority binary during installation or removal of packages. +

+ Four variables control this class: +

  • ALTERNATIVE_NAME †The name of the + binary that is replaced (ar in this example).

  • ALTERNATIVE_LINK †The path to + the resulting binary (/bin/ar in this example).

  • ALTERNATIVE_PATH †The path to the + real binary (/usr/bin/ar.binutils in this example).

  • ALTERNATIVE_PRIORITY †The priority of + the binary. + The version with the most features should have the highest priority.

+

+ Currently, the OpenEmbedded build system supports only one binary per package. +

7.4. Initscripts - update-rc.d.bbclass

+ This class uses update-rc.d to safely install an + initialization script on behalf of the package. + The OpenEmbedded build system takes care of details such as making sure the script is stopped before + a package is removed and started when the package is installed. + Three variables control this class: + INITSCRIPT_PACKAGES, + INITSCRIPT_NAME and + INITSCRIPT_PARAMS. + See the variable links for details. +

7.5. Binary config scripts - binconfig.bbclass

+ Before pkg-config had become widespread, libraries shipped shell + scripts to give information about the libraries and include paths needed + to build software (usually named LIBNAME-config). + This class assists any recipe using such scripts. +

+ During staging, BitBake installs such scripts into the + sysroots/ directory. + BitBake also changes all paths to point into the sysroots/ + directory so all builds that use the script will use the correct + directories for the cross compiling layout. +

7.6. Debian renaming - debian.bbclass

+ This class renames packages so that they follow the Debian naming + policy (i.e. eglibc becomes libc6 + and eglibc-devel becomes libc6-dev. +

7.7. Pkg-config - pkgconfig.bbclass

+ pkg-config brought standardization and this class aims to make its + integration smooth for all libraries that make use of it. +

+ During staging, BitBake installs pkg-config data into the + sysroots/ directory. + By making use of sysroot functionality within pkg-config, + this class no longer has to manipulate the files. +

7.8. Distribution of sources - src_distribute_local.bbclass

+ Many software licenses require that source files be provided along with the binaries. + To simplify this process, two classes were created: + src_distribute.bbclass and + src_distribute_local.bbclass. +

+ The results of these classes are tmp/deploy/source/ + subdirs with sources sorted by + LICENSE field. + If recipes list few licenses (or have entries like "Bitstream Vera"), + the source archive is placed in each license directory. +

+ This class operates using three modes: +

  • copy: Copies the files to the + distribute directory.

  • symlink: Symlinks the files to the + distribute directory.

  • move+symlink: Moves the files into + the distribute directory and then symlinks them back.

+

7.9. Perl modules - cpan.bbclass

+ Recipes for Perl modules are simple. + These recipes usually only need to point to the source's archive and then inherit the + proper .bbclass file. + Building is split into two methods depending on which method the module authors used. +

+ Modules that use old Makefile.PL-based build system require + cpan.bbclass in their recipes. +

+ Modules that use Build.PL-based build system require + using cpan_build.bbclass in their recipes. +

7.10. Python extensions - distutils.bbclass

+ Recipes for Python extensions are simple. + These recipes usually only need to point to the source's archive and then inherit + the proper .bbclass file. + Building is split into two methods dependling on which method the module authors used. +

+ Extensions that use an Autotools-based build system require Autotools and + distutils-based .bbclasse files in their recipes. +

+ Extensions that use distutils-based build systems require + distutils.bbclass in their recipes. +

7.11. Developer Shell - devshell.bbclass

+ This class adds the devshell task. + Distribution policy dictates whether to include this class. + See the + "Using a Development Shell" section + in the Yocto Project Development Manual for more information about using devshell. +

7.12. Package Groups - packagegroup.bbclass

+ This class sets default values appropriate for package group recipes (such as + PACKAGES, + PACKAGE_ARCH, + ALLOW_EMPTY, + and so forth. + It is highly recommended that all package group recipes inherit this class. +

+ For information on how to use this class, see the + "Customizing Images Using Custom Package Tasks" + section in the Yocto Project Development Manual. +

+ Previously, this class was named task.bbclass. +

7.13. Packaging - package*.bbclass

+ The packaging classes add support for generating packages from a build's + output. + The core generic functionality is in package.bbclass. + The code specific to particular package types is contained in various sub-classes such as + package_deb.bbclass, package_ipk.bbclass, + and package_rpm.bbclass. + Most users will want one or more of these classes. +

+ You can control the list of resulting package formats by using the + PACKAGE_CLASSES + variable defined in the local.conf configuration file, + which is located in the conf folder of the + Source Directory. + When defining the variable, you can specify one or more package types. + Since images are generated from packages, a packaging class is + needed to enable image generation. + The first class listed in this variable is used for image generation. +

+ The package class you choose can affect build-time performance and has space + ramifications. + In general, building a package with RPM takes about thirty percent more time as + compared to using IPK to build the same or similar package. + This comparison takes into account a complete build of the package with all + dependencies previously built. + The reason for this discrepancy is because the RPM package manager creates and + processes more metadata than the IPK package manager. + Consequently, you might consider setting PACKAGE_CLASSES + to "package_ipk" if you are building smaller systems. +

+ Keep in mind, however, that RPM starts to provide more abilities than IPK due to + the fact that it processes more metadata. + For example, this information includes individual file types, file checksum generation + and evaluation on install, sparse file support, conflict detection and resolution + for multilib systems, ACID style upgrade, and repackaging abilities for rollbacks. +

+ Another consideration for packages built using the RPM package manager is space. + For smaller systems, the extra space used for the Berkley Database and the amount + of metadata can affect your ability to do on-device upgrades. +

+ You can find additional information on the effects of the package class at these + two Yocto Project mailing list links: +

+

7.14. Building kernels - kernel.bbclass

+ This class handles building Linux kernels. + The class contains code to build all kernel trees. + All needed headers are staged into the + STAGING_KERNEL_DIR + directory to allow out-of-tree module builds using module.bbclass. +

+ This means that each built kernel module is packaged separately and inter-module + dependencies are created by parsing the modinfo output. + If all modules are required, then installing the kernel-modules + package installs all packages with modules and various other kernel packages + such as kernel-vmlinux. +

+ Various other classes are used by the kernel and module classes internally including + kernel-arch.bbclass, module_strip.bbclass, + module-base.bbclass, and linux-kernel-base.bbclass. +

7.15. Creating images - image.bbclass and rootfs*.bbclass

+ These classes add support for creating images in several formats. + First, the root filesystem is created from packages using + one of the rootfs_*.bbclass + files (depending on the package format used) and then the image is created. +

+ The IMAGE_FSTYPES + variable controls the types of images to generate. +

+ The IMAGE_INSTALL + variable controls the list of packages to install into the image. +

7.16. Host System sanity checks - sanity.bbclass

+ This class checks to see if prerequisite software is present so that + users can be notified of potential problems that might affect their build. + The class also performs basic user configuration checks from + the local.conf configuration file to + prevent common mistakes that cause build failures. + Distribution policy usually determines whether to include this class. +

7.17. Generated output quality assurance checks - insane.bbclass

+ This class adds a step to the package generation process that sanity checks the + packages generated by the OpenEmbedded build system. + A range of checks are performed that check the build's output + for common problems that show up during runtime. + Distribution policy usually dictates whether to include this class. +

+ You can configure the sanity checks so that specific test failures either raise a warning or + an error message. + Typically, failures for new tests generate a warning. + Subsequent failures for the same test would then generate an error message + once the metadata is in a known and good condition. + You use the WARN_QA variable to specify tests for which you + want to generate a warning message on failure. + You use the ERROR_QA variable to specify tests for which you + want to generate an error message on failure. +

+ The following list shows the tests you can list with the WARN_QA + and ERROR_QA variables: +

  • ldflags: + Ensures that the binaries were linked with the + LDFLAGS options provided by the build system. + If this test fails, check that the LDFLAGS variable + is being passed to the linker command.

  • useless-rpaths: + Checks for dynamic library load paths (rpaths) in the binaries that + by default on a standard system are searched by the linker (e.g. + /lib and /usr/lib). + While these paths will not cause any breakage, they do waste space and + are unnecessary.

  • rpaths: + Checks for rpaths in the binaries that contain build system paths such + as TMPDIR. + If this test fails, bad -rpath options are being + passed to the linker commands and your binaries have potential security + issues.

  • dev-so: + Checks that the .so symbolic links are in the + -dev package and not in any of the other packages. + In general, these symlinks are only useful for development purposes. + Thus, the -dev 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. +

  • debug-files: + Checks for .debug directories in anything but the + -dbg package. + The debug files should all be in the -dbg package. + Thus, anything packaged elsewhere is incorrect packaging.

  • arch: + Checks the Executable and Linkable Format (ELF) type, bit size and endianness + of any binaries to ensure it matches the target architecture. + This test fails if any binaries don't match the type since there would be an + incompatibility. + Sometimes software, like bootloaders, might need to bypass this check. +

  • debug-deps: + Checks that -dbg packages only depend on other + -dbg packages and not on any other types of packages, + which would cause a packaging bug.

  • dev-deps: + Checks that -dev packages only depend on other + -dev packages and not on any other types of packages, + which would be a packaging bug.

  • pkgconfig: + Checks .pc files for any + TMPDIR/WORKDIR paths. + Any .pc file containing these paths is incorrect + since pkg-config itself adds the correct sysroot prefix + when the files are accessed.

  • la: + Checks .la files for any TMPDIR + paths. + Any .la file continaing these paths is incorrect since + libtool adds the correct sysroot prefix when using the + files automatically itself.

  • desktop: + Runs the desktop-file-validate program against any + .desktop files to validate their contents against + the specification for .desktop files.

+

7.18. Autotools configuration data cache - siteinfo.bbclass

+ Autotools can require tests that must execute on the target hardware. + Since this is not possible in general when cross compiling, site information is + used to provide cached test results so these tests can be skipped over but + still make the correct values available. + The meta/site directory + contains test results sorted into different categories such as architecture, endianness, and + the libc used. + Site information provides a list of files containing data relevant to + the current build in the + CONFIG_SITE variable + that Autotools automatically picks up. +

+ The class also provides variables like + SITEINFO_ENDIANNESS + and SITEINFO_BITS + that can be used elsewhere in the metadata. +

+ Because this class is included from base.bbclass, it is always active. +

7.19. Adding Users - useradd.bbclass

+ If you have packages that install files that are owned by custom users or groups, + you can use this class to specify those packages and associate the users and groups + with those packages. + The meta-skeleton/recipes-skeleton/useradd/useradd-example.bb + recipe in the Source Directory + provides a simple exmample that shows how to add three + users and groups to two packages. + See the useradd-example.bb for more information on how to + use this class. +

7.20. Using External Source - externalsrc.bbclass

+ You can use this class to build software from source code that is external to the + OpenEmbedded build system. + In other words, your source code resides in an external tree outside of the Yocto Project. + Building software from an external source tree means that the normal fetch, unpack, and + patch process is not used. +

+ To use the class, you need to define the + S variable to point to the directory that contains the source files. + You also need to have your recipe inherit the externalsrc.bbclass class. +

+ This class expects the source code to support recipe builds that use the + B variable to point to the directory in + which the OpenEmbedded build system places the generated objects built from the recipes. + By default, the B directory is set to the following, which is separate from the + Source Directory (S): +

+     ${WORKDIR}/${BPN}/{PV}/
+        

+ See the glossary entries for the + WORKDIR, + BPN, + PV, + S, and + B for more information. +

+ You can build object files in the external tree by setting the + B variable equal to "${S}". + However, this practice does not work well if you use the source for more than one variant + (i.e., "natives" such as quilt-native, + or "crosses" such as gcc-cross). + So, be sure there are no "native", "cross", or "multilib" variants of the recipe. +

+ If you do want to build different variants of a recipe, you can use the + BBCLASSEXTEND variable. + When you do, the B variable must support the + recipe's ability to build variants in different working directories. + Most autotools-based recipes support separating these directories. + The OpenEmbedded build system defaults to using separate directories for gcc + and some kernel recipes. + Alternatively, you can make sure that separate recipes exist that each + use the BBCLASSEXTEND variable to build each variant. + The separate recipes can inherit a single target recipe. +

+ For information on how to use this class, see the + "Building + Software from an External Source" section in the Yocto Project Development Manual. +

7.21. Other Classes

+ Thus far, this chapter has discussed only the most useful and important + classes. + However, other classes exist within the meta/classes directory + in the Source Directory. + You can examine the .bbclass files directly for more + information. +

+ +

Chapter 8. Images

+ The OpenEmbedded build process supports several types of images to satisfy different needs. + When you issue the bitbake command you provide a “top-level†recipe + that essentially begins the build for the type of image you want. +

Note

+ Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + Furthermore, if you are going to build an image using non-GPLv3 components, + you must make the following changes in the local.conf file + before using the BitBake command to build the minimal or base image: +
+     1. Comment out the EXTRA_IMAGE_FEATURES line
+     2. Set INCOMPATIBLE_LICENSE = "GPLv3"
+        

+ From within the poky Git repository, use the following command to list + the supported images: +

+     $ ls meta*/recipes*/images/*.bb
+        

+ These recipes reside in the meta/recipes-core/images, + meta/recipes-extended/images, + meta/recipes-graphics/images, and + meta/recipes-sato/images directories + within the source directory. + Although the recipe names are somewhat explanatory, here is a list that describes them: +

  • core-image-base: + A console-only image that fully supports the target device hardware.

  • core-image-minimal: + A small image just capable of allowing a device to boot.

  • core-image-minimal-dev: + A core-image-minimal image suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. +

  • core-image-minimal-initramfs: + A core-image-minimal image that has the Minimal RAM-based + Initial Root Filesystem (initramfs) as part of the kernel, + which allows the system to find the first “init†program more efficiently. +

  • core-image-minimal-mtdutils: + A core-image-minimal image that has support + for the Minimal MTD Utilities, which let the user interact with the + MTD subsystem in the kernel to perform operations on flash devices. +

  • core-image-x11: + A very basic X11 image with a terminal. +

  • core-image-basic: + A console-only image with more full-featured Linux system + functionality installed.

  • core-image-lsb: + An image that conforms to the Linux Standard Base (LSB) specification.

  • core-image-lsb-dev: + A core-image-lsb image that is suitable for development work + using the host. + The image includes headers and libraries you can use in a host development + environment. +

  • core-image-lsb-sdk: + A core-image-lsb that includes everything in meta-toolchain + but also includes development headers and libraries to form a complete standalone SDK. + This image is suitable for development using the target.

  • core-image-clutter: + An image with support for the Open GL-based toolkit Clutter, which enables development of + rich and animated graphical user interfaces.

  • core-image-sato: + An image with Sato support, a mobile environment and visual style that works well + with mobile devices. + The image supports X11 with a Sato theme and applications such as + a terminal, editor, file manager, media player, and so forth.

  • core-image-sato-dev: + A core-image-sato image suitable for development + using the host. + The image includes libraries needed to build applications on the device itself, + testing and profiling tools, and debug symbols. + This image was formerly core-image-sdk.

  • core-image-sato-sdk: + A core-image-sato image that includes everything in meta-toolchain. + The image also includes development headers and libraries to form a complete standalone SDK + and is suitable for development using the target.

  • core-image-rt: + A core-image-minimal image plus a real-time test suite and + tools appropriate for real-time use.

  • core-image-rt-sdk: + A core-image-rt image that includes everything in + meta-toolchain. + The image also includes development headers and libraries to form a complete + stand-alone SDK and is suitable for development using the target.

  • core-image-gtk-directfb: + An image that uses gtk+ over directfb + instead of X11. + In order to build, this image requires specific distro configuration that enables + gtk over directfb.

  • build-appliance-image: + An image you can boot and run using either the + VMware Player + or VMware Workstation. + For more information on this image, see the + Build Appliance page on + the Yocto Project website.

Tip

+ From the Yocto Project release 1.1 onwards, -live and + -directdisk images have been replaced by a "live" + option in IMAGE_FSTYPES that will work with any image to produce an + image file that can be + copied directly to a CD or USB device and run as is. + To build a live image, simply add + "live" to IMAGE_FSTYPES within the local.conf + file or wherever appropriate and then build the desired image as normal. +
+ +

Chapter 9. Reference: Features

+ Features provide a mechanism for working out which packages + should be included in the generated images. + Distributions can select which features they want to support through the + DISTRO_FEATURES + variable, which is set in the poky.conf distribution configuration file. + Machine features are set in the + MACHINE_FEATURES + variable, which is set in the machine configuration file and + specifies the hardware features for a given machine. +

+ These two variables combine to work out which kernel modules, + utilities, and other packages to include. + A given distribution can support a selected subset of features so some machine features might not + be included if the distribution itself does not support them. +

+ One method you can use to determine which recipes are checking to see if a + particular feature is contained or not is to grep through + the metadata for the feature. + Here is an example that discovers the recipes whose build is potentially + changed based on a given feature: +

+     $ cd $HOME/poky
+     $ git grep 'contains.*MACHINE_FEATURES.*<feature>'
+        

+

+ This chapter provides a reference of shipped machine and distro features + you can include as part of the image, a reference on image types you can + build, and a reference on feature backfilling. +

9.1. Distro

+ The items below are features you can use with + DISTRO_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. +

+ This list only represents features as shipped with the Yocto Project metadata: +

  • alsa: ALSA support will be included (OSS compatibility + kernel modules will be installed if available).

  • bluetooth: Include bluetooth support (integrated BT only) +

  • ext2: Include tools for supporting for devices with internal + HDD/Microdrive for storing files (instead of Flash only devices) +

  • irda: Include Irda support +

  • keyboard: Include keyboard support (e.g. keymaps will be + loaded during boot). +

  • pci: Include PCI bus support +

  • pcmcia: Include PCMCIA/CompactFlash support +

  • usbgadget: USB Gadget Device support (for USB + networking/serial/storage) +

  • usbhost: USB Host support (allows to connect external + keyboard, mouse, storage, network etc) +

  • wifi: WiFi support (integrated only) +

  • cramfs: CramFS support +

  • ipsec: IPSec support +

  • ipv6: IPv6 support +

  • nfs: NFS client support (for mounting NFS exports on + device)

  • ppp: PPP dialup support

  • smbfs: SMB networks client support (for mounting + Samba/Microsoft Windows shares on device)

+

9.2. Machine

+ The items below are features you can use with + MACHINE_FEATURES. + Features do not have a one-to-one correspondence to packages, and they can + go beyond simply controlling the installation of a package or packages. + Sometimes a feature can influence how certain recipes are built. + For example, a feature might determine whether a particular configure option + is specified within do_configure for a particular + recipe. +

+ This feature list only represents features as shipped with the Yocto Project metadata: +

  • acpi: Hardware has ACPI (x86/x86_64 only) +

  • alsa: Hardware has ALSA audio drivers +

  • apm: Hardware uses APM (or APM emulation) +

  • bluetooth: Hardware has integrated BT +

  • ext2: Hardware HDD or Microdrive +

  • irda: Hardware has Irda support +

  • keyboard: Hardware has a keyboard +

  • pci: Hardware has a PCI bus +

  • pcmcia: Hardware has PCMCIA or CompactFlash sockets +

  • screen: Hardware has a screen +

  • serial: Hardware has serial support (usually RS232) +

  • touchscreen: Hardware has a touchscreen +

  • usbgadget: Hardware is USB gadget device capable +

  • usbhost: Hardware is USB Host capable +

  • wifi: Hardware has integrated WiFi +

+

9.3. Images

+ The contents of images generated by the OpenEmbedded build system can be controlled by the + IMAGE_FEATURES + and EXTRA_IMAGE_FEATURES + variables that you typically configure in your image recipes. + Through these variables you can add several different + predefined packages such as development utilities or packages with debug + information needed to investigate application problems or profile applications. +

+ Current list of + IMAGE_FEATURES contains the following: +

  • splash: Enables showing a splash screen during boot. + By default, this screen is provided by psplash, which does + allow customization. + If you prefer to use an alternative splash screen package, you can do so by + setting the SPLASH variable + to a different package name (or names) within the image recipe or at the distro + configuration level.

  • ssh-server-dropbear: Installs the Dropbear minimal + SSH server. +

  • ssh-server-openssh: Installs the OpenSSH SSH server, + which is more full-featured than Dropbear. + Note that if both the OpenSSH SSH server and the Dropbear minimal SSH server + are present in IMAGE_FEATURES, then OpenSSH will take + precedence and Dropbear will not be installed.

  • x11: Installs the X server

  • x11-base: Installs the X server with a + minimal environment.

  • x11-sato: Installs the OpenedHand Sato environment. +

  • tools-sdk: Installs a full SDK that runs on the device. +

  • tools-debug: Installs debugging tools such as + strace and gdb. +

  • tools-profile: Installs profiling tools such as + oprofile, exmap, and + LTTng.

  • tools-testapps: Installs device testing tools (e.g. + touchscreen debugging).

  • nfs-server: Installs an NFS server.

  • dev-pkgs: Installs development packages (headers and + extra library links) for all packages installed in a given image.

  • staticdev-pkgs: Installs static development + packages (i.e. static libraries containing *.a files) for all + packages installed in a given image.

  • dbg-pkgs: Installs debug symbol packages for all packages + installed in a given image.

  • doc-pkgs: Installs documentation packages for all packages + installed in a given image.

+

9.4. Feature Backfilling

+ Sometimes it is necessary in the OpenEmbedded build system to extend + MACHINE_FEATURES + or DISTRO_FEATURES + to control functionality that was previously enabled and not able + to be disabled. + For these cases, we need to add an + additional feature item to appear in one of these variables, + but we do not want to force developers who have existing values + of the variables in their configuration to add the new feature + in order to retain the same overall level of functionality. + Thus, the OpenEmbedded build system has a mechanism to + automatically "backfill" these added features into existing + distro or machine configurations. + You can see the list of features for which this is done by + finding the + DISTRO_FEATURES_BACKFILL + and MACHINE_FEATURES_BACKFILL + variables in the meta/conf/bitbake.conf file. +

+ Because such features are backfilled by default into all + configurations as described in the previous paragraph, developers + who wish to disable the new features need to be able to selectively + prevent the backfilling from occurring. + They can do this by adding the undesired feature or features to the + DISTRO_FEATURES_BACKFILL_CONSIDERED + or MACHINE_FEATURES_BACKFILL_CONSIDERED + variables for distro features and machine features respectively. +

+ Here are two examples to help illustrate feature backfilling: +

  • The "pulseaudio" distro feature option: + Previously, PulseAudio support was enabled within the Qt and + GStreamer frameworks. + Because of this, the feature is backfilled and thus + enabled for all distros through the + DISTRO_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your distro needs to disable the feature. + You can disable the feature without affecting + other existing distro configurations that need PulseAudio support + by adding "pulseaudio" to + DISTRO_FEATURES_BACKFILL_CONSIDERED + in your distro's .conf file. + Adding the feature to this variable when it also + exists in the DISTRO_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's DISTRO_FEATURES, effectively disabling + the feature for that particular distro.

  • The "rtc" machine feature option: + Previously, real time clock (RTC) support was enabled for all + target devices. + Because of this, the feature is backfilled and thus enabled + for all machines through the MACHINE_FEATURES_BACKFILL + variable in the meta/conf/bitbake.conf file. + However, your target device does not have this capability. + You can disable RTC support for your device without + affecting other machines that need RTC support + by adding the feature to your machine's + MACHINE_FEATURES_BACKFILL_CONSIDERED + list in the machine's .conf file. + Adding the feature to this variable when it also + exists in the MACHINE_FEATURES_BACKFILL + variable prevents the build system from adding the feature to + your configuration's MACHINE_FEATURES, effectively + disabling RTC support for that particular machine.

+

+ +

Chapter 10. Variables Glossary

Table of Contents

Glossary

+ This chapter lists common variables used in the OpenEmbedded build system and gives an overview + of their function and contents. +

Glossary

+ A + B + C + D + E + F + + H + I + + K + L + M + + O + P + + R + S + T + + + W + + + +

A

ALLOW_EMPTY

+ Specifies if an output package should still be produced if it is empty. + By default, BitBake does not produce empty packages. + This default behavior can cause issues when there is an + RDEPENDS or + some other runtime hard-requirement on the existence of the package. +

+ Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: +

+     ALLOW_EMPTY_${PN} = "1"
+                   

+

AUTHOR

The email address used to contact the original author or authors in + order to send patches, forward bugs, etc.

AUTOREV

When SRCREV + is set to the value of this variable, it specifies that the latest + source revision in the repository should be used. Here is an example: +

+     SRCREV = "${AUTOREV}"
+                    

+

B

B

+ The Build Directory. + The OpenEmbedded build system places generated objects into the Build Directory + during a recipe's build process. + By default, this directory is the same as the S + directory: +

+     B = ${WORKDIR}/${BPN}/{PV}/
+                    

+ You can separate the (S) directory and the directory pointed to + by the B variable. + Most autotools-based recipes support separating these directories. + The build system defaults to using separate directories for gcc + and some kernel recipes. +

BAD_RECOMMENDATIONS

+ A list of packages not to install despite being recommended by a recipe. + Support for this variable exists only when using the + ipk packaging backend. +

BB_DISKMON_DIRS

+ Monitors disk space and available inodes during the build + and allows you to control the build based on these + parameters. +

+ Disk space monitoring is disabled by default. + To enable monitoring, add the BB_DISKMON_DIRS + variable to your conf/local.conf file found in the + Build Directory. + Use the following form: +

+     BB_DISKMON_DIRS = "<action>,<dir>,<threshold> [...]"
+
+     where:
+
+        <action> is:
+           ABORT:     Immediately abort the build when
+                      a threshold is broken.
+           STOPTASKS: Stop the build after the currently
+                      executing tasks have finished when
+                      a threshold is broken.
+           WARN:      Issue a warning but continue the
+                      build when a threshold is broken.
+                      Subsequent warnings are issued as
+                      defined by the
+                      BB_DISKMON_WARNINTERVAL variable,
+                      which must be defined in the
+                      conf/local.conf file.
+
+        <dir> is:
+           Any directory you choose. You can specify one or
+           more directories to monitor by separating the
+           groupings with a space.  If two directories are
+           on the same device, only the first directory
+           is monitored.
+
+        <threshold> is:
+           Either the minimum available disk space,
+           the minimum number of free inodes, or
+           both.  You must specify at least one.  To
+           omit one or the other, simply omit the value.
+           Specify the threshold using G, M, K for Gbytes,
+           Mbytes, and Kbytes, respectively. If you do
+           not specify G, M, or K, Kbytes is assumed by
+           default.  Do not use GB, MB, or KB.
+                    

+

+ Here are some examples: +

+     BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
+     BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G"
+     BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K"
+                    

+ The first example works only if you also provide + the BB_DISKMON_WARNINTERVAL variable + in the conf/local.conf. + This example causes the build system to immediately + abort when either the disk space in ${TMPDIR} drops + below 1 Gbyte or the available free inodes drops below + 100 Kbytes. + Because two directories are provided with the variable, the + build system also issue a + warning when the disk space in the + ${SSTATE_DIR} directory drops + below 1 Gbyte or the number of free inodes drops + below 100 Kbytes. + Subsequent warnings are issued during intervals as + defined by the BB_DISKMON_WARNINTERVAL + variable. +

+ The second example stops the build after all currently + executing tasks complete when the minimum disk space + in the ${TMPDIR} directory drops + below 1 Gbyte. + No disk monitoring occurs for the free inodes in this case. +

+ The final example immediately aborts the build when the + number of free inodes in the ${TMPDIR} directory + drops below 100 Kbytes. + No disk space monitoring for the directory itself occurs + in this case. +

BB_DISKMON_WARNINTERVAL

+ Defines the disk space and free inode warning intervals. + To set these intervals, define the variable in your + conf/local.conf file in the + Build Directory. +

+ If you are going to use the + BB_DISKMON_WARNINTERVAL variable, you must + also use the + BB_DISKMON_DIRS variable + and define its action as "WARN". + During the build, subsequent warnings are issued each time + disk space or number of free inodes further reduces by + the respective interval. +

+ If you do not provide a BB_DISKMON_WARNINTERVAL + variable and you do use BB_DISKMON_DIRS with + the "WARN" action, the disk monitoring interval defaults to + the following: +

+     BB_DISKMON_WARNINTERVAL = "50M,5K"
+                    

+

+ When specifying the variable in your configuration file, + use the following form: +

+     BB_DISKMON_WARNINTERVAL = "<disk_space_interval>,<disk_inode_interval>"
+
+     where:
+
+        <disk_space_interval> is:
+           An interval of memory expressed in either
+           G, M, or K for Gbytes, Mbytes, or Kbytes,
+           respectively. You cannot use GB, MB, or KB.
+
+        <disk_inode_interval> is:
+           An interval of free inodes expressed in either
+           G, M, or K for Gbytes, Mbytes, or Kbytes,
+           respectively. You cannot use GB, MB, or KB.
+                    

+

+ Here is an example: +

+     BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K"
+     BB_DISKMON_WARNINTERVAL = "50M,5K"
+                    

+ These variables cause the OpenEmbedded build system to + issue subsequent warnings each time the available + disk space further reduces by 50 Mbytes or the number + of free inodes further reduces by 5 Kbytes in the + ${SSTATE_DIR} directory. + Subsequent warnings based on the interval occur each time + a respective interval is reached beyond the intial warning + (i.e. 1 Gbytes and 100 Kbytes). +

BBCLASSEXTEND

+ Allows you to extend a recipe so that it builds variants of the software. + Common variants for recipes exist such as "natives" like quilt-native, + which is a copy of quilt built to run on the build system; + "crosses" such as gcc-cross, + which is a compiler built to run on the build machine but produces binaries + that run on the target MACHINE; + "nativesdk", which targets the SDK machine instead of MACHINE; + and "mulitlibs" in the form "multilib:<multilib_name>". +

+ To build a different variant of the recipe with a minimal amount of code, it usually + is as simple as adding the following to your recipe: +

+     BBCLASSEXTEND =+ "native nativesdk"
+     BBCLASSEXTEND =+ "multilib:<multilib_name>"
+                    

+

BBMASK

Prevents BitBake from processing recipes and recipe append files. + You can use the BBMASK variable to "hide" + these .bb and .bbappend files. + BitBake ignores any recipe or recipe append files that match the expression. + It is as if BitBake does not see them at all. + Consequently, matching files are not parsed or otherwise used by + BitBake.

The value you provide is passed to python's regular expression compiler. + For complete syntax information, see python's documentation at + http://docs.python.org/release/2.3/lib/re-syntax.html. + The expression is compared against the full paths to the files. + For example, the following uses a complete regular expression to tell + BitBake to ignore all recipe and recipe append files in the + .*/meta-ti/recipes-misc/ directory: +

+     BBMASK = ".*/meta-ti/recipes-misc/"
+                    

Use the BBMASK variable from within the + conf/local.conf file found + in the Build Directory.

BB_NUMBER_THREADS

The maximum number of tasks BitBake should run in parallel at any one time. + If your host development system supports multiple cores a good rule of thumb + is to set this variable to twice the number of cores.

BBFILE_COLLECTIONS

Lists the names of configured layers. + These names are used to find the other BBFILE_* + variables. + Typically, each layer will append its name to this variable in its + conf/layer.conf file. +

BBFILE_PATTERN

Variable that expands to match files from BBFILES in a particular layer. + This variable is used in the conf/layer.conf file and must + be suffixed with the name of the specific layer (e.g. + BBFILE_PATTERN_emenlow).

BBFILE_PRIORITY

Assigns the priority for recipe files in each layer.

This variable is useful in situations where the same recipe appears in + more than one layer. + Setting this variable allows you to prioritize a + layer against other layers that contain the same recipe - effectively + letting you control the precedence for the multiple layers. + The precedence established through this variable stands regardless of a + recipe's version (PV variable). + For example, a layer that has a recipe with a higher PV value but for + which the BBFILE_PRIORITY is set to have a lower precedence still has a + lower precedence.

A larger value for the BBFILE_PRIORITY variable results in a higher + precedence. + For example, the value 6 has a higher precedence than the value 5. + If not specified, the BBFILE_PRIORITY variable is set based on layer + dependencies (see the + LAYERDEPENDS variable for + more information. + The default priority, if unspecified + for a layer with no dependencies, is the lowest defined priority + 1 + (or 1 if no priorities are defined).

Tip

+ You can use the command bitbake-layers show_layers to list + all configured layers along with their priorities. +
BBFILES

List of recipe files used by BitBake to build software

BBPATH

Used by BitBake to locate .bbclass and configuration files. + This variable is analogous to the PATH variable.

BBINCLUDELOGS

Variable that controls how BitBake displays logs on build failure.

BBLAYERS

Lists the layers to enable during the build. + This variable is defined in the bblayers.conf configuration + file in the Build Directory. + Here is an example: +

+     BBLAYERS = " \
+       /home/scottrif/poky/meta \
+       /home/scottrif/poky/meta-yocto \
+       /home/scottrif/poky/meta-yocto-bsp \
+       /home/scottrif/poky/meta-mykernel \
+       "
+
+     BBLAYERS_NON_REMOVABLE ?= " \
+       /home/scottrif/poky/meta \
+       /home/scottrif/poky/meta-yocto \
+       "
+                    

+ This example enables four layers, one of which is a custom, user-defined layer + named meta-mykernel. +

BBLAYERS_NON_REMOVABLE

Lists core layers that cannot be removed from the + bblayers.conf file. + In order for BitBake to build your image, your + bblayers.conf file must include the + meta and meta-yocto + core layers. + Here is an example that shows these two layers listed in + the BBLAYERS_NON_REMOVABLE statement: +

+     BBLAYERS = " \
+       /home/scottrif/poky/meta \
+       /home/scottrif/poky/meta-yocto \
+       /home/scottrif/poky/meta-yocto-bsp \
+       /home/scottrif/poky/meta-mykernel \
+       "
+
+     BBLAYERS_NON_REMOVABLE ?= " \
+       /home/scottrif/poky/meta \
+       /home/scottrif/poky/meta-yocto \
+       "
+                    

+

BP

The base recipe name and version but without any special + recipe name suffix (i.e. -native, lib64-, + and so forth). + BP is comprised of the following: +

+     ${BPN}-${PV}
+                    
BPN

The bare name of the recipe. + This variable is a version of the PN variable + but removes common suffixes such as "-native" and "-cross" as well + as removes common prefixes such as multilib's "lib64-" and "lib32-". + The exact list of suffixes removed is specified by the + SPECIAL_PKGSUFFIX variable. + The exact list of prefixes removed is specified by the + MLPREFIX variable. + Prefixes are removed for multilib and nativesdk cases.

C

CFLAGS

+ Flags passed to C compiler for the target system. + This variable evaluates to the same as + TARGET_CFLAGS. +

COMBINED_FEATURES

A set of features common between + MACHINE_FEATURES + and DISTRO_FEATURES. + See the glossary descriptions for these variables for more information.

COMPATIBLE_MACHINE

A regular expression which evaluates to match the machines the recipe + works with. + It stops recipes being run on machines for which they are not compatible. + This is particularly useful with kernels. + It also helps to increase parsing speed as further parsing of the recipe is skipped + if it is found the current machine is not compatible.

CONFFILES

+ Identifies editable or configurable files that are part of a package. + If the Package Management System (PMS) is being used to update + packages on the target system, it is possible that + configuration files you have changed after the original installation + and that you now want to remain unchanged are overwritten. + In other words, editable files might exist in the package that you do not + want reset as part of the package update process. + You can use the CONFFILES variable to list the files in the + package that you wish to prevent the PMS from overwriting during this update process. +

+ To use the CONFFILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files. + Here is an example: +

+  CONFFILES_${PN} += "${sysconfdir}/file1 \
+     ${sysconfdir}/file2 ${sysconfdir}/file3"
+                    

+

+ A relationship exists between the CONFFILES and + FILES variables. + The files listed within CONFFILES must be a subset of + the files listed within FILES. + Because the configuration files you provide with CONFFILES + are simply being identified so that the PMS will not overwrite them, + it makes sense that + the files must already be included as part of the package through the + FILES variable. +

Note

+ When specifying paths as part of the CONFFILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. +
CONFIG_SITE

+ A list of files that contains autoconf test results relevant + to the current build. + This variable is used by the Autotools utilities when running + configure. +

CORE_IMAGE_EXTRA_INSTALL

+ Specifies the list of packages to be added to the image. + This variable should only be set in the local.conf + configuration file found in the + Build Directory. +

+ This variable replaces POKY_EXTRA_INSTALL, which is no longer supported. +

D

D

The destination directory.

DEBUG_BUILD

+ Specifies to build packages with debugging information. + This influences the value of the + SELECTED_OPTIMIZATION + variable. +

DEBUG_OPTIMIZATION

+ The options to pass in + TARGET_CFLAGS + and CFLAGS when compiling + a system for debugging. + This variable defaults to "-O -fno-omit-frame-pointer -g". +

DEFAULT_PREFERENCE

Specifies the priority of recipes.

DEPENDS

+ Lists a recipe's build-time dependencies + (i.e. other recipe files). + The system ensures that all the dependencies listed + have been built and have their contents in the appropriate + sysroots before the recipe's configure task is executed. +

DESCRIPTION

The package description used by package managers. + If not set, DESCRIPTION takes + the value of the + SUMMARY + variable. +

DESTDIR

the destination directory.

DISTRO

+ The short name of the distribution. + This variable corresponds to a file with the + extension .conf + located in a conf/distro directory + within the metadata that contains the distribution configuration. + The + value must not contain spaces, and is typically all lower-case. +

+ If the variable is blank, a set of default configuration + will be used, which is specified + within meta/conf/distro/defaultsetup.conf. +

DISTRO_EXTRA_RDEPENDS

+ Specifies a list of distro-specific packages to add to all images. + This variable takes affect through + packagegroup-base so the + variable only really applies to the more full-featured + images that include packagegroup-base. + You can use this variable to keep distro policy out of + generic images. + As with all other distro variables, you set this variable + in the distro .conf file. +

DISTRO_EXTRA_RRECOMMENDS

+ Specifies a list of distro-specific packages to add to all images + if the packages exist. + The packages might not exist or be empty (e.g. kernel modules). + The list of packages are automatically installed but can be + removed by the user. +

DISTRO_FEATURES

The features enabled for the distribution. + For a list of features supported by the Yocto Project as shipped, + see the "Distro" + section. +

DISTRO_FEATURES_BACKFILL

Features to be added to + DISTRO_FEATURES + if not also present in + DISTRO_FEATURES_BACKFILL_CONSIDERED. +

+ This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which distro features are + being backfilled for all distro configurations. + See the Feature backfilling section for + more information. +

DISTRO_FEATURES_BACKFILL_CONSIDERED

Features from + DISTRO_FEATURES_BACKFILL + that should not backfilled (i.e. added to + DISTRO_FEATURES) + during the build. + See the "Feature Backfilling" section for + more information. +

DISTRO_NAME

The long name of the distribution.

DISTRO_PN_ALIAS

Alias names used for the recipe in various Linux distributions.

See the + "Handling + a Package Name Alias" section in the Yocto Project Development + Manual for more information.

DISTRO_VERSION

the version of the distribution.

DL_DIR

+ The central download directory used by the build process to store downloads. + You can set this directory by defining the DL_DIR + variable in the /conf/local.conf file. + This directory is self-maintaining and you should not have + to touch it. + By default, the directory is downloads in the + Build Directory. +

+     #DL_DIR ?= "${TOPDIR}/downloads"
+                    

+ To specify a different download directory, simply uncomment the line + and provide your directory. +

+ During a first build, the system downloads many different source code + tarballs from various upstream projects. + Downloading can take a while, particularly if your network + connection is slow. + Tarballs are all stored in the directory defined by + DL_DIR and the build system looks there first + to find source tarballs. +

Note

+ When wiping and rebuilding, you can preserve this directory to speed + up this part of subsequent builds. +

+

+ You can safely share this directory between multiple builds on the + same development machine. + For additional information on how the build process gets source files + when working behind a firewall or proxy server, see the + "FAQ" + chapter. +

E

ENABLE_BINARY_LOCALE_GENERATION

Variable that controls which locales for eglibc are + to be generated during the build (useful if the target device has 64Mbytes + of RAM or less).

EXTENDPE

+ Used with file and pathnames to create a prefix for a recipe's + version based on the recipe's + PE value. + If PE is set and greater than zero for a recipe, + EXTENDPE becomes that value (e.g if + PE is equal to "1" then EXTENDPE + becomes "1_"). + If a recipe's PE is not set (the default) or is equal to + zero, EXTENDPE becomes "".

See the STAMP + variable for an example. +

EXTRA_IMAGE_FEATURES

Allows extra packages to be added to the generated images. + You set this variable in the local.conf + configuration file. + Note that some image features are also added using the + IMAGE_FEATURES + variable generally configured in image recipes. + You can use this variable to add more features in addition to those. + Here are some examples of features you can add:

+"dbg-pkgs" - Adds -dbg packages for all installed packages
+             including symbol information for debugging and
+             profiling.
+
+"dev-pkgs" - Adds -dev packages for all installed packages.
+             This is useful if you want to develop against
+             the libraries in the image.
+
+"tools-sdk" - Adds development tools such as gcc, make,
+              pkgconfig and so forth.
+
+"tools-debug" - Adds debugging tools such as gdb and
+                strace.
+
+"tools-profile" - Adds profiling tools such as oprofile,
+                  exmap, lttng and valgrind (x86 only).
+
+"tools-testapps" - Adds useful testing tools such as
+                   ts_print, aplay, arecord and so
+                   forth.
+
+"debug-tweaks" - Makes an image suitable for development.
+                 For example, ssh root access has a blank
+                 password.  You should remove this feature
+                 before you produce a production image.
+                    

There are other valid features too, see the + Images + section for more details.

EXTRA_IMAGEDEPENDS

A list of recipes to be built that do not provide packages to be installed in + the root filesystem. +

Sometimes a recipe is required to build the final image but is not + needed in the root filesystem. + You can use the EXTRA_IMAGEDEPENDS variable to + list these recipes and thus, specify the dependencies. + A typical example is a required bootloader in a machine configuration. +

Note

+ To add packages to the root filesystem, see the various + *DEPENDS and *RECOMMENDS + variables. +
EXTRA_OECMAKE

Additional cmake options.

EXTRA_OECONF

Additional configure script options.

EXTRA_OEMAKE

Additional GNU make options.

F

FILES

+ The list of directories or files that are placed in packages. +

+ To use the FILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files or paths that identifies the + files you want included as part of the resulting package. + Here is an example: +

+  FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile"
+                    

+

Note

+ When specifying paths as part of the FILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. +

+ If some of the files you provide with the FILES variable + are editable and you know they should not be + overwritten during the package update process by the Package Management + System (PMS), you can identify these files so that the PMS will not + overwrite them. + See the CONFFILES + variable for information on how to identify these files to the PMS. +

FILESEXTRAPATHS

+ Extends the search path the OpenEmbedded build system uses when + looking for files and patches as it processes recipes. + The directories BitBake uses when it processes recipes is defined by the + FILESPATH variable. + You can add directories to the search path by defining the + FILESEXTRAPATHS variable. +

+ To add paths to the search order, provide a list of directories and separate + each path using a colon character as follows: +

+     FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:"
+                    

+ Typically, you want your directories searched first. + To make sure that happens, use _prepend and + the immediate expansion (:=) operator as shown in the + previous example. + Finally, to maintain the integrity of the FILESPATH variable, + you must include the appropriate beginning or ending (as needed) colon character. +

+ The FILESEXTRAPATHS variable is intended for use in + .bbappend files to include any additional files provided in that layer. + You typically accomplish this with the following: +

+     FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+                    

+

FILESPATH

+ The default set of directories the OpenEmbedded build system uses + when searching for patches and files. + During the build process, BitBake searches each directory in + FILESPATH in the specified order when looking for + files and patches specified by each file:// URI in a recipe. +

+ The default value for the FILESPATH variable is defined + in the base.bbclass class found in + meta/classes in the + Source Directory: +

+FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", \
+   "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", \
+   "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", \
+   "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}"
+                    

+ Do not hand-edit the FILESPATH variable. + If you want to extend the set of pathnames that BitBake uses when searching for + files and patches, use the + FILESEXTRAPATHS variable. +

FILESYSTEM_PERMS_TABLES

Allows you to define your own file permissions settings table as part of + your configuration for the packaging process. + For example, suppose you need a consistent set of custom permissions for + a set of groups and users across an entire work project. + It is best to do this in the packages themselves but this is not always + possible. +

+ By default, the OpenEmbedded build system uses the fs-perms.txt, which + is located in the meta/files folder in the + Source Directory. + If you create your own file permissions setting table, you should place it in your + layer or the distros layer. +

+ You define the FILESYSTEM_PERMS_TABLES variable in the + conf/local.conf file, which is found in the + Build Directory, to + point to your custom fs-perms.txt. + You can specify more than a single file permissions setting table. + The paths you specify to these files must be defined within the + BBPATH variable. +

+ For guidance on how to create your own file permissions settings table file, + examine the existing fs-perms.txt. +

FULL_OPTIMIZATION

+ The options to pass in + TARGET_CFLAGS + and CFLAGS + when compiling an optimized system. + This variable defaults to + "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2". +

H

HOMEPAGE

Website where more information about the software the recipe is building + can be found.

I

IMAGE_FEATURES

The list of features to include in an image. + Typically, you configure this variable in an image recipe. + Note that you can also add extra features to the image by using the + EXTRA_IMAGE_FEATURES variable. + See the "Images" section for the + full list of features that can be included in images built by the + OpenEmbedded build system.

IMAGE_FSTYPES

Formats of root filesystem images that you want to have created.

IMAGE_INSTALL

+ Specifies the packages to install into an image. + The IMAGE_INSTALL variable is a mechanism for an image + recipe and you should use it with care to avoid ordering issues. +

+ Image recipes set IMAGE_INSTALL to specify the + packages to install into an image through image.bbclass. + Additionally, "helper" classes exist, such as core-image.bbclass, + that can take + IMAGE_FEATURES lists + and turn these into auto-generated entries in + IMAGE_INSTALL in addition to its default contents. +

+ Using IMAGE_INSTALL with the += + operator from the /conf/local.conf file or from within + an image recipe is not recommended as it can cause ordering issues. + Since core-image.bbclass sets IMAGE_INSTALL + to a default value using the ?= operator, using a + += operation against IMAGE_INSTALL + will result in unexpected behavior when used in + /conf/local.conf. + Furthermore, the same operation from with an image recipe may or may not + succeed depending on the specific situation. + In both these cases, the behavior is contrary to how most users expect + the += operator to work. +

+ When you use this variable, it is best to use it as follows: +

+     IMAGE_INSTALL_append = " package-name"
+                    

+ Be sure to include the space between the quotation character and the start of the + package name. +

IMAGE_OVERHEAD_FACTOR

+ Defines a multiplier that the build system applies to the initial image + size for cases when the multiplier times the returned disk usage value + for the image is greater than the sum of + IMAGE_ROOTFS_SIZE + and + IMAGE_ROOTFS_EXTRA_SPACE. + The result of the multiplier applied to the initial image size creates + free disk space in the image as overhead. + By default, the build process uses a multiplier of 1.3 for this variable. + This default value results in 30% free disk space added to the image when this + method is used to determine the final generated image size. + You should be aware that post install scripts and the package management + system uses disk space inside this overhead area. + Consequently, the multiplier does not produce an image with + all the theoretical free disk space. + See IMAGE_ROOTFS_SIZE + for information on how the build system determines the overall image size. +

+ The default 30% free disk space typically gives the image enough room to boot + and allows for basic post installs while still leaving a small amount of + free disk space. + If 30% free space is inadequate, you can increase the default value. + For example, the following setting gives you 50% free space added to the image: +

+     IMAGE_OVERHEAD_FACTOR = "1.5"
+                    

+

+ Alternatively, you can ensure a specific amount of free disk space is added + to the image by using + IMAGE_ROOTFS_EXTRA_SPACE + the variable. +

IMAGE_ROOTFS_EXTRA_SPACE

+ Defines additional free disk space created in the image in Kbytes. + By default, this variable is set to "0". + This free disk space is added to the image after the build system determines + the image size as described in + IMAGE_ROOTFS_SIZE. +

+ This variable is particularly useful when you want to ensure that a + specific amount of free disk space is available on a device after an image + is installed and running. + For example, to be sure 5 Gbytes of free disk space is available, set the + variable as follows: +

+     IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
+                    

+

IMAGE_ROOTFS_SIZE

+ Defines the size in Kbytes for the generated image. + The OpenEmbedded build system determines the final size for the generated + image using an algorithm that takes into account the initial disk space used + for the generated image, a requested size for the image, and requested + additional free disk space to be added to the image. + Programatically, the build system determines the final size of the + generated image as follows: +

+    if (image-du * overhead) < rootfs-size:
+	internal-rootfs-size = rootfs-size + xspace
+    else:
+	internal-rootfs-size = (image-du * overhead) + xspace
+
+    where:
+
+      image-du = Returned value of the du command on
+                 the image.
+
+      overhead = IMAGE_OVERHEAD_FACTOR
+
+      rootfs-size = IMAGE_ROOTFS_SIZE
+
+      internal-rootfs-size = Initial root filesystem
+                             size before any modifications.
+
+      xspace = IMAGE_ROOTFS_EXTRA_SPACE
+                    

+ +

INC_PR

Helps define the recipe revision for recipes that share + a common include file. + You can think of this variable as part of the recipe revision + as set from within an include file.

Suppose, for example, you have a set of recipes that + are used across several projects. + And, within each of those recipes the revision + (its PR value) is set accordingly. + In this case, when the revision of those recipes changes + the burden is on you to find all those recipes and + be sure that they get changed to reflect the updated + version of the recipe. + In this scenario, it can get complicated when recipes + used in many places and that provide common functionality + are upgraded to a new revision.

A more efficient way of dealing with this situation is + to set the INC_PR variable inside + the include files that the recipes + share and then expand the INC_PR + variable within the recipes to help + define the recipe revision. +

+ The following provides an example that shows how to use + the INC_PR variable + given a common include file that + defines the variable. + Once the variable is defined in the + include file, you can use the + variable to set the PR values in + each recipe. + You will notice that when you set a recipe's + PR you can provide more granular + revisioning by appending values to the + INC_PR variable: +

+recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
+recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
+recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
+recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
+                    

+ The first line of the example establishes the baseline + revision to be used for all recipes that use the + include file. + The remaining lines in the example are from individual + recipes and show how the PR value + is set.

INHIBIT_PACKAGE_STRIP

+ Causes the build to not strip binaries in resulting packages. +

INHERIT

+ Causes the named class to be inherited at + this point during parsing. + The variable is only valid in configuration files. +

INITSCRIPT_PACKAGES

+ A list of the packages that contain initscripts. + If multiple packages are specified, you need to append the package name + to the other INITSCRIPT_* as an override.

+ This variable is used in recipes when using update-rc.d.bbclass. + The variable is optional and defaults to the PN variable. +

INITSCRIPT_NAME

+ The filename of the initscript (as installed to ${etcdir}/init.d). +

+ This variable is used in recipes when using update-rc.d.bbclass. + The variable is Mandatory. +

INITSCRIPT_PARAMS

+ Specifies the options to pass to update-rc.d. + An example is start 99 5 2 . stop 20 0 1 6 ., which gives the script a + runlevel of 99, starts the script in initlevels 2 and 5, and + stops the script in levels 0, 1 and 6. +

+ The variable is mandatory and is used in recipes when using + update-rc.d.bbclass. +

K

KBRANCH

+ A regular expression used by the build process to explicitly identify the kernel + branch that is validated, patched and configured during a build. + The KBRANCH variable is optional. + You can use it to trigger checks to ensure the exact kernel branch you want is + being used by the build process. +

+ Values for this variable are set in the kernel's recipe file and the kernel's + append file. + For example, if you are using the Yocto Project kernel that is based on the + Linux 3.4 kernel, the kernel recipe file is the + meta/recipes-kernel/linux/linux-yocto_3.4.bb file. + Following is the default value for KBRANCH and the default + override for the architectures the Yocto Project supports: +

+     KBRANCH_DEFAULT = "standard/base"
+     KBRANCH = "${KBRANCH_DEFAULT}"
+                    

+ This branch exists in the linux-yocto-3.4 kernel Git + repository http://git.yoctoproject.org/cgit.cgi/linux-yocto-3.4/refs/heads. +

+ This variable is also used from the kernel's append file to identify the kernel + branch specific to a particular 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 + meta-intel Git repository and is named + meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend. + Here are the related statements from the append file: +

+     COMPATIBLE_MACHINE_crownbay = "crownbay"
+     KMACHINE_crownbay  = "crownbay"
+     KBRANCH_crownbay  = "standard/crownbay"
+
+     COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
+     KMACHINE_crownbay-noemgd  = "crownbay"
+     KBRANCH_crownbay-noemgd  = "standard/crownbay"
+                    

+ The KBRANCH_* statements identify the kernel branch to + use when building for the Crown Bay BSP. + In this case there are two identical statements: one for each type of + Crown Bay machine. +

KERNEL_FEATURES

Includes additional metadata from the Yocto Project kernel Git repository. + In the OpenEmbedded build system, the default Board Support Packages (BSPs) + metadata is provided through + the KMACHINE and KBRANCH variables. + You can use the KERNEL_FEATURES variable to further + add metadata for all BSPs.

The metadata you add through this variable includes config fragments and + features descriptions, + which usually includes patches as well as config fragments. + You typically override the KERNEL_FEATURES variable + for a specific machine. + In this way, you can provide validated, but optional, sets of kernel + configurations and features.

For example, the following adds netfilter to all + the Yocto Project kernels and adds sound support to the qemux86 + machine: +

+     # Add netfilter to all linux-yocto kernels
+     KERNEL_FEATURES="features/netfilter"
+
+     # Add sound support to the qemux86 machine
+     KERNEL_FEATURES_append_qemux86=" cfg/sound"
+                    
KERNEL_IMAGETYPE

The type of kernel to build for a device, usually set by the + machine configuration files and defaults to "zImage". + This variable is used + when building the kernel and is passed to make as the target to + build.

KMACHINE

+ The machine as known by the kernel. + Sometimes the machine name used by the kernel does not match the machine name + used by the OpenEmbedded build system. + For example, the machine name that the OpenEmbedded build system understands as + qemuarm goes by a different name in the Linux Yocto kernel. + The kernel understands that machine as arm_versatile926ejs. + For cases like these, the KMACHINE variable maps the + kernel machine name to the OpenEmbedded build system machine name. +

+ Kernel machine names are initially defined in the + Yocto Linux Kernel in + the meta branch. + From the meta branch, look in + the meta/cfg/kernel-cache/bsp/<bsp_name>/<bsp-name>-<kernel-type>.scc file. + For example, from the meta branch in the + linux-yocto-3.0 kernel, the + meta/cfg/kernel-cache/bsp/cedartrail/cedartrail-standard.scc file + has the following: +

+     define KMACHINE cedartrail
+     define KTYPE standard
+     define KARCH i386
+
+     include ktypes/standard
+     branch cedartrail
+
+     include cedartrail.scc
+                    

+ You can see that the kernel understands the machine name for the Cedar Trail BSP as + cedartrail. +

+ If you look in the Cedar Trail BSP layer in the meta-intel source + repository at meta-cedartrail/recipes-kernel/linux/linux-yocto_3.0.bbappend, + you will find the following statements among others: +

+     COMPATIBLE_MACHINE_cedartrail = "cedartrail"
+     KMACHINE_cedartrail  = "cedartrail"
+     KBRANCH_cedartrail  = "yocto/standard/cedartrail"
+     KERNEL_FEATURES_append_cedartrail += "bsp/cedartrail/cedartrail-pvr-merge.scc"
+     KERNEL_FEATURES_append_cedartrail += "cfg/efi-ext.scc"
+
+     COMPATIBLE_MACHINE_cedartrail-nopvr = "cedartrail"
+     KMACHINE_cedartrail-nopvr  = "cedartrail"
+     KBRANCH_cedartrail-nopvr  = "yocto/standard/cedartrail"
+     KERNEL_FEATURES_append_cedartrail-nopvr += " cfg/smp.scc"
+                    

+ The KMACHINE statements in the kernel's append file make sure that + the OpenEmbedded build system and the Yocto Linux kernel understand the same machine + names. +

+ This append file uses two KMACHINE statements. + The first is not really necessary but does ensure that the machine known to the + OpenEmbedded build system as cedartrail maps to the machine + in the kernel also known as cedartrail: +

+     KMACHINE_cedartrail  = "cedartrail"
+                    

+

+ The second statement is a good example of why the KMACHINE variable + is needed. + In this example, the OpenEmbedded build system uses the cedartrail-nopvr + machine name to refer to the Cedar Trail BSP that does not support the propriatory + PowerVR driver. + The kernel, however, uses the machine name cedartrail. + Thus, the append file must map the cedartrail-nopvr machine name to + the kernel's cedartrail name: +

+     KMACHINE_cedartrail-nopvr  = "cedartrail"
+                    

+

+ BSPs that ship with the Yocto Project release provide all mappings between the Yocto + Project kernel machine names and the OpenEmbedded machine names. + Be sure to use the KMACHINE if you create a BSP and the machine + name you use is different than that used in the kernel. +

L

LAYERDEPENDS

Lists the layers that this recipe depends upon, separated by spaces. + Optionally, you can specify a specific layer version for a dependency + by adding it to the end of the layer name with a colon, (e.g. "anotherlayer:3" + to be compared against LAYERVERSION_anotherlayer in this case). + An error will be produced if any dependency is missing or + the version numbers do not match exactly (if specified). + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERDEPENDS_mylayer).

LAYERDIR

When used inside the layer.conf configuration + file, this variable provides the path of the current layer. + This variable requires immediate expansion + (see the BitBake manual) as lazy expansion can result in + the expansion happening in the wrong directory and therefore + giving the wrong value.

LAYERVERSION

Optionally specifies the version of a layer as a single number. + You can use this within LAYERDEPENDS for another layer in order to + depend on a specific version of the layer. + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERVERSION_mylayer).

LIC_FILES_CHKSUM

Checksums of the license text in the recipe source code.

This variable tracks changes in license text of the source + code files. + If the license text is changed, it will trigger a build + failure, which gives the developer an opportunity to review any + license change.

+ This variable must be defined for all recipes (unless LICENSE + is set to "CLOSED")

For more information, see the + + Tracking License Changes section

LICENSE

+ The list of source licenses for the recipe. + Follow these rules: +

  • Do not use spaces within individual + license names.

  • Separate license names using + | (pipe) when there is a choice between licenses. +

  • Separate license names using + & (ampersand) when multiple licenses exist + that cover different parts of the source. +

  • You can use spaces between license + names.

+

+ Here are some examples: +

+     LICENSE = "LGPLv2.1 | GPLv3"
+     LICENSE = "MPL-1 & LGPLv2.1"
+     LICENSE = "GPLv2+"
+                    

+ The first example is from the recipes for Qt, which the user + may choose to distribute under either the LGPL version + 2.1 or GPL version 3. + The second example is from Cairo where two licenses cover + different parts of the source code. + The final example is from sysstat, + which presents a single license. +

LICENSE_PATH

Path to additional licenses used during the build. + By default, the OpenEmbedded build system uses COMMON_LICENSE_DIR + to define the directory that holds common license text used during the build. + The LICENSE_PATH variable allows you to extend that + location to other areas that have additional licenses: +

+  LICENSE_PATH += "/path/to/additional/common/licenses"
+                    

M

MACHINE

+ Specifies the target device for which the image is built. + You define MACHINE in the + local.conf file found in the + Build Directory. + By default, MACHINE is set to + "qemux86", which is an x86-based architecture machine to + be emulated using QEMU: +

+     MACHINE ?= "qemux86"
+                    

+ The variable corresponds to a machine configuration file of the + same name, through which machine-specific configurations are set. + Thus, when MACHINE is set to "qemux86" there + exists the corresponding qemux86.conf machine + configuration file, which can be found in the + Source Directory + in meta/conf/machine. +

+ The list of machines supported by the Yocto Project as + shipped include the following: +

+     MACHINE ?= "qemuarm"
+     MACHINE ?= "qemumips"
+     MACHINE ?= "qemuppc"
+     MACHINE ?= "qemux86"
+     MACHINE ?= "qemux86-64"
+     MACHINE ?= "atom-pc"
+     MACHINE ?= "beagleboard"
+     MACHINE ?= "mpc8315e-rdb"
+     MACHINE ?= "routerstationpro"
+                    

+ The last four are Yocto Project reference hardware boards, which + are provided in the meta-yocto-bsp layer. +

Note

Adding additional Board Support Package (BSP) layers + to your configuration adds new possible settings for + MACHINE. +

+

MACHINE_ESSENTIAL_EXTRA_RDEPENDS

+ A list of required machine-specific packages to install as part of + the image being built. + The build process depends on these packages being present. + Furthermore, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. +

+ This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. +

+ As an example, suppose the machine for which you are building requires + example-init to be run during boot to initialize the hardware. + In this case, you would use the following in the machine's + .conf configuration file: +

+     MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init"
+                    

+

MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS

+ A list of recommended machine-specific packages to install as part of + the image being built. + The build process does not depend on these packages being present. + However, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. +

+ This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will still build if a package in this list is not found. + Typically, this variable is used to handle essential kernel modules, whose + functionality may be selected to be built into the kernel rather than as a module, + in which case a package will not be produced. +

+ Consider an example where you have a custom kernel where a specific touchscreen + driver is required for the machine to be usable. + However, the driver can be built as a module or + into the kernel depending on the kernel configuration. + If the driver is built as a module, you want it to be installed. + But, when the driver is built into the kernel, you still want the + build to succeed. + This variable sets up a "recommends" relationship so that in the latter case, + the build will not fail due to the missing package. + To accomplish this, assuming the package for the module was called + kernel-module-ab123, you would use the + following in the machine's .conf configuration + file: +

+     MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123"
+                    

+

+ Some examples of these machine essentials are flash, screen, keyboard, mouse, + or touchscreen drivers (depending on the machine). +

MACHINE_EXTRA_RDEPENDS

+ A list of machine-specific packages to install as part of the + image being built that are not essential for the machine to boot. + However, the build process for more fully-featured images + depends on the packages being present. +

+ This variable affects all images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. +

+ The variable is similar to the + MACHINE_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. +

+ An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + the WiFi. + The package containing the firmware for the WiFi hardware is always + expected to exist, so it is acceptable for the build process to depend upon + finding the package. + In this case, assuming the package for the firmware was called + wifidriver-firmware, you would use the following in the + .conf file for the machine: +

+     MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware"
+                    

+

MACHINE_EXTRA_RRECOMMENDS

+ A list of machine-specific packages to install as part of the + image being built that are not essential for booting the machine. + The image being built has no build dependency on this list of packages. +

+ This variable affects only images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. +

+ This variable is similar to the + MACHINE_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will build if a file in this list is not found. +

+ An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + WiFi. + In this case, the package containing the WiFi kernel module will not be produced + if the WiFi driver is built into the kernel, in which case you still want the + build to succeed instead of failing as a result of the package not being found. + To accomplish this, assuming the package for the module was called + kernel-module-examplewifi, you would use the + following in the .conf file for the machine: +

+     MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi"
+                    

+

MACHINE_FEATURES

Specifies the list of hardware features the + MACHINE supports. + For example, including the "bluetooth" feature causes the + bluez bluetooth daemon to be built and + added to the image. + It also causes the connman recipe + to look at MACHINE_FEATURES and when it + finds "bluetooth" there it enables the bluetooth + support in ConnMan. +

+ For a list of features supported by the Yocto Project as shipped, + see the "Machine" section. +

MACHINE_FEATURES_BACKFILL

Features to be added to + MACHINE_FEATURES + if not also present in + MACHINE_FEATURES_BACKFILL_CONSIDERED. +

+ This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which machine features are + being backfilled for all machine configurations. + See the Feature backfilling section for + more information. +

MACHINE_FEATURES_BACKFILL_CONSIDERED

Features from + MACHINE_FEATURES_BACKFILL + that should not be backfilled (i.e. added to + MACHINE_FEATURES) + during the build. + See the Feature backfilling section for + more information. +

MAINTAINER

The email address of the distribution maintainer.

MLPREFIX

+ Specifies a prefix has been added to + PN to create a special version + of a recipe or package, such as a multilib version. + The variable is used in places where the prefix needs to be + added to or removed from a the name (e.g. the + BPN variable). + MLPREFIX gets set when a prefix has been + added to PN. +

MULTIMACH_TARGET_SYS

+ Separates files for different machines such that you can build + for multiple target machines using the same output directories. + See the STAMP variable + for an example. +

O

OE_TERMINAL

+ Controls how the OpenEmbedded build system spawns + interactive terminals on the host development system + (e.g. using the BitBake command with the + -c devshell command-line option). + For more information, see the + "Using a Development Shell" section + in the Yocto Project Development Manual. +

+ You can use the following values for the + OE_TERMINAL variable: +

+     auto
+     gnome
+     xfce
+     rxvt
+     screen
+     konsole
+     none
+                    

+

Note

Konsole support only works for KDE 3.x. + Also, "auto" is the default behavior for + OE_TERMINAL

+

P

P

The recipe name and version. + P is comprised of the following: +

+     ${PN}-${PV}
+                    
PACKAGE_ARCH

The architecture of the resulting package or packages.

PACKAGE_BEFORE_PN

Enables easily adding packages to + PACKAGES + before ${PN} so that the packages can pick + up files that would normally be included in the default package.

PACKAGE_CLASSES

This variable, which is set in the local.conf configuration + file found in the conf folder of the + Source Directory, + specifies the package manager to use when packaging data. + You can provide one or more arguments for the variable with the first + argument being the package manager used to create images: +

+     PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+                    

+ For information on build performance effects as a result of the + package manager use, see + Packaging - package*.bbclass + in this manual. +

PACKAGE_EXTRA_ARCHS

Specifies the list of architectures compatible with the device CPU. + This variable is useful when you build for several different devices that use + miscellaneous processors such as XScale and ARM926-EJS).

PACKAGECONFIG

+ This variable provides a means of enabling or disabling + features of a recipe on a per-recipe basis. + The PACKAGECONFIG + variable itself specifies a space-separated list of the + features to enable. + The features themselves are specified as flags on the + PACKAGECONFIG variable. + You can provide up to four arguments, which are separated by + commas, to determine the behavior of each feature + when it is enabled or disabled. + You can omit any argument you like but must retain the + separating commas. + The arguments specify the following: +

  1. Extra arguments + that should be added to the configure script argument list + (EXTRA_OECONF) + if the feature is enabled.

  2. Extra arguments + that should be added to EXTRA_OECONF + if the feature is disabled. +

  3. Additional build dependencies + (DEPENDS) + that should be added if the feature is enabled. +

  4. Additional runtime dependencies + (RDEPENDS) + that should be added if the feature is enabled. +

+

+ Consider the following example taken from the + librsvg recipe. + In this example the feature is croco, which + has three arguments that determine the feature's behavior. +

+     PACKAGECONFIG ??= "croco"
+     PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco"
+                        

+ The --with-croco and + libcroco arguments apply only if + the feature is enabled. + In this case, --with-croco is + added to the configure script argument list and + libcroco is added to + DEPENDS. + On the other hand, if the feature is disabled say through + a .bbappend file in another layer, then + the second argument --without-croco is + added to the configure script rather than + --with-croco. +

PACKAGES

The list of packages to be created from the recipe. + The default value is the following: +

+     ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
+                    
PACKAGES_DYNAMIC

+ A promise that your recipe satisfies runtime dependencies + for optional modules that are found in other recipes. + PACKAGES_DYNAMIC + does not actually satisfy the dependencies, it only states that + they should be satisfied. + For example, if a hard, runtime dependency + (RDEPENDS) of another package is satisfied + at build time through the PACKAGES_DYNAMIC + variable, but a package with the module name is never actually + produced, then the other package will be broken. + Thus, if you attempt to include that package in an image, + you will get a dependency failure from the packaging system + during do_rootfs. + Typically, if there is a chance that such a situation can + occur and the package that is not created is valid + without the dependency being satisfied, then you should use + RRECOMMENDS (a soft runtime dependency) + instead of RDEPENDS. +

+ For an example of how to use the PACKAGES_DYNAMIC + variable when you are splitting packages, see the + "Handling Optional Module Packaging" section + in the Yocto Project Development Manual. +

PARALLEL_MAKE

Specifies extra options that are passed to the make command during the + compile tasks. + This variable is usually in the form -j 4, where the number + represents the maximum number of parallel threads make can run. + If you development host supports multiple cores a good rule of thumb is to set + this variable to twice the number of cores on the host.

PF

Specifies the recipe or package name and includes all version and revision + numbers (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/). + This variable is comprised of the following: +

+     ${PN}-${EXTENDPE}${PV}-${PR}
+                    
PN

This variable can have two separate functions depending on the context: a recipe + name or a resulting package name.

PN refers to a recipe name in the context of a file used + by the OpenEmbedded build system as input to create a package. + The name is normally extracted from the recipe file name. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PN + will be "expat".

+ The variable refers to a package name in the context of a file created or produced by the + OpenEmbedded build system.

If applicable, the PN variable also contains any special + suffix or prefix. + For example, using bash to build packages for the native + machine, PN is bash-native. + Using bash to build packages for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. +

PR

The revision of the recipe. + The default value for this variable is "r0". +

PRINC

Causes the PR variable of + .bbappend files to dynamically increment. + This increment minimizes the impact of layer ordering.

In order to ensure multiple .bbappend files can co-exist, + PRINC should be self referencing. + This variable defaults to 0.

Following is an example that increments PR by two: +

+     PRINC := "${@int(PRINC) + 2}"
+                    

+ It is adviseable not to use strings such as ".= '.1'" with the variable because + this usage is very sensitive to layer ordering. + Explicit assignments should be avoided as they cannot adequately represent multiple + .bbappend files.

PV

The version of the recipe. + The version is normally extracted from the recipe filename. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PV + will be "2.0.1". + PV is generally not overridden within + a recipe unless it is building an unstable (i.e. development) version from a source code repository + (e.g. Git or Subversion). +

PE

+ the epoch of the recipe. + The default value is "0". + The field is used to make upgrades possible when the versioning scheme changes in + some backwards incompatible way. +

PREFERRED_PROVIDER

+ If multiple recipes provide an item, this variable + determines which recipe should be given preference. + The variable must always be suffixed with the name of the + provided item, and should be set to the + PN of the recipe + to which you want to give precedence. + Here is an example: +

+     PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86"
+                    

+

PREFERRED_VERSION

+ If there are multiple versions of recipes available, this + variable determines which recipe should be given preference. + The variable must always be suffixed with the PN + for which to select, and should be set to the + PV to which you want to give precedence. + You can use the "%" character as a wildcard + to match any number of characters, which can be useful when + specifying versions that contain long revision number that could + potentially change. + Here are two examples: +

+     PREFERRED_VERSION_python = "2.6.6"
+     PREFERRED_VERSION_linux-yocto = "3.0+git%"
+                    

+

R

RCONFLICTS

The list of packages that conflict with a package. + Note that the package will not be installed if the conflicting packages are not + first removed.

+ Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: +

+     RCONFLICTS_${PN} = "another-conflicting-package-name"
+                   

+

RDEPENDS

+ Lists a package's run-time dependencies (i.e. other packages) + that must be installed for the package to be built. + In other words, in order for the package to be built and + run correctly, it depends on the listed packages. + If a package in this list cannot be found, it is probable + that a dependency error would occur before the build. +

+ The names of the variables you list with + RDEPENDS must be the names of other + packages as listed in the + PACKAGES + variable. + You should not list recipe names (PN). +

+ Because the RDEPENDS variable applies + to packages being built, you should + always attach a package name to the variable to specify the + particular run-time package that has the dependency. + For example, suppose you are building a development package + that depends on the perl package. + In this case, you would use the following + RDEPENDS statement: +

+     RDEPENDS_${PN}-dev += "perl"
+                    

+ In the example, the package name + (${PN}-dev) must appear as it would + in the + PACKAGES + namespace before any renaming of the output package by + classes like debian.bbclass. +

+ In many cases you do not need to explicitly add dependencies + to RDEPENDS since some automatic + handling occurs: +

  • shlibdeps: If + a run-time package contains a shared library + (.so), the build + processes the library in order to determine other + libraries to which it is dynamically linked. + The build process adds these libraries to + RDEPENDS when creating the run-time + package.

  • pcdeps: If + the package ships a pkg-config + information file, the build process uses this file + to add items to the RDEPENDS + variable to create the run-time packages. +

+

RRECOMMENDS

+ A list of packages that extend the usability of a package being + built. + The package being built does not depend on this list of packages in + order to successfully build, but needs them for the extended usability. + To specify runtime dependencies for packages, see the + RDEPENDS variable. +

+ The OpenEmbedded build process automatically installs the list of packages + as part of the built package. + However, you can remove them later if you want. + If, during the build, a package from the list cannot be found, the build + process continues without an error. +

+ Because the RRECOMMENDS variable applies to packages + being built, you should + always attach an override to the variable to specify the particular package + whose usability is being extended. + For example, suppose you are building a development package that is extended + to support wireless functionality. + In this case, you would use the following: +

+     RRECOMMENDS_${PN}-dev += "<wireless_package_name>"
+                    

+ In the example, the package name (${PN}-dev) must + appear as it would in the + PACKAGES namespace before any + renaming of the output package by classes like debian.bbclass. +

RREPLACES

The list of packages that are replaced with this package.

S

S

+ The location in the Build Directory + where unpacked package source code resides. + This location is within the working directory + (WORKDIR), which + is not static. + The unpacked source location depends on the package name + (PN) and + package version (PV) as + follows: +

+ ${WORKDIR}/${PN}/${PV}
+                    

+ As an example, assume a + Source Directory top-level + folder named poky + and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the db package is the following: +

+ ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19
+                    

+

SDKIMAGE_FEATURES

Equivalent to + IMAGE_FEATURES. + However, this variable applies to the SDK generated from an image using + bitbake -c populate_sdk imagename). +

SECTION

The section in which packages should be categorized. + Package management utilities can make use of this variable.

SELECTED_OPTIMIZATION

+ The variable takes the value of + FULL_OPTIMIZATION + unless DEBUG_BUILD = "1". + In this case the value of + DEBUG_OPTIMIZATION is used. +

SERIAL_CONSOLE

The speed and device for the serial port used to attach the serial console. + This variable is given to the kernel as the "console" + parameter and after booting occurs getty is started on that port + so remote login is possible.

SITEINFO_ENDIANNESS

+ Specifies the endian byte order of the target system. + The value should be either "le" for little-endian or "be" for big-endian. +

SITEINFO_BITS

+ Specifies the number of bits for the target system CPU. + The value should be either "32" or "64". +

SPECIAL_PKGSUFFIX

+ A list of prefixes for PN used by the + OpenEmbedded build system to create variants of recipes or packages. + The list specifies the prefixes to strip off during certain circumstances + such as the generation of the BPN variable. +

SRC_URI

The list of source files - local or remote. + This variable tells the OpenEmbedded build system which bits to pull + in for the build and how to pull them in. + For example, if the recipe only needs to fetch a tarball from the + internet, the recipe uses a single SRC_URI entry. + On the other hand, if the recipe needs to fetch a tarball, apply + two patches, and include a custom file, the recipe would include four + instances of the variable.

The following list explains the available URI protocols: +

  • file:// - Fetches files, which is usually + a file shipped with the metadata, from the local machine. + The path is relative to the + FILESPATH + variable. + Thus, the build system searches, in order, from the following directories, + which are assumed to be a subdirectories of the directory in which the + recipe file resides: +

    • ${PN} - The recipe name + with any special suffix or prefix, if applicable. + For example, using bash to build for the native + machine, PN is bash-native. + Using bash to build for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. +

    • ${PF} - + ${PN}-${EXTENDPE}${PV}-${PR}. + The recipe name including all version and revision numbers + (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/).

    • ${P} - + ${PN}-${PV}. + The recipe name and version (i.e. bash-4.2). +

    • ${BPN} - The + base recipe name without any special suffix or version numbers. +

    • ${BP} - + ${BPN}-${PV}. + The base recipe name and version but without any special + package name suffix.

    • Files - Files beneath the directory in which the recipe + resides.

    • Directory - The directory itself in which the recipe + resides.

  • bzr:// - Fetches files from a + Bazaar revision control repository.

  • git:// - Fetches files from a + Git revision control repository.

  • osc:// - Fetches files from + an OSC (OpenSuse Build service) revision control repository.

  • repo:// - Fetches files from + a repo (Git) repository.

  • svk:// - Fetches files from + an SVK revision control repository.

  • http:// - Fetches files from + the Internet using http.

  • https:// - Fetches files + from the Internet using https.

  • ftp:// - Fetches files + from the Internet using ftp.

  • cvs:// - Fetches files from + a CVS revision control repository.

  • hg:// - Fetches files from + a Mercurial (hg) revision control repository.

  • p4:// - Fetches files from + a Perforce (p4) revision control repository.

  • ssh:// - Fetches files from + a secure shell.

  • svn:// - Fetches files from + a Subversion (svn) revision control repository.

+

Standard and recipe-specific options for SRC_URI exist. + Here are standard options: +

  • apply - Whether to apply + the patch or not. + The default action is to apply the patch.

  • striplevel - Which + striplevel to use when applying the patch. + The default level is 1.

+

Here are options specific to recipes building code from a revision control system: +

  • mindate - Only applies + the patch if SRCDATE + is equal to or greater than mindate.

  • maxdate - Only applies + the patch if SRCDATE + is not later than mindate.

  • minrev - Only applies + the patch if SRCREV + is equal to or greater than minrev.

  • maxrev - Only applies + the patch if SRCREV + is not later than maxrev.

  • rev - Only applies the + patch if SRCREV + is equal to rev.

  • notrev - Only applies + the patch if SRCREV + is not equal to rev.

+

Here are some additional options worth mentioning: +

  • unpack - Controls + whether or not to unpack the file if it is an archive. + The default action is to upack the file.

  • subdir - Places the file + (or extracts its contents) into the specified + subdirectory of WORKDIR. + This option is useful for unusual tarballs or other archives that + don't have their files already in a subdirectory within the archive. +

  • name - Specifies a + name to be used for association with SRC_URI checksums + when you have more than one file specified in SRC_URI. +

  • downloadfilename - Specifies + the filename used when storing the downloaded file.

+

SRC_URI_OVERRIDES_PACKAGE_ARCH

+ By default, the OpenEmbedded build system automatically detects whether + SRC_URI + contains files that are machine-specific. + If so, the build system automatically changes + PACKAGE_ARCH. + Setting this variable to "0" disables this behavior. +

SRCDATE

+ The date of the source code used to build the package. + This variable applies only if the source was fetched from a Source Code Manager (SCM). +

SRCREV

+ The revision of the source code used to build the package. + This variable applies to Subversion, Git, Mercurial and Bazaar + only. + Note that if you wish to build a fixed revision and you wish + to avoid performing a query on the remote repository every time + BitBake parses your recipe, you should specify a SRCREV that is a + full revision identifier and not just a tag. +

SSTATE_DIR

The directory for the shared state.

SSTATE_MIRRORS

+ Configures the OpenEmbedded build system to search other + mirror locations for prebuilt cache data objects before + building out the data. + This variable works like fetcher + MIRRORS/PREMIRRORS + and points to the cache locations to check for the shared + objects. +

+ You can specify a filesystem directory or a remote URL such + as HTTP or FTP. + The locations you specify need to contain the shared state + cache (sstate-cache) results from previous builds. + The sstate-cache you point to can also be from builds on + other machines. +

+ If a mirror uses the same structure as + SSTATE_DIR, + you need to add + "PATH" at the end as shown in the examples below. + The build system substitues the correct path within the + directory structure. +

+     SSTATE_MIRRORS ?= "\
+     file://.* http://someserver.tld/share/sstate/PATH \n \
+     file://.* file:///some/local/dir/sstate/PATH"
+                    

+

STAGING_KERNEL_DIR

+ The directory with kernel headers that are required to build out-of-tree + modules. +

STAMP

+ Specifies the base path used to create recipe stamp files. + The path to an actual stamp file is constructed by evaluating this + string and then appending additional information. + Currently, the default assignment for STAMP + as set in the meta/conf/bitbake.conf file + is: +

+     STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
+                    

+ See TMPDIR, + MULTIMACH_TARGET_SYS, + PN, + EXTENDPE, + PV, and + PR for related variable + information. +

SUMMARY

The short (72 characters or less) summary of the binary package for packaging + systems such as opkg, rpm or + dpkg. + By default, SUMMARY is used to define + the DESCRIPTION + variable if DESCRIPTION is not set + in the recipe. +

T

T

This variable points to a directory were Bitbake places temporary + files when building a particular package. + It is typically set as follows: +

+     T = ${WORKDIR}/temp
+                    

+ The WORKDIR + is the directory into which Bitbake unpacks and builds the package. + The default bitbake.conf file sets this variable.

The T variable is not to be confused with + the TMPDIR variable, + which points to the root of the directory tree where Bitbake + places the output of an entire build. +

TARGET_ARCH

The architecture of the device being built. + While a number of values are possible, the OpenEmbedded build system primarily supports + arm and i586.

TARGET_CFLAGS

+ Flags passed to the C compiler for the target system. + This variable evaluates to the same as + CFLAGS. +

TARGET_FPU

Specifies the method for handling FPU code. + For FPU-less targets, which include most ARM CPUs, the variable must be + set to "soft". + If not, the kernel emulation gets used, which results in a performance penalty.

TARGET_OS

Specifies the target's operating system. + The variable can be set to "linux" for eglibc-based systems and + to "linux-uclibc" for uclibc. + For ARM/EABI targets, there are also "linux-gnueabi" and + "linux-uclibc-gnueabi" values possible.

TCLIBC

+ Specifies which variant of the GNU standard C library (libc) + to use during the build process. + This variable replaces POKYLIBC, which is no longer + supported. +

+ You can select eglibc or uclibc. +

Note

+ This release of the Yocto Project does not support the + glibc implementation of libc. +

+

TCMODE

+ The toolchain selector. + This variable replaces POKYMODE, which is no longer + supported. +

+ The TCMODE variable selects the external toolchain + built using the OpenEmbedded build system or a few supported combinations of + the upstream GCC or CodeSourcery Labs toolchain. + The variable identifies the tcmode-* files used in + the meta/conf/distro/include directory, which is found in the + Source Directory. +

+ By default, TCMODE is set to "default", which + chooses the tcmode-default.inc file. + The variable is similar to + TCLIBC, which controls + the variant of the GNU standard C library (libc) + used during the build process: eglibc or uclibc. +

TMPDIR

+ This variable is the temporary directory the OpenEmbedded build system + uses when it does its work building images. + By default, the TMPDIR variable is named + tmp within the + Build Directory. +

+ If you want to establish this directory in a location other than the + default, you can uncomment the following statement in the + conf/local.conf file in the + Source Directory: +

+     #TMPDIR = "${TOPDIR}/tmp"
+                    

+

TOPDIR

+ This variable is the + Build Directory. + BitBake automatically sets this variable. + The OpenEmbedded build system uses the Build Directory when building images. +

W

WORKDIR

+ The pathname of the working directory in which the OpenEmbedded build system + builds a recipe. + This directory is located within the + TMPDIR directory structure and changes + as different packages are built. +

+ The actual WORKDIR directory depends on several things: +

  • The temporary directory - TMPDIR
  • The package architecture - PACKAGE_ARCH
  • The target machine - MACHINE
  • The target operating system - TARGET_OS
  • The recipe name - PN
  • The recipe version - PV
  • The recipe revision - PR

+

+ For packages that are not dependent on a particular machine, + WORKDIR is defined as follows: +

+ ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${PV}-${PR}
+                    

+ As an example, assume a + Source Directory top-level + folder name poky and a default + Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the v86d package is the following: +

+     ~/poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0
+                    

+

+ For packages that are dependent on a particular machine, WORKDIR + is defined slightly different: +

+ ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${PV}-${PR}
+                    

+ As an example, again assume a Source Directory top-level folder + named poky and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the acl recipe, which is being built for a + MIPS-based device, is the following: +

+     ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2
+                    

+

+ +

Chapter 11. Variable Context

+ While most variables can be used in almost any context such as + .conf, .bbclass, + .inc, and .bb files, + some variables are often associated with a particular locality or context. + This chapter describes some common associations. +

11.1. Configuration

+ The following subsections provide lists of variables whose context is + configuration: distribution, machine, and local. +

11.1.1. Distribution (Distro)

+ This section lists variables whose context is the distribution, or distro. +

+

11.1.3. Local

+ This section lists variables whose context is the local configuration through the + local.conf file. +

+

11.2. Recipes

+ The following subsections provide lists of variables whose context is + recipes: required, dependencies, path, and extra build information. +

11.2.1. Required

+ This section lists variables that are required for recipes. +

+

11.2.2. Dependencies

+ This section lists variables that define recipe dependencies. +

+

11.2.3. Paths

+ This section lists variables that define recipe paths. +

+

11.2.4. Extra Build Information

+ This section lists variables that define extra build information for recipes. +

+

+ +

Chapter 12. FAQ

12.1. + How does Poky differ from OpenEmbedded? +
12.2. + I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + Can I still use the Yocto Project? +
12.3. + How can you claim Poky / OpenEmbedded-Core is stable? +
12.4. + How do I get support for my board added to the Yocto Project? +
12.5. + Are there any products built using the OpenEmbedded build system? +
12.6. + What does the OpenEmbedded build system produce as output? +
12.7. + How do I add my package to the Yocto Project? +
12.8. + Do I have to reflash my entire board with a new Yocto Project image when recompiling + a package? +
12.9. + What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME? +
12.10. + I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. + What is wrong? +
12.11. + How do I make the Yocto Project work in RHEL/CentOS? +
12.12. + I see lots of 404 responses for files on + http://www.yoctoproject.org/sources/*. Is something wrong? +
12.13. + I have machine-specific data in a package for one machine only but the package is + being marked as machine-specific in all cases, how do I prevent this? +
12.14. + I'm behind a firewall and need to use a proxy server. How do I do that? +
12.15. + What’s the difference between foo and foo-native? +
12.16. + I'm seeing random build failures. Help?! +
12.17. + What do we need to ship for license compliance? +
12.18. + How do I disable the cursor on my touchscreen device? +
12.19. + How do I make sure connected network interfaces are brought up by default? +
12.20. + How do I create images with more free space? +
12.21. + Why don't you support directories with spaces in the pathnames? +
12.22. + How do I use an external toolchain? +
12.23. + How does the OpenEmbedded build system obtain source code and will it work behind my + firewall or proxy server? +
12.24. + Can I get rid of build output so I can start over? +

12.1.

+ How does Poky differ from OpenEmbedded? +

+ The term "Poky" refers to the specific reference build system that + the Yocto Project provides. + Poky is based on OE-Core + and BitBake. + Thus, the generic term used here for the build system is + the "OpenEmbedded build system." + Development in the Yocto Project using Poky is closely tied to OpenEmbedded, with + changes always being merged to OE-Core or BitBake first before being pulled back + into Poky. + This practice benefits both projects immediately. + For a fuller description of the term "Poky", see the + poky term in the Yocto Project + Development Manual. +

12.2.

+ I only have Python 2.4 or 2.5 but BitBake requires Python 2.6 or 2.7. + Can I still use the Yocto Project? +

+ You can use a stand-alone tarball to provide Python 2.6. + You can find pre-built 32 and 64-bit versions of Python 2.6 at the following locations: +

+

+ These tarballs are self-contained with all required libraries and should work + on most Linux systems. + To use the tarballs extract them into the root + directory and run the appropriate command: +

+     $ export PATH=/opt/poky/sysroots/i586-pokysdk-linux/usr/bin/:$PATH
+     $ export PATH=/opt/poky/sysroots/x86_64-pokysdk-linux/usr/bin/:$PATH
+                

+

+ Once you run the command, BitBake uses Python 2.6. +

12.3.

+ How can you claim Poky / OpenEmbedded-Core is stable? +

+ There are three areas that help with stability; +

  • The Yocto Project team keeps + OE-Core small + and focused, containing around 830 recipes as opposed to the thousands + available in other OpenEmbedded community layers. + Keeping it small makes it easy to test and maintain.

  • The Yocto Project team runs manual and automated tests + using a small, fixed set of reference hardware as well as emulated + targets.

  • The Yocto Project uses an an autobuilder, + which provides continuous build and integration tests.

+

12.4.

+ How do I get support for my board added to the Yocto Project? +

+ Support for an additional board is added by creating a BSP layer for it. + For more information on how to create a BSP layer, see the + Yocto Project Board Support Package (BSP) Developer's Guide. +

+ Usually, if the board is not completely exotic, adding support in + the Yocto Project is fairly straightforward. +

12.5.

+ Are there any products built using the OpenEmbedded build system? +

+ The software running on the Vernier LabQuest + is built using the OpenEmbedded build system. + See the Vernier LabQuest + website for more information. + There are a number of pre-production devices using the OpenEmbedded build system + and the Yocto Project team + announces them as soon as they are released. +

12.6.

+ What does the OpenEmbedded build system produce as output? +

+ Because the same set of recipes can be used to create output of various formats, the + output of an OpenEmbedded build depends on how it was started. + Usually, the output is a flashable image ready for the target device. +

12.7.

+ How do I add my package to the Yocto Project? +

+ To add a package, you need to create a BitBake recipe. + For information on how to add a package, see the section + "Adding a Package" + in the Yocto Project Development Manual. +

12.8.

+ Do I have to reflash my entire board with a new Yocto Project image when recompiling + a package? +

+ The OpenEmbedded build system can build packages in various formats such as + ipk for opkg, + Debian package (.deb), or RPM. + The packages can then be upgraded using the package tools on the device, much like + on a desktop distribution such as Ubuntu or Fedora. +

12.9.

+ What is GNOME Mobile and what is the difference between GNOME Mobile and GNOME? +

+ GNOME Mobile is a subset of the GNOME + platform targeted at mobile and embedded devices. + The the main difference between GNOME Mobile and standard GNOME is that + desktop-orientated libraries have been removed, along with deprecated libraries, + creating a much smaller footprint. +

12.10.

+ I see the error 'chmod: XXXXX new permissions are r-xrwxrwx, not r-xr-xr-x'. + What is wrong? +

+ You are probably running the build on an NTFS filesystem. + Use ext2, ext3, or ext4 instead. +

12.11.

+ How do I make the Yocto Project work in RHEL/CentOS? +

+ To get the Yocto Project working under RHEL/CentOS 5.1 you need to first + install some required packages. + The standard CentOS packages needed are: +

  • "Development tools" (selected during installation)

  • texi2html

  • compat-gcc-34

+ On top of these, you need the following external packages: +

+

+ Once these packages are installed, the OpenEmbedded build system will be able + to build standard images. + However, there might be a problem with the QEMU emulator segfaulting. + You can either disable the generation of binary locales by setting + ENABLE_BINARY_LOCALE_GENERATION + to "0" or by removing the linux-2.6-execshield.patch + from the kernel and rebuilding it since that is the patch that causes the problems with QEMU. +

12.12.

+ I see lots of 404 responses for files on + http://www.yoctoproject.org/sources/*. Is something wrong? +

+ Nothing is wrong. + The OpenEmbedded build system checks any configured source mirrors before downloading + from the upstream sources. + The build system does this searching for both source archives and + pre-checked out versions of SCM managed software. + These checks help in large installations because it can reduce load on the SCM servers + themselves. + The address above is one of the default mirrors configured into the + build system. + Consequently, if an upstream source disappears, the team + can place sources there so builds continue to work. +

12.13.

+ I have machine-specific data in a package for one machine only but the package is + being marked as machine-specific in all cases, how do I prevent this? +

+ Set SRC_URI_OVERRIDES_PACKAGE_ARCH + = "0" in the .bb file but make sure the package is + manually marked as + machine-specific in the case that needs it. + The code that handles SRC_URI_OVERRIDES_PACKAGE_ARCH is in base.bbclass. +

12.14.

+ I'm behind a firewall and need to use a proxy server. How do I do that? +

+ Most source fetching by the OpenEmbedded build system is done by wget + and you therefore need to specify the proxy settings in a + .wgetrc file in your home directory. + Example settings in that file would be +

+     http_proxy = http://proxy.yoyodyne.com:18023/
+     ftp_proxy = http://proxy.yoyodyne.com:18023/
+                

+ The Yocto Project also includes a site.conf.sample + file that shows how to configure CVS and Git proxy servers + if needed. +

12.15.

+ What’s the difference between foo and foo-native? +

+ The *-native targets are designed to run on the system + being used for the build. + These are usually tools that are needed to assist the build in some way such as + quilt-native, which is used to apply patches. + The non-native version is the one that runs on the target device. +

12.16.

+ I'm seeing random build failures. Help?! +

+ If the same build is failing in totally different and random ways, + the most likely explanation is that either the hardware you're running the + build on has some problem, or, if you are running the build under virtualisation, + the virtualisation probably has bugs. + The OpenEmbedded build system processes a massive amount of data causing lots of network, disk and + CPU activity and is sensitive to even single bit failures in any of these areas. + True random failures have always been traced back to hardware or virtualisation issues. +

12.17.

+ What do we need to ship for license compliance? +

+ This is a difficult question and you need to consult your lawyer for the answer + for your specific case. + It is worth bearing in mind that for GPL compliance there needs to be enough + information shipped to allow someone else to rebuild the same end result + you are shipping. + This means sharing the source code, any patches applied to it, and also any + configuration information about how that package was configured and built. +

12.18.

+ How do I disable the cursor on my touchscreen device? +

+ You need to create a form factor file as described in the + "Miscellaneous Recipe Files" + section and set the HAVE_TOUCHSCREEN variable equal to one as follows: +

+     HAVE_TOUCHSCREEN=1
+                

+

12.19.

+ How do I make sure connected network interfaces are brought up by default? +

+ The default interfaces file provided by the netbase recipe does not + automatically bring up network interfaces. + Therefore, you will need to add a BSP-specific netbase that includes an interfaces + file. + See the "Miscellaneous Recipe Files" + section for information on creating these types of miscellaneous recipe files. +

+ For example, add the following files to your layer: +

+     meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces
+     meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend
+                

+

12.20.

+ How do I create images with more free space? +

+ Images are created to be 1.2 times the size of the populated root filesystem. + To modify this ratio so that there is more free space available, you need to + set the configuration value IMAGE_OVERHEAD_FACTOR. + For example, setting IMAGE_OVERHEAD_FACTOR to 1.5 sets + the image size ratio to one and a half times the size of the populated + root filesystem. +

+     IMAGE_OVERHEAD_FACTOR = "1.5"
+                

+

12.21.

+ Why don't you support directories with spaces in the pathnames? +

+ The Yocto Project team has tried to do this before but too many of the tools + the OpenEmbedded build system depends on such as autoconf + break when they find spaces in pathnames. + Until that situation changes, the team will not support spaces in pathnames. +

12.22.

+ How do I use an external toolchain? +

+ The toolchain configuration is very flexible and customizable. + It is primarily controlled with the + TCMODE variable. + This variable controls which tcmode-*.inc file to include + from the meta/conf/distro/include directory within the + source directory. +

+ The default value of TCMODE is "default" + (i.e. tcmode-default.inc). + However, other patterns are accepted. + In particular, "external-*" refers to external toolchains of which there are some + basic examples included in the OpenEmbedded Core (meta). + You can use your own custom toolchain definition in your own layer + (or as defined in the local.conf file) at the location + conf/distro/include/tcmode-*.inc. +

+ In addition to the toolchain configuration, you also need a corresponding toolchain recipe file. + This recipe file needs to package up any pre-built objects in the toolchain such as + libgcc, libstdcc++, + any locales, and libc. + An example is the external-sourcery-toolchain.bb, which is located + in meta/recipes-core/meta/ within the source directory. +

12.23.

+ How does the OpenEmbedded build system obtain source code and will it work behind my + firewall or proxy server? +

+ The way the build system obtains source code is highly configurable. + You can setup the build system to get source code in most environments if + HTTP transport is available. +

+ When the build system searches for source code, it first tries the local download directory. + If that location fails, Poky tries PREMIRRORS, the upstream source, + and then MIRRORS in that order. +

+ By default, the OpenEmbedded build system uses the Yocto Project source PREMIRRORS + for SCM-based sources, + upstreams for normal tarballs, and then falls back to a number of other mirrors + including the Yocto Project source mirror if those fail. +

+ As an example, you could add a specific server for Poky to attempt before any + others by adding something like the following to the local.conf + configuration file: +

+     PREMIRRORS_prepend = "\
+     git://.*/.* http://www.yoctoproject.org/sources/ \n \
+     ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
+     http://.*/.* http://www.yoctoproject.org/sources/ \n \
+     https://.*/.* http://www.yoctoproject.org/sources/ \n"
+                

+

+ These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS + requests and direct them to the http:// sources mirror. + You can use file:// URLs to point to local directories + or network shares as well. +

+ Aside from the previous technique, these options also exist: +

+     BB_NO_NETWORK = "1"
+                

+ This statement tells BitBake to throw an error instead of trying to access the + Internet. + This technique is useful if you want to ensure code builds only from local sources. +

+ Here is another technique: +

+     BB_FETCH_PREMIRRORONLY = "1"
+                 

+ This statement limits Poky to pulling source from the PREMIRRORS only. + Again, this technique is useful for reproducing builds. +

+ Here is another technique: +

+     BB_GENERATE_MIRROR_TARBALLS = "1"
+                 

+ This statement tells Poky to generate mirror tarballs. + This technique is useful if you want to create a mirror server. + If not, however, the technique can simply waste time during the build. +

+ Finally, consider an example where you are behind an HTTP-only firewall. + You could make the following changes to the local.conf + configuration file as long as the PREMIRROR server is up to date: +

+     PREMIRRORS_prepend = "\
+     ftp://.*/.* http://www.yoctoproject.org/sources/ \n \
+     http://.*/.* http://www.yoctoproject.org/sources/ \n \
+     https://.*/.* http://www.yoctoproject.org/sources/ \n"
+     BB_FETCH_PREMIRRORONLY = "1"
+                 

+ These changes would cause Poky to successfully fetch source over HTTP and + any network accesses to anything other than the PREMIRROR would fail. +

+ The build system also honors the standard shell environment variables + http_proxy, ftp_proxy, + https_proxy, and all_proxy + to redirect requests through proxy servers. +

12.24.

+ Can I get rid of build output so I can start over? +

+ Yes - you can easily do this. + When you use BitBake to build an image, all the build output goes into the + directory created when you source the oe-init-build-env + setup file. + By default, this build directory + is named build but can be named + anything you want. +

+ Within the build directory is the tmp directory. + To remove all the build output yet preserve any source code or downloaded files + from previous builds, simply remove the tmp directory. +

+ +

Chapter 13. Contributing to the Yocto Project

13.1. Introduction

+ The Yocto Project team is happy for people to experiment with the Yocto Project. + A number of places exist to find help if you run into difficulties or find bugs. + To find out how to download source code, + see the "Yocto Project Release" + list item in the Yocto Project Development Manual. +

13.2. Tracking Bugs

+ If you find problems with the Yocto Project, you should report them using the + Bugzilla application at http://bugzilla.yoctoproject.org. +

13.3. Mailing lists

+ There are a number of mailing lists maintained by the Yocto Project as well as + related OpenEmbedded mailing lists for discussion, patch submission and announcements. + To subscribe to one of the following mailing lists, click on the appropriate URL + in the following list and follow the instructions: +

+

13.4. Internet Relay Chat (IRC)

+ Two IRC channels on freenode are available for the Yocto Project and Poky discussions: +

  • #yocto

  • #poky

+

13.5. Links

+ Following is a list of resources you will find helpful: +

  • The Yocto Project website: + The home site for the Yocto Project.

  • Intel Corporation: + The company who acquired OpenedHand in 2008 and began development on the + Yocto Project.

  • OpenEmbedded: + The upstream, generic, embedded distribution used as the basis for the build system in the + Yocto Project. + Poky derives from and contributes back to the OpenEmbedded project.

  • + BitBake: The tool used to process metadata.

  • BitBake User Manual: + A comprehensive guide to the BitBake tool. + You can find the BitBake User Manual in the bitbake/doc/manual + directory, which is found in the + Source Directory. +

  • QEMU: + An open source machine emulator and virtualizer.

+

13.6. Contributions

+ The Yocto Project gladly accepts contributions. + You can submit changes to the project either by creating and sending pull requests, + or by submitting patches through email. + For information on how to do both, see the + "How to Submit a Change" + section in the Yocto Project Development Manual. +

+ + + +
diff --git a/documentation/ref-manual/ref-manual.pdf b/documentation/ref-manual/ref-manual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4dd9f7a25f8ca23682379d117a09e4d90c769f0e GIT binary patch literal 801466 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�viH8~%Ir_y<}Ab8v&eV9q}$!wPsA7dQKVHW`@E|IW?-!;r%YW(TYd z82fj{vH^-^X9i^ZPZaxqlZE?lA?Nq=#;mX~r1by3HV3J*W*W8=8!G*ygv80Ho2q;dKnyRIG)_Xr|;9veY)V(<(sJnQ7 zd(?2PHuavnH+oQ}&z@fP$@}*kV`b`7#dzoJ(jN&m4}S#ObapfC)h>SHZRNi+=Qp8Wls+fDUuxB180Zt1?hmg;evK6EZM4

>BnDo;`f7 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%0D(g`rI}P}4Edu0zv2iSzc_Vy_5CsU{rZ)+k!h5nM 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 z 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 z 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�*3l+_;*FhYo&3J0be(D%FjimqOEUu*N7tA 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%0Dy#XTsy&wz0slg(mEvfXA7H8OQ#@ml;I7mJq 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

Z=4SByT`mLH# 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�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 gF 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νrUgiAKqN8q__md8P@K>wR!@hinb91Sgojy$pM{e+Ug&`ZHF5 z>}fPO+3aXY(t(M0dpwep^L(I&Nk71|E<2R;I@u)LN9%Sd{drdF+kkoA$c&OMfM?G1 zO?(QJ)W~+>`g@&e$|2-$!lRY>K6Ukzd~Q{uBbv#N(6b>!wO=sBwa&haA0xoJGGDLt zdn2VIc?9_p;**GJ`GRVS-+zgr*9XR=9#qCq3 za2JjIdZ-)H*Ql#BeaO{(Z+Hr1M-lyyPFSDX5`D+b)ODd8+ zQoCc{S2d^B6eRU4+UedIFxAY1$=(Np!H5?5P|#GA^8_Y8D;Uv^91qh)&xVuR7#mA{ zr9U$VAOBH1**#cHy1TNhD8Dx@R0w`bI}#pq4(<(zvrjwmSTHz8_JxJ%dCMuNcKW7D zeabm~1z=>BsxQi3VwIFHOnM@fw5nMKQ=TdqQA3TV{5sm91*@IvSjyB$KPH%JAHZ~< zG??KY39Ue?Ww1e zY{cD^`azkn6HIw6-1dd@A=Us-xXyW%hUYq0jh$%5{hWNVuAIts=Em04i!rff&wwcp z9!xPWFxgRHlXbD5kantx!+B4pV6F>-HTON~?U{E&U*$zsdb@aH-FM^haNlTN>pqmv z=q%KCrZgU}DETuNEN83;3qp6D*4g#lKSCx6IuwV zYyVa8SFT@WunE)s2XI(UtJ)D|5oUdo-RJ${TKHC$Ao|ceMIWZPctq{|qy-run(?1% zA8>7e)(WSG+Hobh+95u)29@BRw2(tDTAb%bghh5E7?y302fx?z!gjST_lo0C)}fe4 zeciyk4%15S!?l7Wa_ak+V9L)1lRq2Ge4L9@(jP`U{u^sRlukM|nf8*?sA1x}m4c!1 z>SB_d14Am;nTtep7N{pq+Y~pZ@&zy!6l(+1eK%mrX#?XcZb_f-lc607jM^#B1FxfP zH9V1-14KJ+oXhc0pHr5h(PSPEedU`2lRpASz3zJev#mx|f@~q;wbJj2*ZMgsYbT!r zeK+@b#ZvRUfq75jm(m)L+dUaiwm4bb(g~}GQtua+>ebqReE;gr_pjf-`0TS6pZ@vH zf4#mVwc-B7r(eE(`|%Febob?pPk;a8H*fDCtNs1kyT5#P`t`3rM+mWUU!1@A-EV&T z+w<>UetvlQyUpg;FZt)`S9iCY{O5~b{p!VskFVZ;{Q3RsZ(b0FCz0XBzx>PZ{`AF* F{|97xlKTJv literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/ref-manual.tgz b/documentation/ref-manual/ref-manual.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e4a17c884fa94322dc9a539bc67877da3e0cdbcb GIT binary patch literal 199139 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 =dR!Q#?w2^MCH(dtrIhE~w%ZaiAf1-GV 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

ZEgYaHt+*i0R5o}pv>+?1tIpps;}c@6V| z1xktAh8SM3bn>5rGbP#3v&;h#k>LW)`x%z6ey8v^V?3Z(Ymn4tTH`h&Jem}J&CWQs z!o+y7(6WE$cr!ma{@2odKm&Li{>9|tdEFjGMmks1tvGr8=+)&LQ)TD14jVSA>zO5{ z=j-XY=fcN#eM-Q9Ww~bRg>JGHXQG3B2?+@%mHzx!X>mh)g-Yepq{PRatM)%EuX@P) zJp^c$0o8^#r+#-V*FG5;57=mHZKfB0=iBmlWSN$Q$V8-8hWA{{EP|u)P`hYcGDo?( zn;l2hRgntS(2mn`$5QH}KUESHD|;5g4q;T$X_1ULcQ8s*xd;xgr1te&xv-h8W`0C!P14c&%TY0eeSbVAu|3ltklu*6#0#~SO z$l0z5Wn5oS#gqJ0AG^y!7pg*pRGwWz*SFy9JY9yVJVV)BAKAUIAVJ6gs?cUCEEV-H zv7`N5p(L~gBBH`rqY3mjhzBs=X>~VFF(JPMjJRAvbeuk z{GQE|@M3)_$iWCAuzj~XFL9`fPT8gc%nSAw@>iWlfh&}|-?1$JUh&9J_e{R-k{R4~^0(({aNa2-Sds04%Hh$BztH-Pe1w5RtC1+;l z>+seZ{{C@uz&BRjc2ISg(NO`s-=?hF7cfqnV)vSU4Vp>}JO3^+^}7E!@h> zWe|E+4Z^b`F+R1$`}Jv)c^|Z(+VvL1Sf~t(L_MJ-?J23dsSeLk_+L8sUB*V2!u46B zI!2-CUE>@H9kbv3J#H^HQt#LCslTruqiuNprLc*{H70mXKd-aQx(yBd%2TQ{Jl(mdg=8)SRy+(|@U@Su2_> zdERL7G?`+uJN>G>2Lq92)g3C_*IC8?#nT|-XEun+%PMM4X7O#UQ#MD0`u<&Qajbcq zX>~qX@9<#MZ^xSTCnY8IhjrllwFy43TI-z74gk2!j;6A-9c^@|2^18ve6>xzKgTci zx0S(PBq`h&Z`H7sKA$6NIk`(S#}S^=Yjdi_6mxah7x}GVR2>TGbmfk8yu;0pJ|(J6 z{4OuEWgA>?0*s5w;QfKQ?I1~o;fAErN4#M(Tjh7M#?F$oHq4YzPQO9qjlP6pkE*fF zjX)Pj{RfHjajBdWhg4Am`SO*&sK*eRK@XM+6$Rz;8zluroGt)?k#^q%XuDX?MNLCv z);Eg1lPz_$!dhr>Gh$bFK9}z7MWbiX{zr7C!G5~#UB&79ieQ^bnXA_}5=Uh_1%cfZ zYZ}5xy+gP2X23t?tT}+N`4oqTf<(Z>Ke@NY?6Q(nC~nk#yed_%&cM}J5vA_})js(R zRUV{ka2%W>(F4op3)XGA*{gqBcg?HjoE)rLC|%ptSB6UutMpW%uvO@ip*oZ}MLvoL z`u*&RC`AcLA%jHU-`y278S+5Zqzy(HT)sPLio*81^tG0+@4OW)@5*ZKV&2^K+4^xZ zD*wWW*L6`1r6WA$Wk1aIZ~-iHQdzGnH2TgKp0tLc#zG51b|$blQpKAHsTmu7YuSrz z+&fE{4R3-jC)?fWzp*lys@`wdc}WujS63CNgp;Bn+N?Zp@ouHoNh`P1QOcAeHF<3c zFj%f--K>&@K1ctiDIIlZsoy4pt5f! z&>ZXU&sf#vgeuC1$OZkCvLmAZi@)vvPi^&|$R%v-MGri;2H@0&1)RkHl%Bdv23*Bi zy1R>un`z_VId>Gr# zcywG^N)9p}0}XBW{i54ifirN29cOLFaG;_b5qtxabQATX#K(_RYN>R0cE&TO*{86> zNOUD!8j^)qv$^EVXT5kU+1aCb<*ySlR(}c#vqR)$mu)I= zjdQftTYQ~yhF(C9ts2KHWxl`OsI+6+G^TgJY3`_GqC-(zL$C1oV3_OUcLCTw%36s= zZj}nFJLB^HU|I_jsIF~WXEGy*#SK|}-~9yu`F^;}NG&^qBc6_)gOkwkl^FS;fD4}f z=AuB`kB6~d8x=Tq*|B%G`nz;ww`{~=y;T9=v|}o6Qfxe%*_f3J&j-Iy{wV+Ud0yvx z2f5_ULADQq>?t_-OAT)y-VoMVOSigBi`Tv zPt-UgKWCf8LxLau&bJeB%}$Snm;Rp_3Qs1Chel~nvdhnixLxTo4F0?T3N9_wzDheC zitw)C^F_3(!Nc;3oBc8z31tW2Z^JS|-eA2`A4HV!qwZ9LHa);Bnt%^1Ndiod-D)<( ziJh_Slv$C|Q~S|z#Zb0HGp+LPkpO)y;Zwzr_pj!Q9F=wl!GF^Qe!ad_?R9~V(R!HE zyRWmJl-^#Q-Tl_K)NcWp{%ww9nON9dV=lT>WeD&_C$-Mi7R{O(LdVfmATAf$PDw~Y z(1Jz1+B+dzrf5S)nNE7!?EWZIog@8Gu`(~|@*aHP<$9D6oQ0{UPH_>fwvW@dD~DtK z2Y7rzR={fiU3KRZ>=(<%r91jC)dfh0Q<(ZTWjl2i41Zoy;dJ zq*3xdOzuXDCuKNKrtJO*M%W^rj*pb;{auSF>45B8&%`_YO|<~M${Xz)?e6@rTosa1 zwUxl;mh0-3@Js68bjm%SJDHOENo$#N>T~Ajn$Hqc4 z7X>_|E+R@F%w;|PU>DU(W#0;NH#^*Z)OalJSYW=BqtrXrx59a!eV57NSS1{|-R+Q| z;9({XT!GnIlvqrJ9VqbSJzquzZc~bWLOa!2&Gw$O$MWq)Dlr-;kbdqOsBD(1a0Q;D z_+Je~;{Mk9Gh3jxFOp*Ob>7$~VvHB^c)r`wZ4QpBrD z2}T}PQ2Ur!&`kg?-w*v5DyYd+l1fX7Cx(6l`F%-YuL005H>i zj~Lcd-uSlVgc|Vk^JBM;%9r{-9rL@^e}{15c6y?qsY&?b6Px@;E{kWlgYj@foD-w)k6d@rQTf0ULs zx~kYr;>Nda#H{YQUt=cBZfVN}TjvqBvf3XbHARF9_qcBIZyC!P%9)W?#YeN$NQ<1T zUCR^qq1A`%q8WT$H}yF*ktER(CAz`WfSB{+xGEPQx+MKb4}xr$fr;Y$@85&$UAo8!F5N{tP1!vj1HUC}hCS_y7BiMrePP2CRp!6{WEO%xsxwB601}VfolX~# zF>Bt=?=@OO>N$^fB(|PE@^3_n3fMC$D;m!H3D?vC7Ch`sOEO`n2m!)v`8mIaCg-f^ zZXG2|K7J;~?-R?u7(MzYVDB+VEHh4w(o7Fxst1vH>BcT4#H9t{%PlP}A?2e&bz)#( z^g@Z-@8wP>SlAqS>MDrm%zvB;ff#V&?q({^3|sT0aXBenq^AV3XHHJi@jQE!5sMUa z9N!+HO;58Z^!4r3o!+{6SYq>ZmpCiHX`~>RSVvgaXqL^C_%5Yf*^z+{^v(<}j^tRuxCQK)7`fUx0hXov4}y!n2;I;@uc3q^J}YZf}fEv1H8!CFcZM%!Tainmk zPzPuisrvOm>7IR z8?2S(2l|ap8~ruJT8C7}RukFd80KcVCq@~(;zWmY6QFS{{yW5vT)k8BL3Mj#jfk)< z${HjEz>$XMi1PQ_ME2bH7bt|SL$IrUvDg+}q}O8s1iX0U5=7`(+X2;-)Pk>QKV5V^ zJ$d^=t6TQd%BwqZYWrebpfI18UJS>;p%C}ADzG=kUGcQ^+s&n~)=T@_DA8>R)89{+ zP7uGRbseVHRe0?C$ro8h<46dk+^?@mb>J3yv(2b+Mq$O{X>a~yf{HD|G&LSmf{jF6 zu;@!kpp-|#J_taxq{~IyBJk%_9U3IAReZQag^e13o^|_Q%0*3)FJs;0YUsNaDpJ@k z*HhEUWecCra&@P8Je-XVvlUlnDK`T#bPY7SF24VLLchW6aL{lX)|w`ET<^+N`-bJ3 z?agVz0gAL8Zl1~ID(Z5Mqbapyzy2)U_N5qdXw8H?MpZ~^&83{GmsKuyFnkA6p2^oL zl+tOH)=db2d-_NGeE+EQ2NJlq0C1qJ-8pGAFNsH2^L7|5Q4p(9ZvX;5_oEXwgn(Gv z!|CwIgj5PQ(M7qh797Fw(_u|T;QK_z!a8ePrsb3WQM@+p;CeCPXR!w!WvE8UqZPWh zRG$L6>|+|dV$HwE^?Uulaau}|%-E8ahndhY@<=LUW^eQM}ADsY)LE?)Gou?JZiA+7t@e zV-j;lf4ZoC;fWj$?B}6OG~ohCK`LjMfLk~96#Ha3Y`TtF7rI`LV9dCf{@ZAUcsx#s zV%@%J6H&HjD@~C$K1et?EJtWFJLA7V(z;U9So8pIZs7@D4F{i#-VQ2PFmkNg<@3DD zlT`a_^+Hz?C@ak5la$NqWIDHbIY7NO4=3u&1-U* zn|(N&%5uy3p+(2HLzy^ad^0h)dZf;c`=z7Wl(`H_6PCA5Y~Te0T{^4k2*hNMhh$mkcowZ~iQfwOke z=gV2-WThs7zQ+g>gdtDyz0d6Ze*?`K{Ahgm1SGv*2B-K8*LYTrFGDc0Lk?aG%sE4j zQQZV=3-047p7@gMoYS{e!KT4ijbnI)Gz-f+V?RO2r?-ueo-Ac^b}6T}>Q}3pk_h-Yz9Bi1%@qo)9J_G+Afi*`B|(1JaUp1B}Tg3n$<^!zKBNwjlpW zCiPh`_~%c_S<+=XF0?dHif!jaiWBPSb=!W_WL*u^?39F3nOJ{vP1E5~yUw1pd{8SY zeZ8lA9ObdI?vHos76o82abYrvBX8ndx1&CFF?-31>un>uY#F&xLMwEVNg7H>iZjcJ zNwbud`9ms7An@&*9$ob=li}R;K#H}15hSBw5Qbs@zyMlec9obV%PV7Ft9ha8e%Q)s z_MX+-LbYR+`@= zsD_O|8QS2o4%j+my>8GpB2cfeSLyX&E>HAa zw|h}I|2gK$z8TAUH|Xz`e=_dLhyxBb>=-VSA3OvroaYCCiwvEnl9G2BMt zS@zsSDceEk81vuMj%-n*pZf|aOn(eyZPwfF*JxPwEE`tAIexfoPsb}VS;)#d7a8vs zd3DUboPJ-v2N~79`Al0}^U`!usL-?db?+p2Q*@B?Y)xQAx!qRAZsK?=Sl~F2Nh%C; zj}+d9AeKB+L{cLqwL2ZGe|4uq*ky|h&amOvQ71@e!)MijPp?=^6dcEm+56um<;2qg z&pG^_Pn}HMl(L+*Dvbz!8(b$X38gE&#wxPcx}$FoL!(@$%=_IGyFFMe1j8vy`mwy(MiJ{ya#*Giti~Lnz+&FQP>{}^>R~O*w0-fE z4^BY&+O^uGKil?%b=C5NBx3Ec2W&Jw9W9Wz27qU!eXs{sv7T7B! zP6occqZ=ZACR#L_viZVmzdHLlw#52H=P-Q;_}owpE%oI;@VDC!RYvk}*#qRq1{m^; zUJHL7x?Z1%8a@cY#qjxaN{88FCg;09zu`7dJv-ggefRFxqC>bgPE!@MI5ud|B^{>=>K2Ht){CP;C ztm93I22Z8iC^SEVRm+EM-oiG=zfSqM7&Mew{>R~kq!UbQwnV{AU)Dgx&Ql&{T@?b` zHoVSGH0L|#L7vTo4Ag3oa)qwlc!Z$Kr!N(8|4s2@SBg7=c&TpdM(2!kcH{f>&*yjS zN7DxxqmmBs`X`y4S2$vV#+&HL=B`a1`cSVL8C$7eTc^aR6yyYERa&iLq(6jV4z@}z zW@uL0XVCh33yBj2?)z*peYyQV^eZM4xmtkTH7%35cS!p4W@uA<)I@42tUU!mI@{(# zge_{`zDG)}&DXiN%sXYqJ=Z%r9aDUn_Snh~Tf-88siF#&f6tNyg1$r*BXA4T@h-pZ zNr@R~DX<;J1ndX`WHQQVAp5ZG$ccM53_`(=AeuMG8Ix2Oe$>x0n}x{fKrb`BK*hnRWhN(J5tbL zndW)(;niF^+ysRU)^!+@W$?bcSM&1;rKhFj6~`p}2$7!LFj!1oKiNgwP&SeELdEj^ z8u00wi^)PyUw&g0$Va#2=HTgd6ZLX%3JF%#0&U>L-63vS>{Fo`JZE12I`82iqBDxm z$)>_sguQg=0*1%qt$LK;a-O+%qgscWNIkL04E*I&hMW;lrw-3UEQ?wKBaf~IZ&`)) ztKrwqbV2)2%XeUZYkcl$cxCEqa`2t+n5t91%X(dbN)LgBmt7pL?7K0Y zg&EdY*PcP|VmgA|P^Q2KE_P=Xw#rp4Nxc{yZf)m8DGcZ%R%LOc>bC&omeymXZ=!Dr zM0e@&Tioz3)Z@miJ4Zvrcvdp8e^xaId*0>yn0in?^D8cad4NXVfWu)6QdKMEi@!eK z571i+EW<`X@ioxOc=ZQ;5pz#oBH3F&7_B5o(ShCP)sk4AgRk;<4svzOJ}F#f-glCH zzd(AufN-c-ElqvpM)y_>cyU6KD)Bw+H2;ZAEdom!?Rtr_wUJjM%PnQ5SSRK0KfMLI z5*$#_D1;)o3g72Dbi(a$WF z^f7ON7%YoDqSt$4$qc$@DwZMGXj6CR>)HDCm|iahdNAL%;Ty_4KXdpeoj>h*{^4!MQ`N(Kfh6$AYnWB@ZdpV&@ zt04)i#&)}3QEuSklD(EA?WCrA)5>rXFhsUpD(i@G0OK z&hU&SqESnr(fCNKq437K+`Z{Dzb|RT;b}ZmpwRwYe?b_P(R5d?BpFV6Ij)4^kFL;! zXgv)?+)EOs%&m)frqD*S?+Wsi#xS!K1s^C4@-ry!{d;nq`Fyt~J#MPD*W>P38k_s` zX+wN`yncSFEP3EN^L#~0$V!!cvAA_a=B-!%DE^_LzWf?U1MfH!XUNrS%Z5F%AHF74}_F!b;Vm`PSra?`wJ@zL13O5@YzOC%jJ5@)fVUT)t38K z*XsyzlBqC(V}VMh2CHTK>;zmE&!3k)^fn|}+y`nA?U^7K9M*EK`Cvht&FX1~ZtFh} zZT-RFDY)4qp6AyMAeBF4@P`3g3v$puBCxcxEMbY?-VTQ9-!&Aw9g`>w9P z)gofrUnkKqRaGg)gC7SAWKK6=;a(j)vCiB!Nj)p8(D7d1G!iw9+}aq4kGmp%Kw2Gy zU>HMWuDD0?4vGMp>V#$&k-;+AW(#m-VayaeyANFTlTy;_9`YBjYZU4)qeAC-WmK&c zqmg+6Judi9$I;J55NnM3BD#r-gRc$nIvyotmx1-KRJxA%X7WVA9VM;o7VXHZn~NS? zD2&a#%eo!?E}(diy&>h#6uRCKFu;G2IdN}WVJ^xJbPEL^VUm4G*1wdHC67s^U1KbJ zv$TVc5Ip#VU(DoK#$SGf!eDp_pkvjUb%%f`tRP(;j3Gs{Im1B^bddRVqcq@pwYv6p zq#q`Y+GIGy+1dPA>pmsJx2qHH@h%#nzNLx64f<5&zD%)THxt)2HFnC5heJc+&RvKE zrXi8+z5SS51~sfw?D<_vsv62)!)o7X2ZHtIH>sI`ZxKIzwi(IQf}w3t(a;u71D%2= z6!n}5O}zApcvE`PT@#&*=6d*t8%7}m5dN~%Q5Xz*J?fc}%afXkE%lnk6Ds)!2gq`$ z&;8dAs>lKvaaa?qFGS^YsFb~E2l`o9iRt6Q(G;RHyKlH8is7HckDN=yM0t`B%%;YuC4S2Fn(KhSRTKu++4i%ctLYCvHYsBeM6= z_l!TNd=IYZeEBhVbN0mL31cS<-EXuAll|QuR6OVRKa4X+29a!*y`r3# z@Vec4o&TH;v_F8pc>FuF#M#&~V*~A;%0O(>MU4rB;aR3yqov1N1qq!%tLfX-ZN|it z5#51F+8ouZzeL=C)9{3}fa6{%FZKOU%EIO8QU8D`gaMvoHll3+cf@B}uL!6fD^UGiBAn$shiZhogd_ODg5ulxD5MY z8w(RwA-YBbT#U2%J$WDDhsVYOXL4OErJvg67Ih=3R(OZ6ZfRWKJr`e$Csxq3?UI}Z zzh0!6^^3??2obC#erDfqu#$5vlo~C$*O<929&a|4J+O##i=kDDuvd+skAoy{g3U`2 zPK$q$+k$S&OHlcr>MpK{HV#%_QQpH*OiwdWG zZsH)dp;=QvVoZ#64Gm8lP5&7Ml2ki#dI9>cB3?A0MUYn^7M5<3585IdAr>62x}z^E3rt%$xr4O=wx<_J+`b4hSwpo3jM(f>NBdVrj^fAI5s}@)^KRS{VE>Ma^{JK@+<0MdvtIZNfEwLZ`>u)G!`w& zZMM^W}e z{3+{tYjQdwSI3v`Lz5Zh&#jYwlU*Y3U~v}66bPehAgB;Qr)@hx>a$}piYZO{8 zv;9x5+h(lDm_nb(I|{&#dNe;f{fq9d$uXFjo&`{xOi6G=#<>g z=U{ds!kK%~u;7#|R@c6BFw?L!9T`?_`y9S>CxgEj z)=lS`(cp^hc*a@pQn){!$otu3r=;2@^q9(GgTcZYb8mkZ` zVE6j!; zcy#AC}@U5k%NF`2B{g~jsyWH|qj*@!xo8M((als!0m>HOqH zgfR!)%y$8Tn0T1_hzVVe;iuP_)(Y@ldT&0{DH_e0mclWYDHCbqe%J|9fAc=b#?KVG zMx(CRdqPhQzj122QZVm+DBmVMknB0uj2I;Gz)#pd`9!3sv<7Nj!#Q<_|CZ<&W-l6)JLntgqxwC7K>8U^px6IWGt`;ryzc3|-5Ha62rC+U zpzaSs3kGyoRYhHG0clb;SFxU~vIz*;6x0_He9ajJ(R@zdEF2SoE;Z=4Zdej3y|^VD zskYd3mSGjt0Gf*uq3+}mag}&IK2dTer$@p^PEsP%AAU@iXjsT*Tf}khzoXwf?PUK+ zv+$D7wIPM;K-HR}?X+mj&~}6DGC48V{hV^af}i9!(k7crtvU=3P@t{Is}yE^gHiN#4t4igvhyZQ3f=c*?4(?wG5Z*2ucl1p;A zv_UU|OWkDVCik_YtfJ3_(DxD6hBh;&md~1~ z=X+T1~G6X?k)7E$Qqf8MpgVyR+!1B2pXjrV;Kd8_zFrqp_TJXMPAeF_c4bwOG#ojnn& zM!UsH56EKsa)(OY>cdvsl(@5!%eNd#oG$F!f4~sVH=SaTL4tGV`B)+Y0w!EugVvVm;g65K=@%y@Q#Y+rPXt+T{1T-NqoyLfLIBQXoF0FI^f}9KrubAS z(qbSsety*Ax4DUw&GMzg49)YiBICQ@{}fa4IBVL!J6pv;LLxem5ODVJXEHP}bUqWn ze7?0C!-+nGSSj?}bkk-i29eaBkS2)H-UO+Roq;eK`1th_5juyOL8x4c`{!r}ShzBgigI2<#Th(5`z?c#Z(JD2b`7JfNfb7MDt0Au9S< zwDC$tETMS0A;E7Uk&8y05cHFLf--`D!U*SGlr-g+Q9Ho5xZj)2@&jhaTj>ed8{hRtA@CdG_7mB8wPj5ay zH$jw>7$~d14l86{&BWc-NV7&Cni@s*|8?2zj5y3 z6R>{pUo*boC|!>DzxnBt3AQZ+6q3$^kp}npesOFK+u4O|q3=gC06jwdhv@Bus+Y)( z*X-`2q3-WuC=HIY?e7?Et2aJ=!EJQ8^OnFn%J86x5M2253v!Bp!l@}O9%nEZ2Sgn^bzQ|aVJRuk1pJA$Sca+c^5{=_nE zzVd1&+s(zEOLFTeESM`S1S_V+s>Yd*%0zM$_lD}RkoFNQ6-EoFeV<0#GsfV-b^K|6 zRmS*FcPKGYs>NLhP^{=)TnSLvO{;si>8)KUt?hv&ja^@} zkB>Y%I;}lv?$xo3b&QU_dP(p7zMt7^%W$`-*+z9jes%r1@4#`w&8!}R1PS#ITz265 zP{g2MO?zYMBC~khB8^*Z#xxSU##NV4WPy*G=KD!~o?3PWnwmGm)j!e529mkp>FNm{ z8eJy*@+|G4*~bTUdH&p;KC~8E7bzTPxqGDhF&QHnGz5azXERr-5*=p$!pvPX7?*sDg8Nu*hnoh}kPt;;AAUbUxy1EL@0xSDIX3Bh zoyGf7{H(ftk)SPwE#G|UCq*?vxw9&#dSvfrCKFLoc?{WIaRpe?aCXM$vd-H-`#_#g zH%%{BBVdMGxX2kI!SJ_RJO``J>wP045>a?HyGEv70xhgR>RvZspEtSgLNvwPi#Rh? z%DvaGRtc{$Dt2j)6S>}-B8C*OCF*64ywlB|8^}xv&o;A|h%}_+-2!#L5h>Bu(gu#` zYNDuYuFkW4dAPSLCn7eo(zG2$DGd0 zJSS_9`&GHp%&2P*0h%4Q=Jl$6ciF3{#C?y}mEC^L@K6PxIm)V#z|QojQ){bP+i>MV zY-kb23M>9*U9uyyRU!tJN$MAhVO%_0M!XhG^TE+-G8T)*1pdAX&OZwVX!&*#lbdLG zYWN-s!&ZJf_L5k>O!ov4gG>jGFl%%Vj;d!@<4rW&rrt|b?w8)x==?v@X7~-4{0~vI z4h0&u1PVSEON;Kz(U%{8Y(FtbPc)gzHn9H2)QvB(4Wr_{X>NYnRC2ZS7;hTy`V7z4 z?sw3B92y=577)fB505l!SiV15ww9jii$2O~_^r@i`z%+p)D>OpVe2j z&vEKjE25w7cY_GjlXOaP83vK^?G%Y5;~%0t_M4f>Eo3)&)M-O#TA!H>=lb_Ej&VO< zt4LQ0q0lr=5eNf-C@v@2$x%4B@r!l~Y<9#2En`s~NFtJ-xGl7T>?Nb|Y( z1!ky>g_)bp>l#-d>24}JdE8&7#TE?T3x6ETv`3|#jiap7vWTT)S#&xh3z2v7hqUP# zPHKWf+N~&eCe}LGT%H%Q|J!CLQ&$|OrlC`un%7`|09t4tW$Df&F#_F#57s438PaB6 ziLq%|m7mYWGkjV!sbqqIftj~j!fi3vl6|MRsaP#MomO0KV+vYZvYIz< zVV&mp*1oENi|5f!U%AAFUW$5m-s&2;S*MoR%@M9PH8X-k?(O{ct=G}!rv}Y{`d7i^ z%**E6vl7YOeNS6f@f>)4{?UU+&Dn`7lkNMcHIcMhTrL#>0?)ZvQnqbC>kv4FmsA zKYbW9^1IOOG5f~Ry5ywA5qV`wYAPCP>bs^P2(}9fc|@(un$I|r&QJNn8w#H@_ZSUJ za%8cRC6E$OPvLi&ntfIE9gF)ZCI3k?g9QB7Vp3DTSTyj6*fQ1c3JP;p-fgRX+DYk8 zQrDkSG&-7bQd-kLc=dp{d&x7h?UXT#%c-uErKZKpsR*-ukF@9tftjziXXgsP$h=^Lfv-Fi|}t77N8rNO1tt zs`&Cym3d=Jx`QPlHBCPxVL5&xZJ=0&fWdgEPpRPF{@acL&4U@;|1kZV8s#3q_!%){+F0(T;PrsuB z|2N*b|G#+Wu}E>vN@P!&0Nk+F499&9z9xYq>zK7bR^C$;c|_Wv#WEUA##alt>!M0NK# zL_7k@pf8kB60H!jvDN(qvSGmgxCfH*FTslu3rFv&MU4oJXSZC6z~MOS!_f7Zjs}6* z#f~JWX5zAZZcd=$yW&4LOIxP5e3Lh2H__x=GDuX9A-Sif1Tvn1TYuA(=}sQ zhny{T=gHU@%Pu0K80{x9g{BzkMt8q}5;fN;gf0!T1%?1nci3~9$EV=38HyEaTo{6w`-Alkn$xzVPv6qExs}7&(*Maki{3wYF_tqc zZqY9hVo|q4iBX(kGb&&U1%?Qzqn*1pcn;~9R(Q~9-k++_6}$D=Xk10wk(bv59Ksg&{`sU zqw%MsZM$p9Os&Um(T)zsk7k{U!w2tyY^#i7Aj2&6QNuVYiUWm<1Pytjd<84R)VI#W z9U!?6&MD%E9YIotsi?xgvnhcZc3F2ElWj2E6e^1vpJkw0P8le%>&2gnOUH}!xgw*z zwY|;baNxt1ZME7gm&uJbva5$%@+S;#n;)klFAsR=UL05c;m!W^VjPQvVD8o&+$X!hnWD(e_owZb%N)6s?fvq`_r3yeh=7vLD@1nPl_)IY4AqNGJ=lWNZyDg^#WokhbmMpZM)0BX)< z!vx|y55+L)>GV5nL~26m>tlKaLhI{RXmELi`-63rstsJ-DF`kKlECfhgv3dg1Pg(6$`hJw@b65`6Q=leu{E2bF;1u!79o1oaeeQFbgB z_J<9Ahz76}x%b}?2!&~?ss<>O{>tv}yz4$M>}Z17A5YeUc{DSnL*c8?YRS(ry~fw(hbC<3cKGoGd&G63)IuBZMyRg>`l?xzo& zabut&Bm|@ufEwJh+4;Nqp5&w%^Mir?6!~0hr!qXMUEG)i0)dWpuBlOLDc@Cu^=Mwa*q#~Fa8q_;wrU@3 zU4m=~4OBqwnBS@V(E%} zfSan->McGsE(Ml8us9c4`{}*ZhtrhZp7uHwuF29|6zRqMyipMq7Ov*ix}2gYr#^`M zJR=7pv#T(U8;k_${kK1(S$yu$+Ri^;wq8xN3{8x8JvOOG@uiobrq&K`f zoY}t`VZeZ&w^?g(wjMQcyHpNU;#zCrbvcMxG#b`mY1_G&_8TLCsgIyucxXROcBWmw zWAR?2F&(l`y~bC_zKXFOeSIQwE`ql}nm@(f4q}iV*V&1aWF*%>5QVx%Ob8zKd1h=R zpEv7vN0=h>621-SfYyx0t36Jm*1(Is)(8Co_K)lhRHGJ0qxqj8OF`G;v%Z0EmN_!+ zz4;??fwx(0x`TB@jcZ?eoDJ{W^PeWP?ffc@#vjS}pS(0jOXZm@{M4h)_7$UWe}$#U zBfdATF%MJMUng*-d6LvAacM`%walfmDUSLd2{f0##5@yD&p5bu_SY_-y5F606dr6z zI8SJ;QW!41+H4-fUTpD{!M&(p53HJEx+;Y_NNrT>uWqWQS_5~$L9#( zc3(Ic%i2MZ!mA?e$Q!zDCdFZ?6iUR_l%f5z@{sU6l`oM@r-lBx+9>UEd^;1xZ+o`3cy`lDa9#!Ea6J*R1Bb?J_6*0W9>{737_ zI9}g0-Ky+b2_;;sr^6$uJdUW3$e$C9`b*Ie*wvNE{u?XpX@U4EN>5L}*6bNff2Hvf zf>CYaAn)1Yy0pQQvH7=>D9LS^mWoaX*tcJvO=h2A9}^tY4nHs#@04GiNBEeETEEjT zr*y-SDiU(Ugn5zwrfz+1ej-! z=Oi$qO5ym4Rm!!jiKW%8<}5MYkzu{Svr5V?8mBW+YJyeP&vY1mKEnkuqNy9jaN3~3 zCP}8Av{6fkhJqS(YS5LTeJjA@dYZPF_zUKpSvfLE4*th@$u*P}&_asP)X->jn%Qey zT{Z;g{dMl#P;V}xec#`FHhw{1OAM_ zdk^L_91-e*zJ}J>{l?GJA6CZCQW17-h%=`au#U`U0zkfdL4iGfJ zxp8f^d*gPzTMvBIb}Rj39A;B{yE}l0|L|M|K`&sZ>+fIorrW=#D?RaL49vvxy#1TE zIAQOnI>$4du3Rlpm??keKRo_Z_5R9xcRZ1q?XU%_+gq-Qcl}t5YS8gO`*{2ZOKT2o z&qRcur57(G+z|8#?Z1&y9pDr+Afy8_S&MsLS(CP-c8{6}!H`dn8lHYwTZE0R&$#hV zJ(J4xdQSHl)^`36@w_+nInPGAAo%2@vhVIN14f`nJbw+;?JL&Cv+3V(l51!Gu1f25 zem~gi#0OUF$jOll0?~7(STv)BWl zN%4Kw8?midl>hVtt}av(B`{qs)>~?kkL3VHQW=5S{66e7${ik$(_r2~&bS_1|3Z~v zMbjR3E@i}ZEQ!R^%2)i-X)c0KkD6hJPT}h*#PZ}aac|!i+eoVG& zP4=cc5o6nbCNk_lgGLcQkut=FO{7f3V!i|d(TLh>zfY6fpD*fA{k@MlLjExVs&ggT zT>GC19Eij}I;zlF#r#hMyT7p>vAGL%@XYFGQuhMa-9+_nxbw9(_gHTsA)yehwD8Z$ zK%d!AA1Q(q3s0sC!{v)%hz*JF2M0enjbAtfET*7CCU;c2>Fy0Jc{51jCsoYKKxUvbU@^)ZXz6I(PiV>8xoez;`amJ32W zNBpxE2GT;4;wREb{CIzJ!zSC(EFTv}5_U#tl2qE~ews&`&vNXEWBrLH9}UD7^1-SR z*V`BVEG44$S;vSbJ(6Y&@*lCAM0Sn`GJo8l?6dg08as}9+DAKofPRc`Y~M^6<4=F- zzm?a<`ms;`TV_q|0!@EyZ4WNze+&73CXy`)XV@Qy3_$;^X?b~9&^5j!cCA^wcqQ$1{;2KW**rZ8*3)bzRRdxn1L4 zUaA9`FnXY>A80}aOi{a9^?T+1{(cR^kmAO;F(Yu-#|vXw2yq*XW?K*eWyR=${Q23| zv;(`fPcbxnN=xf>$hqgEv!4~5evvn4aC~MEr2Ci$$7=3ZtDhJz?X&%%^!uM8afJEk zc=Mku501}-ljNVdgY!mQKLxz{(d!zkI*N6;Pk8h{AEVmF_aTq}mPk3A^?%621kTCv za(4yG_ivq7`nA%oa{BfR9umZ_e{+MTvn~ATOSU%!75?-ga|k-Tpx5+bmJXD-Ofg-hox|KtB-hl!b~qn)umgMp)&h0%92dk1SfS2|~719}@P)Bm@g!T52ov$KAF zGI6jm{`b$1Z>&tLZ0rCgW=3{K77iv>Mh?KouZ&D=07Az9w;J$&cR1QR=-Uwz0_+W~ z9USb;O#ZLV`+xfV|D#8!qPzqgG&c0dS2!t2QDp!CxD)^Y+JglC_#dutnTwAPAbVvA zVLcHjz_sdKzEOnsF13Q&S@Kj z!xxF9x8wITj^nZPS(f*#NtR4|o0iqpajyLgOIS=1>DVFyZvhXfUElW}e%n%1w!;49{XgeH`l5#cg7EF5 zrv`3B0OiXk9o~I+Z7S;4+3iGn)*fGF-PDYv)83%|Z3H4P9jtFkZD~$p?cp&9<3G1I zcRG9Z@PFTN^o7FGES9N}M=Q>zl^1ZNJ$KNYYq}EISJ=^}ooMXsFibTaVOGGG6L4iM zJL(wL;1!7b`gs0*X*c^%a4CB;KJ>p&xu61NOem&4H9HC=fp{Ewolm-f7O!W%K!Wi= zBhm5~-=yRN81&7^YH(vxoWjb;lWg78i9~a65z6mUPm7b=2R7u& z1f>k~$_=UMar8hdZWTZoRqwv1kKfP_Az)hc%}1 zxKx9q(reZ)ov#(s#00P-BeI;{cces6-kUFnJxvg+=vX4&<+ScHvqGO^*&Ml&i}+F2 z4E=mKjD>hlUiR$DTPFBL>v7<{`hM}<`oQ1WK?m7oeRh(qMkj*cdjF&njtqk}$ zfFdxHUr8KYKAUoHJvE-pRDocG8&mE#nJb$!%8wV}P7K7HT=ES1iMQXx&)t_I#Zepb z&ssBuQ+tJ=#biNyg+V6d!MY|3mk&G4D1O&0BrMzhFgD}6z4~(Y$oEBLnm*E#HcNN{ zX+cP3OGvZT6MS)a-qozvMoL@8P*oCkDDsKMUr^N;Dyu2DT{I_ZD@zkDTK#i1sUTLi zfm9AfrS{a(xOBhlWYNjXhQkjIMbMQ;K_sA)qLH4h)Y(q?f^?Co6QQ&#iX=$riV(81 zIawdZuE3bmRHhWugiU18HrbSKN$QhNtjZO|(Hn^s_d}>BU}W-rx%<P* zMfrNu@prGQ%RHkKHz}{HrVk9i4~x(3^%UfqFAYuzRtrT8FrgMZogF3c7pYQM`u-=Z9YJ$n3Sfoc+3_|$jHplM5zX~@@^?`dU2Y}Zz%}i zU##W4olm546nGV-(}_WZ04FUsGu79xs?qR!1%m(<|6~ z^)VEqGIq7?dz2bLxK=@vf~*w;tvp`Xj@Su7*#(ohQkGBL&)m_~q`%jgo_%=bf)K$o z1#lc*KHD*G$tPia>#`byMq#=BaS4lE~g} zu@1w&-I#h&6$g+;L`K6dswt<0Sy#SD{t!;^UeM_mpiz?O~Ui3_h$MHgeX!RLRj}fjNEno*@BwKgPyIL%feisdD7@=ow3SYZX*fS^L96I*cCE0AG9k} z;bS6)gnj%t>iPL?FP}pFX?j|=S3N18@xa5f*WMI=tr*jlxv`Os#-f_6AZxvsWiLTt6;FidnuyW4$KJnVP?1IoHS|@VNCy zV_48W_&03E%V7x1fZa554>E}p(w@1qyN-wIV14&V01DY*7Z8rF`)!|TwtKmEwlg$B zUk2rvbO@|$^tw5|^8hgh1}?8sS}G>S<<55Wn%#_Uz2#yEPW6jq+Q%3X2bQ)Yp{N~m zdvBh_U)Oq0KVDjK85x`KSSYt_@OF8rxqqtT>$sNK6glHg%Qhj+VPv81_1@k*N$Jtt z?Bj}^%H_E`UDSv}`I3UAmO;=Upr^vl0{jPo2-1OP=T{cZipH`pBk`$B0RL+60? zMDMHMd;RG>sd#V&=JlpTetl^MtJ}-0qi)38&WtNpYE>|G?D;sS^5~oGd8Knamx*Dql2xg1k*;RlzIgP9Nw=IQ4vE$L=7J-;^*NJC7rY{! z*WhL+5@sMei_!DX=w?s<7@s}&s`XPag22^Fb>?%*hJXq(SKjN0wZjRw+sRF7sSlC% z+9F=N?MC`UgSYoa?IVr9di3$!TbWt~@BH~p;E<3mulISpe-ON8lh^6h<$3F+$uq~Y z;|eNf=>qu7`v>i@|CvN4y#ObPYPv<#|akir_#&V$&HLHvaimb^PNi5 zX00c0WRly5q0$y>?tPHj+(*~z&W)zJt}-^T{MSwwHZwEzpQF(Vv#6o5W^;Qo$m|E; z4+ZoWf@k(7aAsOYR^ZHw+UE7o%2TEn3QxawWUJWjxWujZLS+|X7@uo#{SDU7 z@s8v5q9OWjm`lfjxI@hGm46L7!4tw)TA|Z7GxzNnX2xH}uA4QKb2WX(gZ@ZO>Qe!7wf*Ycb~REf@2$>#)iKTOVZFNg ze!dZG1?l=8Oi}z|Xp`O{(0Cgj*P~kjB{^F&43&nqEuC;-q3ST9naS#ueI9 zUzUxr*P#Og^5r%VKuRcJVjPUI{4{_kxybf9mfQj^1`%oXew7k9!Y+S&uhXG~gAs+r zc{3Av9n`jLJ$o0J&wYPTV|^Ys&fvUIWxdN&;S@qAxyHPkpKDl5n{_j_F~t&%&xP4; zwiJKQ-)gg8?)u7ehr`E3PkbS%vlEeJ89bK4Wo;DgWrz-5jyu1-nj1`0O;ddr?Q*NY z(ZNQ_#!}ZhT|}OMvHvAuFL6s?RF2n^v|!&pT44njmAmA4Y{D^01_o#8DO9S2qXO?w z&3TG~y4?B9q5rSonfhDn=i!|%%TahzD{S}i?H~h|nykO~A^i6ho_?OkFkMS@EE`T< z=<~HiW;aylv0jf(O-8T(XfQIJ>{Dr?uyeZesC(V(Ol;G&?x5g55_X-=13GPi&qUA0 z%uLS2tkSm|a3a8^9^=m16xbJ%MD0d#Hvghcvz+c`gOxATRyG>4aN+5V!PDc7I zCY;kpsMv(gdD^-6M^_ZWdQfIbDW)z@c7X_K! z@#ZXF@D_EXh1J$vj~NhaINpYbZmJL>$?`_SQITdngu-}$Qd;Ng|G@LH?Y`VKrTA@%sP zN%K}Ui(bR}^q25rJjidU*iF9POwV(r+Uz~nW37HSlCeJMDz=HS+$28RZKN#UUm&!3 z91o{+WhNfI-Ug(ZRh%Y{7k_yU+-2^SuAx?$FZ%VF!}nQWFWu+IEX1IxfY+Z-=FV>n z4GjU=lgrACD8OpH?_RN)zs@sg)J-us-6yxLyY9E;su-#u>;=$1=geqnKSjw(DsbVp zRCzbl{AYgFb}Dd0Lcm?o?UcJJ{l(TKlDU8zh~ni=rmkkzSnGCdfyT(k}dkE z&+GB+yFBr5@_z9}18s#}t)jBcg{&A7VI>!KDxY@Nmkhj~>k&oNY@Q_Tq-2*o-fRVQ zSGywGl7(9$Hx zp@ythmvo7QbrF( z6sS9<8a&(Ey^i6{(tR)HA0;X~h92)cccZe&JM7FElTdeYBgV$%=_+1s-l12|)^8sB z6)tYcL9LYj9BP_fS@tlmHMfI0!MteAwM)GomwL9jE;i&ma2I>e=q5@))>?p8#s#KM zVZNojE-UAOz?)X(RJgU6ktfpmBg3DBL9J$?HzdR7?sc+h?0k*&8CmOonC_u6mY5ll zVO|vanQ$IeZZR(>mIQebjY9`+vFNDYWKIuRi7@f!?sg_c7825zTqMV?)zh^{@lEHC z6}R}^Z(sBJ!8&pvIS!O-M{qr~r+Gg_o0^{Uue}CIV}VYR3PgmUt+>7>g1`%8Omy^+ z9l>vPq@dH=ew3O{f!hR86%hd&1%rHbF9RpZPT4nCSz<>}Ktz+Yh!=Lqh!am>?1az= zYw?IENtih0-gF>9((%lz1dXX?bWYI==N-1^<#4e?EqTJu5~mfHx(8N%V5duhsFpla zw9S}QRGmP|g@ z)}}})j=zg&^TZo}NPXmx?<};`6TA;zeq9awC(0+-j89j^`Q--&QxC%@qwXf)jnVLQ z+ro&oa(lk~d}AX4rJTw0E6vF~ex0L-U2WiFBVwg8(KQ%dD;Rlil!}6i3SC0M+08~q z+47QS1P(r1tzWhVgE(=soQX5|T;K#cm&l1C&Dl%Tgxwl}iPzk6p?j2od|S)ZnomGA z&gR!~cv{%Z;nPy5%_JbeYj(J7z1c~TJ61n~Svc#kzy7@o6OC?^!R57Mq`8^+j+Q~o zz-!++_?AUULrCf!>+$;onek~pR{G#j2u1>%OUhJ~M*+a3hn~(gI!qQ<247oL4DQLq z&K=(h#e>hnS7s?HUnz+A@(i5tBj9a2s=#7m_vQ<|_SjQww% zUpx-CLS=NncsMpch??n$Nu6=LU%6;~i|JaA>y~xzTc7UH9EdVm*7drI#_{8_h4Q|0 z*-au}X)NF}a8!{1l~3BW@4OkOD^aJ$*)mn3*nCyC$M5jqLKjPUdqUV|*gb(FukW21sknH5?w+ew$#*$KZMs^3dVu z+Z{b@PPXwB$zk(YUNy#ap7#3jU0^(WzLA>Z5MW;DpZBJ`f;@Y7Ds<~MJ3P%)_4M4G z;tD*)4^H~X?2jVN~bhtPqpY(^9eDOgB|aD@oLR$emNm7E=xp z28K&r2@Blpg_P^;(+`l`rKf#OG>hH_Huh%aDUL*=(+8clus*qJ@@6eL7 z?-tb2PWxTjOV;D7>UZTGeqh9iPJQ==GA$+r(v7d!9b13b%|C`q`|m+44ucJ?GTpAb zim$xp14V@qx8c=>A}<^PCyPF(rt@1He8ZV!p@xtkmxw|DEKyv zpJo4|d1f|U-8 z<642YpU%r1x>#(b1aq&k5a*|JzfNlvf+0@7&D@P8FSlMQch-M_*_VGanuM?k(c$CX zDHO|~m0xf5+7&@qX|SKEj-=V=dzl1jskdY;_Io8k8&~_lRMG5w8WW4V*m3SI#q{j%aB6eZ8ynjL z;dnTEcBf?>1%=Qnaxo1vVbj0$^d%fQ&p+5}rDH=;xrN>O#;sV!=;wQpR3>47wB+GS=_r9!7#EzI=;JNUKS0jy>Ht_{%RFB`w*fm=DtPZ58cp_k9u^ z>z?yZ$EIKivf+>vn7;n694yf`vZR9Mz<;+~=6yPy34v7l5zN=`>d;_JQH=*YX79B# zfIQcZo0qL03uTP2O+4L}>AVk@s>Wm{1Y9Y}BJ?tFoDN@NvsRbRue9LN4yFoM`&1s! zoh=gQ9Rqwd@RkCXA`nFom8&BI?&M%f5_hen~cIjrcNeOQ|!}{#u_wjj^ z(nfqKWiZC5Xoi^uTCWilI+G$x^15Fpa2XmM+DoGMh_Rnd|8Ho^<1ysyIj?#d!C4MA?^Z)`*mZ7hf@!o?#pif zV@HSk*lo1s+jUQgwVTTyU7baji6_q*>@gfeCT7JLmwrP zXK!}bokE$yWcmG$d--BZoMey5lJNB<8V24ma)JFQ zyrcE~%syRN?RFdScLcW`Q*p;1@BJe8>ya!QE=s#09i$9rqEd6ox*qLDQ!nvk!MsUW zTTp{?aJtQUYWnif;Q6JLEJo+@FF^R)GA2L<#CJu-qM5WKZ4UJX_QCa=&rVsKY9W#9 zn+{y-}Tw$ztxk=(bhmOFaMFFm(4L!2$m-oHBEon7{P znQYqDf_;5--?Wf&(9m0+tMFuUPg{T5^<4Abm(+hs4eRErDI&ZOyeKcvTsFmv@Vbsv zXM9W^PlA7Le4kO^?-vfZrU*BBGxrA=OAnQ6-t}cn^q()+Fp*oR&%WWsJ~s>mokc+| zCgEbU+P(U$)4smp9eeY79$)xxK7YKJ{u7E(CqE=kn}KFBU3m`>cV!NqIp?1Qt~Xl}h&s31M+NYEy1@wS*$RxA$A`OI zu*`L@8kH8cP$c&~FZQgnEDD0Vv#dl+yGNMw;rKE6Kvc3Kk;)9gmQ%rGA%Y}=p>C{7kIR+)Y**-Hkoq!q zaz*_J(9&XL{}>f=_l5 z1Boi%qw2!jQ--Tm>Wu!`xc$ijtWFFhWhz~>GIGn+nNs(PyJ?@wX`}1fANy(?D^Q`4 z*C*kB0qnZ zXT14Kcrx9SU*MCu8ojha*vei*keI7)%PVFk%iI9KQ1cN+yHne{nKzrV5#nKFV&wW} z@ul=dD^1Jm1~L2vYDfWCkh$?u%cpuc8Y#pWm`>1EpZhMWam5~Fzp}xD3K6Th*s(;N zy;O&mL-2G+jtpv0UbEfiE`ln5kvZhjQ}lv;U$^@$ht0j{-Qw>4opt}ov87!S63(WB z>>|t3Ttk)+S#dw9BINHDKQ=E=7O788iv7Lm>s>FcGpX3%=`Ci2{z|=zUXE>RmLv2v*f_qb?D6&OWL<6e z$AB?6-V7&FXAvD9hq-&vPgHwN&$uH-d*c=#MMVjgkRmjz1lSfl{fVL^VZ`rjIF) z3y&w!oW@|Pz->!f_v@&58tt#M1OSxr##9EuGD;G= z%5EZ$&UgMYo5za<&&RssK=EXg{7F468x?=2!R^t5{n8jAn*}ZSwt|dEFtz%6yE!r3 zL>7O9!f(^PA@Fqd>xehRoh8gllh^eU8JTOS+!ukw^1mRWiA2$Ct0u362uLdr9)Cn( zp~`J~{Ev!LxmlWb%e?$@qsz(NAC(@b@%0YRthYK|P|8KTlH&45yMpyA9V+m|ub=70P@e0)+9ZyNO?+9{woF>zi7hL3{;UJu1z zQU3aed_v2wn7}D6Z-xD862LBQ+mYVQm;E^Jc{2aynqmv7x7AcG3Vio^sL%-Xc4Mmj zpGyM-!$kln6OLlYHa&3Ot(!qO5mX1r|8-~Nk2{yorW_T6+_7Op`GmflId?pta$wxk ziZ>!pDpm=+Y$9~Lzn()0!ZLTFIO~Ov+poDnRt1yJ$4M)>BK>+cdwVx z^M-O`+LJaI(kmXWE4m+LKEm&>#o zAn;v$D9}eCf%5R(4sxH*I|#U5c5>Uq2ocsj@3rIX@t0^sFG270?%|R(rO^L<=mr_& zH=Vclfg?VkNO54s&4yK{<R}D{tWn`b7M?pj@mfVlF z*#wI5DbDu7KC*c}ZRmKp8fk629_JZ|#JNAInP5I35b)y7%kqAERM+*qEpIvNR*gqA zpu)if2ybAu5<@$+84g4}pm94K_(1r@Z1@Gt>w4pXHB#_Ob<)Lju0Nl(L_3U)`4|NF zip*ls7&4MV>)J|!$4!Mni>^hM&R&Eu)=?1_5Y4zmhwf5nZZk~9Mgtq6y!C34NXY|k zHt7&tjUQ4d-3=<-ZVrI>9s6_HH5D=cP68BSz1IRbBumG%+X)AsIWeA9+UuzWFyXK2 zX4_Kx%*&hKAJCKlQzPp9}Z11SU z)5V(o0RnH>AMxaJTSPFB{SjCqH$WiZ7r0t)vnmRg9#1!irHn4;ZTBubKV~UUP!L?h zL4S50Oyxr$;PZMs*ziIqLMLHdgk4DHk5UR`v50i(qGRO%)V%Lb7CoPCu$YY?TR~GR zfwD;8>Mw_BDpIIk%Q3)w0`8J48rHpV#DUW{8J2{FVnX>T0X&b#y6@7|l~@}es)57B z@qX3$8v03iW9b6$gQy^Q7j;AM+tot3HV=siA_y_S~ zFdmN|2cL8n8yo}j^aYr)v0Ci-8zW$A+IrimaJz8X;`a#-l-{Ur8->plp)0$yP>=Qo zFlY?mQvZSb`S43^16~ulFZ7 zkbTDb;RIs=tXbe^OcpB}GMKF25$kdDC65-kvRE4T(ZEFVdUvxfUm3hEVYI{rrM7>j zu$aR8T0Q~znryT;yacs~=iq1@a`-=A4Z<$zyNfm!eZ{XE-{%KO<1Jen&KY;dUSvKgpW z_El+KUwA|On-MT4MmU!qwPR22CUpua%%^fa0t0F`rv<~~_a^{1y9sv5JmjhZc9_?o zoGW?Vp%BRJDR4Im#qq_WNefQ{ys&amXObFH1UUs1cl6DDtGh49crAfus<=p$?9^#r zV!@E`*YN>{>O3$o@p|YXFz~M`)gTGlpd6q8Nx_O>0v}DSAK25s9YWB@TwW9xHaaarLTIc(D_$Pb{S-&co~8c%Y9{*)l|;ftD{7-Ra7Ghw zeHugD4l0_9FD%(+MM)It=A-?78SO1wn2UWmA2gq08s}ds$knvZ;25rcAz|ebxD3Jp zsCYQs{PtT7i?N_v=({YfZD>dpgop?13n=snH*^d)(9e8C4QjXJxiZ&qU{Lm6LY-D( zz$~1&@eGil?~eFS7DxZDRsS$fKc6!E{NREX_H0(Xt90vjsR2n2`SUTvV+nyLByF<$ z7h{_~-BL_#GVf6Hc*t*<7|otfU;3-q*H=j~R@vs!qyY9<^*d!k40?63+-m3`u;Lrx zQvInD8~7W9io9L&hE12Cdh=BxqeuWOQlDIE6rf7Ft!^|I8Bx7HNfF=}Jd)45f+8QSm`Mt#B0pyixk)N{E=Dg}^0(e8R|6doGe8i=bgKn>@Cep?BwDXh^>Z zQuJ%P&kS;Zi61CLG1eCNEf$e?nKf1}e(&zvSk}>xc9qvlPp^3N`=w~kbiL!(7^AYq z>^DFF)=*d-$7V040pJB{1;dRAHrqt?wb8qk3haC#b>!7UykDNjRx}fsYMWeyNiFULGyVHv zp;f*ruO(VAq3m;fm~9P9hdynQQoxmGDfSD1AczgY)GB^)JU8Q+N1s6ySYE_s2f$DL zL?Hs1h{$39WDuBk?RO+`801c^bP@nGY?CYSgHKE#4k|*Any5bHX}oYLLpCaLfWaOS z=vG<7TJ@rv8kIpV()V~IwXh426}0QUG5@Fqd5JneYZ{?wFL*wJ1Ly=Owq2LIWacFY zWM^>Y@Ha)E*`BcLumV@G#aeYty%Cc!jBQ6r8oS1>T9$+cDbMN%#1shG@N7aFpN$V$U4oy4X$3Xca}MS}5UrBc5q#4ooGOHdCN_Mk_%ltdv03a8QGms=$g82??&LvSpT9xvNkg%#cQ2&f8wVM*A@FOMaSTWi4%l7OlXk2q0ds z;-t9nSgrr@=k)K28s?tqpG>TcPh$s-EkeZ{ zPR^@;oa)!&@mQOPp%yY@prG{b@oJ(XZS)^kl6kZ@_Rze?l+(uQnKz1A$ zn(UbFv&?}bK=n}Y{C}XUCNlx_^v{B&2(LvT(f{LpJO&SRf{`pKs0|&(<{-Nk4m1nK z)Auj>Wf0t;Cf!KxcnReC>G~c>69YYwAI1G&T&e}H>M%I2N7w67tbWN@M*F|f1DFqb@IF1lfG5pe z$;W=GMXIOb(%rQENFlG9kd%b~hwQ&x+BrcPFEO942cQ|B*2#e&sHHknS&9`hxgC}N z$MX#jK1dc$56ZYYs>kggbqt){=AGsYQ1kanB8O7;TQ`M4slqifnVkQ)z?TsF{=JVy+tuD4ME{)ffrKJ`{PdFc{eKh1&zs6<_PZW2Kh=(5DN*3 zzdi8#Cc&HjT&X6UdS{#a{o8ZLySqGdFNFv-7#P^|-6;$VjQ!QJjg(CFe*{uN2s99d z=l*n9yeN@cwSF8Q%)^f)LcKy~ z)dtG*<3e2Tm1altnx{`4>T1JoD=#nKLqn8a zMCe|CT);4I43VrGH^EKC^%g4i8zHP(PV0AecEIU`S76D=$Y{a%Jf9qT$W)b-Y-@(EkdzOmhy2tgy z<+djMhG^9;(oB(@h@Fj1C5xdjAcOKdv)#^MN(!a}IhR+pUiTI_I5=^JhOMpb@5}$l zmKX5?S^>cQA*xm9bx+*M0Jv>a4-Z}xAUqzYZf9v_x)D4s`LX0xqo!Y`@)~VVzoJOzxOHG z`w^pn=m^340c6`cDzKBq+QOfPg$2dz{m%LwoNI%EAm}0~yE2B~^C_n%+Utg7VTdG} z*Pwrmez2?Ueho(MasB;uz2jwPrgLsNYww$-88@PN-M5Soe z3s8@9_jMd*qYyEDtX>rbzCh-WE8oYAfKoj_n8U{aKBb#Mk177VMSx)I2V4K%hcyt8 z%4&u@8(exBP|8$MWj0gv!*NpN-&he%(AGduz4}z__aOzZZdyR#=Kg*#ULT@~vGMDn zg16h_ZnEp3Uh*#>T5jvd(1CXA_4Wk;Sv+!^jZR-q1jZ!H*4|!G8l?zs@>I(Z6NO= zg|SsIS6iG1aD*_$mlY9f8cVf2_EJqDWv6+&@)a%NNc3@?xi zt;I=JR@Pf52trJtX||`+Z~|2f(OS35Y5S{lJb;#%JT;dQKIrPojs$4I8kRbn z+(1ss_GF=|*O(vJ`#Dh(fR3Gnh=mpU$FvEc0|d)^2I_Go`nVIXFo_l4YCM7typchH zmLg#(=`&_UtJ{t%53pwR4T2I4pyiPPd$d7fn~Xn)#6|A>%myR~siF7KhoKvTRQ|zR z0Z2{$__2#0v~1>*;3wICj1&N4wyWn05UkM{{{6v} zzdQLhg?z>!VM7Ier+=7Kmn@_DkjjvXNYIoYy|^_@dwg zcbqy!!AROE%YO#s0)B^s-AfJh9oqZ({#*gy_4_sIg5!6HDwFXHv%~5TAo)(Pth)d% zq#L6=prjmWhJOuMr%-3OB;YQBh~W-@BvJs7Z%m?YL3jOHI^vJDLEX8)vs5GPbLg~k zzF<8{*Yn!(c3a^BV*{muNdm-c6t%8>6aye1NeyzwKU?o0AnL7q^!rf^vH?d+;gDCk z2fr=d?1F(gETa1`w6F>Vkm&lOP}&>|V5c?s4Xg{SM!*tnLyx!t#Zk&ZN`y-)4y^HN zdbmZzh^&Vi2GcAE@Cya~xeN1;+;M;yh=C%`*S+68Eu21#%H_LZ?&-0s8i4VlZ*?sA zSrOFU-+t51G!$0`BFp1S$_c%DbeoP4kpK8K4$#hQQ^}~%`9%uA?@a+ca*K!T^LrFE zr*-)YAXHyGn{ho6bfFn^1!VNV@HTba6y6Ullt)#=1B}FMVNn^a31F49P1Mj0$H@cl!0ltZ_ej5+x69O z)z@i|56Adu#Am|?l*e0W06v4VNDkC1w`CT?G zk^Lbhbm1+TjdZZ~GnPQCF%}HL{twXwMxGRPibA!Jvw#=`V~2ox%wtzv{A>LPH?&E8 zQXR$HJnEv^cH_AuWahxP?)JOCY|!(nb+ZVKKcwd}*4KO(Cs~L}AD=IFcWnTZL=vbN z6C5ON45CE=pY!uf3Q~z?k6+fh=!{K1hh*hrbu29iJe${^%T=B9?5}a|dVCg}45MGM|LOxclA(L4X)I7QXVe%Eos$>`dEhDi{GY1>2{BQO-v_ zCn(T2K!{umJhdUad*fQTh{aF_uogk?^YWokSf&i)@0UE2d$RV+~8Nq_65BAm8Fn5A=u(n;0wWp~2*JnVC zm=IY}pl?{(3m3C-rRs@2whP6H$siPfu-fzVB&DGIA6)y51(+CU9(I!hSfe(2$dnB* z0C7=90`IDZwgKK5d|rB5(a=jO`7d7XWFsL&wi!cg2DMnI-29-rTY`iO03KA^c7QI_ zkAb(R0FCN@q52!*1v+x)T^nq&ruTj(MswA4rOB!V6>$qhb$^UC9@p8R6YoyC`1xo; z?Y|51)*=9VL)`|p@m(}hAB3F;@aVc@4|C^U8U|EDjE<$B{TLtUbqL;@2-Jc|FlGG+viDCwnR}>^Go$hX>i8UvBxP&Wn2tT%^YH{9BIxU77PxFKvs#KG61chC-B$*t?vr$Jt&YO(wVb(6*%Jt!aUH9Xr;KCwDpSFZLk&>4mZ+1K$jcb~* zi>OK`vzaI+`yf^OosiO&AJE9deE9ZqfWV%z{{x)=Qr+>hR{Su(6AI<U>5&7*Um5 z6bSiwd6MBM_23BjqvMIV@m-;5I|(WkoH@vF2zcDRxyY(YI;k3ADFDg6R%tK!6h_|@ zt)dmD?tCMAnzEo3$#wKhcfkT7V zahxL;-0mvGKM{v=z$>04N~}&j14?*qg>Bf^Z`2NuVjM6mI7OJ@rS}2OH8nMH>4yz| zsB(L~G{)mum0B%Jv$`n-VA|&m)dWJ-t>%i#(*SJr?hi2GfK=j!D=ik8orKEB*2@Yr zRVvel^3LTU6!#D62;2^c+{om&cO&$k7Eewr765;e_r|pNvlr?uap(fvq$KLSUftYW zmoPK=okCFj8O0p1RNbEBsOj5?GRZU9^uPCmZa}RPWM9q19U6S6V?&7I;{^ikAGcNZ zA&VSml~1Fjz6?_Ub+v*R{?La{{NVZy*Lh`&*S9ySbnr!N=itNUdQVN-&)-V+2wFC^8C`O)#-zPN|v>*^^%Bpa9a};K2V< z1PC7)ymSzQwyQm3r~d(B*C12X#)gsTFoBA&nae?(gOL=yYcjHfbikgQyq1jHld_H4 zwYZ`|q#&k;CLq5+D0oa#N@^3_;unG>A&~)5ss(XmYYe?6329oqaUM!?1c0*;T)N;p z!6|@2%7^He4+W9b(lD^ufe31ei^)DBFl{(G9X7WEC3EV2&sRmqP_aBC-`03G6ocEC z#)9sl)TDbZ`#srg{>&gj@FA+lJhMrLcrYtjQ+fmareu0;X+9#Ai~_Ln6E&%?kh!3- zQeW@ay#=}^15ALm3C)}uSgQ>CBZO!R6#|KPD<-iXYiW)1=87#sk&c~R0X}5&M ztdw3r#m^H1D>;PvWIv&+7XUn-&M`sDy$NL&D2AmOPa&2@O4LPQ5eo>S6q%azqjZR( z&u7+^iVo3JyrB@P}~X8^YMXKMcc{YA~Iu;+(T7Kp+xJsDl9=lyf9M$ z+(x8158yc~&PT$i)Q9Oe{j>4a&4Z{B^ib`BN7Vv+tY=r zZGQy*!BE$X%@IThGwY65cHhJ2@A$0lQBS)mLTSWWuQS)kc3ZunZ1dI#$bx#qrtjf!*dwao_n)WY z4iov`U+kNqzVf&cqx<&e756WsP~~|SaO|iWh=bhF8f93)yh_0TmKYvF8OqO_OKdC6)(Y;A{mc~aAQs8^K01V zusf#Th5JfCvSZpA8qI=lIXOUTD0NN7(8jYp!95ZGMu!B!8z%IvuCG_P1Of}W41+c! zU$J0U!=fA{arEK${k9D7uZN2GF6??4<`D}m)uTkIMkoec)ftI>@OG2&TV^akLfO$Q zS1&LKAnZV#hk!H{&>mvt>!F151D}e`&+I0X)FTZPQ>?I1Dc3A@!J3->3znZkp^=2n z5;f^YdCOVe;k5B&=fUr@)@ylcKDiKp1O3U8OoLdD`&rZecP>`m@^tI=RQ|MnKu?an z5N#cSnPd@=hdQ#LgufUmdSnuP^f>l)G&8F^H&xd10_2D&4+W83uZU{luY7Ru^cW3J z{582td^ z&@)CBLB?7PlT^?8;1;q+_sRK5VphZw$IZZ4DIF&Srn^Z$L_~Bgt)o}ouPC~RrwH4J zaly`)4i6EJHBi1mzWLjM|L!*0>i7GzRVKTeK8M!>kqJrh1N2Q(LLX3A7r(M>MALR)M_upbdIiD0*pI6oM`emM1k z7p2hPb629^%L51_`WY$Mi#KG673X$P-aIH!RhD#LxuK(FW1hV-U9N<3see59K711S_j zy1aNzKtr&RFZ*&JF$%5J@V#^p*TSc>5s z7VF0$5o&>9d#{E>em0akC48`-wUi2as@1&2!|1)3it++Mh@Wa} zduTj4_Z_s~r#*tPR#|5XTM0R@M|W%5AQv))z(EkQKdXK8B+nIwNht-rd$Ljvdoq@_ zO+b1&NC>>DwOjToiGD~Du+1J|h<6x`NoBBb@Jk4PByu-@LRbWqoEU0K#gLcL;y@5E z42<8yw@NG)6qrvU0>mtgARId-U;wTs%wDip;mC0iUDl`F#dnv2F18OJXL380!CWXf zglb^PjI0C@laQr7!DR=}^o3b%RD>PxqH*iV;&Y#Nj{iAkW4Jd&h!kth9#lKXqrp_~ zPk@Mzt#8t)Od6Jo*ofUHBFNj7AWVU{qe_^pHks)kxASjh6SSZT)@c$c#LPPy?}cEfb9MiQ)^I- zfLe=fZ>H$ygK)h;F*~zzXmu^fAQ}h+jmoko*E~y>*XcYILMEy+$UkNFfi~4%R-MNdCmjnKpzW{!8Y#7bge}Y%<`xg5nl4wA{>A0+6+Jz8^ z^TjNQ74s|7*dHRGh*XzxR-iTnILv+aHgFKzh+Yr`UcuKQ8edSx(LB5BqiFA!{JQwG zlFW2a&NgHbp!AwvKLg1FRKh)0(lla(sf;YYGmw^W4`BoIL+BxFDg&tR7nISL2eZFW zRw?tZ8)0Z-U*`E2%+*} z1%Zx0vZ~$4dfTxPr<-Ud=~ijwC^ZtIfxO}HYYTmf|zMzeW-+J<%f`^>vqyd`v~aIa#jZdVZqrH~632P%`8 z$p=Q6_2?xIID)vEwM;J%K^=@o{3UQZtFi~kheP%;Ak)rD$p$2j+HTcKARz0-W1tdf zlB>*eP=hEc9$erMyTt&$2FC(Q@)G#Rl3WobVgCfFLh2P-%TpQNy|9{nV-=h%vYlf6 zPPp(j9mfwk2gecrJpa_`NC+4Jgb5T=UGyammoSI74t^i>9u+qV7dj9h0k<(m7LAy( zBIkSmH@+M}>{?jWLnlh<9YsS+cHfQ-kdcPBF@Mk)7)hTR;N+NEyd%1DX==^Rg>tYF+r3)zOzGM9D|@_Ih70;j6;H>V0 z3PH>_eUJ@xGJ?6 z;0`Lj-)`;RyZ7GuZ`G}O+p4i6dx?>dr*TyMiw#qQ^58X0Qq zVTHiBo)^a+ldw8;vtt`)EJ`2(5qft_Cna@?_ZC!Uiq2h$q4&TTR>*a}VJ!RJI}oj> z@DG(9Q~}Llu*wBMK+7m$ak?%>3n9{fD*DWMid5{uPhGNGxF6B)J!nHZa(&}`!J@mZ zx>Cvm%i+CO+4dGPRC}sEcZTEG_2G-e=I~rMx>tohX_WuY_taB$QtVWI}5`;dhK;m;pA7Io5BB+gH3^eOJ5%wxm%*rD@>I3o4>+Rk7BM}nHPtM%+37!c^ zDA1fcFgQ2=NVfB~S=PVQmlD@A*Hgdybhi$tWtL+`+1^%PZz5B7 zn#aKN8LxEqo~Irec7d!oBaakakCc`zqUB)e2pUqP^YMKmpN!LEuo8%hYVmffrIb*@ zupT8Mcz=Q&ktKS&xaz&IXc(3T&G18qPJNqh_h_}~8Ova;hW2k=GDcig^9Y!p zU>KJZR{i|J^g!W{s{|1+4$;9OLOmoE7@wL@avNk1eIE5vGBeOFQOE3y1HzR030+|1 zl+rti$WY^@DfHU`zmL6Bm=*5BM6i`=o)U#W@rKY_I+visNI!AEz#mHkY3g z6(4g?5qr}9QZ1RO5|F;S*az7RbX!_i%=uMLV9tv_7`NjSZo~ZkaZ9~oiece$tVFb~ zP!zX6bY@JVo(UVsxS)q+5b^$*j&UjScERa>K-AqkAOp;Z`3~|O&-L~^5j!lJ*~YoH zJeQY+viHp|Qjgbq$Ud2RI-W1bIQkvzXK2YZ%Q;G4eXG5Q zZ5nGVrSkl`8hi0E?Bm%py~S7Ra{Ck2>~s-SqDOsV1&dznEm7I8)L_hr5*E}P)_Q=8 z@TJNguDxP0IR=M;P4M7i5OE!!r(f^zoys`RS9j9S?zdSM?>4+>cc_73op#HuThGco zJCnIs$PcA6@SWx{ruWW^7pQHi^<%QSd~w3vxXE|NsqRU4zu!Z@-Pz;nslDUarnV{P zU!S=go5s|SjPGT7+HdC)@O@g%ze_OJbXlP)I_s`Fcii*s(C3U8vbQ>{KNk!WQh>1_ zx3PQgf;7oigf!-lCzz!&eP(uZFfUZ`2~s5=9p)13`W)<+#z=qIpZj!4*N~M~`a*W% zVi@PsoNd*!pC4!kr9W=YeG;4T78|5&bgKVl8sOl&ARDsz>J44JT=x2>a|#}8v-%@s zL^n0*Crtx&S>4&x?DGjaO$Y%hbD{3J$(qp8TABHkkSB`A&xPWQ-Cc4S@^- z)@DSUw)@HEa5)BJFr#Yyo5wVk-}*O0y9eI1B~it(YOv*{($QAO^jWpH-QnkFWxk7N zQ7_I*9A=-lQkT*4$x_Me;{5vlFk!sR>|}++PRf1e$b5c`uMy!5SA0FN?R{)A(s-$Y zaWwJclcQGFFV-}7*1MUyq?KjTV$YT%2Ftc*Tog|n?dW|Uf3u7!+5Ph3#fc-eqWa;dU9L`AF5^&h9Vsr6N7wQsdIi;U{;CAJ|QOoISeowlnkez5IMqV*8`x*dGnZ zzO^imngMDpWRCl*(8kk)Re8|Fr?1gxi4!!*m`q}gr|el2C|5ss zuU07xL>ArKs%Arq@-&j88}Rg65AN8Q=wVS>-I=lt7OKKn^N=+k!zmRfMIH~m<$?z~ zOtYon;AXIn%uFvX=qn6+EL2C>KW9;WlzlYGk`@0EUA;PI_ha^Av>kP1yv|XL5QA;4 zb_|b_9ToyS%~03K`_xUllrJS-CkE?O7?LfuJW7HOSOGZUPr%EZ@DHwIUpB@3lY<|Q zr?~!Xr@z|6jDAx=dzm~2H&3jJSbz2NwIs#;k1WXDEAK!|f*w4`00cKOS=^;{M9Ufj z^R<%dYG{y>R!Sf5Vd!{S1fA#ymUHd4*JkAGEHrooz0u<3AN$h^To1*cBs&ZRp1-JF z_4gK=eX-swk@b3QmB;&RHFi*zOVXKP>2NZXiP_b{lDR3JLSQ!{KCjI(C8Y$`Cg8la z@g;~di*~R(oKk}6dE4Hbo$^X_=>L_bgiC_V`5~;QcBu zo4-5>18X1Av1B_;SD(yz^M#H(rwe!LPK6Iw2MdW+-;)*_M2qTShetD93HHVok~GiW zJ8WCf1wh60mxB4p208=KT#|2<;KV-!P7YN-pvKz|wDl@jHVTF%S&+j#dGx$Ao(WyJO>P4PX{$~jNW z=4#kPB0G{~Z~>gopzy0jzLh3V<#n@{;i!G|=YZ*9fiDZ2^P3DMLPf8OsfhPBTGQwo zPvS`CTgBW=56B-dj={h!|8)sq!a}u zX0MmlpNVq{@Ofs<7xRro(QeFZu^_h)n2^WwjWX`x{@k4(WzKi1()(L;oYMt6aW~#Y^#9HRiqnym@y>&f4$TB$1^>)dc29h!Si^ zT!xrBTNJoemL~9Zd{J; z{xO(YQf~R;w{Gzu=lxnvE$bxW0x=(u>fZOal#t+bvvz9Sj*faZ8`t=l5p&Y9;W8=g zivGd#t$-6&M}wwkJu6||Bog7=Uenc)+1Uva5+y&1#h-Gx`C+XWw&Bu~%bELl9W%=6 zaoo9s^X+nOabf}iS!T8#)HJRDS&%ktDRd>xOcdMl+TFT!x=w9*(ACAd9CMx9`hZ8Q04b0}`L5`>ZYTum|2aq)`ejkcz8)(xH;)z)w&_mrPGE7j;Shh8Xk)RaoRpDC zS_$Nl$gNmZzM=O66LUwB3}d<9`1T~DRv5ZQo5j^)M!5>Nq#mf}QOg&?SLH)2FMUk! zQA+@a2e8+N9H7+D`y*ZAZ#E$E)6&=`gn~unKtc<4rRkJd8gtwVgw=#VBqEUSCI4Fg z@Tvorun5H9W2hDewOc3bME@(hI(=XWz2pQ>x0*FekG?Pptd01*&Rg|5*vGh%cJZk9;s(Y>GX z?Z$M^8TLv=OBSZT)-5-m9SZ7~&YXCB%C4E-e<>00a%QHKKu)czFcJ94Q%*fnyRWkEbZd{YIzN@}Fj z!4~Q$T!v;7O>(3Yu>^Xm0lwjU!k1%6O9tC`&?hKzF|)`@P$ixbl(*qS_>0xug!G;y z51~h9UA7JL(}=Y!x|o+gnc9QEs@#HRDLB5Q$Eno8m+yis&2%uf7GeRyof?vzn$NqM z2kLY}hs}Fu&Bcwr`o`PMkR|)6TsRUVDA|_5aD=8N4?i|Ff}idsH5-_EPc5}V(cw=U@osNw3qf zt!QY#KuC}NRFM@NND{f)8)9E{o0mZ}_h1*LopJZaD#sHfnHNS_00-xNLW2t!+2g~9 z!=U|7!=d+c=zaF&sc`!M^MIM8O@O4umOwMS?b?a*-S`oov(-#UEfeFiJ1<&HSSHKD zJN8?0SXSl>FHUrM7yOn4#xdbJ6-&N8w9a07a`S|aUJJ4uARLS+jy>!Iv$L1%1ae&@ zSB~pCR|T09En1DZN;{S@_KoZBd-h&`{gnVd*>?Kr*0*u5{mZ>1LPoLq7wo1$65|vO zTj?`T)~wnKl38xa=35l}2Qn=gHS|WG@*9U9=etU)0j#I(sVP1NXQmq2T`}Tj6ljYe0)}BAqw==+Z0SI!LV{8tq+l9##a{{VpOv=FIDTtB%Z5fN@;jmz0nA&DG?j?XNUGTsl zNNqawjYQF~6Eq5jf9e)EAP(iw!C0!EXX=`;YIr!I52Z_>*ii5A$Cn9rtimm9<1)d@ zYk^ZiXXmi86}@zspg(o`Y2*lJS~#eN7Po2^#SIZ8dm|j^6)=QBHc%qlx@Arci;+X) zJtsFmOVVuX-Ft(hsD-hl;KdBwLwgCy0xmO23SeVlhIq+$;Y*G#r$5QCD`R?~e2vYV zhw`3yj_MarM&8=+*o-M`JZkx1Dv6a!FGF!R_-DD|87`3A3XQRf+yOrUwHgB|~tM{X)4c;2WAcR%#(Xk*hGknt{`JY-IsZ&IHA?rt! zjb1z8yS>Z=Kt-1m+gjehy*ev#nE`QoSV|i|9Y|%e@N%FF+15?y-p^{p=&T zz!QZ;G5T!egxW`$&hnxFbTG~eDA#fM$#9EugLx}P`mhz{d9zkW_DV}6mk{WKcx~8p zd=5bm30(m?5DP;V*J_r^;-Y-SK!-Zq;`nh$S4{@x7a$)FM;$e@IzI zru;Jg_@p#)?})Kh3fhXQVgVbpfzp2pQbcjwsy+%do~x% zSa!!qsp0a$FELZTU)JicDO#q*Z+WfD0w1?qfva%83QBFW0S!bR-(H42|Mm`+`Tm8s zZVCJ|-_x4lH}1U*_K@?3?q7Uo^B&&e9!1c}--Zj(xh~}Er)tzCk&@Mz5)wiRDWKar zVQFB7*L>ctq7FR<)scGsrdNEHXRhPqiQC56x9mV$RlX*H+$sr?6YpKNdQk9Sbc(_F z>qiEpLCQVvS(XI}pLQNu;7GcFH%dYu{{IX5$*!w z^QVzxc6_6jiyyugvA5d>09#{@Q2 z0KsKyg$?PqgDGC-(2)fFK51JEzID%s=OftIdAy;VNu8B(C>txeeV>OINf_nM)fd43 z<9qPyZwFEFj(BxnZ-TqB8wvRj*A3FAejb(yq>Fii%F9X~tQs507X9`J9gId7`mqBc z>8thQPX0`tVURxA_!@mH!LLrd#ZG-B*9w9H# z)tY_HEKf4+yU!mz6pYMknW;WoblxRDV;;eGDO+7-1D0dX$i@Oj13zxwq_%L5!h*-2 zhNL(&RG7$qgDfnodCd5HuUj|uyZrIh)H|w5#-7A=-F3H39e!du|6QLZrdczEj)ZZ? zd;k(;KQZvYFg<;7jtA!+os?}|1|b~_;1vT{?nU*g&-*60LS?DE4e`#!T!k( z(JXbF`DqjP($Rt?US}MtLA|Q_MM8s}ZOO-{2Ikfx$u$+5>D(%DFf&}W8zp!G z@hT+bap(Z~Z3-avckr&W^TVuP>8+*`HVHc6kQi8WG%JfHG#?^v9$Z>2kscV>v;ZDR z^jAX|z57E4VGa-z@Rb=R3|=QR>}JneiG8JS>VzmNa%h2rgvZaA|Q&5)Qu`mmESYcqF2=D~a zGL7=jQ5`Mw^Bi>OflbznBufeCP>s_(-E#kAYK-hp4orKJc(mThhrsu6%nxoz(NQ3= zb1zR#c?#9N1-yyfPI^CSNy$_pMF~!y_LpQ@a+kvX5*0_)(~g!o^nwy%w4%;~GA9#f zMohrQar{?i*Ivpvz_q&VJBfT{pltj8QsiIK^nPSS+dT-;b^Dxt9{x@zlTACTPgEq^4%mov7&c|a0B8m9JTl(3mMhFud zT~1m+g&{v$=esAzJ)%Mt`W{+aK`u>|92XyzYa3h{K4$6n`(|u=^b-}A7IQo?V@Zj> zc*MWZ<#M}v?YZNf`g8;RA|Vm6nyIf$D-*+SQ`1V%`0T1eAQI!t5+IqWVCo55Gee_9 zZsIO1sN`n-p^rLt2QZ%gC7Q7&YIYA(H{IW@! zz5H;5WkSo;P~VYO?1_s9&&DE!|E>KXbaGL&7Op8=G4j5LRT*y+HI4Ea7gOjB>z{Jo z^Hk<%=fTIl_7PMK1n)if>En$Y-E9IW(2exJD@gj~^73tq!g>oZ; zLtHI`9h>b{`mksBTyTUL$%ifK>Jrf^)w9KurQE=hDpL%~m4Oap_t`A0tgN0tm#l*m zkmx?r$F(GDcr&1+q%JPj<@IPyET2=}GJ$lUy}~ z>}I%8SUbWr0hEu&@7Dsds#O{}l%6H=d`)_9{#XzFNtdwysK6AurlI%hhew}k^uNyl zrFx6hdLKMqH2*eIK;TI{`-E0BqX*d+?_Bhj(_SqAV7`+{ZBjRu>ZRk`9nT7OHhQzT zISO{XfB(LAxan(2L!pOz9Qhr;IEnXuMEj5L4&jVE(su7Ny-%kr?pQLCXT3Kr;N;|DvI(LX+{A--mPV)m7!QBOnC>GYpHT*W84CcIS~U7={fK|y=z z5i~AXG7rfr%31S*G0{cT0%EZyKiW~8eDJ%^0w6~E(_#N$U?N1x#{{;!3Y5>?60IQU zZCD?P)V4FEp7GK?AB!fQ)ee7J+J4Z@+LItJPQERKh||ZCb6x;MWvvITmwoz1gduD& z)s5GKoa=h+F3b@ElfxDpayuvvGB;#4KK5*M?mILJjiNoCZiLHB6Z9 zCo;fkg>8zB3m~V30#0+%ebld_9WIjK{&pXM6H;+7n7)lGFeIjiWQN+*ZnDpwS`=N2#80UteD~ z!ptC;g}F4L8fUI_N4I6Vk{TfcUm~9}pam-3#dMEQEycCftTM)6i+W{nQPOI>3$xe4 zxqR^svoff)RPKC7NHCx}S)~YjETle)(MATZY$zdUVaTLGLCh4$`G({1@Tw5~+En2! zUF+NCGqo<3ozZW9=3ux-vcQH*Lz*>90W?#IdUyJuTz)yUGdkn2yP8A;T66)73bh5_ zfwGTo2d}fo6637asWJpdPeLW178){qDrqpVY|CWgx8oqG8Kdz2JclfHTqJ*8IR1i)(F(pWA~6*< zw#t+G$qP_1l#rw*VE#pk zk1W8h(8DF~>}S&rUP3QqW`R8BU9pTG=#2#N0tYhKj~2kWdQ~3&J^poXhDZF&EjOgf zb2U6ZIL@Yu20qC-WFi+yi`4%5BB<`_`56&FYTAA z7a13_CFC~EHoU^^=oF}U;Vr9MijLgtm+`{pj zKRknrA(oJHODZWJ7~L4DT$zpi015yH;65kr zu$ej-R&@w?31gDoI|c-v3NW4%uHKayRX#R=rX)_I;Vh zIv>o+mDO+if7pO^rD9GmOWcjwk`HIVUIk)9SXAK$=;$jvB=4~Da8l0o2fJY@RP?|t9RXnK{TVe5QOxGVOoG?06##$zZ^5K7pTOpXsxK;!I{LDX#=-$ zd%HutS;SOyt8{T2U@JkEYO9K=%BT3_tzTZ!NcAS?Mowgy^F39=9vB7O6z@592%7=^ zb9EJ=52h_cO(VpQQ=STky=A=jDynaIHXA||u6$k*9f=>dcH3wz`EBSbW7&p4XaFVre+ zA4AXB;H6Jb9Q98TWI=?ypj>kbZyL3r!ij3!7rgy5$e@=RZ&w7FaK~7kDrLZaEJzv8 zHOlbOX*;4=J*5Lp`ad?pI3t2TpAy z@W$)wVwg7jbKp2<8|Nif)E<2)G*A30LkrIYaF9~F1E_!;+=MC&R>4=K*|E5Havim6 zb;(}F+af~Rm;xK#V6OAL@~4JnPdUd3>Y~jtVXwr6w2Pd46uBQ`2%%oXiM(7x~07 z5&u5bqz~IXvzKhDep9eym%8l6f?nq=B;SrDcPKjZ$OmxBTq+>!TeM$UKgq{ zbgOU7{JrvX_0HzUmuyk={=(kdlZ#w4aEsEk+-*j(35Z09VxiSfmuAFSkof&9y-%Y*fPXSeKBs=4 z!=I7*By5qLF=%9GQ!D2}TGfG@UJD7-ai}6*Ln~;?ZhbStqRJ3>(8k1nw#1i#Ga5=4 z3*aDNYpV=?TXm?Yys zpJeA_BkaaN2X%{o3}Yw7wh9j2P=CeGn21Hz{arm#60ID7ep#tbcsodcC6yS{reRX4 z0INi?MxMPSY)Vvph)GblaqCzqVNUzJp%rS`fhJ(#Cg*pW1flW`ESTtZj zxQb`_Z411P^R_J(gOqr-&|}MmcVkL6l3wV9|ZdtDN=%~ znX=-S_$HO`v*mGyD0Mjv0qo>>v4X*@u_Cwzcq~X)`C+7mXxfw=4NkDRZl1ECHWOAe zV5HGL2wqVLrAwmoUm;?Qy|av&h&4V7R}x%pi8|{}AD4F*B#!Z620qr5XU>|^)RV^} z%=W#XQRum$_(O&DC$L;ZKOt?VHj1*WuurXnxYdG__7;2nmk;U@x79x8bQ`qFQ}v7_ zaMhJ{MVkpOTrLIeNy&9feF~ZOe&u?axlS;uvKO4 zQ2Js7t<>gxS3Bx7#ZSvYM&;cRtQ8|0=9?g@0oW4On{05_H4G47$ObN`wqv<`Dc=ke zK<26O^JWg2JUJ9K*LoJok(q$)w@J7;vKeBp5_k;rq!uzyyGPt=KORi3=4pgqns^m~ z{Giu|_ALvewfxmnuV7~-N>+BTVI(Q9a)Hy<}>HVAVY}aGtmKc?9dEO#%}bVI$>*{I|G*b3QU}(k@m2$ zH3qnl6`_MX@#-S|3Q>?(*W=`28-N3|w4`0&)XWr1k1=+%M>OnE!i|yg2cg;*<{^`l z1pw&ibRz_|BQpsWJ0v#dz75n2yjtmvOzJnEgvJR7Jl57L=Rjh~R^vvQkVI@*0p3Xa zwDffGG6UgiUt?}_*tfnw`g2b?XGLHmWKEJ(neMB1p_hc|k75qN9P;js7bCpSrBTB*|fI;_ecBHt2~JCOxrz$hdrev(-ToxAyeASlwH(0`c<8tmLN& zsvJ^L!QGtv!up{iK;tN-am1H~+e27F6Lh6$GaQd9RnFgv7!svPC~0Nt_zU>&@x%wt zBcwqPMNRqXBqft>5D~6$2}IjjSip#!*j^Gr74bX|Kllydw?nQi{(hRJ$5FwtbR)p; zMoQc-UqQH2iKAX$v@90(>H1=$S6~&~QKHJlkMDr%G>%#gWp6G{WIsF{pCZNU$DefD zl91sqeHFmK@|jW@CZnouD{fxsODYWU;_scBUS@-E5)VbHBhLCC>k1QBk?#RY#M#>N z#~dC~mu-mK55aKOGugq+{1kWuc1n8HDd<)fPaSB}OL21P*UKgWZby?`&+lu9535Dw z2XJinKY0_h!sF*a%l8v0U0abEjnQfbCeCc)*yY9wjZ4-ad4g;0xXA~Npq41-NaDNm z+GqduhcHLG63-<^%@68Ee6u9r;IM`_`^-rtU*f;u;dzA-D!h?6o=~ZunJy2^n+2&; zm6WFs~>bD;>6Bjz;{w)b^D zUU$AD$6fD2g$snk?JD4Od5_Thqevq3^Xr68tMxCyV4*%1OsdDxu!CTjZ#+!})&kZC zNtlA(Cke}2qhg>v@{|SpV&=P)?C!oygsa6rUpB|aTKP-D=p0_Kc1?tldnmBm730&w zi4^LOd$w{GRa|GL*D*-n-_2#1Z+HM^U<$Sy8-7@M@!|IBsM`^cgQVAt#cfiHB{wf) zQ`uAS(b*DvEs(*rmi@^VTB`o1$MZSzD-rqTWAPhSp;=f!FkGILY}$zF1YAuOQLV|X z`&M>uWXnrWCrGf+Ur_VmYDccSfw|%N4-PhkcyMXvR2SFF5Z4^pi4S5Y@gz*X%8AcijfG~-Nk->})BOZYumV>1QZmH=B zNt;j1Yj@_JmLDTOTYjyR&z|m^_6&xDJ%(NH3l!VS+OR`Z71$0x;zk;(Z_qG2+T1pBa?Db*}is`C#9>4@zV8$X;qO1rX>LqAG;pPaNCXDcIN+( zx<;DhZ{2QFCcPE&nW_G;XDhGW6=eL#LtmLdV}@*^d5F;CsT=lypew8Y_a6Jl;y-e1 zSDy}le6u3hHX|~=)$l1*BE`M)pm1Gp#PzF~80q&9(oD9qi}hf zF8O2LHo!Q0M6!fjZ`%1i%Xp^L-D#?_Pj_=N6J8X&6@U1aQClQQ)s>EFTzk-Ne8hY1 zC0N)}3lMCRQ1bPD*5fA=`iHJ&5$PB&@6eU9e%1J;o&m7_O07mxV=(+?mw#rX>wS?i zb73CKpX(f8FqUk}1cYQ_&6}GHOU{IZ5JHHy+uy_{^vW<67z4JnpVygcwbh7H_jd~ zz^|;FZ^FNnD<0L(R8>Iq*|<8i(VP@-aa;MDGC!(o@MUUlG z4lNiFmX|^)ZBk#5KptaDnOUaNu^=ZmTP9yAi`}%e6@swTQ37o(wl#&o3H8)rig`>a zH-BtsBO!ct<=N;K;I3G9x4g6=Lx%fvDRCIs(>Pp>{&y0QJIdG2!?z!xK3*ze|F!`c zU7I#c^~6c`7f=ka`Ge3SH14YBp_*=tH8RdGxwZxZY=5NAu?BzZ)tUJvt2fPQuG-wI*i zLi`(^*}Df;0{MJcc;#?IeAH{v{;yyAIu;NeDCv7~D)5i)K2V?rBSyu3SGZU#K(KG0 zAU##P`10%inf8-pkv!5#*&wyCM9kx`G!XBv+GJTS;~{lF6T6Be86)@c}IjaPbV z|C5~um&wvH4xk6Q>7Q&UYV3n#b%NYC14OaC_T8J5k-z!+^l>xS^iBViK)RSW^Ll#C z2C_zbJ=Hfahy#rMOR_0@P5l`1hMV=GfLdeul1Rtfb8dRYk9FRC)$J*4$NrP3M&>#p zkW4aEUsR9xD8IO{u}>U?_O~8QtQk?uj$59;=D40E8ekm4_7(s) zJ1-B+<$ZN=R@V4)E8v+4ic!+t%nRts$AnI72GXD08jEDfxzEhCjM3bg_P+9W!m(Np z)F_IY3ALdv&&kjb5he|uM6CoO@|KR;@$7dMKpK>u_YDmVEpI8-o8V)8H9cpQ|2-GW zSi-W92|{u)*Rf1xV^G<$+%xLdr2+cE&O+eW&0e9bKhYG@`#Cu|~>9CmT|C(wSs8GCAhyharjC`Z1*wLfN1E1Tl0HOoprJvlw zo9#iW*>B|$CHf!5rmG=EM7@=NXWW9K=6oyxKt7Z4-qqaSS%1PZB+rwtDCFHL$qHQ1 zj&dS^h;Di}7JzH62XS=5rW!Yu^)h!hJKxL46#{jr4HX$Zf|VQ#+L6RRBHR-~lYjls zYRm-GX8{&8zDPL>kBVBw2z;H9k&&GISO-HCt9l`lLXN>UiTI9&{7R*g2Pb6qXS@|Coo;2+1!Hh=Ko!Sm7z_63jKekizCRC|<881CIyqK{{2%8+`t<~xusA+1`&*LVt|-80@x z!lCG0&+@yP^WJrstry|o=o+4_b1R?*k^;aJuhd|lg?%AJfA(2jEs(3LE3`Tw+D$;W zodnJTzzHo40K?GB^%{OI1QI~Mu(7bfPsN<(W~ywoO4zEC7Dae}ntpz6Zid7ogVHNrBoL&%b|C>tM2=`t)o!`b#j$0tC4xfei;$_(jhKbJWgHQ3T>Pe)9PC zvhX^se{M8-`S(OR4vTo0CGN7cHCF7^ zK5;UXqu6$xi08eh2D4~#mQttZGA@!8rr?Oqacd`Q@}Y*H5NHVW3@`!F0pR9-p|S9{ zQaMaE-Pw+$6k^lLj11xEW1!9mpQ~{)J8uK5gNqKZ2irEjj8D?v+0nHTG3TpusaWEgv6gL(xvaF#ldqsB|3m<^i^>KYm^>7tJkxs5FO3w*O~# zo@e!>QU80&??T{(FW)vZNW8{ts~9oR#&~ymeiHNYrBRhNUI?~OhxoJxEk!0kgG$Wq z>w8xIkzdJPeNf(g6l2jT;%6b<5bdl0w)u2y&#zMMTS1Jt`1rmnajMSC%RJAx5KlU< zBv=4+2#sd|mFdU9XPxg4XmJ{x zMFNqJ)#$vGw@fr$_4P1l_axzK`?is^Qc2Q{`yJHWZ-e5pF(?_yazUqZFpLvG z^InNI9U*#>$sSm*G@yRuv=#u^oydbfdLpoDp^bz|> zSF?MJdz(H1HNt8E-g#Q5(|NEc%})%2MtsMI87_UcNov+$)AS62KQ@d*Dgo^Fol7kr zxYXt5@NmO90h97no31(62@jyr31Dvjb!Sq~$kOFc@q$BfMLn^1Nnz%-(fxu8q>K=8 zY%VnINOkO15-rGa<_cVnLuEMGs}^S`=zjUfpaFC&X;Mh-aS|WoH$q6WZyy&PuzvBH z*Hqe%+ey)2r^W+Um>Bt~V`Uah^I^m*cd=wMCoWwO>e2f}+gZm1E2 z;2@kZyl^rj5ns#zbXD+SK*DJP_Inh8xQxexj6hM5?+*ss;^iZ{K7ZTk&7QF)KMl7! zs#viPr8k{iLZe$ctRVn;ZsWsM$!hs@LfAXh-sj;;?o}{3V$47^gpm+!z>~+C3e{&7 z4kBG7#%{2BaQU~`x_8(hWoF{+f!`oYo9~(*F_Kz*qX6DVe8q zw^C5DtTtXSpV1K@ja>`o-}+j}zqurhlJl=S_!$3SB*d0FAPGZNQW}Y>&Hkr$Ayvc# zsW#)gs&Za1<41$y9Z0@1;(vr*m6QxBIHeoW=2xn;IL z<=*W~oO+dv@a+>;XA$J&oH#Cb7c$8(>l?|2mRQ~Pm@(nwL(youAUOg^ksC9wzM@xsRwijSa9cY=T4qus`@=L8G@7u93GqQc4Xeu=`VKNVUgwlJqYgS4H9RPA){{ z-)yms5hz@_oAlZBZ?m$|2(ehi#9=D_-o9<&&Yw)JFdYU4;vv#PuDdsI)D(fLMnM{& z`!5|j>9x*=zI9vY20T-s>MWoKGmzZ?Tw!!nr|DVRWoh8VG#EP^#YaUt)E7 zRX|{uXvu4;^?J|!i;4z3^9pADZ-yUO_av{}I(IuRl=h0t8Us$9FEaiqg|g8A45F$D zahipA6wdG6Iy+n+{O2II(251ertZEl7MxQAQHf07*7%p49tF;6{}+LCnEOrQc|;5f zjxXe*m)Ya|pTG7Z3VbRyISG`-{`{|j>?bI$dTey@s{ST*Jewj4@potIx7>6umHav% zx->q8tsOO2m>pYi&6v?(DWF^Bt5Zx)3y+?LwHQA$CP*E=4E;2Yg-kB*q%`*`O%+CuI+ zfA#tF{MDLR)8blAC>=IFzM~5I;buWrjoHJgjk?-CJy3AILB^ zHT7NTilY>=ChTq9M#Q=-cSKQ%^b8K}?o3uCnP_PAU0>z}g(jz__S9x^2@1xqYXG@T zYWEgH=|g%@3Od>&ZfVAQ5XJ~{o}S*`!_A`nzQ6oX!?=LQvM^C$i9&;?v(M%;UcFlF zU>6e;V`XjE5XZQBrEhvRIq2IV+^psIQ>P0!f=TX)BFV2KtzSnMhl6r^NHnYOE+J%LXu}sN3yPzj0(RtSc^53zQ0ZX*RRzE90?BUh&EaE@_;Qnkn8H| z27SBERc>IQ?{ExltAZ0oL_8sYKny?HjycrKdW_r^YwzeF&SVr%y1F{wH7kcVqa@~> z*LsH8<(59!p#CW*vu~s@<31PRK{$IRlI7X@c4n{E(#>WtN(tm+1Wr6rLoB1 z@8ckniBv>h9*Ym8X6`vx0);q08$lUleezi`WBV1;-!lLqShghbLK7o5`7c)k9h3OkeJ8(8{C`- zF|P)Qz=gIQl4S+^oPVovS+KFTcBMzDVT(3HgO{E3ev#~m2ni6KASO^B`D^e)d$q$f z1I-X9fsl+W_!mMCbWG9-7-iw*jrL|^a8{Q7F{;yL9?Xm%F8ktV-rKh#fs%}5H@gYp z9tJTI>yufNufc7bRQkP&OQ`*hm@c3SPZ_}h4=FX-0}^I3N}Z^H3;>VIum~VfL94J! z`|0Y^G;ldLl4!W`g|`}l(%PDmh8Q`e7_cNMq+eptJc|6Z+jwV~TNRqLyPwIA?aTh>s_N(n zR`2VJ*!&N}7fo^EJIa+U32U(C*5W-KcsF@7z}UFG(FciX=U z963Io1-?hmC$rCxqd3HYo}-jXSAwk5b-ybcayr++ny?abmQwHUb(q!uHHddF&hNYY z*c$UgF~ML#Ae;Xy@cjAQ2?NJ5$t!2Ziyviv%Aq<1n(mv!!C5Rl0T{!dQ9xYGab|=0 z$L+t6!rvN!Y>%LbUibE)9h$HM(IoF-;!+8Ry?g%PwCZBcu-OLaTvhcvOTw4t2h`Gr zjPdY@`+UCgQ3SeW=GCN4)<=;*lhb44kGAfod**pNh9t-$Ur)e$bkp|E&Sm#x z5xb=JrB6z06xwKyCXA4iV8ZuEVL2T%@<=}DSr~G14p0OmXc71Wgfo+Z+PQ4rZUX_pd_pkk9*#SLT1KxP$k= zGy}H_mmpXUqx}Isp9vHFZUDnwe?TT;;&QsU1cDOtFI%)z|H)<&{|K`e?mNyMAw%LP zK!qzGo}uJv3^D7FS4sb5{GJGig3nj)o_iJ`4xmT)?;;*L|E*`Zq>#t^=w-Orf4g4m zxj%zKQ8@zrmXe5Xo;cXpwuZLK%F6Z=C#cD1GH%>OpPIMPuZz(k}^#+8>0|HKWw* z){qbyMf*-7WmVN_Nc#`hIAM0$stN&iYSiAhStNM!ZCc;R$Vibt+HC3R+v1*gF95Fn zi#Q(%%3}W>PE&vz{K0Ug$=6~i`H6PYg=TXMXa2SaVfQBL+MsqHi--I%W7 zJO5Q?)|43-O&FZA-Uq^`S>nRM-MY@odQReILU;~Nz|j<*Yw~LfrC}+r5b(%YpRmN| zULaJ?C4xX8C1Xm8iI_l5*0nseM4LO71hUPGUFpwZ&~*+l3-Vt1_hc)Uz1N>(i>+gI zyTl(PF~@bWr7?Zt#1hX%OJxRb?7-1QrP;`W(4+_?Xo*%FK0VU(TeGmV)^uKD*JWT} zKxCxVVUplKUaN~^`P4=0)_^vU1*nEZ{HP{08| zjikHkP2xE}U5*i8jJz94K!1foU6l!P51jjw1y+KEyvtK}hGPtG-@V)Z+@*z26l$#J zpjk1Ju4YvhCiwj5u|4%V7Tk#6`}(w(8O~1RZ9)SL)6f*OBK^LPO$-kOF~lwd*)`L{ zWTc)SaaiN-Wq+E{uwOaObJ-{ zPLfV^r+#4&&zCg%zO?HKmO3dpc?%L5)Rait2#i${?3O1I9|A@PtZfV$ub`2NZM1%N z8wD-aIL&Kv>O^N_-nQ~NJ6KJW)dgT6fkTN@g67Z}ZL5zZ9oTGttw{1nYBhigQ7hs& z(y;;?iiS};af;e#Elw-c8(Na!$!EP#qTF`HNW0ExT3UU%T+`?a7oRoHO);lA`>+K~ zgd!Zt?|H$3D@sju&pmR$ION9!dn9jCnGx&@9(DK&1rKKubs>1LM8g=Sz)i>RaKF4*3AZ?evdfXY1*Yo+8i8vt2l< zRJYP=f?fnWXN#HwN1gFuOe_}7^a_EjqKhj;w*un{-?gF-nE#5-# zE|~eZ#<^gVvOvPw0ieYVgnMXztduk>DfWBN9rTYBe5Uq6ke>mB`9>(DukS##k@FYT z5P;@jAbug}!-GKo=0f-$G|+;e{GBIgXT~&=RL7TM0qh!buo zf(h^-`dB=0BnA31ze7)<=;pemi4)Pgk;NWVv6Cy;F-?oXbtlOy;A2O?6jz%7bXklJBn znF;CMZ*xXxBXUMqvQc_0Q!|j|5#dIx(v>L6LYtOEk+_zJ$!|Q`EU;42I?3aC19gwg zog;Keu0bx3xT6_Q%IB?3Xt4t<*6#4f`~S*X6cnXP4Y(3*8tB8?#+{*T zd#DB75l{z&vHE}Od={|QajOd*?FH}265z4_q?5`DhZcD{im}2R*uI|X13LSJTsZLo zEG#rQi+KuAj7xZz5}-Vr{XrHd#_gA`@?4RUQw+3n9(em4gS-_IFcCghjOlku^Nf zX(=_X8i!gP>Nu3r%sa9o&WHs$+tVf%+VxQdpjW)w6JOuo%LSbHOu-Zeb};N#r3G=& z5d4ctnB@Ed!9=|>pr{C_iL{kt%RRulv__XF0kgXp8h?K`$c<*rqIn_>jDkM(a!jc; zfemO3sk!|A{XEUax|Jd^+1T+6Yd}7&usih|gZAiE(uC-(B;6~i4XvT}TLo(eW5$2w zDBHDg;*WjgJ|Xfb*PO{xO2*!bcDNZV+6EFE7p~Qx^-NdZbg zKb4N0mY~oJUm&Tn)7lP>oj#TNfqKw7ggRCjFKl56 zGxKp~g}5h}@Kq4H>XjB@6h0dMNbul1_PfRVMuzi zTVxmeabI{L;zQ9JgV=7pUKac1h9dvsS3Y_vJ|B!iXX-3d4oXRCW0zn?24ZJo#g?x`KAh2K>q{XotS0Zjc8}lTSm1Ta z#TodiZc6mk*R|DH3KrHhGtI@~CKww^<6*tG%4?*!b4@noNxP6%2t-2A5 z8lR)ZbIs|**S#ANhwbc=$zb05^0Hz(yc!rXrVx@far|$#0ADR*`l+QWO=jNOj=OWoV1aEO%Ov%TRgN z#p(=$hmz=X)o|yv*w4eisj}ySn)zE%VB_y@_;?SJA}(Dft>*AQtoi_J&YEAAzXP#R zesaV}J`57~3`y{=Wn@_lZ*M%Bslw#%93dL^IC!>|@=Xg_(T;*|i+hp^m1#1fWQvb4 zhU?U#U+l(d!J}D_Qx($!>*tJ<7A_638ElcTfv)C_N=kf%iC@u&?&2c^4mnf?cF`S+ z+2D`?X{!VujD4`8c!j5eHBs05di#Uji6=U(Di`U1Hbxnm5|~1vf3=qMK6w2I`pcPg zjjY+!_iS~nSU

e77m)0EKdx$yMo`O-O98;$kn`g4~jb1v9=h%p&AEFOX2efezUq zMwS9J&r>o6;DS9SAzC8sv09FE%xw<91LU2gFaA|wkt;cj!3P(IgNH+5sWCNvkIeoa zie|g&zLal|wVdXUh4OUtK!u{eHFH#cjkin_U^FO0iAu{p@vO{4Yw=`!x0aj_Gw@^a zl0gge)^bG;SUIinj=;;+WZCF(We}RqK-FTyLtL^@s6;wiL_3^{da(Qz+L0PXx0)rr zuScCK$(+aTTt*F4D3X2!;2j>!%%kCr!WooWI`u50If|ikpS^Rb1uOE?3v9B2;?15i zlVigyviZ{S)H)kQAUmgTP*b&x&{L_oSU{Dz78wh6Vu@UuRMbph6!TkGT&UE%0&8G1d@v$4uUi?DMc59npv zxbPpgz0vxMm*1h z{dytV=y^JwPAElHkUSm);;*$g)M|Q=;Bw2Q&irWb6#7~!DdtO&5Nk|bup&HDKsOKr zPeB$!6x$1sf^n6ie?7{v}C7b@dK&?Or+_hJh(kbgB?l{DL#(boD<&h9qd3n z1*#So3?y8do7cY?vjA($JnbH!%7_O7%U(o-EF76TYEP>H3}JYVeIH>R=8)K&q6G$^ zPQRNcnMPQJlm?F4>{I`mQ{2Av!W~l7Z;FHD7=5pU`nN7%O%%<_<}Iz!w%vlStNOeGO7Y=lr*{IL(D|L=xOU#V${Z zPc5-j5y8DvxI(6O7Uow1cN*GDED&*<0_7c~=Aa7WWUe3~;Fkg|dfd9{fyvv7`Dc^? zLO)>j>CS;6T{flwh)HC@S$CTpMWFpCGAQj6-LmZ+n)2q2KpNf^%LYbC@xuxqaa`z# zB8dMj2f?yD=;S*kp)m>Iq32=0SVdb2HNO^sgoG{yq!N_P@)X#u5siqvOPI}HP0lVY z9PyFDD&+}IZ5XAujU>`u`guILEP?cKxxk@Mc}eqSIQSlevA7%-q&KI5fgTIYwZ^^R zkS(uL@4g*!kf&DPhlNyN5YQmhW+KgcC53>!D0+zhPFCU19kN7(kkeFb0ZvEN)zm;L zv_3>~DBXaqN(C4oazzY1Yz-qReqz>d$enRjoE&tQ^KcCQ7 zXrrCqRtv}>`%=uiqe|+Ma~HfehfpAaDRO_gm&u|Q!G57+L+~1{0x&ep^s@QRR+1T} z%J;hrjF3UCVP)~y7J{zqINVd3dx$W7u(kZ#U?l;%RE^f^_8PZG+P^h<9@IK8YqfYV z!%MeMajxtBL)=pW*vCDo@8+>f)SG^+7i~vySon5cT45f$!0e7|RklpEah>7<%6MTGDt~a@Q!Stf<=y>uDmpGz;QKyapcp z2TwigH>`@#2iW*nTMU0}GGPcc1OfT;I|G&8e3<=5H7oHC=B|&W2~a|D3r)HEpTPw8 z+SC#f%=YT$P-qkr)%zd*Z>;`ZVjOa9Q)yL5==tXchz2xc0s82#`HlVg)NAABcVG2EK0j3^>vc{Rd^G zp-`4XZfZz%gIVth1~FXfYvm(4Uf_Q`+Q@%|Fzy`|E~;M zdlhphaSQ;cM7yxhpn%^tI{g2cO?rZ^pB^$zuJo^z`(pT)7uNk80+gM<`O*(zh2Y zbhNcKTpaXLi#Z#pbwzNHRxbjQRJVS*q%uPq`cGj4-Ldc_aQOl9CmMAqew z4XT}rxc$wMf~u-29Bk|vR+poVFC``1GZ@lVX{)Hc`to93ZobJ+j@Q4adE#YCj>lNQ z3M0Env*ymvqA6liAfo41tt zU2b37-(uvh#FHk179MuWAPh`!p3Si<8-w76sE%gNmhY z_N+F>{f*q1cx9twTqlau??NOYL(yVtL{JXx0z}mOdI%Ox_FX{fgoazr(b7pVP%q+>@*q$CJ}e zO)sXa9iYpo+66lK8WNs+3{K{_&;|7bHgm_XC5DH`(@vK1HTIJhmM**j`$gU--@&c# z_O9;-cC?W?dSlk)s~yUECuxrcB;c~7CmxGT~!s8fpm#OOu19} z7&@8p_YZO85QLFbBG_i_*H;3=M_q^){9$fB&}*aGwVABiVfy%RP>!9~1Skirrl)mg z^tssYEGNI9OcQlr!tR5&hTxSo9AJBezkJz3f^2PkabEuri>G0Y)BEp6vx0?MvdBh@ za7uF_hBb^6S<|28qosJO50@+c-8F5eqEgfS-!Vj{r&x={Uza>`6{{`z1c2o(OxQ@>HWPf zl-@V_-P1^!HTpLIGS8Jb)$;7f97dq$X+}IVE|9P{4>^>h$OxRUU+0kxF?Ra=O1?>k zlaDWyJd#F&I0FB00U~+v{aKUc(633Gto@<+`K-{P=xYOTEaKrO5A&`RDYysyFEEi; zFCqO2;9a?jzq}m&wJlkY(q9OT4q*q>m)F)F`uSr!JOVR-!zv0_;ekOv67R{GcE8Sp zzc*%f6QNcda^(_5&Ru_u?akznP#S)_=SD9L=BIOfRFaX%8v+$hu-P1ufRZX;)eFV<>3Wt zH8nu9{dd2Em2MS~c3^1Gk-@~o%9!HciHF@$xjwhdbuMAcJuZS-E>sLPJes6k-t6ns zV4Fe_JUoroPqz0b)Ond2wU_Xf&kteQr~sy8Ff;w72+aI0-5X9$S7s0P>GvKosZezX zsjI7-8v&)FLJ<+9Deddsr~Avlewh7oM`>UpByXf>wm-Cb5y0|v_Un>C8ZQlm<2?~39Flw=S$@JfwsF!;kuI(r31zoSE$X0-b zyl6Oj-IMN*cfCmd2%Iv7>%lC$T2DGiycomDjX2MUlX3L$?sYyx`lA`wII?120W$et zzyKwjq|I>v3App%1tH4rwhD89nXz<{{d=q*8446JsVr=z8H@Hd2aamzA$e%}|~ zds%jVDjcWh--nY;9K;|Yky69`b2;aQb6Csb;vyR(CnrR2k*4}JQ3aN@nE?ML@-u{; zF=$#f@L%F5VT|ij8Y^OI377vGIpqd@ci5p0eB+6N z*`H(^M{9Jz{}Mm#Jp%KGjb%O?VMxE82)i9lr^iy+50j;CSZ~GzvCJZ3M`ayU~n?t zc&qGRLnxoVS8s0Wl%Zw{$@NnH_CE;agMuIL!_H9hcW~oo1ViaW;_h3zcrywt3ojRF zWS)P3-S`3dTSvgm%^Bz0#*k=Apdv=#0=jcbN{YmP=wl47tg5PbwDa1Jm5zZ}8xJCm z+U1`=m*nGha{uST4|7un@Tr)Z(veV&{rs#9D)J9zekCX<$ZJwNBz{i8Np^#H@Pc42 zE&|cGafq_T(*9_FCLo?J1?z*qMmb8L6FYE+VZ&h>BLXb!N~`DkcL3M^ls-5HULdN% zO!bn#-ZYHAqghN1c;3eUiYw;KW>J`Xd_scSkKkR^fd*^q24d(wqhS%6|>|fvo3+i9#|BS4N1JIZLya9*T zPZyH?k1Xmncn{H8%>Fh-hHC0A=Be$he&g>q z$;P07r5a*T3m{g=grfB*9T`7^2LkgmF?`xeW{2d1XJ7pMCPBBo?yWR#SY6uc&n zXzT?#U=$eG6dBaYh9?ss4_3n%*uv zBKaTfuw?reCAIyv)7CIE5TkaJZ|=H3|LhMiG{);+hG2SkEdKgPOcPxPQSBW|-n#s| z?)-m;RXxrwVy*Z~+Hb#!<>^iP%J+Y;C`xTYdWH>&MVq`d7bSqcWRA$>gnoQSy`FXI_J3P-oN$F&W`nmq5j_t`S)^@)=#SP zZOTWZDlEL&5rU94C}PC2!yFX;uNIA`93*V`E3hd4-z!0XUirpUJ^$|u(0?;$su{Cf55_uI7oO!NQB2L>6nwY8lWThM!} zfA0h$fJX+uJJ*Y4_2^NCoS!L6cB-WI|6w8GM;)xD<~97?ZG;pU#KcZ!>fDr-l@GwW zX0}Yg{zB0^dVgl@R1<4ueO(cB%7yC5UWRQn=%$(qgOt>HUy4w0a4-{4;gJJ#qlpN187C!iXh1-g-0yoG$6UHBn*7T>|fAAUFAs?A;;c zC+YZ!psManV9$Q;yZ|&2apEql`6uLQ{8JrL)DW*JvPMa6>S$k|gOFCnbKRUc^j`ax z9)RMX|6_7&U>t&r$*vbfwPah^l4x=xVCS#>t-0Q`vj^CJ*4@=NG@N|K$q-ETKU>y~ z;m%Ken53C5elKPoi=pVv8&HK${)F}_XWdQnwo$0PLqr>hjVVyk+0y>AaiS36kVc44 zUFc59nf-5@mPhR#&xw&&xA8v6k@6)fLN#L(UD~XHfK8FPCo-3S1}; z+S}Xf>QW;o^XxLOF!%Ls%tvdqRMvC;Gi!x@*Rgf%z=x>a2a zPvq8EvB25>{yq)`FD?Y)&+5E3H2n6?<;4YptbVA>Ob&|ZoV=Ut7l-&+))mk30TBl7 z`FG^Be;nomeY2b4QWUutg@uK(FMh&*2%Jrv(n@(CF=`E~?I%$xT3|o`9OH1UAEnz; z0ok-NrCnFlECG%Z+~TlWY2f_l_qYC{lu;qjT^LB=jmkeXQse74`iD{L3#O^RH;Sr4 zEDPLRUAgnzDnJaPqSboE4-(k!Qpx#V)VptMyY4TwyR8qbTCWdekg#jEu_C^$XWloe zb6qXcEA|W)uAymr2_ALhNfQ4%DJ0i4@di2X2(896d+;Wm2Zw}2)5%O>VOOE`omg%z zf-hDuFag|*OiW9;F|tz)UWYHqxb_J5dU%4oMVW%kyGXPPwu;pLIvr*G35LR_mDIg| zKLFLB^$8>J`lfmeU!)tZgyr+cK!Ox}HFfnA8E;WJOgyT#cqB>{{qb#@g3%K+<2oTg zxX1+jVHm;s7j$j~UHkL1FmQ3<*hN8}@k-rBtj|m+g5bSpa|Eu4hoLm(WN-t6iRM5| zuYsSmoG!u*TC#P{BiA9Mu!dxv9LGM#hG_!@QW zEB<7-AKMX~OXT!(2ycf-1jy`!a33U;&)Sy8Q|d58v5B zgTTj|OnH?mV)+>v{manQ-e|7ARr_~1dTq|#%CYjuy6Zpj^Yuf}_PzrA{{46!=E54m zM24Fk!Ts6{{CvW`l)m?85ih}!!G`{MR+s`qSOoC@I1l>ZQ4JBl?R`Q2A0{Eh>^EwM zCW>^U5K-lSd)mdd9&+`lkmg41_{}Wt0e9p6ZIRbYD%Fqj7UsX+UXv>WuETQEuYP(| z_t(rqdi-zp6G;>l(`KI_Rlm_H4potN)L_SN?@;iG^t3y^SgAXsNO!$Chg~ot+EXS* zK0tiMPFuQB$R1yzv^7d|)b}SxodC%rHeulKmQr^G#6ou?|Cg&v$b#gN_ zPaj&s?yo?Krk`7H{&#=h)BBi(^&lSbf@vdnfbk}(-3Q%&>+7|ycKeJg>t8$z>bvtI z*Y@A<)7RfU&bUtgzyA9uN&};&Ts6I6o;#}9sV_j|=&I>FGNZ#n?=SuxS-6AwPoOVO zqWyu}$F$a3E!KR&l-^ah>$?2p{{-3l!0WrXXU`gpP z5ie|uD4tRLnQZbHWL>2q^fIoPRtvd>5RpIEqOkdJn$8vY&-_6N98kX16KO(5C~fP$ zAT|Pgm5I2txs4h?odw74-w}~uwSAwjXz}}1C^8?5_+kfoy>ld&N&oDP@UEx&`zy$Q z=ne6I89zhv=*-}3CbITobZ-^doP2d#3khmM?%M^by#EmsF>e+}p_5Ac@QvSpR@WW* zY+?3#VRkm_-JgN?KD_}w2o1rEG&OtjlM(Qh=NKowLDm`h@^kLRF{W~eRlcgtqYfME zw#}^nMCpJCktH^d+R%5Wi75QwPERNDW(A;^-P@q+2Ik3yEftYnue^Vj;$Fe;KK_M= ziLvoNDpwLhYbBm9tQE@IDax5tP~^(FDFVO?_3odJ`%iGvKRo|h`07*Wdn{}fhUIln&(1KNAkjwE%vN*b3zKPqHvhAS3Pi{u%kKg|lYOy}?nEx? z&G#TuicB>-Q4=(ta2| %poky; ] > + + + + + + + + + + + + + + + Richard Purdie + + Linux Foundation + + richard.purdie@linuxfoundation.org + + + + + + + 4.0+git + 24 November 2010 + Released with the Yocto Project 0.9 Release + + + 1.0 + 6 April 2011 + Released with the Yocto Project 1.0 Release. + + + 1.0.1 + 23 May 2011 + Released with the Yocto Project 1.0.1 Release. + + + 1.1 + 6 October 2011 + Released with the Yocto Project 1.1 Release. + + + 1.2 + April 2012 + Released with the Yocto Project 1.2 Release. + + + 1.3 + October 2012 + Released with the Yocto Project 1.3 Release. + + + 1.4 + Sometime in 2013 + Released with the Yocto Project 1.4 Release. + + + + + ©RIGHT_YEAR; + Linux Foundation + + + + + Permission is granted to copy, distribute and/or modify this document under + the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. + + + Due to production processes, there could be differences between the Yocto Project + documentation bundled in the release tarball and the + Yocto Project Reference Manual on + the Yocto Project website. + For the latest version of this manual, see the manual on the website. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml new file mode 100644 index 0000000000..2fa3341e61 --- /dev/null +++ b/documentation/ref-manual/ref-structure.xml @@ -0,0 +1,709 @@ + %poky; ] > + + + +Source Directory Structure + + + The Source Directory consists of several components. + Understanding them and knowing where they are located is key to using the Yocto Project well. + This chapter describes the Source Directory and gives information about the various + files and directories. + + + + For information on how to establish a local Source Directory on your development system, see the + "Getting Set Up" + section in the Yocto Project Development Manual. + + + + The OpenEmbedded build system does not support file or directory names that + contain spaces. + Be sure that the Source Directory you use does not contain these types + of names. + + +

+ Top level core components + +
+ <filename>bitbake/</filename> + + + The Source Directory + includes a copy of BitBake for ease of use. + The copy usually matches the current stable BitBake release from the BitBake project. + BitBake, a metadata interpreter, reads the Yocto Project metadata and runs the tasks + defined by that data. + Failures are usually from the metadata and not from BitBake itself. + Consequently, most users do not need to worry about BitBake. + + + + When you run the bitbake command, the wrapper script in + scripts/ is executed to run the main BitBake executable, + which resides in the bitbake/bin/ directory. + Sourcing the &OE_INIT_FILE; + script places the scripts and bitbake/bin + directories (in that order) into the shell's PATH environment + variable. + + + + For more information on BitBake, see the BitBake documentation + inculded in the bitbake/doc/manual directory of the + Source Directory. + +
+ +
+ <filename>build/</filename> + + + This directory contains user configuration files and the output + generated by the OpenEmbedded build system in its standard configuration where + the source tree is combined with the output. + The Build Directory + is created initially when you source + the OpenEmbedded build environment setup script &OE_INIT_FILE;. + + + + It is also possible to place output and configuration + files in a directory separate from the + Source Directory + by providing a directory name when you source + the setup script. + For information on separating output from your local Source Directory files, see &OE_INIT_FILE;. + +
+ +
+ <filename>documentation</filename> + + + This directory holds the source for the Yocto Project documentation + as well as templates and tools that allow you to generate PDF and HTML + versions of the manuals. + Each manual is contained in a sub-folder. + For example, the files for this manual reside in + ref-manual. + +
+ +
+ <filename>meta/</filename> + + + This directory contains the OpenEmbedded Core metadata. + The directory holds recipes, common classes, and machine + configuration for emulated targets (qemux86, qemuarm, + and so on.) + +
+ +
+ <filename>meta-yocto/</filename> + + + This directory contains the configuration for the Poky + reference distribution. + +
+ +
+ <filename>meta-yocto-bsp/</filename> + + + This directory contains the Yocto Project reference + hardware BSPs. + +
+ +
+ <filename>meta-hob/</filename> + + + This directory contains template recipes used by the + Hob + build UI. + +
+ +
+ <filename>meta-skeleton/</filename> + + + This directory contains template recipes for BSP and kernel development. + +
+ +
+ <filename>scripts/</filename> + + + This directory contains various integration scripts that implement + extra functionality in the Yocto Project environment (e.g. QEMU scripts). + The &OE_INIT_FILE; script appends this + directory to the shell's PATH environment variable. + + + + The scripts directory has useful scripts that assist contributing + back to the Yocto Project, such as create_pull_request and + send_pull_request. + +
+ +
+ <filename>&OE_INIT_FILE;</filename> + + + This script sets up the OpenEmbedded build environment. + Running this script with the source command in + a shell makes changes to PATH and sets other core BitBake variables based on the + current working directory. + You need to run this script before running BitBake commands. + The script uses other scripts within the scripts directory to do + the bulk of the work. + + + + By default, running this script without a Build Directory argument creates the + build directory. + If you provide a Build Directory argument when you source + the script, you direct OpenEmbedded build system to create a + Build Directory of your choice. + For example, the following command creates a Build Directory named + mybuilds that is outside of the + Source Directory: + + $ source &OE_INIT_FILE; ~/mybuilds + + + The OpenEmbedded build system does not support file or directory names that + contain spaces. + If you attempt to run the &OE_INIT_FILE; script + from a Source Directory that contains spaces in either the filenames + or directory names, the script returns an error indicating no such + file or directory. + Be sure to use a Source Directory free of names containing spaces. + + +
+ +
+ <filename>LICENSE, README, and README.hardware</filename> + + + These files are standard top-level files. + +
+
+ +
+ The Build Directory - <filename>build/</filename> + +
+ <filename>build/pseudodone</filename> + + + This tag file indicates that the initial pseudo binary was created. + The file is built the first time BitBake is invoked. + +
+ +
+ <filename>build/conf/local.conf</filename> + + + This file contains all the local user configuration for your build environment. + If there is no local.conf present, it is created from + local.conf.sample. + The local.conf file contains documentation on the various configuration options. + Any variable set here overrides any variable set elsewhere within the environment unless + that variable is hard-coded within a file (e.g. by using '=' instead of '?='). + Some variables are hard-coded for various reasons but these variables are + relatively rare. + + + + Edit this file to set the MACHINE + for which you want to build, which package types you wish to use + (PACKAGE_CLASSES), + where you want to downloaded files + (DL_DIR), + and how you want your host machine to use resources + (BB_NUMBER_THREADS and + PARALLEL_MAKE). + +
+ +
+ <filename>build/conf/bblayers.conf</filename> + + + This file defines layers, which are directory trees, traversed (or walked) by BitBake. + If bblayers.conf + is not present, it is created from bblayers.conf.sample when + you source the environment setup script. + + + + The bblayers.conf file uses the + BBLAYERS variable to + list the layers BitBake tries to find. + The file uses the + BBLAYERS_NON_REMOVABLE + variable to list layers that must not be removed. + +
+ +
+ <filename>build/conf/sanity_info</filename> + + + This file is created during the build to indicate the state of the sanity checks. + +
+ +
+ <filename>build/downloads/</filename> + + + This directory is used for the upstream source tarballs. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + DL_DIR variable. + +
+ +
+ <filename>build/sstate-cache/</filename> + + + This directory is used for the shared state cache. + The directory can be reused by multiple builds or moved to another location. + You can control the location of this directory through the + SSTATE_DIR variable. + +
+ +
+ <filename>build/tmp/</filename> + + + This directory receives all the OpenEmbedded build system's output. + BitBake creates this directory if it does not exist. + As a last resort, to clean up a build and start it from scratch (other than the downloads), + you can remove everything in the tmp directory or get rid of the + directory completely. + If you do, you should also completely remove the build/sstate-cache + directory as well. + +
+ +
+ <filename>build/tmp/buildstats/</filename> + + + This directory stores the build statistics. + +
+ +
+ <filename>build/tmp/cache/</filename> + + + When BitBake parses the metadata, it creates a cache file of the result that can + be used when subsequently running commands. + These results are stored here on a per-machine basis. + +
+ +
+ <filename>build/tmp/deploy/</filename> + + + This directory contains any 'end result' output from the OpenEmbedded build process. + +
+ +
+ <filename>build/tmp/deploy/deb/</filename> + + + This directory receives any .deb packages produced by + the build process. + The packages are sorted into feeds for different architecture types. + +
+ +
+ <filename>build/tmp/deploy/rpm/</filename> + + + This directory receives any .rpm packages produced by + the build process. + The packages are sorted into feeds for different architecture types. + +
+ +
+ <filename>build/tmp/deploy/licenses/</filename> + + + This directory receives package licensing information. + For example, the directory contains sub-directories for bash, + busybox, and eglibc (among others) that in turn + contain appropriate COPYING license files with other licensing information. + +
+ +
+ <filename>build/tmp/deploy/images/</filename> + + + This directory receives complete filesystem images. + If you want to flash the resulting image from a build onto a device, look here for the image. + + + + Be careful when deleting files in this directory. + You can safely delete old images from this directory (e.g. + core-image-*, hob-image-*, + etc.). + However, the kernel (*zImage*, *uImage*, etc.), + bootloader and other supplementary files might be deployed here prior to building an + image. + Because these files, however, are not directly produced from the image, if you + delete them they will not be automatically re-created when you build the image again. + + + + If you do accidentally delete files here, you will need to force them to be + re-created. + In order to do that, you will need to know the target that produced them. + For example, these commands rebuild and re-create the kernel files: + + $ bitbake -c clean virtual/kernel + $ bitbake virtual/kernel + + +
+ +
+ <filename>build/tmp/deploy/ipk/</filename> + + + This directory receives .ipk packages produced by + the build process. +
+ +
+ <filename>build/tmp/sysroots/</filename> + + + This directory contains shared header files and libraries as well as other shared + data. + Packages that need to share output with other packages do so within this directory. + The directory is subdivided by architecture so multiple builds can run within + the one Build Directory. + +
+ +
+ <filename>build/tmp/stamps/</filename> + + + This directory holds information that BitBake uses for accounting purposes + to track what tasks have run and when they have run. + The directory is sub-divided by architecture, package name, and + version. + Following is an example: + + stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do + + Although the files in the directory are empty of data, + BitBake uses the filenames and timestamps for tracking purposes. + +
+ +
+ <filename>build/tmp/log/</filename> + + + This directory contains general logs that are not otherwise placed using the + package's WORKDIR. + Examples of logs are the output from the check_pkg or + distro_check tasks. + Running a build does not necessarily mean this directory is created. + +
+ +
+ <filename>build/tmp/pkgdata/</filename> + + + This directory contains intermediate packaging data that is used later in the packaging process. + For more information, see the "Packaging - package*.bbclass" section. + +
+ +
+ <filename>build/tmp/work/</filename> + + + This directory contains architecture-specific work sub-directories + for packages built by BitBake. + All tasks execute from the appropriate work directory. + For example, the source for a particular package is unpacked, + patched, configured and compiled all within its own work directory. + Within the work directory, organization is based on the package group + and version for which the source is being compiled + as defined by the + WORKDIR. + + + + It is worth considering the structure of a typical work directory. + As an example, consider the linux-yocto-kernel-3.0 + on the machine qemux86 + built within the Yocto Project. + For this package, a work directory of + tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>, + referred to as the + WORKDIR, is created. + Within this directory, the source is unpacked to + linux-qemux86-standard-build and then patched by Quilt + (see the + "Modifying Package + Source Code with Quilt" section in the Yocto Project Development Manual. + Within the linux-qemux86-standard-build directory, + standard Quilt directories linux-3.0/patches + and linux-3.0/.pc are created, + and standard Quilt commands can be used. + + + + There are other directories generated within WORKDIR. + The most important directory is WORKDIR/temp/, + which has log files for each task (log.do_*.pid) + and contains the scripts BitBake runs for each task + (run.do_*.pid). + The WORKDIR/image/ directory is where "make + install" places its output that is then split into sub-packages + within WORKDIR/packages-split/. + +
+
+ +
+ The Metadata - <filename>meta/</filename> + + + As mentioned previously, metadata is the core of the Yocto Project. + Metadata has several important subdivisions: + + +
+ <filename>meta/classes/</filename> + + + This directory contains the *.bbclass files. + Class files are used to abstract common code so it can be reused by multiple + packages. + Every package inherits the base.bbclass file. + Examples of other important classes are autotools.bbclass, which + in theory allows any Autotool-enabled package to work with the Yocto Project with minimal effort. + Another example is kernel.bbclass that contains common code and functions + for working with the Linux kernel. + Functions like image generation or packaging also have their specific class files + such as image.bbclass, rootfs_*.bbclass and + package*.bbclass. + +
+ +
+ <filename>meta/conf/</filename> + + + This directory contains the core set of configuration files that start from + bitbake.conf and from which all other configuration + files are included. + See the include statements at the end of the file and you will note that even + local.conf is loaded from there. + While bitbake.conf sets up the defaults, you can often override + these by using the (local.conf) file, machine file or + the distribution configuration file. + +
+ +
+ <filename>meta/conf/machine/</filename> + + + This directory contains all the machine configuration files. + If you set MACHINE="qemux86", + the OpenEmbedded build system looks for a qemux86.conf file in this + directory. + The include directory contains various data common to multiple machines. + If you want to add support for a new machine to the Yocto Project, look in this directory. + +
+ +
+ <filename>meta/conf/distro/</filename> + + + Any distribution-specific configuration is controlled from this directory. + For the Yocto Project, the defaultsetup.conf is the main file here. + This directory includes the versions and the + SRCDATE definitions for applications that are configured here. + An example of an alternative configuration might be poky-bleeding.conf. + Although this file mainly inherits its configuration from Poky. + +
+ +
+ <filename>meta/recipes-bsp/</filename> + + + This directory contains anything linking to specific hardware or hardware + configuration information such as "u-boot" and "grub". + +
+ +
+ <filename>meta/recipes-connectivity/</filename> + + + This directory contains libraries and applications related to communication with other devices. + +
+ +
+ <filename>meta/recipes-core/</filename> + + + This directory contains what is needed to build a basic working Linux image + including commonly used dependencies. + +
+ +
+ <filename>meta/recipes-devtools/</filename> + + + This directory contains tools that are primarily used by the build system. + The tools, however, can also be used on targets. + +
+ +
+ <filename>meta/recipes-extended/</filename> + + + This directory contains non-essential applications that add features compared to the + alternatives in core. + You might need this directory for full tool functionality or for Linux Standard Base (LSB) + compliance. + +
+ +
+ <filename>meta/recipes-gnome/</filename> + + + This directory contains all things related to the GTK+ application framework. + +
+ +
+ <filename>meta/recipes-graphics/</filename> + + + This directory contains X and other graphically related system libraries + +
+ +
+ <filename>meta/recipes-kernel/</filename> + + + This directory contains the kernel and generic applications and libraries that + have strong kernel dependencies. + +
+ +
+ <filename>meta/recipes-multimedia/</filename> + + + This directory contains codecs and support utilities for audio, images and video. + +
+ +
+ <filename>meta/recipes-qt/</filename> + + + This directory contains all things related to the Qt application framework. + +
+ +
+ <filename>meta/recipes-rt/</filename> + + + This directory contains package and image recipes for using and testing + the PREEMPT_RT kernel. + +
+ +
+ <filename>meta/recipes-sato/</filename> + + + This directory contains the Sato demo/reference UI/UX and its associated applications + and configuration data. + +
+ +
+ <filename>meta/recipes-support/</filename> + + + This directory contains recipes that used by other recipes, but that are not directly + included in images (i.e. dependencies of other recipes). + +
+ +
+ <filename>meta/site/</filename> + + + This directory contains a list of cached results for various architectures. + Because certain "autoconf" test results cannot be determined when cross-compiling due to + the tests not able to run on a live system, the information in this directory is + passed to "autoconf" for the various architectures. + +
+ +
+ <filename>meta/recipes.txt</filename> + + + This file is a description of the contents of recipes-*. + +
+
+ + + diff --git a/documentation/ref-manual/ref-style.css b/documentation/ref-manual/ref-style.css new file mode 100644 index 0000000000..e896a39d33 --- /dev/null +++ b/documentation/ref-manual/ref-style.css @@ -0,0 +1,979 @@ +/* + Generic XHTML / DocBook XHTML CSS Stylesheet. + + Browser wrangling and typographic design by + Oyvind Kolas / pippin@gimp.org + + Customised for Poky by + Matthew Allum / mallum@o-hand.com + + Thanks to: + Liam R. E. Quin + William Skaggs + Jakub Steiner + + Structure + --------- + + The stylesheet is divided into the following sections: + + Positioning + Margins, paddings, width, font-size, clearing. + Decorations + Borders, style + Colors + Colors + Graphics + Graphical backgrounds + Nasty IE tweaks + Workarounds needed to make it work in internet explorer, + currently makes the stylesheet non validating, but up until + this point it is validating. + Mozilla extensions + Transparency for footer + Rounded corners on boxes + +*/ + + + /*************** / + / Positioning / +/ ***************/ + +body { + font-family: Verdana, Sans, sans-serif; + + min-width: 640px; + width: 80%; + margin: 0em auto; + padding: 2em 5em 5em 5em; + color: #333; +} + +h1,h2,h3,h4,h5,h6,h7 { + font-family: Arial, Sans; + color: #00557D; + clear: both; +} + +h1 { + font-size: 2em; + text-align: left; + padding: 0em 0em 0em 0em; + margin: 2em 0em 0em 0em; +} + +h2.subtitle { + margin: 0.10em 0em 3.0em 0em; + padding: 0em 0em 0em 0em; + font-size: 1.8em; + padding-left: 20%; + font-weight: normal; + font-style: italic; +} + +h2 { + margin: 2em 0em 0.66em 0em; + padding: 0.5em 0em 0em 0em; + font-size: 1.5em; + font-weight: bold; +} + +h3.subtitle { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; + font-size: 142.14%; + text-align: right; +} + +h3 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 140%; + font-weight: bold; +} + +h4 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 120%; + font-weight: bold; +} + +h5 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 110%; + font-weight: bold; +} + +h6 { + margin: 1em 0em 0em 0em; + padding: 1em 0em 0em 0em; + font-size: 110%; + font-weight: bold; +} + +.authorgroup { + background-color: transparent; + background-repeat: no-repeat; + padding-top: 256px; + background-image: url("figures/poky-title.png"); + background-position: left top; + margin-top: -256px; + padding-right: 50px; + margin-left: 0px; + text-align: right; + width: 740px; +} + +h3.author { + margin: 0em 0me 0em 0em; + padding: 0em 0em 0em 0em; + font-weight: normal; + font-size: 100%; + color: #333; + clear: both; +} + +.author tt.email { + font-size: 66%; +} + +.titlepage hr { + width: 0em; + clear: both; +} + +.revhistory { + padding-top: 2em; + clear: both; +} + +.toc, +.list-of-tables, +.list-of-examples, +.list-of-figures { + padding: 1.33em 0em 2.5em 0em; + color: #00557D; +} + +.toc p, +.list-of-tables p, +.list-of-figures p, +.list-of-examples p { + padding: 0em 0em 0em 0em; + padding: 0em 0em 0.3em; + margin: 1.5em 0em 0em 0em; +} + +.toc p b, +.list-of-tables p b, +.list-of-figures p b, +.list-of-examples p b{ + font-size: 100.0%; + font-weight: bold; +} + +.toc dl, +.list-of-tables dl, +.list-of-figures dl, +.list-of-examples dl { + margin: 0em 0em 0.5em 0em; + padding: 0em 0em 0em 0em; +} + +.toc dt { + margin: 0em 0em 0em 0em; + padding: 0em 0em 0em 0em; +} + +.toc dd { + margin: 0em 0em 0em 2.6em; + padding: 0em 0em 0em 0em; +} + +div.glossary dl, +div.variablelist dl { +} + +.glossary dl dt, +.variablelist dl dt, +.variablelist dl dt span.term { + font-weight: normal; + width: 20em; + text-align: right; +} + +.variablelist dl dt { + margin-top: 0.5em; +} + +.glossary dl dd, +.variablelist dl dd { + margin-top: -1em; + margin-left: 25.5em; +} + +.glossary dd p, +.variablelist dd p { + margin-top: 0em; + margin-bottom: 1em; +} + + +div.calloutlist table td { + padding: 0em 0em 0em 0em; + margin: 0em 0em 0em 0em; +} + +div.calloutlist table td p { + margin-top: 0em; + margin-bottom: 1em; +} + +div p.copyright { + text-align: left; +} + +div.legalnotice p.legalnotice-title { + margin-bottom: 0em; +} + +p { + line-height: 1.5em; + margin-top: 0em; + +} + +dl { + padding-top: 0em; +} + +hr { + border: solid 1px; +} + + +.mediaobject, +.mediaobjectco { + text-align: center; +} + +img { + border: none; +} + +ul { + padding: 0em 0em 0em 1.5em; +} + +ul li { + padding: 0em 0em 0em 0em; +} + +ul li p { + text-align: left; +} + +table { + width :100%; +} + +th { + padding: 0.25em; + text-align: left; + font-weight: normal; + vertical-align: top; +} + +td { + padding: 0.25em; + vertical-align: top; +} + +p a[id] { + margin: 0px; + padding: 0px; + display: inline; + background-image: none; +} + +a { + text-decoration: underline; + color: #444; +} + +pre { + overflow: auto; +} + +a:hover { + text-decoration: underline; + /*font-weight: bold;*/ +} + + +div.informalfigure, +div.informalexample, +div.informaltable, +div.figure, +div.table, +div.example { + margin: 1em 0em; + padding: 1em; + page-break-inside: avoid; +} + + +div.informalfigure p.title b, +div.informalexample p.title b, +div.informaltable p.title b, +div.figure p.title b, +div.example p.title b, +div.table p.title b{ + padding-top: 0em; + margin-top: 0em; + font-size: 100%; + font-weight: normal; +} + +.mediaobject .caption, +.mediaobject .caption p { + text-align: center; + font-size: 80%; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +.epigraph { + padding-left: 55%; + margin-bottom: 1em; +} + +.epigraph p { + text-align: left; +} + +.epigraph .quote { + font-style: italic; +} +.epigraph .attribution { + font-style: normal; + text-align: right; +} + +span.application { + font-style: italic; +} + +.programlisting { + font-family: monospace; + font-size: 80%; + white-space: pre; + margin: 1.33em 0em; + padding: 1.33em; +} + +.tip, +.warning, +.caution, +.note { + margin-top: 1em; + margin-bottom: 1em; + +} + +/* force full width of table within div */ +.tip table, +.warning table, +.caution table, +.note table { + border: none; + width: 100%; +} + + +.tip table th, +.warning table th, +.caution table th, +.note table th { + padding: 0.8em 0.0em 0.0em 0.0em; + margin : 0em 0em 0em 0em; +} + +.tip p, +.warning p, +.caution p, +.note p { + margin-top: 0.5em; + margin-bottom: 0.5em; + padding-right: 1em; + text-align: left; +} + +.acronym { + text-transform: uppercase; +} + +b.keycap, +.keycap { + padding: 0.09em 0.3em; + margin: 0em; +} + +.itemizedlist li { + clear: none; +} + +.filename { + font-size: medium; + font-family: Courier, monospace; +} + + +div.navheader, div.heading{ + position: absolute; + left: 0em; + top: 0em; + width: 100%; + background-color: #cdf; + width: 100%; +} + +div.navfooter, div.footing{ + position: fixed; + left: 0em; + bottom: 0em; + background-color: #eee; + width: 100%; +} + + +div.navheader td, +div.navfooter td { + font-size: 66%; +} + +div.navheader table th { + /*font-family: Georgia, Times, serif;*/ + /*font-size: x-large;*/ + font-size: 80%; +} + +div.navheader table { + border-left: 0em; + border-right: 0em; + border-top: 0em; + width: 100%; +} + +div.navfooter table { + border-left: 0em; + border-right: 0em; + border-bottom: 0em; + width: 100%; +} + +div.navheader table td a, +div.navfooter table td a { + color: #777; + text-decoration: none; +} + +/* normal text in the footer */ +div.navfooter table td { + color: black; +} + +div.navheader table td a:visited, +div.navfooter table td a:visited { + color: #444; +} + + +/* links in header and footer */ +div.navheader table td a:hover, +div.navfooter table td a:hover { + text-decoration: underline; + background-color: transparent; + color: #33a; +} + +div.navheader hr, +div.navfooter hr { + display: none; +} + + +.qandaset tr.question td p { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; +} + +.qandaset tr.answer td p { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; +} +.answer td { + padding-bottom: 1.5em; +} + +.emphasis { + font-weight: bold; +} + + + /************* / + / decorations / +/ *************/ + +.titlepage { +} + +.part .title { +} + +.subtitle { + border: none; +} + +/* +h1 { + border: none; +} + +h2 { + border-top: solid 0.2em; + border-bottom: solid 0.06em; +} + +h3 { + border-top: 0em; + border-bottom: solid 0.06em; +} + +h4 { + border: 0em; + border-bottom: solid 0.06em; +} + +h5 { + border: 0em; +} +*/ + +.programlisting { + border: solid 1px; +} + +div.figure, +div.table, +div.informalfigure, +div.informaltable, +div.informalexample, +div.example { + border: 1px solid; +} + + + +.tip, +.warning, +.caution, +.note { + border: 1px solid; +} + +.tip table th, +.warning table th, +.caution table th, +.note table th { + border-bottom: 1px solid; +} + +.question td { + border-top: 1px solid black; +} + +.answer { +} + + +b.keycap, +.keycap { + border: 1px solid; +} + + +div.navheader, div.heading{ + border-bottom: 1px solid; +} + + +div.navfooter, div.footing{ + border-top: 1px solid; +} + + /********* / + / colors / +/ *********/ + +body { + color: #333; + background: white; +} + +a { + background: transparent; +} + +a:hover { + background-color: #dedede; +} + + +h1, +h2, +h3, +h4, +h5, +h6, +h7, +h8 { + background-color: transparent; +} + +hr { + border-color: #aaa; +} + + +.tip, .warning, .caution, .note { + border-color: #fff; +} + + +.tip table th, +.warning table th, +.caution table th, +.note table th { + border-bottom-color: #fff; +} + + +.warning { + background-color: #f0f0f2; +} + +.caution { + background-color: #f0f0f2; +} + +.tip { + background-color: #f0f0f2; +} + +.note { + background-color: #f0f0f2; +} + +.glossary dl dt, +.variablelist dl dt, +.variablelist dl dt span.term { + color: #044; +} + +div.figure, +div.table, +div.example, +div.informalfigure, +div.informaltable, +div.informalexample { + border-color: #aaa; +} + +pre.programlisting { + color: black; + background-color: #fff; + border-color: #aaa; + border-width: 2px; +} + +.guimenu, +.guilabel, +.guimenuitem { + background-color: #eee; +} + + +b.keycap, +.keycap { + background-color: #eee; + border-color: #999; +} + + +div.navheader { + border-color: black; +} + + +div.navfooter { + border-color: black; +} + + + /*********** / + / graphics / +/ ***********/ + +/* +body { + background-image: url("images/body_bg.jpg"); + background-attachment: fixed; +} + +.navheader, +.note, +.tip { + background-image: url("images/note_bg.jpg"); + background-attachment: fixed; +} + +.warning, +.caution { + background-image: url("images/warning_bg.jpg"); + background-attachment: fixed; +} + +.figure, +.informalfigure, +.example, +.informalexample, +.table, +.informaltable { + background-image: url("images/figure_bg.jpg"); + background-attachment: fixed; +} + +*/ +h1, +h2, +h3, +h4, +h5, +h6, +h7{ +} + +/* +Example of how to stick an image as part of the title. + +div.article .titlepage .title +{ + background-image: url("figures/white-on-black.png"); + background-position: center; + background-repeat: repeat-x; +} +*/ + +div.preface .titlepage .title, +div.colophon .title, +div.chapter .titlepage .title, +div.article .titlepage .title +{ +} + +div.section div.section .titlepage .title, +div.sect2 .titlepage .title { + background: none; +} + + +h1.title { + background-color: transparent; + background-image: url("figures/poky-title.png"); + background-repeat: no-repeat; + height: 256px; + text-indent: -9000px; + overflow:hidden; +} + +h2.subtitle { + background-color: transparent; + text-indent: -9000px; + overflow:hidden; + width: 0px; + display: none; +} + + /*************************************** / + / pippin.gimp.org specific alterations / +/ ***************************************/ + +/* +div.heading, div.navheader { + color: #777; + font-size: 80%; + padding: 0; + margin: 0; + text-align: left; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 50px; + background: url('/gfx/heading_bg.png') transparent; + background-repeat: repeat-x; + background-attachment: fixed; + border: none; +} + +div.heading a { + color: #444; +} + +div.footing, div.navfooter { + border: none; + color: #ddd; + font-size: 80%; + text-align:right; + + width: 100%; + padding-top: 10px; + position: absolute; + bottom: 0px; + left: 0px; + + background: url('/gfx/footing_bg.png') transparent; +} +*/ + + + + /****************** / + / nasty ie tweaks / +/ ******************/ + +/* +div.heading, div.navheader { + width:expression(document.body.clientWidth + "px"); +} + +div.footing, div.navfooter { + width:expression(document.body.clientWidth + "px"); + margin-left:expression("-5em"); +} +body { + padding:expression("4em 5em 0em 5em"); +} +*/ + + /**************************************** / + / mozilla vendor specific css extensions / +/ ****************************************/ +/* +div.navfooter, div.footing{ + -moz-opacity: 0.8em; +} + +div.figure, +div.table, +div.informalfigure, +div.informaltable, +div.informalexample, +div.example, +.tip, +.warning, +.caution, +.note { + -moz-border-radius: 0.5em; +} + +b.keycap, +.keycap { + -moz-border-radius: 0.3em; +} +*/ + +table tr td table tr td { + display: none; +} + + +hr { + display: none; +} + +table { + border: 0em; +} + + .photo { + float: right; + margin-left: 1.5em; + margin-bottom: 1.5em; + margin-top: 0em; + max-width: 17em; + border: 1px solid gray; + padding: 3px; + background: white; +} + .seperator { + padding-top: 2em; + clear: both; + } + + #validators { + margin-top: 5em; + text-align: right; + color: #777; + } + @media print { + body { + font-size: 8pt; + } + .noprint { + display: none; + } + } + + +.tip, +.note { + background: #f0f0f2; + color: #333; + padding: 20px; + margin: 20px; +} + +.tip h3, +.note h3 { + padding: 0em; + margin: 0em; + font-size: 2em; + font-weight: bold; + color: #333; +} + +.tip a, +.note a { + color: #333; + text-decoration: underline; +} + +.footnote { + font-size: small; + color: #333; +} + +/* Changes the announcement text */ +.tip h3, +.warning h3, +.caution h3, +.note h3 { + font-size:large; + color: #00557D; +} + diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml new file mode 100644 index 0000000000..c490fc360d --- /dev/null +++ b/documentation/ref-manual/ref-variables.xml @@ -0,0 +1,3018 @@ + %poky; ] > + + + + +Variables Glossary + + + This chapter lists common variables used in the OpenEmbedded build system and gives an overview + of their function and contents. + + + + + + + A + B + C + D + E + F + + H + I + + K + L + M + + O + P + + R + S + T + + + W + + + + + + A + + ALLOW_EMPTY + + + Specifies if an output package should still be produced if it is empty. + By default, BitBake does not produce empty packages. + This default behavior can cause issues when there is an + RDEPENDS or + some other runtime hard-requirement on the existence of the package. + + + + Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: + + ALLOW_EMPTY_${PN} = "1" + + + + + + AUTHOR + + The email address used to contact the original author or authors in + order to send patches, forward bugs, etc. + + + + AUTOREV + + When SRCREV + is set to the value of this variable, it specifies that the latest + source revision in the repository should be used. Here is an example: + + SRCREV = "${AUTOREV}" + + + + + + + + B + + B + + + The Build Directory. + The OpenEmbedded build system places generated objects into the Build Directory + during a recipe's build process. + By default, this directory is the same as the S + directory: + + B = ${WORKDIR}/${BPN}/{PV}/ + + You can separate the (S) directory and the directory pointed to + by the B variable. + Most autotools-based recipes support separating these directories. + The build system defaults to using separate directories for gcc + and some kernel recipes. + + + + + BAD_RECOMMENDATIONS + + + A list of packages not to install despite being recommended by a recipe. + Support for this variable exists only when using the + ipk packaging backend. + + + + + BB_DISKMON_DIRS + + + Monitors disk space and available inodes during the build + and allows you to control the build based on these + parameters. + + + + Disk space monitoring is disabled by default. + To enable monitoring, add the BB_DISKMON_DIRS + variable to your conf/local.conf file found in the + Build Directory. + Use the following form: + + BB_DISKMON_DIRS = "<action>,<dir>,<threshold> [...]" + + where: + + <action> is: + ABORT: Immediately abort the build when + a threshold is broken. + STOPTASKS: Stop the build after the currently + executing tasks have finished when + a threshold is broken. + WARN: Issue a warning but continue the + build when a threshold is broken. + Subsequent warnings are issued as + defined by the + BB_DISKMON_WARNINTERVAL variable, + which must be defined in the + conf/local.conf file. + + <dir> is: + Any directory you choose. You can specify one or + more directories to monitor by separating the + groupings with a space. If two directories are + on the same device, only the first directory + is monitored. + + <threshold> is: + Either the minimum available disk space, + the minimum number of free inodes, or + both. You must specify at least one. To + omit one or the other, simply omit the value. + Specify the threshold using G, M, K for Gbytes, + Mbytes, and Kbytes, respectively. If you do + not specify G, M, or K, Kbytes is assumed by + default. Do not use GB, MB, or KB. + + + + + Here are some examples: + + BB_DISKMON_DIRS = "ABORT,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K" + BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G" + BB_DISKMON_DIRS = "ABORT,${TMPDIR},,100K" + + The first example works only if you also provide + the BB_DISKMON_WARNINTERVAL variable + in the conf/local.conf. + This example causes the build system to immediately + abort when either the disk space in ${TMPDIR} drops + below 1 Gbyte or the available free inodes drops below + 100 Kbytes. + Because two directories are provided with the variable, the + build system also issue a + warning when the disk space in the + ${SSTATE_DIR} directory drops + below 1 Gbyte or the number of free inodes drops + below 100 Kbytes. + Subsequent warnings are issued during intervals as + defined by the BB_DISKMON_WARNINTERVAL + variable. + + + + The second example stops the build after all currently + executing tasks complete when the minimum disk space + in the ${TMPDIR} directory drops + below 1 Gbyte. + No disk monitoring occurs for the free inodes in this case. + + + + The final example immediately aborts the build when the + number of free inodes in the ${TMPDIR} directory + drops below 100 Kbytes. + No disk space monitoring for the directory itself occurs + in this case. + + + + + BB_DISKMON_WARNINTERVAL + + + Defines the disk space and free inode warning intervals. + To set these intervals, define the variable in your + conf/local.conf file in the + Build Directory. + + + + If you are going to use the + BB_DISKMON_WARNINTERVAL variable, you must + also use the + BB_DISKMON_DIRS variable + and define its action as "WARN". + During the build, subsequent warnings are issued each time + disk space or number of free inodes further reduces by + the respective interval. + + + + If you do not provide a BB_DISKMON_WARNINTERVAL + variable and you do use BB_DISKMON_DIRS with + the "WARN" action, the disk monitoring interval defaults to + the following: + + BB_DISKMON_WARNINTERVAL = "50M,5K" + + + + + When specifying the variable in your configuration file, + use the following form: + + BB_DISKMON_WARNINTERVAL = "<disk_space_interval>,<disk_inode_interval>" + + where: + + <disk_space_interval> is: + An interval of memory expressed in either + G, M, or K for Gbytes, Mbytes, or Kbytes, + respectively. You cannot use GB, MB, or KB. + + <disk_inode_interval> is: + An interval of free inodes expressed in either + G, M, or K for Gbytes, Mbytes, or Kbytes, + respectively. You cannot use GB, MB, or KB. + + + + + Here is an example: + + BB_DISKMON_DIRS = "WARN,${SSTATE_DIR},1G,100K" + BB_DISKMON_WARNINTERVAL = "50M,5K" + + These variables cause the OpenEmbedded build system to + issue subsequent warnings each time the available + disk space further reduces by 50 Mbytes or the number + of free inodes further reduces by 5 Kbytes in the + ${SSTATE_DIR} directory. + Subsequent warnings based on the interval occur each time + a respective interval is reached beyond the intial warning + (i.e. 1 Gbytes and 100 Kbytes). + + + + + BBCLASSEXTEND + + + Allows you to extend a recipe so that it builds variants of the software. + Common variants for recipes exist such as "natives" like quilt-native, + which is a copy of quilt built to run on the build system; + "crosses" such as gcc-cross, + which is a compiler built to run on the build machine but produces binaries + that run on the target MACHINE; + "nativesdk", which targets the SDK machine instead of MACHINE; + and "mulitlibs" in the form "multilib:<multilib_name>". + + + + To build a different variant of the recipe with a minimal amount of code, it usually + is as simple as adding the following to your recipe: + + BBCLASSEXTEND =+ "native nativesdk" + BBCLASSEXTEND =+ "multilib:<multilib_name>" + + + + + + BBMASK + + Prevents BitBake from processing recipes and recipe append files. + You can use the BBMASK variable to "hide" + these .bb and .bbappend files. + BitBake ignores any recipe or recipe append files that match the expression. + It is as if BitBake does not see them at all. + Consequently, matching files are not parsed or otherwise used by + BitBake. + The value you provide is passed to python's regular expression compiler. + For complete syntax information, see python's documentation at + . + The expression is compared against the full paths to the files. + For example, the following uses a complete regular expression to tell + BitBake to ignore all recipe and recipe append files in the + .*/meta-ti/recipes-misc/ directory: + + BBMASK = ".*/meta-ti/recipes-misc/" + + Use the BBMASK variable from within the + conf/local.conf file found + in the Build Directory. + + + + BB_NUMBER_THREADS + + The maximum number of tasks BitBake should run in parallel at any one time. + If your host development system supports multiple cores a good rule of thumb + is to set this variable to twice the number of cores. + + + + BBFILE_COLLECTIONS + + Lists the names of configured layers. + These names are used to find the other BBFILE_* + variables. + Typically, each layer will append its name to this variable in its + conf/layer.conf file. + + + + + BBFILE_PATTERN + + Variable that expands to match files from BBFILES in a particular layer. + This variable is used in the conf/layer.conf file and must + be suffixed with the name of the specific layer (e.g. + BBFILE_PATTERN_emenlow). + + + + BBFILE_PRIORITY + + Assigns the priority for recipe files in each layer. + This variable is useful in situations where the same recipe appears in + more than one layer. + Setting this variable allows you to prioritize a + layer against other layers that contain the same recipe - effectively + letting you control the precedence for the multiple layers. + The precedence established through this variable stands regardless of a + recipe's version (PV variable). + For example, a layer that has a recipe with a higher PV value but for + which the BBFILE_PRIORITY is set to have a lower precedence still has a + lower precedence. + A larger value for the BBFILE_PRIORITY variable results in a higher + precedence. + For example, the value 6 has a higher precedence than the value 5. + If not specified, the BBFILE_PRIORITY variable is set based on layer + dependencies (see the + LAYERDEPENDS variable for + more information. + The default priority, if unspecified + for a layer with no dependencies, is the lowest defined priority + 1 + (or 1 if no priorities are defined). + + You can use the command bitbake-layers show_layers to list + all configured layers along with their priorities. + + + + + BBFILES + + List of recipe files used by BitBake to build software + + + + BBPATH + + Used by BitBake to locate .bbclass and configuration files. + This variable is analogous to the PATH variable. + + + + BBINCLUDELOGS + + Variable that controls how BitBake displays logs on build failure. + + + + BBLAYERS + + Lists the layers to enable during the build. + This variable is defined in the bblayers.conf configuration + file in the Build Directory. + Here is an example: + + BBLAYERS = " \ + /home/scottrif/poky/meta \ + /home/scottrif/poky/meta-yocto \ + /home/scottrif/poky/meta-yocto-bsp \ + /home/scottrif/poky/meta-mykernel \ + " + + BBLAYERS_NON_REMOVABLE ?= " \ + /home/scottrif/poky/meta \ + /home/scottrif/poky/meta-yocto \ + " + + This example enables four layers, one of which is a custom, user-defined layer + named meta-mykernel. + + + + + BBLAYERS_NON_REMOVABLE + +Core layer for images cannot be removed + Lists core layers that cannot be removed from the + bblayers.conf file. + In order for BitBake to build your image, your + bblayers.conf file must include the + meta and meta-yocto + core layers. + Here is an example that shows these two layers listed in + the BBLAYERS_NON_REMOVABLE statement: + + BBLAYERS = " \ + /home/scottrif/poky/meta \ + /home/scottrif/poky/meta-yocto \ + /home/scottrif/poky/meta-yocto-bsp \ + /home/scottrif/poky/meta-mykernel \ + " + + BBLAYERS_NON_REMOVABLE ?= " \ + /home/scottrif/poky/meta \ + /home/scottrif/poky/meta-yocto \ + " + + + + + + BP + + The base recipe name and version but without any special + recipe name suffix (i.e. -native, lib64-, + and so forth). + BP is comprised of the following: + + ${BPN}-${PV} + + + + + BPN + + The bare name of the recipe. + This variable is a version of the PN variable + but removes common suffixes such as "-native" and "-cross" as well + as removes common prefixes such as multilib's "lib64-" and "lib32-". + The exact list of suffixes removed is specified by the + SPECIAL_PKGSUFFIX variable. + The exact list of prefixes removed is specified by the + MLPREFIX variable. + Prefixes are removed for multilib and nativesdk cases. + + + + + + C + + CFLAGS + + + Flags passed to C compiler for the target system. + This variable evaluates to the same as + TARGET_CFLAGS. + + + + + COMBINED_FEATURES + + A set of features common between + MACHINE_FEATURES + and DISTRO_FEATURES. + See the glossary descriptions for these variables for more information. + + + + COMPATIBLE_MACHINE + + A regular expression which evaluates to match the machines the recipe + works with. + It stops recipes being run on machines for which they are not compatible. + This is particularly useful with kernels. + It also helps to increase parsing speed as further parsing of the recipe is skipped + if it is found the current machine is not compatible. + + + + CONFFILES + + + Identifies editable or configurable files that are part of a package. + If the Package Management System (PMS) is being used to update + packages on the target system, it is possible that + configuration files you have changed after the original installation + and that you now want to remain unchanged are overwritten. + In other words, editable files might exist in the package that you do not + want reset as part of the package update process. + You can use the CONFFILES variable to list the files in the + package that you wish to prevent the PMS from overwriting during this update process. + + + + To use the CONFFILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files. + Here is an example: + + CONFFILES_${PN} += "${sysconfdir}/file1 \ + ${sysconfdir}/file2 ${sysconfdir}/file3" + + + + + A relationship exists between the CONFFILES and + FILES variables. + The files listed within CONFFILES must be a subset of + the files listed within FILES. + Because the configuration files you provide with CONFFILES + are simply being identified so that the PMS will not overwrite them, + it makes sense that + the files must already be included as part of the package through the + FILES variable. + + + + When specifying paths as part of the CONFFILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. + + + + + CONFIG_SITE + + + A list of files that contains autoconf test results relevant + to the current build. + This variable is used by the Autotools utilities when running + configure. + + + + + CORE_IMAGE_EXTRA_INSTALL + + + Specifies the list of packages to be added to the image. + This variable should only be set in the local.conf + configuration file found in the + Build Directory. + + + + This variable replaces POKY_EXTRA_INSTALL, which is no longer supported. + + + + + + + D + + D + + The destination directory. + + + + DEBUG_BUILD + + + Specifies to build packages with debugging information. + This influences the value of the + SELECTED_OPTIMIZATION + variable. + + + + + DEBUG_OPTIMIZATION + + + The options to pass in + TARGET_CFLAGS + and CFLAGS when compiling + a system for debugging. + This variable defaults to "-O -fno-omit-frame-pointer -g". + + + + + DEFAULT_PREFERENCE + + Specifies the priority of recipes. + + + + DEPENDS + + + Lists a recipe's build-time dependencies + (i.e. other recipe files). + The system ensures that all the dependencies listed + have been built and have their contents in the appropriate + sysroots before the recipe's configure task is executed. + + + + + DESCRIPTION + + The package description used by package managers. + If not set, DESCRIPTION takes + the value of the + SUMMARY + variable. + + + + + DESTDIR + + the destination directory. + + + + DISTRO + + + The short name of the distribution. + This variable corresponds to a file with the + extension .conf + located in a conf/distro directory + within the metadata that contains the distribution configuration. + The + value must not contain spaces, and is typically all lower-case. + + + If the variable is blank, a set of default configuration + will be used, which is specified + within meta/conf/distro/defaultsetup.conf. + + + + + DISTRO_EXTRA_RDEPENDS + + + Specifies a list of distro-specific packages to add to all images. + This variable takes affect through + packagegroup-base so the + variable only really applies to the more full-featured + images that include packagegroup-base. + You can use this variable to keep distro policy out of + generic images. + As with all other distro variables, you set this variable + in the distro .conf file. + + + + + DISTRO_EXTRA_RRECOMMENDS + + + Specifies a list of distro-specific packages to add to all images + if the packages exist. + The packages might not exist or be empty (e.g. kernel modules). + The list of packages are automatically installed but can be + removed by the user. + + + + + DISTRO_FEATURES + + The features enabled for the distribution. + For a list of features supported by the Yocto Project as shipped, + see the "Distro" + section. + + + + + DISTRO_FEATURES_BACKFILL + + Features to be added to + DISTRO_FEATURES + if not also present in + DISTRO_FEATURES_BACKFILL_CONSIDERED. + + + + This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which distro features are + being backfilled for all distro configurations. + See the Feature backfilling section for + more information. + + + + + DISTRO_FEATURES_BACKFILL_CONSIDERED + + Features from + DISTRO_FEATURES_BACKFILL + that should not backfilled (i.e. added to + DISTRO_FEATURES) + during the build. + See the "Feature Backfilling" section for + more information. + + + + + DISTRO_NAME + + The long name of the distribution. + + + + DISTRO_PN_ALIAS + + Alias names used for the recipe in various Linux distributions. + See the + "Handling + a Package Name Alias" section in the Yocto Project Development + Manual for more information. + + + + DISTRO_VERSION + + the version of the distribution. + + + + DL_DIR + + + The central download directory used by the build process to store downloads. + You can set this directory by defining the DL_DIR + variable in the /conf/local.conf file. + This directory is self-maintaining and you should not have + to touch it. + By default, the directory is downloads in the + Build Directory. + + #DL_DIR ?= "${TOPDIR}/downloads" + + To specify a different download directory, simply uncomment the line + and provide your directory. + + + + During a first build, the system downloads many different source code + tarballs from various upstream projects. + Downloading can take a while, particularly if your network + connection is slow. + Tarballs are all stored in the directory defined by + DL_DIR and the build system looks there first + to find source tarballs. + + When wiping and rebuilding, you can preserve this directory to speed + up this part of subsequent builds. + + + + + You can safely share this directory between multiple builds on the + same development machine. + For additional information on how the build process gets source files + when working behind a firewall or proxy server, see the + "FAQ" + chapter. + + + + + + + E + + ENABLE_BINARY_LOCALE_GENERATION + + + Variable that controls which locales for eglibc are + to be generated during the build (useful if the target device has 64Mbytes + of RAM or less). + + + + EXTENDPE + + + Used with file and pathnames to create a prefix for a recipe's + version based on the recipe's + PE value. + If PE is set and greater than zero for a recipe, + EXTENDPE becomes that value (e.g if + PE is equal to "1" then EXTENDPE + becomes "1_"). + If a recipe's PE is not set (the default) or is equal to + zero, EXTENDPE becomes "". + See the STAMP + variable for an example. + + + + + EXTRA_IMAGE_FEATURES + + Allows extra packages to be added to the generated images. + You set this variable in the local.conf + configuration file. + Note that some image features are also added using the + IMAGE_FEATURES + variable generally configured in image recipes. + You can use this variable to add more features in addition to those. + Here are some examples of features you can add: + +"dbg-pkgs" - Adds -dbg packages for all installed packages + including symbol information for debugging and + profiling. + +"dev-pkgs" - Adds -dev packages for all installed packages. + This is useful if you want to develop against + the libraries in the image. + +"tools-sdk" - Adds development tools such as gcc, make, + pkgconfig and so forth. + +"tools-debug" - Adds debugging tools such as gdb and + strace. + +"tools-profile" - Adds profiling tools such as oprofile, + exmap, lttng and valgrind (x86 only). + +"tools-testapps" - Adds useful testing tools such as + ts_print, aplay, arecord and so + forth. + +"debug-tweaks" - Makes an image suitable for development. + For example, ssh root access has a blank + password. You should remove this feature + before you produce a production image. + + + There are other valid features too, see the + Images + section for more details. + + + + EXTRA_IMAGEDEPENDS + + A list of recipes to be built that do not provide packages to be installed in + the root filesystem. + + Sometimes a recipe is required to build the final image but is not + needed in the root filesystem. + You can use the EXTRA_IMAGEDEPENDS variable to + list these recipes and thus, specify the dependencies. + A typical example is a required bootloader in a machine configuration. + + + To add packages to the root filesystem, see the various + *DEPENDS and *RECOMMENDS + variables. + + + + + EXTRA_OECMAKE + + Additional cmake options. + + + + EXTRA_OECONF + + Additional configure script options. + + + + EXTRA_OEMAKE + + Additional GNU make options. + + + + + + F + + FILES + + + The list of directories or files that are placed in packages. + + + + To use the FILES variable, provide a package name + override that identifies the resulting package. + Then, provide a space-separated list of files or paths that identifies the + files you want included as part of the resulting package. + Here is an example: + + FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile" + + + + + When specifying paths as part of the FILES variable, + it is good practice to use appropriate path variables. + For example, ${sysconfdir} rather than + /etc or ${bindir} rather + than /usr/bin. + You can find a list of these variables at the top of the + /meta/conf/bitbake.conf file in the + Source Directory. + + + + If some of the files you provide with the FILES variable + are editable and you know they should not be + overwritten during the package update process by the Package Management + System (PMS), you can identify these files so that the PMS will not + overwrite them. + See the CONFFILES + variable for information on how to identify these files to the PMS. + + + + + + FILESEXTRAPATHS + + + Extends the search path the OpenEmbedded build system uses when + looking for files and patches as it processes recipes. + The directories BitBake uses when it processes recipes is defined by the + FILESPATH variable. + You can add directories to the search path by defining the + FILESEXTRAPATHS variable. + + + + To add paths to the search order, provide a list of directories and separate + each path using a colon character as follows: + + FILESEXTRAPATHS_prepend := "path_1:path_2:path_3:" + + Typically, you want your directories searched first. + To make sure that happens, use _prepend and + the immediate expansion (:=) operator as shown in the + previous example. + Finally, to maintain the integrity of the FILESPATH variable, + you must include the appropriate beginning or ending (as needed) colon character. + + + + The FILESEXTRAPATHS variable is intended for use in + .bbappend files to include any additional files provided in that layer. + You typically accomplish this with the following: + + FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + + + + + + FILESPATH + + + The default set of directories the OpenEmbedded build system uses + when searching for patches and files. + During the build process, BitBake searches each directory in + FILESPATH in the specified order when looking for + files and patches specified by each file:// URI in a recipe. + + + + The default value for the FILESPATH variable is defined + in the base.bbclass class found in + meta/classes in the + Source Directory: + +FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", \ + "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", \ + "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", \ + "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}" + + Do not hand-edit the FILESPATH variable. + If you want to extend the set of pathnames that BitBake uses when searching for + files and patches, use the + FILESEXTRAPATHS variable. + + + + + FILESYSTEM_PERMS_TABLES + + Allows you to define your own file permissions settings table as part of + your configuration for the packaging process. + For example, suppose you need a consistent set of custom permissions for + a set of groups and users across an entire work project. + It is best to do this in the packages themselves but this is not always + possible. + + + By default, the OpenEmbedded build system uses the fs-perms.txt, which + is located in the meta/files folder in the + Source Directory. + If you create your own file permissions setting table, you should place it in your + layer or the distros layer. + + + You define the FILESYSTEM_PERMS_TABLES variable in the + conf/local.conf file, which is found in the + Build Directory, to + point to your custom fs-perms.txt. + You can specify more than a single file permissions setting table. + The paths you specify to these files must be defined within the + BBPATH variable. + + + For guidance on how to create your own file permissions settings table file, + examine the existing fs-perms.txt. + + + + + FULL_OPTIMIZATION + + + The options to pass in + TARGET_CFLAGS + and CFLAGS + when compiling an optimized system. + This variable defaults to + "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2". + + + + + + + + + + H + + HOMEPAGE + + Website where more information about the software the recipe is building + can be found. + + + + + + I + + IMAGE_FEATURES + + The list of features to include in an image. + Typically, you configure this variable in an image recipe. + Note that you can also add extra features to the image by using the + EXTRA_IMAGE_FEATURES variable. + See the "Images" section for the + full list of features that can be included in images built by the + OpenEmbedded build system. + + + + IMAGE_FSTYPES + + Formats of root filesystem images that you want to have created. + + + + IMAGE_INSTALL + + + Specifies the packages to install into an image. + The IMAGE_INSTALL variable is a mechanism for an image + recipe and you should use it with care to avoid ordering issues. + + + + Image recipes set IMAGE_INSTALL to specify the + packages to install into an image through image.bbclass. + Additionally, "helper" classes exist, such as core-image.bbclass, + that can take + IMAGE_FEATURES lists + and turn these into auto-generated entries in + IMAGE_INSTALL in addition to its default contents. + + + + Using IMAGE_INSTALL with the += + operator from the /conf/local.conf file or from within + an image recipe is not recommended as it can cause ordering issues. + Since core-image.bbclass sets IMAGE_INSTALL + to a default value using the ?= operator, using a + += operation against IMAGE_INSTALL + will result in unexpected behavior when used in + /conf/local.conf. + Furthermore, the same operation from with an image recipe may or may not + succeed depending on the specific situation. + In both these cases, the behavior is contrary to how most users expect + the += operator to work. + + + + When you use this variable, it is best to use it as follows: + + IMAGE_INSTALL_append = " package-name" + + Be sure to include the space between the quotation character and the start of the + package name. + + + + + IMAGE_OVERHEAD_FACTOR + + + Defines a multiplier that the build system applies to the initial image + size for cases when the multiplier times the returned disk usage value + for the image is greater than the sum of + IMAGE_ROOTFS_SIZE + and + IMAGE_ROOTFS_EXTRA_SPACE. + The result of the multiplier applied to the initial image size creates + free disk space in the image as overhead. + By default, the build process uses a multiplier of 1.3 for this variable. + This default value results in 30% free disk space added to the image when this + method is used to determine the final generated image size. + You should be aware that post install scripts and the package management + system uses disk space inside this overhead area. + Consequently, the multiplier does not produce an image with + all the theoretical free disk space. + See IMAGE_ROOTFS_SIZE + for information on how the build system determines the overall image size. + + + + The default 30% free disk space typically gives the image enough room to boot + and allows for basic post installs while still leaving a small amount of + free disk space. + If 30% free space is inadequate, you can increase the default value. + For example, the following setting gives you 50% free space added to the image: + + IMAGE_OVERHEAD_FACTOR = "1.5" + + + + + Alternatively, you can ensure a specific amount of free disk space is added + to the image by using + IMAGE_ROOTFS_EXTRA_SPACE + the variable. + + + + + IMAGE_ROOTFS_EXTRA_SPACE + + + Defines additional free disk space created in the image in Kbytes. + By default, this variable is set to "0". + This free disk space is added to the image after the build system determines + the image size as described in + IMAGE_ROOTFS_SIZE. + + + + This variable is particularly useful when you want to ensure that a + specific amount of free disk space is available on a device after an image + is installed and running. + For example, to be sure 5 Gbytes of free disk space is available, set the + variable as follows: + + IMAGE_ROOTFS_EXTRA_SPACE = "5242880" + + + + + + IMAGE_ROOTFS_SIZE + + + Defines the size in Kbytes for the generated image. + The OpenEmbedded build system determines the final size for the generated + image using an algorithm that takes into account the initial disk space used + for the generated image, a requested size for the image, and requested + additional free disk space to be added to the image. + Programatically, the build system determines the final size of the + generated image as follows: + + if (image-du * overhead) < rootfs-size: + internal-rootfs-size = rootfs-size + xspace + else: + internal-rootfs-size = (image-du * overhead) + xspace + + where: + + image-du = Returned value of the du command on + the image. + + overhead = IMAGE_OVERHEAD_FACTOR + + rootfs-size = IMAGE_ROOTFS_SIZE + + internal-rootfs-size = Initial root filesystem + size before any modifications. + + xspace = IMAGE_ROOTFS_EXTRA_SPACE + + + + + + + INC_PR + + Helps define the recipe revision for recipes that share + a common include file. + You can think of this variable as part of the recipe revision + as set from within an include file. + Suppose, for example, you have a set of recipes that + are used across several projects. + And, within each of those recipes the revision + (its PR value) is set accordingly. + In this case, when the revision of those recipes changes + the burden is on you to find all those recipes and + be sure that they get changed to reflect the updated + version of the recipe. + In this scenario, it can get complicated when recipes + used in many places and that provide common functionality + are upgraded to a new revision. + A more efficient way of dealing with this situation is + to set the INC_PR variable inside + the include files that the recipes + share and then expand the INC_PR + variable within the recipes to help + define the recipe revision. + + + The following provides an example that shows how to use + the INC_PR variable + given a common include file that + defines the variable. + Once the variable is defined in the + include file, you can use the + variable to set the PR values in + each recipe. + You will notice that when you set a recipe's + PR you can provide more granular + revisioning by appending values to the + INC_PR variable: + +recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2" +recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1" +recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0" +recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + + The first line of the example establishes the baseline + revision to be used for all recipes that use the + include file. + The remaining lines in the example are from individual + recipes and show how the PR value + is set. + + + + INHIBIT_PACKAGE_STRIP + + + Causes the build to not strip binaries in resulting packages. + + + + + + INHERIT + + + Causes the named class to be inherited at + this point during parsing. + The variable is only valid in configuration files. + + + + + + INITSCRIPT_PACKAGES + + + A list of the packages that contain initscripts. + If multiple packages are specified, you need to append the package name + to the other INITSCRIPT_* as an override. + + This variable is used in recipes when using update-rc.d.bbclass. + The variable is optional and defaults to the PN variable. + + + + + INITSCRIPT_NAME + + + The filename of the initscript (as installed to ${etcdir}/init.d). + + + This variable is used in recipes when using update-rc.d.bbclass. + The variable is Mandatory. + + + + + INITSCRIPT_PARAMS + + + Specifies the options to pass to update-rc.d. + An example is start 99 5 2 . stop 20 0 1 6 ., which gives the script a + runlevel of 99, starts the script in initlevels 2 and 5, and + stops the script in levels 0, 1 and 6. + + + The variable is mandatory and is used in recipes when using + update-rc.d.bbclass. + + + + + + + + + + + K + + KBRANCH + + + A regular expression used by the build process to explicitly identify the kernel + branch that is validated, patched and configured during a build. + The KBRANCH variable is optional. + You can use it to trigger checks to ensure the exact kernel branch you want is + being used by the build process. + + + + Values for this variable are set in the kernel's recipe file and the kernel's + append file. + For example, if you are using the Yocto Project kernel that is based on the + Linux 3.4 kernel, the kernel recipe file is the + meta/recipes-kernel/linux/linux-yocto_3.4.bb file. + Following is the default value for KBRANCH and the default + override for the architectures the Yocto Project supports: + + KBRANCH_DEFAULT = "standard/base" + KBRANCH = "${KBRANCH_DEFAULT}" + + This branch exists in the linux-yocto-3.4 kernel Git + repository . + + + + This variable is also used from the kernel's append file to identify the kernel + branch specific to a particular 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 + meta-intel Git repository and is named + meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend. + Here are the related statements from the append file: + + COMPATIBLE_MACHINE_crownbay = "crownbay" + KMACHINE_crownbay = "crownbay" + KBRANCH_crownbay = "standard/crownbay" + + COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" + KMACHINE_crownbay-noemgd = "crownbay" + KBRANCH_crownbay-noemgd = "standard/crownbay" + + The KBRANCH_* statements identify the kernel branch to + use when building for the Crown Bay BSP. + In this case there are two identical statements: one for each type of + Crown Bay machine. + + + + + KERNEL_FEATURES + + Includes additional metadata from the Yocto Project kernel Git repository. + In the OpenEmbedded build system, the default Board Support Packages (BSPs) + metadata is provided through + the KMACHINE and KBRANCH variables. + You can use the KERNEL_FEATURES variable to further + add metadata for all BSPs. + The metadata you add through this variable includes config fragments and + features descriptions, + which usually includes patches as well as config fragments. + You typically override the KERNEL_FEATURES variable + for a specific machine. + In this way, you can provide validated, but optional, sets of kernel + configurations and features. + For example, the following adds netfilter to all + the Yocto Project kernels and adds sound support to the qemux86 + machine: + + # Add netfilter to all linux-yocto kernels + KERNEL_FEATURES="features/netfilter" + + # Add sound support to the qemux86 machine + KERNEL_FEATURES_append_qemux86=" cfg/sound" + + + + + KERNEL_IMAGETYPE + + The type of kernel to build for a device, usually set by the + machine configuration files and defaults to "zImage". + This variable is used + when building the kernel and is passed to make as the target to + build. + + + + KMACHINE + + + The machine as known by the kernel. + Sometimes the machine name used by the kernel does not match the machine name + used by the OpenEmbedded build system. + For example, the machine name that the OpenEmbedded build system understands as + qemuarm goes by a different name in the Linux Yocto kernel. + The kernel understands that machine as arm_versatile926ejs. + For cases like these, the KMACHINE variable maps the + kernel machine name to the OpenEmbedded build system machine name. + + + + Kernel machine names are initially defined in the + Yocto Linux Kernel in + the meta branch. + From the meta branch, look in + the meta/cfg/kernel-cache/bsp/<bsp_name>/<bsp-name>-<kernel-type>.scc file. + For example, from the meta branch in the + linux-yocto-3.0 kernel, the + meta/cfg/kernel-cache/bsp/cedartrail/cedartrail-standard.scc file + has the following: + + define KMACHINE cedartrail + define KTYPE standard + define KARCH i386 + + include ktypes/standard + branch cedartrail + + include cedartrail.scc + + You can see that the kernel understands the machine name for the Cedar Trail BSP as + cedartrail. + + + + If you look in the Cedar Trail BSP layer in the meta-intel source + repository at meta-cedartrail/recipes-kernel/linux/linux-yocto_3.0.bbappend, + you will find the following statements among others: + + COMPATIBLE_MACHINE_cedartrail = "cedartrail" + KMACHINE_cedartrail = "cedartrail" + KBRANCH_cedartrail = "yocto/standard/cedartrail" + KERNEL_FEATURES_append_cedartrail += "bsp/cedartrail/cedartrail-pvr-merge.scc" + KERNEL_FEATURES_append_cedartrail += "cfg/efi-ext.scc" + + COMPATIBLE_MACHINE_cedartrail-nopvr = "cedartrail" + KMACHINE_cedartrail-nopvr = "cedartrail" + KBRANCH_cedartrail-nopvr = "yocto/standard/cedartrail" + KERNEL_FEATURES_append_cedartrail-nopvr += " cfg/smp.scc" + + The KMACHINE statements in the kernel's append file make sure that + the OpenEmbedded build system and the Yocto Linux kernel understand the same machine + names. + + + + This append file uses two KMACHINE statements. + The first is not really necessary but does ensure that the machine known to the + OpenEmbedded build system as cedartrail maps to the machine + in the kernel also known as cedartrail: + + KMACHINE_cedartrail = "cedartrail" + + + + + The second statement is a good example of why the KMACHINE variable + is needed. + In this example, the OpenEmbedded build system uses the cedartrail-nopvr + machine name to refer to the Cedar Trail BSP that does not support the propriatory + PowerVR driver. + The kernel, however, uses the machine name cedartrail. + Thus, the append file must map the cedartrail-nopvr machine name to + the kernel's cedartrail name: + + KMACHINE_cedartrail-nopvr = "cedartrail" + + + + + BSPs that ship with the Yocto Project release provide all mappings between the Yocto + Project kernel machine names and the OpenEmbedded machine names. + Be sure to use the KMACHINE if you create a BSP and the machine + name you use is different than that used in the kernel. + + + + + + + L + + LAYERDEPENDS + + Lists the layers that this recipe depends upon, separated by spaces. + Optionally, you can specify a specific layer version for a dependency + by adding it to the end of the layer name with a colon, (e.g. "anotherlayer:3" + to be compared against LAYERVERSION_anotherlayer in this case). + An error will be produced if any dependency is missing or + the version numbers do not match exactly (if specified). + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERDEPENDS_mylayer). + + + + LAYERDIR + + When used inside the layer.conf configuration + file, this variable provides the path of the current layer. + This variable requires immediate expansion + (see the BitBake manual) as lazy expansion can result in + the expansion happening in the wrong directory and therefore + giving the wrong value. + + + + LAYERVERSION + + Optionally specifies the version of a layer as a single number. + You can use this within LAYERDEPENDS for another layer in order to + depend on a specific version of the layer. + This variable is used in the conf/layer.conf file + and must be suffixed with the name of the specific layer (e.g. + LAYERVERSION_mylayer). + + + + LIC_FILES_CHKSUM + + Checksums of the license text in the recipe source code. + This variable tracks changes in license text of the source + code files. + If the license text is changed, it will trigger a build + failure, which gives the developer an opportunity to review any + license change. + + This variable must be defined for all recipes (unless LICENSE + is set to "CLOSED") + For more information, see the + + Tracking License Changes section + + + + LICENSE + + + The list of source licenses for the recipe. + Follow these rules: + + Do not use spaces within individual + license names. + Separate license names using + | (pipe) when there is a choice between licenses. + + Separate license names using + & (ampersand) when multiple licenses exist + that cover different parts of the source. + + You can use spaces between license + names. + + + + + Here are some examples: + + LICENSE = "LGPLv2.1 | GPLv3" + LICENSE = "MPL-1 & LGPLv2.1" + LICENSE = "GPLv2+" + + The first example is from the recipes for Qt, which the user + may choose to distribute under either the LGPL version + 2.1 or GPL version 3. + The second example is from Cairo where two licenses cover + different parts of the source code. + The final example is from sysstat, + which presents a single license. + + + + + LICENSE_PATH + + Path to additional licenses used during the build. + By default, the OpenEmbedded build system uses COMMON_LICENSE_DIR + to define the directory that holds common license text used during the build. + The LICENSE_PATH variable allows you to extend that + location to other areas that have additional licenses: + + LICENSE_PATH += "/path/to/additional/common/licenses" + + + + + + + M + + MACHINE + + + Specifies the target device for which the image is built. + You define MACHINE in the + local.conf file found in the + Build Directory. + By default, MACHINE is set to + "qemux86", which is an x86-based architecture machine to + be emulated using QEMU: + + MACHINE ?= "qemux86" + + The variable corresponds to a machine configuration file of the + same name, through which machine-specific configurations are set. + Thus, when MACHINE is set to "qemux86" there + exists the corresponding qemux86.conf machine + configuration file, which can be found in the + Source Directory + in meta/conf/machine. + + + + The list of machines supported by the Yocto Project as + shipped include the following: + + MACHINE ?= "qemuarm" + MACHINE ?= "qemumips" + MACHINE ?= "qemuppc" + MACHINE ?= "qemux86" + MACHINE ?= "qemux86-64" + MACHINE ?= "atom-pc" + MACHINE ?= "beagleboard" + MACHINE ?= "mpc8315e-rdb" + MACHINE ?= "routerstationpro" + + The last four are Yocto Project reference hardware boards, which + are provided in the meta-yocto-bsp layer. + Adding additional Board Support Package (BSP) layers + to your configuration adds new possible settings for + MACHINE. + + + + + + MACHINE_ESSENTIAL_EXTRA_RDEPENDS + + + + A list of required machine-specific packages to install as part of + the image being built. + The build process depends on these packages being present. + Furthermore, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. + + + This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. + + + As an example, suppose the machine for which you are building requires + example-init to be run during boot to initialize the hardware. + In this case, you would use the following in the machine's + .conf configuration file: + + MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "example-init" + + + + + + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS + + + + A list of recommended machine-specific packages to install as part of + the image being built. + The build process does not depend on these packages being present. + However, because this is a "machine essential" variable, the list of + packages are essential for the machine to boot. + The impact of this variable affects images based on + packagegroup-core-boot, + including the core-image-minimal image. + + + This variable is similar to the + MACHINE_ESSENTIAL_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will still build if a package in this list is not found. + Typically, this variable is used to handle essential kernel modules, whose + functionality may be selected to be built into the kernel rather than as a module, + in which case a package will not be produced. + + + Consider an example where you have a custom kernel where a specific touchscreen + driver is required for the machine to be usable. + However, the driver can be built as a module or + into the kernel depending on the kernel configuration. + If the driver is built as a module, you want it to be installed. + But, when the driver is built into the kernel, you still want the + build to succeed. + This variable sets up a "recommends" relationship so that in the latter case, + the build will not fail due to the missing package. + To accomplish this, assuming the package for the module was called + kernel-module-ab123, you would use the + following in the machine's .conf configuration + file: + + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-module-ab123" + + + + Some examples of these machine essentials are flash, screen, keyboard, mouse, + or touchscreen drivers (depending on the machine). + + + + + MACHINE_EXTRA_RDEPENDS + + + A list of machine-specific packages to install as part of the + image being built that are not essential for the machine to boot. + However, the build process for more fully-featured images + depends on the packages being present. + + + This variable affects all images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. + + + The variable is similar to the + MACHINE_EXTRA_RRECOMMENDS + variable with the exception that the image being built has a build + dependency on the variable's list of packages. + In other words, the image will not build if a file in this list is not found. + + + An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + the WiFi. + The package containing the firmware for the WiFi hardware is always + expected to exist, so it is acceptable for the build process to depend upon + finding the package. + In this case, assuming the package for the firmware was called + wifidriver-firmware, you would use the following in the + .conf file for the machine: + + MACHINE_EXTRA_RDEPENDS += "wifidriver-firmware" + + + + + + MACHINE_EXTRA_RRECOMMENDS + + + + A list of machine-specific packages to install as part of the + image being built that are not essential for booting the machine. + The image being built has no build dependency on this list of packages. + + + This variable affects only images based on + packagegroup-base, which does not include the + core-image-minimal or core-image-basic + images. + + + This variable is similar to the + MACHINE_EXTRA_RDEPENDS + variable with the exception that the image being built does not have a build + dependency on the variable's list of packages. + In other words, the image will build if a file in this list is not found. + + + An example is a machine that has WiFi capability but is not essential + For the machine to boot the image. + However, if you are building a more fully-featured image, you want to enable + WiFi. + In this case, the package containing the WiFi kernel module will not be produced + if the WiFi driver is built into the kernel, in which case you still want the + build to succeed instead of failing as a result of the package not being found. + To accomplish this, assuming the package for the module was called + kernel-module-examplewifi, you would use the + following in the .conf file for the machine: + + MACHINE_EXTRA_RRECOMMENDS += "kernel-module-examplewifi" + + + + + + MACHINE_FEATURES + + Specifies the list of hardware features the + MACHINE supports. + For example, including the "bluetooth" feature causes the + bluez bluetooth daemon to be built and + added to the image. + It also causes the connman recipe + to look at MACHINE_FEATURES and when it + finds "bluetooth" there it enables the bluetooth + support in ConnMan. + + + + For a list of features supported by the Yocto Project as shipped, + see the "Machine" section. + + + + + MACHINE_FEATURES_BACKFILL + + Features to be added to + MACHINE_FEATURES + if not also present in + MACHINE_FEATURES_BACKFILL_CONSIDERED. + + + + This variable is set in the meta/conf/bitbake.conf file. + It is not intended to be user-configurable. + It is best to just reference the variable to see which machine features are + being backfilled for all machine configurations. + See the Feature backfilling section for + more information. + + + + + MACHINE_FEATURES_BACKFILL_CONSIDERED + + Features from + MACHINE_FEATURES_BACKFILL + that should not be backfilled (i.e. added to + MACHINE_FEATURES) + during the build. + See the Feature backfilling section for + more information. + + + + + MAINTAINER + + The email address of the distribution maintainer. + + + + MLPREFIX + + + Specifies a prefix has been added to + PN to create a special version + of a recipe or package, such as a multilib version. + The variable is used in places where the prefix needs to be + added to or removed from a the name (e.g. the + BPN variable). + MLPREFIX gets set when a prefix has been + added to PN. + + + + + MULTIMACH_TARGET_SYS + + + Separates files for different machines such that you can build + for multiple target machines using the same output directories. + See the STAMP variable + for an example. + + + + + + + + + + O + + OE_TERMINAL + + + Controls how the OpenEmbedded build system spawns + interactive terminals on the host development system + (e.g. using the BitBake command with the + -c devshell command-line option). + For more information, see the + "Using a Development Shell" section + in the Yocto Project Development Manual. + + + + You can use the following values for the + OE_TERMINAL variable: + + auto + gnome + xfce + rxvt + screen + konsole + none + + Konsole support only works for KDE 3.x. + Also, "auto" is the default behavior for + OE_TERMINAL + + + + + + P + + P + + The recipe name and version. + P is comprised of the following: + + ${PN}-${PV} + + + + + PACKAGE_ARCH + + The architecture of the resulting package or packages. + + + + PACKAGE_BEFORE_PN + + Enables easily adding packages to + PACKAGES + before ${PN} so that the packages can pick + up files that would normally be included in the default package. + + + + PACKAGE_CLASSES + + This variable, which is set in the local.conf configuration + file found in the conf folder of the + Source Directory, + specifies the package manager to use when packaging data. + You can provide one or more arguments for the variable with the first + argument being the package manager used to create images: + + PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" + + For information on build performance effects as a result of the + package manager use, see + Packaging - package*.bbclass + in this manual. + + + + + PACKAGE_EXTRA_ARCHS + + Specifies the list of architectures compatible with the device CPU. + This variable is useful when you build for several different devices that use + miscellaneous processors such as XScale and ARM926-EJS). + + + + PACKAGECONFIG + + + This variable provides a means of enabling or disabling + features of a recipe on a per-recipe basis. + The PACKAGECONFIG + variable itself specifies a space-separated list of the + features to enable. + The features themselves are specified as flags on the + PACKAGECONFIG variable. + You can provide up to four arguments, which are separated by + commas, to determine the behavior of each feature + when it is enabled or disabled. + You can omit any argument you like but must retain the + separating commas. + The arguments specify the following: + + Extra arguments + that should be added to the configure script argument list + (EXTRA_OECONF) + if the feature is enabled. + Extra arguments + that should be added to EXTRA_OECONF + if the feature is disabled. + + Additional build dependencies + (DEPENDS) + that should be added if the feature is enabled. + + Additional runtime dependencies + (RDEPENDS) + that should be added if the feature is enabled. + + + + + + Consider the following example taken from the + librsvg recipe. + In this example the feature is croco, which + has three arguments that determine the feature's behavior. + + PACKAGECONFIG ??= "croco" + PACKAGECONFIG[croco] = "--with-croco,--without-croco,libcroco" + + The --with-croco and + libcroco arguments apply only if + the feature is enabled. + In this case, --with-croco is + added to the configure script argument list and + libcroco is added to + DEPENDS. + On the other hand, if the feature is disabled say through + a .bbappend file in another layer, then + the second argument --without-croco is + added to the configure script rather than + --with-croco. + + + + + PACKAGES + + The list of packages to be created from the recipe. + The default value is the following: + + ${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN} + + + + + PACKAGES_DYNAMIC + + + A promise that your recipe satisfies runtime dependencies + for optional modules that are found in other recipes. + PACKAGES_DYNAMIC + does not actually satisfy the dependencies, it only states that + they should be satisfied. + For example, if a hard, runtime dependency + (RDEPENDS) of another package is satisfied + at build time through the PACKAGES_DYNAMIC + variable, but a package with the module name is never actually + produced, then the other package will be broken. + Thus, if you attempt to include that package in an image, + you will get a dependency failure from the packaging system + during do_rootfs. + Typically, if there is a chance that such a situation can + occur and the package that is not created is valid + without the dependency being satisfied, then you should use + RRECOMMENDS (a soft runtime dependency) + instead of RDEPENDS. + + + + For an example of how to use the PACKAGES_DYNAMIC + variable when you are splitting packages, see the + "Handling Optional Module Packaging" section + in the Yocto Project Development Manual. + + + + + PARALLEL_MAKE + + Specifies extra options that are passed to the make command during the + compile tasks. + This variable is usually in the form -j 4, where the number + represents the maximum number of parallel threads make can run. + If you development host supports multiple cores a good rule of thumb is to set + this variable to twice the number of cores on the host. + + + + PF + + Specifies the recipe or package name and includes all version and revision + numbers (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/). + This variable is comprised of the following: + + ${PN}-${EXTENDPE}${PV}-${PR} + + + + + PN + + This variable can have two separate functions depending on the context: a recipe + name or a resulting package name. + PN refers to a recipe name in the context of a file used + by the OpenEmbedded build system as input to create a package. + The name is normally extracted from the recipe file name. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PN + will be "expat". + + The variable refers to a package name in the context of a file created or produced by the + OpenEmbedded build system. + If applicable, the PN variable also contains any special + suffix or prefix. + For example, using bash to build packages for the native + machine, PN is bash-native. + Using bash to build packages for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. + + + + + PR + + The revision of the recipe. + The default value for this variable is "r0". + + + + + PRINC + + Causes the PR variable of + .bbappend files to dynamically increment. + This increment minimizes the impact of layer ordering. + In order to ensure multiple .bbappend files can co-exist, + PRINC should be self referencing. + This variable defaults to 0. + Following is an example that increments PR by two: + + PRINC := "${@int(PRINC) + 2}" + + It is adviseable not to use strings such as ".= '.1'" with the variable because + this usage is very sensitive to layer ordering. + Explicit assignments should be avoided as they cannot adequately represent multiple + .bbappend files. + + + + PV + + The version of the recipe. + The version is normally extracted from the recipe filename. + For example, if the recipe is named + expat_2.0.1.bb, then the default value of PV + will be "2.0.1". + PV is generally not overridden within + a recipe unless it is building an unstable (i.e. development) version from a source code repository + (e.g. Git or Subversion). + + + + + PE + + + the epoch of the recipe. + The default value is "0". + The field is used to make upgrades possible when the versioning scheme changes in + some backwards incompatible way. + + + + + PREFERRED_PROVIDER + + + If multiple recipes provide an item, this variable + determines which recipe should be given preference. + The variable must always be suffixed with the name of the + provided item, and should be set to the + PN of the recipe + to which you want to give precedence. + Here is an example: + + PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" + + + + + + PREFERRED_VERSION + + + If there are multiple versions of recipes available, this + variable determines which recipe should be given preference. + The variable must always be suffixed with the PN + for which to select, and should be set to the + PV to which you want to give precedence. + You can use the "%" character as a wildcard + to match any number of characters, which can be useful when + specifying versions that contain long revision number that could + potentially change. + Here are two examples: + + PREFERRED_VERSION_python = "2.6.6" + PREFERRED_VERSION_linux-yocto = "3.0+git%" + + + + + + + + + + + R + + RCONFLICTS + + The list of packages that conflict with a package. + Note that the package will not be installed if the conflicting packages are not + first removed. + + Like all package-controlling variables, you must always use them in + conjunction with a package name override. + Here is an example: + + RCONFLICTS_${PN} = "another-conflicting-package-name" + + + + + + RDEPENDS + + + Lists a package's run-time dependencies (i.e. other packages) + that must be installed for the package to be built. + In other words, in order for the package to be built and + run correctly, it depends on the listed packages. + If a package in this list cannot be found, it is probable + that a dependency error would occur before the build. + + + + The names of the variables you list with + RDEPENDS must be the names of other + packages as listed in the + PACKAGES + variable. + You should not list recipe names (PN). + + + + Because the RDEPENDS variable applies + to packages being built, you should + always attach a package name to the variable to specify the + particular run-time package that has the dependency. + For example, suppose you are building a development package + that depends on the perl package. + In this case, you would use the following + RDEPENDS statement: + + RDEPENDS_${PN}-dev += "perl" + + In the example, the package name + (${PN}-dev) must appear as it would + in the + PACKAGES + namespace before any renaming of the output package by + classes like debian.bbclass. + + + + In many cases you do not need to explicitly add dependencies + to RDEPENDS since some automatic + handling occurs: + + shlibdeps: If + a run-time package contains a shared library + (.so), the build + processes the library in order to determine other + libraries to which it is dynamically linked. + The build process adds these libraries to + RDEPENDS when creating the run-time + package. + pcdeps: If + the package ships a pkg-config + information file, the build process uses this file + to add items to the RDEPENDS + variable to create the run-time packages. + + + + + + + RRECOMMENDS + + + A list of packages that extend the usability of a package being + built. + The package being built does not depend on this list of packages in + order to successfully build, but needs them for the extended usability. + To specify runtime dependencies for packages, see the + RDEPENDS variable. + + + The OpenEmbedded build process automatically installs the list of packages + as part of the built package. + However, you can remove them later if you want. + If, during the build, a package from the list cannot be found, the build + process continues without an error. + + + Because the RRECOMMENDS variable applies to packages + being built, you should + always attach an override to the variable to specify the particular package + whose usability is being extended. + For example, suppose you are building a development package that is extended + to support wireless functionality. + In this case, you would use the following: + + RRECOMMENDS_${PN}-dev += "<wireless_package_name>" + + In the example, the package name (${PN}-dev) must + appear as it would in the + PACKAGES namespace before any + renaming of the output package by classes like debian.bbclass. + + + + + RREPLACES + + The list of packages that are replaced with this package. + + + + + + S + + S + + + The location in the Build Directory + where unpacked package source code resides. + This location is within the working directory + (WORKDIR), which + is not static. + The unpacked source location depends on the package name + (PN) and + package version (PV) as + follows: + + ${WORKDIR}/${PN}/${PV} + + As an example, assume a + Source Directory top-level + folder named poky + and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the db package is the following: + + ~/poky/build/tmp/work/qemux86-poky-linux/db/5.1.19-r3/db-5.1.19 + + + + + + SDKIMAGE_FEATURES + + Equivalent to + IMAGE_FEATURES. + However, this variable applies to the SDK generated from an image using + bitbake -c populate_sdk imagename). + + + + + SECTION + + The section in which packages should be categorized. + Package management utilities can make use of this variable. + + + + SELECTED_OPTIMIZATION + + + The variable takes the value of + FULL_OPTIMIZATION + unless DEBUG_BUILD = "1". + In this case the value of + DEBUG_OPTIMIZATION is used. + + + + + + SERIAL_CONSOLE + + The speed and device for the serial port used to attach the serial console. + This variable is given to the kernel as the "console" + parameter and after booting occurs getty is started on that port + so remote login is possible. + + + + SITEINFO_ENDIANNESS + + + Specifies the endian byte order of the target system. + The value should be either "le" for little-endian or "be" for big-endian. + + + + + SITEINFO_BITS + + + Specifies the number of bits for the target system CPU. + The value should be either "32" or "64". + + + + + SPECIAL_PKGSUFFIX + + + A list of prefixes for PN used by the + OpenEmbedded build system to create variants of recipes or packages. + The list specifies the prefixes to strip off during certain circumstances + such as the generation of the BPN variable. + + + + + SRC_URI + + The list of source files - local or remote. + This variable tells the OpenEmbedded build system which bits to pull + in for the build and how to pull them in. + For example, if the recipe only needs to fetch a tarball from the + internet, the recipe uses a single SRC_URI entry. + On the other hand, if the recipe needs to fetch a tarball, apply + two patches, and include a custom file, the recipe would include four + instances of the variable. + The following list explains the available URI protocols: + + file:// - Fetches files, which is usually + a file shipped with the metadata, from the local machine. + The path is relative to the + FILESPATH + variable. + Thus, the build system searches, in order, from the following directories, + which are assumed to be a subdirectories of the directory in which the + recipe file resides: + + ${PN} - The recipe name + with any special suffix or prefix, if applicable. + For example, using bash to build for the native + machine, PN is bash-native. + Using bash to build for the target and for Multilib, + PN would be bash and + lib64-bash, respectively. + + ${PF} - + ${PN}-${EXTENDPE}${PV}-${PR}. + The recipe name including all version and revision numbers + (i.e. eglibc-2.13-r20+svnr15508/ and + bash-4.2-r1/). + ${P} - + ${PN}-${PV}. + The recipe name and version (i.e. bash-4.2). + + ${BPN} - The + base recipe name without any special suffix or version numbers. + + ${BP} - + ${BPN}-${PV}. + The base recipe name and version but without any special + package name suffix. + Files - Files beneath the directory in which the recipe + resides. + Directory - The directory itself in which the recipe + resides. + + bzr:// - Fetches files from a + Bazaar revision control repository. + git:// - Fetches files from a + Git revision control repository. + osc:// - Fetches files from + an OSC (OpenSuse Build service) revision control repository. + repo:// - Fetches files from + a repo (Git) repository. + svk:// - Fetches files from + an SVK revision control repository. + http:// - Fetches files from + the Internet using http. + https:// - Fetches files + from the Internet using https. + ftp:// - Fetches files + from the Internet using ftp. + cvs:// - Fetches files from + a CVS revision control repository. + hg:// - Fetches files from + a Mercurial (hg) revision control repository. + p4:// - Fetches files from + a Perforce (p4) revision control repository. + ssh:// - Fetches files from + a secure shell. + svn:// - Fetches files from + a Subversion (svn) revision control repository. + + + Standard and recipe-specific options for SRC_URI exist. + Here are standard options: + + apply - Whether to apply + the patch or not. + The default action is to apply the patch. + striplevel - Which + striplevel to use when applying the patch. + The default level is 1. + + + Here are options specific to recipes building code from a revision control system: + + mindate - Only applies + the patch if SRCDATE + is equal to or greater than mindate. + maxdate - Only applies + the patch if SRCDATE + is not later than mindate. + minrev - Only applies + the patch if SRCREV + is equal to or greater than minrev. + maxrev - Only applies + the patch if SRCREV + is not later than maxrev. + rev - Only applies the + patch if SRCREV + is equal to rev. + notrev - Only applies + the patch if SRCREV + is not equal to rev. + + + Here are some additional options worth mentioning: + + unpack - Controls + whether or not to unpack the file if it is an archive. + The default action is to upack the file. + subdir - Places the file + (or extracts its contents) into the specified + subdirectory of WORKDIR. + This option is useful for unusual tarballs or other archives that + don't have their files already in a subdirectory within the archive. + + name - Specifies a + name to be used for association with SRC_URI checksums + when you have more than one file specified in SRC_URI. + + downloadfilename - Specifies + the filename used when storing the downloaded file. + + + + + + SRC_URI_OVERRIDES_PACKAGE_ARCH + + + + By default, the OpenEmbedded build system automatically detects whether + SRC_URI + contains files that are machine-specific. + If so, the build system automatically changes + PACKAGE_ARCH. + Setting this variable to "0" disables this behavior. + + + + + SRCDATE + + + The date of the source code used to build the package. + This variable applies only if the source was fetched from a Source Code Manager (SCM). + + + + + SRCREV + + + The revision of the source code used to build the package. + This variable applies to Subversion, Git, Mercurial and Bazaar + only. + Note that if you wish to build a fixed revision and you wish + to avoid performing a query on the remote repository every time + BitBake parses your recipe, you should specify a SRCREV that is a + full revision identifier and not just a tag. + + + + + SSTATE_DIR + + The directory for the shared state. + + + + SSTATE_MIRRORS + + + Configures the OpenEmbedded build system to search other + mirror locations for prebuilt cache data objects before + building out the data. + This variable works like fetcher + MIRRORS/PREMIRRORS + and points to the cache locations to check for the shared + objects. + + + + You can specify a filesystem directory or a remote URL such + as HTTP or FTP. + The locations you specify need to contain the shared state + cache (sstate-cache) results from previous builds. + The sstate-cache you point to can also be from builds on + other machines. + + + + If a mirror uses the same structure as + SSTATE_DIR, + you need to add + "PATH" at the end as shown in the examples below. + The build system substitues the correct path within the + directory structure. + + SSTATE_MIRRORS ?= "\ + file://.* http://someserver.tld/share/sstate/PATH \n \ + file://.* file:///some/local/dir/sstate/PATH" + + + + + + STAGING_KERNEL_DIR + + + The directory with kernel headers that are required to build out-of-tree + modules. + + + + + STAMP + + + Specifies the base path used to create recipe stamp files. + The path to an actual stamp file is constructed by evaluating this + string and then appending additional information. + Currently, the default assignment for STAMP + as set in the meta/conf/bitbake.conf file + is: + + STAMP = "${TMPDIR}/stamps/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" + + See TMPDIR, + MULTIMACH_TARGET_SYS, + PN, + EXTENDPE, + PV, and + PR for related variable + information. + + + + + SUMMARY + + The short (72 characters or less) summary of the binary package for packaging + systems such as opkg, rpm or + dpkg. + By default, SUMMARY is used to define + the DESCRIPTION + variable if DESCRIPTION is not set + in the recipe. + + + + + + + T + + T + + This variable points to a directory were Bitbake places temporary + files when building a particular package. + It is typically set as follows: + + T = ${WORKDIR}/temp + + The WORKDIR + is the directory into which Bitbake unpacks and builds the package. + The default bitbake.conf file sets this variable. + The T variable is not to be confused with + the TMPDIR variable, + which points to the root of the directory tree where Bitbake + places the output of an entire build. + + + + + TARGET_ARCH + + The architecture of the device being built. + While a number of values are possible, the OpenEmbedded build system primarily supports + arm and i586. + + + + TARGET_CFLAGS + + + Flags passed to the C compiler for the target system. + This variable evaluates to the same as + CFLAGS. + + + + + + TARGET_FPU + + Specifies the method for handling FPU code. + For FPU-less targets, which include most ARM CPUs, the variable must be + set to "soft". + If not, the kernel emulation gets used, which results in a performance penalty. + + + + TARGET_OS + + Specifies the target's operating system. + The variable can be set to "linux" for eglibc-based systems and + to "linux-uclibc" for uclibc. + For ARM/EABI targets, there are also "linux-gnueabi" and + "linux-uclibc-gnueabi" values possible. + + + + TCLIBC + + + Specifies which variant of the GNU standard C library (libc) + to use during the build process. + This variable replaces POKYLIBC, which is no longer + supported. + + + You can select eglibc or uclibc. + + This release of the Yocto Project does not support the + glibc implementation of libc. + + + + + + TCMODE + + + The toolchain selector. + This variable replaces POKYMODE, which is no longer + supported. + + + The TCMODE variable selects the external toolchain + built using the OpenEmbedded build system or a few supported combinations of + the upstream GCC or CodeSourcery Labs toolchain. + The variable identifies the tcmode-* files used in + the meta/conf/distro/include directory, which is found in the + Source Directory. + + + By default, TCMODE is set to "default", which + chooses the tcmode-default.inc file. + The variable is similar to + TCLIBC, which controls + the variant of the GNU standard C library (libc) + used during the build process: eglibc or uclibc. + + + + + TMPDIR + + + This variable is the temporary directory the OpenEmbedded build system + uses when it does its work building images. + By default, the TMPDIR variable is named + tmp within the + Build Directory. + + + + If you want to establish this directory in a location other than the + default, you can uncomment the following statement in the + conf/local.conf file in the + Source Directory: + + #TMPDIR = "${TOPDIR}/tmp" + + + + + + TOPDIR + + + This variable is the + Build Directory. + BitBake automatically sets this variable. + The OpenEmbedded build system uses the Build Directory when building images. + + + + + + + + + + + + + W + + WORKDIR + + + The pathname of the working directory in which the OpenEmbedded build system + builds a recipe. + This directory is located within the + TMPDIR directory structure and changes + as different packages are built. + + + + The actual WORKDIR directory depends on several things: + + The temporary directory - TMPDIR + The package architecture - PACKAGE_ARCH + The target machine - MACHINE + The target operating system - TARGET_OS + The recipe name - PN + The recipe version - PV + The recipe revision - PR + + + + + For packages that are not dependent on a particular machine, + WORKDIR is defined as follows: + + ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}/${PV}-${PR} + + As an example, assume a + Source Directory top-level + folder name poky and a default + Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the v86d package is the following: + + ~/poky/build/tmp/work/qemux86-poky-linux/v86d/01.9-r0 + + + + + For packages that are dependent on a particular machine, WORKDIR + is defined slightly different: + + ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}/${PV}-${PR} + + As an example, again assume a Source Directory top-level folder + named poky and a default Build Directory + at poky/build. + In this case, the working directory the build system uses to build + the acl recipe, which is being built for a + MIPS-based device, is the following: + + ~/poky/build/tmp/work/mips-poky-linux/acl/2.2.51-r2 + + + + + + + + + + + + + + + + + + + diff --git a/documentation/ref-manual/ref-varlocality.xml b/documentation/ref-manual/ref-varlocality.xml new file mode 100644 index 0000000000..ae8f75c2f5 --- /dev/null +++ b/documentation/ref-manual/ref-varlocality.xml @@ -0,0 +1,193 @@ + %poky; ] > + + + Variable Context + + + While most variables can be used in almost any context such as + .conf, .bbclass, + .inc, and .bb files, + some variables are often associated with a particular locality or context. + This chapter describes some common associations. + + +
+ Configuration + + + The following subsections provide lists of variables whose context is + configuration: distribution, machine, and local. + + +
+ Distribution (Distro) + + + This section lists variables whose context is the distribution, or distro. + + DISTRO + DISTRO_NAME + + DISTRO_VERSION + + MAINTAINER + + PACKAGE_CLASSES + + TARGET_OS + + TARGET_FPU + + TCMODE + + TCLIBC + + + +
+ +
+ Machine + + + This section lists variables whose context is the machine. + + TARGET_ARCH + + SERIAL_CONSOLE + + PACKAGE_EXTRA_ARCHS + + IMAGE_FSTYPES + + MACHINE_FEATURES + + MACHINE_EXTRA_RDEPENDS + + MACHINE_EXTRA_RRECOMMENDS + + MACHINE_ESSENTIAL_EXTRA_RDEPENDS + + + MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS + + +
+ +
+ Local + + + This section lists variables whose context is the local configuration through the + local.conf file. + + DISTRO + + MACHINE + + DL_DIR + + BBFILES + + EXTRA_IMAGE_FEATURES + + PACKAGE_CLASSES + + BB_NUMBER_THREADS + + BBINCLUDELOGS + + + ENABLE_BINARY_LOCALE_GENERATION + + +
+
+ +
+ Recipes + + + The following subsections provide lists of variables whose context is + recipes: required, dependencies, path, and extra build information. + + +
+ Required + + + This section lists variables that are required for recipes. + + LICENSE + + LIC_FILES_CHKSUM + + SRC_URI - used + in recipes that fetch local or remote files. + + + +
+ +
+ Dependencies + + + This section lists variables that define recipe dependencies. + + DEPENDS + + RDEPENDS + + RRECOMMENDS + + RCONFLICTS + + RREPLACES + + + +
+ +
+ Paths + + + This section lists variables that define recipe paths. + + WORKDIR + + S + + FILES + + + +
+ +
+ Extra Build Information + + + This section lists variables that define extra build information for recipes. + + EXTRA_OECMAKE + + EXTRA_OECONF + + EXTRA_OEMAKE + + PACKAGES + + DEFAULT_PREFERENCE + + + +
+
+
+ diff --git a/documentation/ref-manual/resources.xml b/documentation/ref-manual/resources.xml new file mode 100644 index 0000000000..a6916064f6 --- /dev/null +++ b/documentation/ref-manual/resources.xml @@ -0,0 +1,114 @@ + %poky; ] > + + +Contributing to the Yocto Project + +
+ Introduction + + The Yocto Project team is happy for people to experiment with the Yocto Project. + A number of places exist to find help if you run into difficulties or find bugs. + To find out how to download source code, + see the "Yocto Project Release" + list item in the Yocto Project Development Manual. + +
+ +
+ Tracking Bugs + + + If you find problems with the Yocto Project, you should report them using the + Bugzilla application at . + +
+ +
+ Mailing lists + + + There are a number of mailing lists maintained by the Yocto Project as well as + related OpenEmbedded mailing lists for discussion, patch submission and announcements. + To subscribe to one of the following mailing lists, click on the appropriate URL + in the following list and follow the instructions: + + - + General Yocto Project discussion mailing list. + - + Discussion mailing list about OpenEmbedded-Core (the core metadata). + - + Discussion mailing list about OpenEmbedded. + - + Discussion mailing list about the BitBake build tool. + - + Discussion mailing list about Poky. + - + Mailing list to receive official Yocto Project release and milestone + announcements. + + +
+ +
+ Internet Relay Chat (IRC) + + + Two IRC channels on freenode are available for the Yocto Project and Poky discussions: + + #yocto + #poky + + +
+ + + +
+ Contributions + + + The Yocto Project gladly accepts contributions. + You can submit changes to the project either by creating and sending pull requests, + or by submitting patches through email. + For information on how to do both, see the + "How to Submit a Change" + section in the Yocto Project Development Manual. + +
+ +
+ diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml new file mode 100644 index 0000000000..b1d7c40799 --- /dev/null +++ b/documentation/ref-manual/technical-details.xml @@ -0,0 +1,1011 @@ + %poky; ] > + + +Technical Details + + + This chapter provides technical details for various parts of the Yocto Project. + Currently, topics include Yocto Project components and shared state (sstate) cache. + + +
+ Yocto Project Components + + + The BitBake task executor together with various types of configuration files form the + OpenEmbedded Core. + This section overviews the BitBake task executor and the + configuration files by describing what they are used for and how they interact. + + + + BitBake handles the parsing and execution of the data files. + The data itself is of various types: + + Recipes: Provides details about particular + pieces of software + Class Data: An abstraction of common build + information (e.g. how to build a Linux kernel). + Configuration Data: Defines machine-specific settings, + policy decisions, etc. + Configuration data acts as the glue to bind everything together. + + For more information on data, see the + "Yocto Project Terms" + section in the Yocto Project Development Manual. + + + + BitBake knows how to combine multiple data sources together and refers to each data source + as a layer. + For information on layers, see the + "Understanding and + Creating Layers" section of the Yocto Project Development Manual. + + + + Following are some brief details on these core components. + For more detailed information on these components see the + "Directory Structure" chapter. + + +
+ BitBake + + + BitBake is the tool at the heart of the OpenEmbedded build system and is responsible + for parsing the metadata, generating a list of tasks from it, + and then executing those tasks. + To see a list of the options BitBake supports, use the following help command: + + $ bitbake --help + + + + + The most common usage for BitBake is bitbake <packagename>, where + packagename is the name of the package you want to build + (referred to as the "target" in this manual). + The target often equates to the first part of a .bb filename. + So, to run the matchbox-desktop_1.2.3.bb file, you + might type the following: + + $ bitbake matchbox-desktop + + Several different versions of matchbox-desktop might exist. + BitBake chooses the one selected by the distribution configuration. + You can get more details about how BitBake chooses between different + target versions and providers in the + "Preferences and Providers" section. + + + + BitBake also tries to execute any dependent tasks first. + So for example, before building matchbox-desktop, BitBake + would build a cross compiler and eglibc if they had not already + been built. + This release of the Yocto Project does not support the glibc + GNU version of the Unix standard C library. By default, the OpenEmbedded build system + builds with eglibc. + + + + A useful BitBake option to consider is the -k or + --continue option. + This option instructs BitBake to try and continue processing the job as much + as possible even after encountering an error. + When an error occurs, the target that + failed and those that depend on it cannot be remade. + However, when you use this option other dependencies can still be processed. + +
+ +
+ Metadata (Recipes) + + + The .bb files are usually referred to as "recipes." + In general, a recipe contains information about a single piece of software. + The information includes the location from which to download the source patches + (if any are needed), which special configuration options to apply, + how to compile the source files, and how to package the compiled output. + + + + The term "package" can also be used to describe recipes. + However, since the same word is used for the packaged output from the OpenEmbedded + build system (i.e. .ipk or .deb files), + this document avoids using the term "package" when referring to recipes. + +
+ +
+ Classes + + + Class files (.bbclass) contain information that is useful to share + between metadata files. + An example is the Autotools class, which contains + common settings for any application that Autotools uses. + The "Classes" chapter provides details + about common classes and how to use them. + +
+ +
+ Configuration + + + The configuration files (.conf) define various configuration variables + that govern the OpenEmbedded build process. + These files fall into several areas that define machine configuration options, + distribution configuration options, compiler tuning options, general common configuration + options and user configuration options (local.conf, which is found + in the Build Directory). + +
+
+ +
+ Shared State Cache + + + By design, the OpenEmbedded build system builds everything from scratch unless + BitBake can determine that parts don't need to be rebuilt. + Fundamentally, building from scratch is attractive as it means all parts are + built fresh and there is no possibility of stale data causing problems. + When developers hit problems, they typically default back to building from scratch + so they know the state of things from the start. + + + + Building an image from scratch is both an advantage and a disadvantage to the process. + As mentioned in the previous paragraph, building from scratch ensures that + everything is current and starts from a known state. + However, building from scratch also takes much longer as it generally means + rebuilding things that don't necessarily need rebuilt. + + + + The Yocto Project implements shared state code that supports incremental builds. + The implementation of the shared state code answers the following questions that + were fundamental roadblocks within the OpenEmbedded incremental build support system: + + What pieces of the system have changed and what pieces have not changed? + How are changed pieces of software removed and replaced? + How are pre-built components that don't need to be rebuilt from scratch + used when they are available? + + + + + For the first question, the build system detects changes in the "inputs" to a given task by + creating a checksum (or signature) of the task's inputs. + If the checksum changes, the system assumes the inputs have changed and the task needs to be + rerun. + For the second question, the shared state (sstate) code tracks which tasks add which output + to the build process. + This means the output from a given task can be removed, upgraded or otherwise manipulated. + The third question is partly addressed by the solution for the second question + assuming the build system can fetch the sstate objects from remote locations and + install them if they are deemed to be valid. + + + + The rest of this section goes into detail about the overall incremental build + architecture, the checksums (signatures), shared state, and some tips and tricks. + + +
+ Overall Architecture + + + When determining what parts of the system need to be built, BitBake + uses a per-task basis and does not use a per-recipe basis. + You might wonder why using a per-task basis is preferred over a per-recipe basis. + To help explain, consider having the IPK packaging backend enabled and then switching to DEB. + In this case, do_install and do_package + output are still valid. + However, with a per-recipe approach, the build would not include the + .deb files. + Consequently, you would have to invalidate the whole build and rerun it. + Rerunning everything is not the best situation. + Also in this case, the core must be "taught" much about specific tasks. + This methodology does not scale well and does not allow users to easily add new tasks + in layers or as external recipes without touching the packaged-staging core. + +
+ +
+ Checksums (Signatures) + + + The shared state code uses a checksum, which is a unique signature of a task's + inputs, to determine if a task needs to be run again. + Because it is a change in a task's inputs that triggers a rerun, the process + needs to detect all the inputs to a given task. + For shell tasks, this turns out to be fairly easy because + the build process generates a "run" shell script for each task and + it is possible to create a checksum that gives you a good idea of when + the task's data changes. + + + + To complicate the problem, there are things that should not be included in + the checksum. + First, there is the actual specific build path of a given task - + the WORKDIR. + It does not matter if the working directory changes because it should not + affect the output for target packages. + Also, the build process has the objective of making native/cross packages relocatable. + The checksum therefore needs to exclude WORKDIR. + The simplistic approach for excluding the working directory is to set + WORKDIR to some fixed value and create the checksum + for the "run" script. + + + + Another problem results from the "run" scripts containing functions that + might or might not get called. + The incremental build solution contains code that figures out dependencies + between shell functions. + This code is used to prune the "run" scripts down to the minimum set, + thereby alleviating this problem and making the "run" scripts much more + readable as a bonus. + + + + So far we have solutions for shell scripts. + What about python tasks? + The same approach applies even though these tasks are more difficult. + The process needs to figure out what variables a python function accesses + and what functions it calls. + Again, the incremental build solution contains code that first figures out + the variable and function dependencies, and then creates a checksum for the data + used as the input to the task. + + + + Like the WORKDIR case, situations exist where dependencies + should be ignored. + For these cases, you can instruct the build process to ignore a dependency + by using a line like the following: + + PACKAGE_ARCHS[vardepsexclude] = "MACHINE" + + This example ensures that the PACKAGE_ARCHS variable does not + depend on the value of MACHINE, even if it does reference it. + + + + Equally, there are cases where we need to add dependencies BitBake is not able to find. + You can accomplish this by using a line like the following: + + PACKAGE_ARCHS[vardeps] = "MACHINE" + + This example explicitly adds the MACHINE variable as a + dependency for PACKAGE_ARCHS. + + + + Consider a case with inline python, for example, where BitBake is not + able to figure out dependencies. + When running in debug mode (i.e. using -DDD), BitBake + produces output when it discovers something for which it cannot figure out + dependencies. + The Yocto Project team has currently not managed to cover those dependencies + in detail and is aware of the need to fix this situation. + + + + Thus far, this section has limited discussion to the direct inputs into a task. + Information based on direct inputs is referred to as the "basehash" in the + code. + However, there is still the question of a task's indirect inputs - the + things that were already built and present in the Build Directory. + The checksum (or signature) for a particular task needs to add the hashes + of all the tasks on which the particular task depends. + Choosing which dependencies to add is a policy decision. + However, the effect is to generate a master checksum that combines the basehash + and the hashes of the task's dependencies. + + + + At the code level, there are a variety of ways both the basehash and the + dependent task hashes can be influenced. + Within the BitBake configuration file, we can give BitBake some extra information + to help it construct the basehash. + The following statements effectively result in a list of global variable + dependency excludes - variables never included in any checksum: + + BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH" + BB_HASHBASE_WHITELIST += "DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS" + BB_HASHBASE_WHITELIST += "FILE_DIRNAME HOME LOGNAME SHELL TERM USER" + BB_HASHBASE_WHITELIST += "FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET" + + The previous example actually excludes + WORKDIR + since it is actually constructed as a path within + TMPDIR, which is on + the whitelist. + + + + The rules for deciding which hashes of dependent tasks to include through + dependency chains are more complex and are generally accomplished with a + python function. + The code in meta/lib/oe/sstatesig.py shows two examples + of this and also illustrates how you can insert your own policy into the system + if so desired. + This file defines the two basic signature generators OE-Core + uses: "OEBasic" and "OEBasicHash". + By default, there is a dummy "noop" signature handler enabled in BitBake. + This means that behavior is unchanged from previous versions. + OE-Core uses the "OEBasic" signature handler by default + through this setting in the bitbake.conf file: + + BB_SIGNATURE_HANDLER ?= "OEBasic" + + The "OEBasicHash" BB_SIGNATURE_HANDLER is the same as the + "OEBasic" version but adds the task hash to the stamp files. + This results in any metadata change that changes the task hash, automatically + causing the task to be run again. + This removes the need to bump PR + values and changes to metadata automatically ripple across the build. + Currently, this behavior is not the default behavior for OE-Core + but is the default in poky. + + + + It is also worth noting that the end result of these signature generators is to + make some dependency and hash information available to the build. + This information includes: + + BB_BASEHASH_task-<taskname> - the base hashes for each task in the recipe + BB_BASEHASH_<filename:taskname> - the base hashes for each dependent task + BBHASHDEPS_<filename:taskname> - The task dependencies for each task + BB_TASKHASH - the hash of the currently running task + + +
+ +
+ Shared State + + + Checksums and dependencies, as discussed in the previous section, solve half the + problem. + The other part of the problem is being able to use checksum information during the build + and being able to reuse or rebuild specific components. + + + + The shared state class (sstate.bbclass) + is a relatively generic implementation of how to "capture" a snapshot of a given task. + The idea is that the build process does not care about the source of a task's output. + Output could be freshly built or it could be downloaded and unpacked from + somewhere - the build process doesn't need to worry about its source. + + + + There are two types of output, one is just about creating a directory + in WORKDIR. + A good example is the output of either do_install or + do_package. + The other type of output occurs when a set of data is merged into a shared directory + tree such as the sysroot. + + + + The Yocto Project team has tried to keep the details of the implementation hidden in + sstate.bbclass. + From a user's perspective, adding shared state wrapping to a task + is as simple as this do_deploy example taken from + do_deploy.bbclass: + + DEPLOYDIR = "${WORKDIR}/deploy-${PN}" + SSTATETASKS += "do_deploy" + do_deploy[sstate-name] = "deploy" + do_deploy[sstate-inputdirs] = "${DEPLOYDIR}" + do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" + + python do_deploy_setscene () { + sstate_setscene(d) + } + addtask do_deploy_setscene + + In the example, we add some extra flags to the task, a name field ("deploy"), an + input directory where the task sends data, and the output + directory where the data from the task should eventually be copied. + We also add a _setscene variant of the task and add the task + name to the SSTATETASKS list. + + + + If you have a directory whose contents you need to preserve, you can do this with + a line like the following: + + do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST}" + + This method, as well as the following example, also works for multiple directories. + + do_package[sstate-inputdirs] = "${PKGDESTWORK} ${SHLIBSWORKDIR}" + do_package[sstate-outputdirs] = "${PKGDATA_DIR} ${SHLIBSDIR}" + do_package[sstate-lockfile] = "${PACKAGELOCK}" + + These methods also include the ability to take a lockfile when manipulating + shared state directory structures since some cases are sensitive to file + additions or removals. + + + + Behind the scenes, the shared state code works by looking in + SSTATE_DIR and + SSTATE_MIRRORS + for shared state files. + Here is an example: + + SSTATE_MIRRORS ?= "\ + file://.* http://someserver.tld/share/sstate/PATH \n \ + file://.* file:///some/local/dir/sstate/PATH" + + + The shared state directory (SSTATE_DIR) is + organized into two-character subdirectories, where the subdirectory + names are based on the first two characters of the hash. + If the shared state directory structure for a mirror has the + same structure as SSTATE_DIR, you must + specify "PATH" as part of the URI to enable the build system + to map to the appropriate subdirectory. + + + + + The shared state package validity can be detected just by looking at the + filename since the filename contains the task checksum (or signature) as + described earlier in this section. + If a valid shared state package is found, the build process downloads it + and uses it to accelerate the task. + + + + The build processes uses the *_setscene tasks + for the task acceleration phase. + BitBake goes through this phase before the main execution code and tries + to accelerate any tasks for which it can find shared state packages. + If a shared state package for a task is available, the shared state + package is used. + This means the task and any tasks on which it is dependent are not + executed. + + + + As a real world example, the aim is when building an IPK-based image, + only the do_package_write_ipk tasks would have their + shared state packages fetched and extracted. + Since the sysroot is not used, it would never get extracted. + This is another reason why a task-based approach is preferred over a + recipe-based approach, which would have to install the output from every task. + +
+ +
+ Tips and Tricks + + + The code in the build system that supports incremental builds is not + simple code. + This section presents some tips and tricks that help you work around + issues related to shared state code. + + +
+ Debugging + + + When things go wrong, debugging needs to be straightforward. + Because of this, the Yocto Project team included strong debugging + tools: + + Whenever a shared state package is written out, so is a + corresponding .siginfo file. + This practice results in a pickled python database of all + the metadata that went into creating the hash for a given shared state + package. + If BitBake is run with the --dump-signatures + (or -S) option, BitBake dumps out + .siginfo files in + the stamp directory for every task it would have executed instead of + building the specified target package. + There is a bitbake-diffsigs command that + can process these .siginfo files. + If one file is specified, it will dump out the dependency + information in the file. + If two files are specified, it will compare the two files and dump out + the differences between the two. + This allows the question of "What changed between X and Y?" to be + answered easily. + + +
+ +
+ Invalidating Shared State + + + The shared state code uses checksums and shared state + cache to avoid unnecessarily rebuilding tasks. + As with all schemes, this one has some drawbacks. + It is possible that you could make implicit changes that are not factored + into the checksum calculation, but do affect a task's output. + A good example is perhaps when a tool changes its output. + Let's say that the output of rpmdeps needed to change. + The result of the change should be that all the "package", "package_write_rpm", + and "package_deploy-rpm" shared state cache items would become invalid. + But, because this is a change that is external to the code and therefore implicit, + the associated shared state cache items do not become invalidated. + In this case, the build process would use the cached items rather than running the + task again. + Obviously, these types of implicit changes can cause problems. + + + + To avoid these problems during the build, you need to understand the effects of any + change you make. + Note that any changes you make directly to a function automatically are factored into + the checksum calculation and thus, will invalidate the associated area of sstate cache. + You need to be aware of any implicit changes that are not obvious changes to the + code and could affect the output of a given task. + Once you are aware of such a change, you can take steps to invalidate the cache + and force the task to run. + The step to take is as simple as changing a function's comments in the source code. + For example, to invalidate package shared state files, change the comment statements + of do_package or the comments of one of the functions it calls. + The change is purely cosmetic, but it causes the checksum to be recalculated and + forces the task to be run again. + + + + For an example of a commit that makes a cosmetic change to invalidate + a shared state, see this + commit. + +
+
+
+ +
+ x32 + + + x32 is a new processor-specific Application Binary Interface (psABI) for x86_64. + An ABI defines the calling conventions between functions in a processing environment. + The interface determines what registers are used and what the sizes are for various C data types. + + + + Some processing environments prefer using 32-bit applications even when running + on Intel 64-bit platforms. + Consider the i386 psABI, which is a very old 32-bit ABI for Intel 64-bit platforms. + The i386 psABI does not provide efficient use and access of the Intel 64-bit processor resources, + leaving the system underutilized. + Now consider the x86_64 psABI. + This ABI is newer and uses 64-bits for data sizes and program pointers. + The extra bits increase the footprint size of the programs, libraries, + and also increases the memory and file system size requirements. + Executing under the x32 psABI enables user programs to utilize CPU and system resources + more efficiently while keeping the memory footprint of the applications low. + Extra bits are used for registers but not for addressing mechanisms. + + +
+ Support + + + While the x32 psABI specifications are not fully finalized, this Yocto Project + release supports current development specifications of x32 psABI. + As of this release of the Yocto Project, x32 psABI support exists as follows: + + You can create packages and images in x32 psABI format on x86_64 architecture targets. + + You can use the x32 psABI support through the meta-x32 + layer on top of the OE-core/Yocto layer. + The toolchain from the experimental/meta-x32 layer + is used for building x32 psABI program binaries. + You can successfully build many recipes with the x32 toolchain. + You can create and boot core-image-minimal and + core-image-sato images. + + +
+ +
+ Future Development and Limitations + + + As of this Yocto Project release, the x32 psABI kernel and library interfaces + specifications are not finalized. + + + + Future Plans for the x32 psABI in the Yocto Project include the following: + + Enhance and fix the few remaining recipes so they + work with and support x32 toolchains. + Enhance RPM Package Manager (RPM) support for x32 binaries. + Support larger images. + Integrate x32 recipes, toolchain, and kernel changes from + experimental/meta-x32 into OE-core. + + +
+ +
+ Using x32 Right Now + + + Despite the fact the x32 psABI support is in development state for this release of the + Yocto Project, you can follow these steps to use the x32 spABI: + + Add the experimental/meta-x32 layer to your local + Build Directory. + You can find the experimental/meta-x32 source repository at + . + Edit your conf/bblayers.conf file so that it includes + the meta-x32. + Here is an example: + + BBLAYERS ?= " \ + /home/nitin/prj/poky.git/meta \ + /home/nitin/prj/poky.git/meta-yocto \ + /home/nitin/prj/poky.git/meta-yocto-bsp \ + /home/nitin/prj/meta-x32.git \ + " + BBLAYERS_NON_REMOVABLE ?= " \ + /home/nitin/prj/poky.git/meta \ + /home/nitin/prj/poky.git/meta-yocto \ + " + + Enable the x32 psABI tuning file for x86_64 + machines by editing the conf/local.conf like this: + + MACHINE = "qemux86-64" + DEFAULTTUNE = "x86-64-x32" + baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \ + or 'INVALID'), True) or 'lib'}" + #MACHINE = "atom-pc" + #DEFAULTTUNE = "core2-64-x32" + + As usual, use BitBake to build an image that supports the x32 psABI. + Here is an example: + + $ bitake core-image-sato + + As usual, run your image using QEMU: + + $ runqemu qemux86-64 core-image-sato + + + +
+
+ +
+ Licenses + + + This section describes the mechanism by which the OpenEmbedded build system + tracks changes to licensing text. + The section also describes how to enable commercially licensed recipes, + which by default are disabled. + + + + For information that can help you maintain compliance with various open + source licensing during the lifecycle of the product, see the + "Maintaining Open Source License Compliance During Your Project's Lifecycle" section + in the Yocto Project Development Manual. + + +
+ Tracking License Changes + + + The license of an upstream project might change in the future. + In order to prevent these changes going unnoticed, the + LIC_FILES_CHKSUM + variable tracks changes to the license text. The checksums are validated at the end of the + configure step, and if the checksums do not match, the build will fail. + + +
+ Specifying the <filename>LIC_FILES_CHKSUM</filename> Variable + + + The LIC_FILES_CHKSUM + variable contains checksums of the license text in the source code for the recipe. + Following is an example of how to specify LIC_FILES_CHKSUM: + + LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \ + file://licfile1.txt;beginline=5;endline=29;md5=yyyy \ + file://licfile2.txt;endline=50;md5=zzzz \ + ..." + + + + + The build system uses the + S variable as the + default directory used when searching files listed in + LIC_FILES_CHKSUM. + The previous example employs the default directory. + + + + You can also use relative paths as shown in the following example: + + LIC_FILES_CHKSUM = "file://src/ls.c;startline=5;endline=16;\ + md5=bb14ed3c4cda583abc85401304b5cd4e" + LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6" + + + + + In this example, the first line locates a file in + ${S}/src/ls.c. + The second line refers to a file in + WORKDIR, which is the parent + of S. + + + Note that this variable is mandatory for all recipes, unless the + LICENSE variable is set to "CLOSED". + +
+ +
+ Explanation of Syntax + + As mentioned in the previous section, the + LIC_FILES_CHKSUM variable lists all the + important files that contain the license text for the source code. + It is possible to specify a checksum for an entire file, or a specific section of a + file (specified by beginning and ending line numbers with the "beginline" and "endline" + parameters, respectively). + The latter is useful for source files with a license notice header, + README documents, and so forth. + If you do not use the "beginline" parameter, then it is assumed that the text begins on the + first line of the file. + Similarly, if you do not use the "endline" parameter, it is assumed that the license text + ends with the last line of the file. + + + + The "md5" parameter stores the md5 checksum of the license text. + If the license text changes in any way as compared to this parameter + then a mismatch occurs. + This mismatch triggers a build failure and notifies the developer. + Notification allows the developer to review and address the license text changes. + Also note that if a mismatch occurs during the build, the correct md5 + checksum is placed in the build log and can be easily copied to the recipe. + + + + There is no limit to how many files you can specify using the + LIC_FILES_CHKSUM variable. + Generally, however, every project requires a few specifications for license tracking. + Many projects have a "COPYING" file that stores the license information for all the source + code files. + This practice allows you to just track the "COPYING" file as long as it is kept up to date. + + + + If you specify an empty or invalid "md5" parameter, BitBake returns an md5 mis-match + error and displays the correct "md5" parameter value during the build. + The correct parameter is also captured in the build log. + + + + If the whole file contains only license text, you do not need to use the "beginline" and + "endline" parameters. + +
+
+ +
+ Enabling Commercially Licensed Recipes + + + By default, the OpenEmbedded build system disables + components that have commercial or other special licensing + requirements. + Such requirements are defined on a + recipe-by-recipe basis through the LICENSE_FLAGS variable + definition in the affected recipe. + For instance, the + $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + recipe contains the following statement: + + LICENSE_FLAGS = "commercial" + + Here is a slightly more complicated example that contains both an + explicit recipe name and version (after variable expansion): + + LICENSE_FLAGS = "license_${PN}_${PV}" + + In order for a component restricted by a LICENSE_FLAGS + definition to be enabled and included in an image, it + needs to have a matching entry in the global + LICENSE_FLAGS_WHITELIST variable, which is a variable + typically defined in your local.conf file. + For example, to enable + the $HOME/poky/meta/recipes-multimedia/gstreamer/gst-plugins-ugly + package, you could add either the string + "commercial_gst-plugins-ugly" or the more general string + "commercial" to LICENSE_FLAGS_WHITELIST. + See the + "License Flag Matching" section + for a full explanation of how LICENSE_FLAGS matching works. + Here is the example: + + LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly" + + Likewise, to additionally enable the package built from the recipe containing + LICENSE_FLAGS = "license_${PN}_${PV}", and assuming + that the actual recipe name was emgd_1.10.bb, + the following string would enable that package as well as + the original gst-plugins-ugly package: + + LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly license_emgd_1.10" + + As a convenience, you do not need to specify the complete license string + in the whitelist for every package. + you can use an abbreviated form, which consists + of just the first portion or portions of the license string before + the initial underscore character or characters. + A partial string will match + any license that contains the given string as the first + portion of its license. + For example, the following + whitelist string will also match both of the packages + previously mentioned as well as any other packages that have + licenses starting with "commercial" or "license". + + LICENSE_FLAGS_WHITELIST = "commercial license" + + + +
+ License Flag Matching + + + The definition of 'matching' in reference to a + recipe's LICENSE_FLAGS setting is simple. + However, some things exist that you should know about in order to + correctly and effectively use it. + + + + Before a flag + defined by a particular recipe is tested against the + contents of the LICENSE_FLAGS_WHITELIST variable, the + string _${PN} (with + PN expanded of course) is + appended to the flag, thus automatically making each + LICENSE_FLAGS value recipe-specific. + That string is + then matched against the whitelist. + So if you specify LICENSE_FLAGS = "commercial" in recipe + "foo" for example, the string "commercial_foo" + would normally be what is specified in the whitelist in order for it to + match. + + + + You can broaden the match by + putting any "_"-separated beginning subset of a + LICENSE_FLAGS flag in the whitelist, which will also + match. + For example, simply specifying "commercial" in + the whitelist would match any expanded LICENSE_FLAGS + definition starting with "commercial" such as + "commercial_foo" and "commercial_bar", which are the + strings that would be automatically generated for + hypothetical "foo" and "bar" recipes assuming those + recipes had simply specified the following: + + LICENSE_FLAGS = "commercial" + + + + + Broadening the match allows for a range of specificity for the items + in the whitelist, from more general to perfectly + specific. + So you have the choice of exhaustively + enumerating each license flag in the whitelist to + allow only those specific recipes into the image, or + of using a more general string to pick up anything + matching just the first component or components of the specified + string. + + + + This scheme works even if the flag already + has _${PN} appended - the extra _${PN} is + redundant, but does not affect the outcome. + For example, a license flag of "commercial_1.2_foo" would + turn into "commercial_1.2_foo_foo" and would match + both the general "commercial" and the specific + "commercial_1.2_foo", as expected. + The flag would also match + "commercial_1.2_foo_foo" and "commercial_1.2", which + does not make much sense regarding use in the whitelist. + + + + For a versioned string, you could instead specify + "commercial_foo_1.2", which would turn into + "commercial_foo_1.2_foo". + And, as expected, this flag allows + you to pick up this package along with + anything else "commercial" when you specify "commercial" + in the whitelist. + Or, the flag allows you to pick up this package along with anything "commercial_foo" + regardless of version when you use "commercial_foo" in the whitelist. + Finally, you can be completely specific about the package and version and specify + "commercial_foo_1.2" package and version. + +
+ + +
+
+
+ diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml new file mode 100644 index 0000000000..149490969a --- /dev/null +++ b/documentation/ref-manual/usingpoky.xml @@ -0,0 +1,651 @@ + %poky; ] > + + +Using the Yocto Project + + + This chapter describes common usage for the Yocto Project. + The information is introductory in nature as other manuals in the Yocto Project + documentation set provide more details on how to use the Yocto Project. + + +
+ Running a Build + + + This section provides a summary of the build process and provides information + for less obvious aspects of the build process. + For general information on how to build an image using the OpenEmbedded build + system, see the + "Building an Image" + section of the Yocto Project Quick Start. + + +
+ Build Overview + + + The first thing you need to do is set up the OpenEmbedded build environment by sourcing + the environment setup script as follows: + + $ source &OE_INIT_FILE; [build_dir] + + + + + The build_dir is optional and specifies the directory the + OpenEmbedded build system uses for the build - + the Build Directory. + If you do not specify a Build Directory it defaults to build + in your current working directory. + A common practice is to use a different Build Directory for different targets. + For example, ~/build/x86 for a qemux86 + target, and ~/build/arm for a qemuarm target. + See &OE_INIT_FILE; + for more information on this script. + + + + Once the build environment is set up, you can build a target using: + + $ bitbake <target> + + + + + The target is the name of the recipe you want to build. + Common targets are the images in meta/recipes-core/images, + /meta/recipes-sato/images, etc. all found in the + Source Directory. + Or, the target can be the name of a recipe for a specific piece of software such as + busybox. + For more details about the images the OpenEmbedded build system supports, see the + "Images" chapter. + + + + Building an image without GNU General Public License Version 3 (GPLv3) components + is only supported for minimal and base images. + See the "Images" chapter for more information. + +
+ +
+ Building an Image Using GPL Components + + + When building an image using GPL components, you need to maintain your original + settings and not switch back and forth applying different versions of the GNU + General Public License. + If you rebuild using different versions of GPL, dependency errors might occur + due to some components not being rebuilt. + +
+
+ +
+ Installing and Using the Result + + + Once an image has been built, it often needs to be installed. + The images and kernels built by the OpenEmbedded build system are placed in the + Build Directory in + tmp/deploy/images. + For information on how to run pre-built images such as qemux86 + and qemuarm, see the + "Using Pre-Built Binaries and QEMU" + section in the Yocto Project Quick Start. + For information about how to install these images, see the documentation for your + particular board/machine. + +
+ +
+ Debugging Build Failures + + + The exact method for debugging build failures depends on the nature of the + problem and on the system's area from which the bug originates. + Standard debugging practices such as comparison against the last + known working version with examination of the changes and the re-application of steps + to identify the one causing the problem are + valid for the Yocto Project just as they are for any other system. + Even though it is impossible to detail every possible potential failure, + this section provides some general tips to aid in debugging. + + +
+ Task Failures + + The log file for shell tasks is available in + ${WORKDIR}/temp/log.do_taskname.pid. + For example, the compile task for the QEMU minimal image for the x86 + machine (qemux86) might be + tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp/log.do_compile.20830. + To see what BitBake runs to generate that log, look at the corresponding + run.do_taskname.pid file located in the same directory. + + + + Presently, the output from Python tasks is sent directly to the console. + +
+ +
+ Running Specific Tasks + + + Any given package consists of a set of tasks. + The standard BitBake behavior in most cases is: fetch, + unpack, + patch, configure, + compile, install, package, + package_write, and build. + The default task is build and any tasks on which it depends + build first. + Some tasks exist, such as devshell, that are not part of the + default build chain. + If you wish to run a task that is not part of the default build chain, you can use the + -c option in BitBake as follows: + + $ bitbake matchbox-desktop -c devshell + + + + + If you wish to rerun a task, use the -f force option. + For example, the following sequence forces recompilation after changing files in the + working directory. + + $ bitbake matchbox-desktop + . + . + [make some changes to the source code in the working directory] + . + . + $ bitbake matchbox-desktop -c compile -f + $ bitbake matchbox-desktop + + + + + This sequence first builds matchbox-desktop and then recompiles it. + The last command reruns all tasks (basically the packaging tasks) after the compile. + BitBake recognizes that the compile task was rerun and therefore + understands that the other tasks also need to be run again. + + + + You can view a list of tasks in a given package by running the + listtasks task as follows: + + $ bitbake matchbox-desktop -c listtasks + + The results are in the file ${WORKDIR}/temp/log.do_listtasks. + +
+ +
+ Dependency Graphs + + + Sometimes it can be hard to see why BitBake wants to build some other packages before a given + package you have specified. + The bitbake -g targetname command creates the + depends.dot, package-depends.dot, + and task-depends.dot files in the current directory. + These files show the package and task dependencies and are useful for debugging problems. + You can use the bitbake -g -u depexp targetname command to + display the results in a more human-readable form. + +
+ +
+ General BitBake Problems + + + You can see debug output from BitBake by using the -D option. + The debug output gives more information about what BitBake + is doing and the reason behind it. + Each -D option you use increases the logging level. + The most common usage is -DDD. + + + + The output from bitbake -DDD -v targetname can reveal why + BitBake chose a certain version of a package or why BitBake + picked a certain provider. + This command could also help you in a situation where you think BitBake did something + unexpected. + +
+ +
+ Building with No Dependencies + + If you really want to build a specific .bb file, you can use + the command form bitbake -b <somepath/somefile.bb>. + This command form does not check for dependencies so you should use it + only when you know its dependencies already exist. + You can also specify fragments of the filename. + In this case, BitBake checks for a unique match. + +
+ +
+ Variables + + The -e option dumps the resulting environment for + either the configuration (no package specified) or for a + specific package when specified; or -b recipename + to show the environment from parsing a single recipe file only. + +
+ +
+ Recipe Logging Mechanisms + + Best practices exist while writing recipes that both log build progress and + act on build conditions such as warnings and errors. + Both Python and Bash language bindings exist for the logging mechanism: + + Python: For Python functions, BitBake + supports several loglevels: bb.fatal, + bb.error, bb.warn, + bb.note, bb.plain, + and bb.debug. + Bash: For Bash functions, the same set + of loglevels exist and are accessed with a similar syntax: + bbfatal, bberror, + bbwarn, bbnote, + bbplain, and bbdebug. + + + + + For guidance on how logging is handled in both Python and Bash recipes, see the + logging.bbclass file in the + meta/classes folder of the + Source Directory. + + +
+ Logging With Python + + When creating recipes using Python and inserting code that handles build logs + keep in mind the goal is to have informative logs while keeping the console as + "silent" as possible. + Also, if you want status messages in the log use the "debug" loglevel. + + + + Following is an example written in Python. + The code handles logging for a function that determines the number of tasks + needed to be run: + + python do_listtasks() { + bb.debug(2, "Starting to figure out the task list") + if noteworthy_condition: + bb.note("There are 47 tasks to run") + bb.debug(2, "Got to point xyz") + if warning_trigger: + bb.warn("Detected warning_trigger, this might be a problem later.") + if recoverable_error: + bb.error("Hit recoverable_error, you really need to fix this!") + if fatal_error: + bb.fatal("fatal_error detected, unable to print the task list") + bb.plain("The tasks present are abc") + bb.debug(2, "Finished figuring out the tasklist") + } + + +
+ +
+ Logging With Bash + + When creating recipes using Bash and inserting code that handles build + logs you have the same goals - informative with minimal console output. + The syntax you use for recipes written in Bash is similar to that of + recipes written in Python described in the previous section. + + + + Following is an example written in Bash. + The code logs the progress of the do_my_function function. + + do_my_function() { + bbdebug 2 "Running do_my_function" + if [ exceptional_condition ]; then + bbnote "Hit exceptional_condition" + fi + bbdebug 2 "Got to point xyz" + if [ warning_trigger ]; then + bbwarn "Detected warning_trigger, this might cause a problem later." + fi + if [ recoverable_error ]; then + bberror "Hit recoverable_error, correcting" + fi + if [ fatal_error ]; then + bbfatal "fatal_error detected" + fi + bbdebug 2 "Completed do_my_function" + } + + +
+
+ +
+ Other Tips + + + Here are some other tips that you might find useful: + + When adding new packages, it is worth watching for + undesirable items making their way into compiler command lines. + For example, you do not want references to local system files like + /usr/lib/ or /usr/include/. + + If you want to remove the psplash boot splashscreen, + add psplash=false to the kernel command line. + Doing so prevents psplash from loading and thus allows you to see the console. + It is also possible to switch out of the splashscreen by + switching the virtual console (e.g. Fn+Left or Fn+Right on a Zaurus). + + + +
+
+ +
+ Maintaining Build Output Quality + + + A build's quality can be influenced by many things. + For example, if you upgrade a recipe to use a new version of an upstream software + package or you experiment with some new configuration options, subtle changes + can occur that you might not detect until later. + Consider the case where your recipe is using a newer version of an upstream package. + In this case, a new version of a piece of software might introduce an optional + dependency on another library, which is auto-detected. + If that library has already been built when the software is building, + then the software will link to the built library and that library will be pulled + into your image along with the new software even if you did not want the + library. + + + + The buildhistory class exists to help you maintain + the quality of your build output. + You can use the class to highlight unexpected and possibly unwanted + changes in the build output. + When you enable build history it records information about the contents of + each package and image and then commits that information to a local Git + repository where you can examine the information. + + + + The remainder of this section describes the following: + + How you can enable and disable + build history + How to understand what the build history contains + + How to limit the information used for build history + + How to examine the build history from both a + command-line and web interface + + + +
+ Enabling and Disabling Build History + + + Build history is disabled by default. + To enable it, add the following statements to the end of your + conf/local.conf file found in the + Build Directory: + + INHERIT += "buildhistory" + BUILDHISTORY_COMMIT = "1" + + Enabling build history as previously described + causes the build process to collect build + output information and commit it to a local + Git repository. + + Enabling build history increases your build times slightly, + particularly for images, and increases the amount of disk + space used during the build. + + + + + You can disable build history by removing the previous statements + from your conf/local.conf file. + However, you should realize that enabling and disabling + build history in this manner can change the + do_package task checksums, which if you + are using the OEBasicHash signature generator (the default + for many current distro configurations including + DISTRO = "poky" and + DISTRO = "") will result in the packaging + tasks being re-run during the subsequent build. + + + + To disable the build history functionality without causing the + packaging tasks to be re-run, add just this statement to your + conf/local.conf file: + + BUILDHISTORY_FEATURES = "" + + +
+ +
+ Understanding What the Build History Contains + + + Build history information is kept in + $TMPDIR/buildhistory + in the Build Directory. + The following is an example abbreviated listing: + + + +
+ Build History Package Information + + + The history for each package contains a text file that has + name-value pairs with information about the package. + For example, buildhistory/packages/core2-poky-linux/busybox/busybox/latest + contains the following: + + PV = 1.19.3 + PR = r3 + RDEPENDS = update-rc.d eglibc (>= 2.13) + RRECOMMENDS = busybox-syslog busybox-udhcpc + PKGSIZE = 564701 + FILES = /usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* \ + /etc /com /var /bin/* /sbin/* /lib/*.so.* /usr/share/busybox \ + /usr/lib/busybox/* /usr/share/pixmaps /usr/share/applications \ + /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers + FILELIST = /etc/busybox.links /etc/init.d/hwclock.sh /bin/busybox /bin/sh + + Most of these name-value pairs corresponds to variables used + to produce the package. + The exceptions are FILELIST, which is the + actual list of files in the package, and + PKGSIZE, which is the total size of files + in the package in bytes. + + + + There is also a file corresponding to the recipe from which the + package came (e.g. + buildhistory/packages/core2-poky-linux/busybox/latest): + + PV = 1.19.3 + PR = r3 + DEPENDS = virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs \ + virtual/libc update-rc.d-native + PACKAGES = busybox-httpd busybox-udhcpd busybox-udhcpc busybox-syslog \ + busybox-mdev busybox-dbg busybox busybox-doc busybox-dev \ + busybox-staticdev busybox-locale + + +
+ +
+ Build History Image Information + + + The files produced for each image are as follows: + + build-id: + Human-readable information about the build configuration + and metadata source revisions. + *.dot: + Dependency graphs for the image that are + compatible with graphviz. + + files-in-image.txt: + A list of files in the image with permissions, + owner, group, size, and symlink information. + + image-info.txt: + A text file containing name-value pairs with information + about the image. + See the following listing example for more information. + + installed-package-names.txt: + A list of installed packages by name only. + installed-package-sizes.txt: + A list of installed packages ordered by size. + + installed-packages.txt: + A list of installed packages with fuill package + filenames. + + + Installed package information is able to be gathered and + produced even if package management is disabled for the final + image. + + + + + Here is an example of image-info.txt: + + DISTRO = poky + DISTRO_VERSION = 1.1+snapshot-20120207 + USER_CLASSES = image-mklibs image-prelink + IMAGE_CLASSES = image_types + IMAGE_FEATURES = debug-tweaks x11-base apps-x11-core \ + package-management ssh-server-dropbear package-management + IMAGE_LINGUAS = en-us en-gb + IMAGE_INSTALL = task-core-boot task-base-extended + BAD_RECOMMENDATIONS = + ROOTFS_POSTPROCESS_COMMAND = buildhistory_get_image_installed ; rootfs_update_timestamp ; + IMAGE_POSTPROCESS_COMMAND = buildhistory_get_imageinfo ; + IMAGESIZE = 171816 + + Other than IMAGESIZE, which is the + total size of the files in the image in Kbytes, the + name-value pairs are variables that may have influenced the + content of the image. + This information is often useful when you are trying to determine + why a change in the package or file listings has occurred. + +
+ +
+ Using Build History to Gather Image Information Only + + + As you can see, build history produces image information, + including dependency graphs, so you can see why something + was pulled into the image. + If you are just interested in this information and not + interested in collecting history or any package information, + you can enable writing only image information without + any history by adding the following + to your conf/local.conf file found in the + Build Directory: + + INHERIT += "buildhistory" + BUILDHISTORY_COMMIT = "0" + BUILDHISTORY_FEATURES = "image" + + +
+ +
+ Examining Build History Information + + + You can examine build history output from the command line or + from a web interface. + + + + To see any changes that have occurred (assuming you have + BUILDHISTORY_COMMIT = "1"), you can simply + use any Git command that allows you to view the history of + a repository. + Here is one method: + + $ git log -p + + You need to realize, however, that this method does show + changes that are not significant (e.g. a package's size + changing by a few bytes). + + + + A command-line tool called buildhistory-diff + does exist though that queries the Git repository and prints just + the differences that might be significant in human-readable form. + Here is an example: + + $ ~/poky/poky/scripts/buildhistory-diff . HEAD^ + Changes to images/qemux86_64/eglibc/core-image-minimal (files-in-image.txt): + /etc/anotherpkg.conf was added + /sbin/anotherpkg was added + * (installed-package-names.txt): + * anotherpkg was added + Changes to images/qemux86_64/eglibc/core-image-minimal (installed-package-names.txt): + anotherpkg was added + packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras" + * PR changed from "r0" to "r1" + * PV changed from "0.1.10" to "0.1.12" + packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%) + * PR changed from "r0" to "r1" + * PV changed from "0.1.10" to "0.1.12" + + + + + To see changes to the build history using a web interface, follow + the instruction in the README file here. + . + + + + Here is a sample screenshot of the interface: + + +
+
+
+ +
+

!=O9j0@!>Tc zTvh>qqbfHWzv<$AJiJWMpJD z=~F%b%vzE?$7NKh=|kb;43e0)^cO*QV_8O&^O8_X-1snxLf8HzI~ompr79+r5%wZo zsV2+*jv+vYMHgHM1OoG0)ev;|o)zsM)D&7yd3%FAqBut6R4S{eBjn{Yv9{~-Sw2n& zxerD_a{b4!>#T95s`KesJQAnDa>i_<)9VehNO3#IW~UxIgE=>HvEU|%Qk~d23R*bS zpZ#5trYS)O5IxkWp+zA4=pW3N=?QSzVDZMOdm;+?g?8G#(2do)rYAAgYQSJd~HDk*;;H#xXq&OvU zqb$2SF1iX7Wx6q&DqNL115P?N%jh(AifA+o^XS;0IgbVXP3@l({@8?u>?|WWsL-58 zF~`2=DI$Te2r(D-BdPt#$~5WN@>e)i1cAWSH(IRtER)tl0U!x;tezS+YLo037;~OI zRV|7<9WQ_a#vOLuHC??VEQA_5&oK3{blID^NXMjXBt@0vjzCQ0hmmX?YNGSyN4^nk zZa5iR1z*?aU5^jmB~Xe)Ctnx=guDdxAi(93DR4L;j2wtI{&_m@fw)JpK7*F8k%|{s zvmXjT?ukdJ$-qDte5)-8p=`2saBOV=@DYQgidPcV0ntjaLn2b}xrPNV?H5=pXNd_8 z$&Y+4jHK&QNkNai3*O;RvaqX1IT;sh)4%|e827S9g@N0E2nEp8=B)(9 z=(!>_-ckmSpo-R)6?JR%M-6E~eVn4%G&*9SWMf_Im#!f~R;rER#)Jst{K4PP^e4QN zyCzOER*wY8KDR;|ovQ4`fG7W&&=9+H>cFSN`Fk&+M+8 z;&t#rpjh((hyP&~Mj(_k{-7%8A5?|(e@|7MGyxRWzslFwbp$J7flkM0=uZ z?_I-P*0w|2gs8T=OJN=%xhV%-ql-Dhs&TY31k8&GF9$IyE7=PB1;jPegK-VzJ=7-~ zOh9S$y~%q=s;&*v1+=gL%b?kS05>kvNjG*&%hIH!I11$wHaIHy$FRK|)dqhMkt0)A5g zbRjX*NWHdITtjPO02-*^xcQ(QdF3U=@?iT;wvXLC?UK4LJdb$;Y>R=j*QvqsyS!|0^w3tW>Azye7WlI?2g@3hQ z`xCdcQz>Lfj-In-|3qEDGZ8KT@KiR!1-Cj-KZc4XyH)D;57O0Zf#x-w12nHWUwCS8 z5tN{a>lx-p_6(@`D{bS6+N}}l5g525kvfvk^u;W~xpMRfFin3xEGh?r2AF?BbU6acKUVcWbhq?3s1277 zGc@}rgc5;_N@NTa)N?qZy??SKi0*{`I-mCXF}c)Ks4NZM-4 z)>ZR4p!U69D00Iiod)E8SC>qh}zr|mVW|%8A$nD68M||F$h0vKG2sXmK}E3 zP1$X>Z*m9z*#~>Zgn158(9bg&Buv0@aNu1u@SSIS)R6VmZ82Adj|lt2OFUwpq0BW_ zkS>z}TGB*6lT6|7|5*P5%8(zG&=z>=p-%-~l9%G=2gj@9?jZ>}I>tSH>||(Hf(%fQ zy$|QK0DZSq41L*J*i?SKX(HdDAuG5w?qj=?9^_8B3x>s^+E^*I)+|%qRaS|=$dL^i zsX#Q)o#0sd!>}62tbYaT`{UcdRFP$y3U7_W0pna@w@mz?H7XH${?5bv!>h&T4WVj# zE8uFr@EkqUVA!FtQ?xMoJ21%^D+_=q&xu!@b`*VzkrhRD)D~gQ?1Rye#e|cY>;IT(&%(B z{%8lgH^DDCSK2MD3Su@BnVILz$nS{1{J)_s%_hp&D~Lj5 z>C;#78GC}y9|lBZ_eNR%`vX_rT*0HXIR2r1_$ME*g#WSj*#D$lq5t<;kN<-m(HC4L z5t`Do?5DDr&(cKSe0&%3?t|yT0lz)=gwJSKVno2)ueP}|x}*V53bgm^J3o#A{Hu0& zLDBzDA?GDSR9K+>{Qq448Y(N4jL+jj20l}Xlp2<}S%LlezfZp;XE0gAuuM{ZU=K1mMzWrc51 z{Py}>=c@&^9Q)lDSuqm;h)ph;QrC$0l@a=e}toXT_A&Qe}`1+8A&faym)^rYMC zYlrx$7~4PQL|B=`qY23PZX|4Mg?&bh3^b~V0Fiv9qC@@m{oj+gq>4~Tims~OPq#;p zj{#wI2enOfqf4!`?ay#G=W{J9{A}O#jMr+$YHdnQM~%%F+lN|B?dO+U2EJ3^Y9NgA zwXfS>*SoWuMKYP;AJTfleM~<$aG-A>DJj9^jd{iXMP~2{ot#oV5zk(y&J+xLSi zPd;<0jnfuBcwqL#^52I1UM~M5O9E7y)k{6d@AR-@w$q2|x}xLA*$mTq(75p#aMM4Q zY_z{Q7JNO**>ys0*+K%^#Afh1UiCnOWDLsZ?-8M1f6kU0+HNLzR_ZPN;eFK9Vm|@Z zRaNo$9SXY5SYDZ`$s8JX{(LhY+kRz%b(N)CzPh1O^5qvSFW`rsuYASlq>2y098P$zu$$B(e5}W62d-z2a4-zlFCzK+=E?I zjXbkVs%yW1Wx9UdXXd_y^0tqukO@l+BbN+PDa4zZhwD!R^Yo!s9@OI z^W5zAH5}`BzTY!3Eo8veYc_RQ*XTeV%XXdAdefblM$m#IWErOcHc|3SeZ8Z}b<|2%s_DI0U|F-DLs#zq&nkHn%m%2YBQNAi)Wf?eWtw@|&9}%^LZ2C`Fa}%3n{60 z@2Fe$1IxH=I@g6k>dkWce*I|561&$3_&{i7ME=EGmygEBH#a)%WkzT@`kmXE??&Co z6B&)&u@m72AdIF$Qi29{ozuSTgBZkDsV(Uh8*Mj~_@LdslxC)@^#2OIUZHA5+0IN$W|;AciS&j!-M!IVyYh%3y=DHi{;1{YO|ogTXFgpZ zRjJ)zwcgH!;q!ENV$O=w!_1yOK3QP|^aC_~TStnJMPmnIJT&8;bp@g6W z-X2LU0wYFfB1d{sa5=t9Me!oD76K32bH1i7wO=i2^=J z;PupnM0~Y;)vIsH3(;OcZ0`LyvW5u8kA-?HgcUL4!SdL*FZO;H;Qf5YaT=uCWCZMu z6`8tlVf$)Tel{h!P#(&1+x{8c&ZcQ#c#=cfyD_&&MMQ4UniaoV?p$*?C41~T81UNC zaoiURFJ3F|Rt$8$+^vrg#24(Y<`ejV3L-p^m;4m#hVMto4Q)k{JgZeovMZx`gpV># z>0R8v!4q>ESVS8vk=FL751|{o=qeBeeTjsU0q1cZ!o zMSeS;lA8U_Qcew1PIyD(%B*4RlXw%dA$Pu!Xf+}KLPh!v_=BsLrPx+4D@ z9SCtu4@SdGaYj2hONr1H4D1g>erDSGnSm@Bc1<-gKtxZC12|lN?hpRWw9Qtp)dh zMQ%zNj!#~8j9R|jbO>KohT)s&rC(e|V}X~AdkbktU z-ZZdLS46r|KfO|+>ScD{v|u2cvp^<