Reference: Variables Glossary This section lists common variables used in Poky and gives an overview of their function and contents. A B C D E F H I K L M P R S T W A AUTHOR E-mail address to contact original author(s) - to send patches, forward bugs... AUTOREV Use current (newest) source revision - used with SRCREV variable. B BB_NUMBER_THREADS The maximum number of tasks BitBake should run in parallel at any one time BBFILES List of recipes used by BitBake to build software BBINCLUDELOGS Variable which controls how BitBake displays logs on build failure. BPN Bare name of package with any suffixes like -cross -native removed. C CFLAGS Flags passed to C compiler for the target system. Evaluates to the same as TARGET_CFLAGS. COMPATIBLE_MACHINE A regular expression which evalutates to match the machines the recipe works with. It stops recipes being run on machines they're incompatible with which is partciuarly useful with kernels. It also helps to to increase parsing speed as if its found the current machine is not compatible, further parsing of the recipe is skipped. CONFIG_SITE Contains a list of files which containing autoconf test results relevant to the current build. This variable is used by the autotools utilities when running configure. CVS_TARBALL_STASH Location to search for pre-generated tarballs when fetching from remote SCM repositories (CVS/SVN/GIT) D D Destination directory DEBUG_BUILD Build packages with debugging information. This influences the value SELECTED_OPTIMIZATION takes. DEBUG_OPTIMIZATION The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This defaults to "-O -fno-omit-frame-pointer -g". DEFAULT_PREFERENCE Priority of recipe DEPENDS A list of build time dependencies for a given recipe. These indicate recipes that must have staged before this recipe can configure. DESCRIPTION Package description used by package managers DESTDIR Destination directory DISTRO Short name of distribution DISTRO_EXTRA_RDEPENDS List of packages required by distribution. DISTRO_EXTRA_RRECOMMENDS List of packages which extend usability of image. Those packages will be automatically installed but can be removed by user. DISTRO_FEATURES Features of the distribution. DISTRO_NAME Long name of distribution DISTRO_PN_ALIAS Alias names of the recipe in various Linux distributions. See the "meta/package/xorg-app/xset_1.0.4.bb" file for an example More information in Configuring the DISTRO_PN_ALIAS variable section DISTRO_VERSION Version of distribution DL_DIR Directory where all fetched sources will be stored E ENABLE_BINARY_LOCALE_GENERATION Variable which control which locales for glibc are to be generated during build (useful if target device has 64M RAM or less) EXTRA_OECONF Additional 'configure' script options EXTRA_OEMAKE Additional GNU make options F FILES list of directories/files which will be placed in packages FULL_OPTIMIZATION The options to pass in TARGET_CFLAGS and CFLAGS when compiling an optimised system. This defaults to "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2". H HOMEPAGE Website where more info about package can be found I IMAGE_FEATURES List of features present in resulting images IMAGE_FSTYPES Formats of rootfs images which we want to have created IMAGE_INSTALL List of packages used to build image INHIBIT_PACKAGE_STRIP This variable causes the build to not strip binaries in resulting packages. INHERIT This variable causes the named class to be inherited at this point during parsing. Its only valid in configuration files. INITSCRIPT_PACKAGES Scope: Used in recipes when using update-rc.d.bbclass. Optional, defaults to PN. A list of the packages which contain initscripts. If multiple packages are specified you need to append the package name to the other INITSCRIPT_* as an override. INITSCRIPT_NAME Scope: Used in recipes when using update-rc.d.bbclass. Mandatory. The filename of the initscript (as installed to ${etcdir}/init.d). INITSCRIPT_PARAMS Scope: Used in recipes when using update-rc.d.bbclass. Mandatory. 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 it in levels 0, 1 and 6. K KERNEL_IMAGETYPE The type of kernel to build for a device, usually set by the machine configuration files and defaults to "zImage". This is used when building the kernel and is passed to "make" as the target to build. L LAYERDIR When used inside a layer.conf gives 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. LICENSE List of package source licenses. LIC_FILES_CHKSUM Checksums of the license text in the recipe source code. This variables tracks changes in license text of the source code files. If the license text is changed it triggers the build failure. Which gives developer an oppurtunity to review any license changes This is an optional variable now. And the plan is to make it a required variable in the future See the "meta/package/zlib/zlib_${PV}.bb" file for an example More information in Configuring the LIC_FILES_CHKSUM variable section M MACHINE Target device MACHINE_ESSENTIAL_RDEPENDS List of packages required to boot device MACHINE_ESSENTIAL_RRECOOMENDS List of packages required to boot device (usually additional kernel modules) MACHINE_EXTRA_RDEPENDS List of packages required to use device MACHINE_EXTRA_RRECOMMNEDS List of packages useful to use device (for example additional kernel modules) MACHINE_FEATURES List of device features - defined in machine features section MAINTAINER E-mail of distribution maintainer P PACKAGE_ARCH Architecture of resulting package PACKAGE_CLASSES List of resulting packages formats PACKAGE_EXTRA_ARCHS List of architectures compatible with device CPU. Usable when build is done for few different devices with misc processors (like XScale and ARM926-EJS) PACKAGES List of packages to be created from recipe. The default value is "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev" PARALLEL_MAKE Extra options that are passed to the make command during the compile tasks. This is usually of the form '-j 4' where the number represents the maximum number of parallel threads make can run. PN Name of package. PR Revision of package. PV Version of package. The default value is "1.0" PE Epoch of the package. 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 one should be given preference. It should be set to the "$PN" of the recipe to be preferred. PREFERRED_VERSION If there are multiple versions of recipe available, this variable determines which one should be given preference. It should be set to the "$PV" of the recipe to be preferred. POKY_EXTRA_INSTALL List of packages to be added to the image. This should only be set in local.conf. POKYLIBC Libc implementation selector - glibc or uclibc can be selected. POKYMODE Toolchain selector. It can be external toolchain built from Poky or few supported combinations of upstream GCC or CodeSourcery Labs toolchain. R RCONFLICTS List of packages which which conflict with this one. Package will not be installed if they will not be removed first. RDEPENDS A list of run-time dependencies for a package. These packages need to be installed alongside the package it applies to so the package will run correctly, an example is a perl script which would rdepend on perl. Since this variable applies to output packages there would usually be an override attached to this variable like RDEPENDS_${PN}-dev. Names in this field should be as they are in PACKAGES namespace before any renaming of the output package by classes like debian.bbclass. ROOT_FLASH_SIZE Size of rootfs in megabytes RRECOMMENDS List of packages which extend usability of package. Those packages will be automatically installed but can be removed by user. RREPLACES List of packages which are replaced with this one. S S Path to unpacked sources (by default: "${WORKDIR}/${PN}-${PV}") SECTION Section where package should be put - used by package managers SELECTED_OPTIMIZATION The variable takes the value of FULL_OPTIMIZATION unless DEBUG_BUILD = "1" in which case DEBUG_OPTIMIZATION is used. SERIAL_CONSOLE Speed and device for serial port used to attach serial console. This is given to kernel as "console" param and after boot getty is started on that port so remote login is possible. SHELLCMDS A list of commands to run within the a shell, used by TERMCMDRUN. It defaults to SHELLRCCMD. SHELLRCCMD How to launch a shell, defaults to bash. SITEINFO_ENDIANESS Contains "le" for little-endian or "be" for big-endian depending on the endian byte order of the target system. SITEINFO_BITS Contains "32" or "64" depending on the number of bits for the CPU of the target system. SRC_URI List of source files (local or remote ones) SRC_URI_OVERRIDES_PACKAGE_ARCH By default there is code which automatically detects whether SRC_URI contains files which are machine specific and if this is the case it automatically changes PACKAGE_ARCH. Setting this variable to "0" disables that behaviour. SRCDATE Date of source code used to build package (if it was fetched from SCM). SRCREV Revision of source code used to build package (Subversion, GIT, Bazaar only). STAGING_KERNEL_DIR Directory with kernel headers required to build out-of-tree modules. STAMPS Directory (usually TMPDIR/stamps) with timestamps of executed tasks. T TARGET_ARCH The architecture of the device we're building for. A number of values are possible but Poky primarily supports "arm" and "i586". TARGET_CFLAGS Flags passed to C compiler for the target system. Evaluates to the same as CFLAGS. TARGET_FPU Method of handling FPU code. For FPU-less targets (most of ARM cpus) it has to be set to "soft" otherwise kernel emulation will get used which will result in performance penalty. TARGET_OS Type of target operating system. Can be "linux" for glibc based system, "linux-uclibc" for uClibc. For ARM/EABI targets there are also "linux-gnueabi" and "linux-uclibc-gnueabi" values possible. TERMCMD This command is used by bitbake to lauch a terminal window with a shell. The shell is unspecified so the user's default shell is used. By default it is set to gnome-terminal but it can be any X11 terminal application or terminal multiplexers like screen. TERMCMDRUN This command is similar to TERMCMD however instead of the users shell it runs the command specified by the SHELLCMDS variable. W WORKDIR Path to directory in tmp/work/ where package will be built.