Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "Bitbake Cheat Sheet"

From eLinux.org
Jump to: navigation, search
(Syntax)
(Syntax)
Line 69: Line 69:
 
|-
 
|-
 
|BBVERSIONS="1.0 1.8 string"<BR>
 
|BBVERSIONS="1.0 1.8 string"<BR>
|VAR="foo"<BR>
+
VAR="foo"<BR>
|VAR_string="bar"
+
VAR_string="bar"
 
|range-specific conditional
 
|range-specific conditional
 
|If the version of the package is in the specified range, the perform an override on the indicated variable
 
|If the version of the package is in the specified range, the perform an override on the indicated variable
Line 78: Line 78:
 
|ex: VAR = "the date is: ${@time.strftime(’%Y%m%d’,time.gmtime())}"
 
|ex: VAR = "the date is: ${@time.strftime(’%Y%m%d’,time.gmtime())}"
 
|-
 
|-
|include foo||include file named "foo", search BBPATH
+
|include foo||include file||include file named "foo", search BBPATH||
 
|-
 
|-
|require [<path>]foo||include file names "foo", failing if not found exactly where specified
+
|require [<path>]foo||require file||include file named "foo", failing if not found exactly where specified
 
|-
 
|-
|inherit foo||inherit definitions from foo.bbclass
+
|inherit foo||inherit classes||include definitions from foo.bbclass
 
|-
 
|-
 
|}
 
|}

Revision as of 20:13, 30 October 2012

Here are some quick notes on bitbake syntax and rules. For an exhaustive list of functionality, and longer descriptions, see the bitbake manual at: http://docs.openembedded.org/bitbake/html/ (note that this link goes to the OpenEmbedded version of the bitbake manual, which is a version from 2006 as of this writing. A separate (yocto-specific?) bitbake manual is included in source form in the yocto project source directory, under bitbake/doc.)

Options

Option Meaning
-c <task> execute <task> for the image or recipe being built. ex: bitbake -c fetch busybox.

Some of the possible tasks are: fetch, configure, compile, package, clean

-f force execution of the operation, even if not required
-v show verbose output
-DDD show lots of debug information
-s show recipe version information
--help get usage help
-c listtasks <image-or-recipe-name> show the tasks associated with an image or individual recipe
-g <recipe> output dependency tree in graphviz format

Syntax

Syntax Meaning NOTES
VAR = "foo" simple assignment
VAR ?= "foo" assign if no other value is already assigned (default assignment)
VAR ??=foo weak default assignment takes lower precedence than ?=
VAR = "stuff ${OTHER_VAR} more" variable expansion OTHER_VAR expanded at time of reference to VAR
VAR := "stuff ${OTHER_VAR} more" immediate variable expansion OTHER_VAR expanded at time of parsing this line
VAR += "foo" append with space
VAR =+ "foo" prepend with space
VAR .= "foo" append without space
VAR =. "foo" prepend without space
OVERRIDES="string1:string2"

VAR = "foo"
VAR_string1 = "bar"

alternate/override value if string1 is listed in OVERRIDES, use "bar" for value of VAR, otherwise use "foo"
OVERRIDES="string1:string2"

VAR = "foo"
VAR_appends_string1 = " bar"

conditional appending if string1 is in OVERRIDES, then append " bar" to the value of VAR
BBVERSIONS="1.0 1.8 string"

VAR="foo"
VAR_string="bar"

range-specific conditional If the version of the package is in the specified range, the perform an override on the indicated variable
VAR = "foo ${@<line-of-python-code>}" python code expansion ex: VAR = "the date is: ${@time.strftime(’%Y%m%d’,time.gmtime())}"
include foo include file include file named "foo", search BBPATH
require [<path>]foo require file include file named "foo", failing if not found exactly where specified
inherit foo inherit classes include definitions from foo.bbclass