Override syntax change from Yocto honister 3.4

From KoanSoftware Wiki
Jump to: navigation, search

Override syntax change from Yocto honister 3.4

The Yocto 3.4 release (fall 2021), also codenamed “Honister” introduces a disruptive change in the override syntax.

In this release, the ':' character replaces the use of '_' to refer to an override, most commonly when making a conditional assignment of a variable.

This means that an entry like:

SRC_URI_qemux86 = "file://somefile"

now becomes:

SRC_URI:qemux86 = "file://somefile"

Since qemux86 is an override, this applies to any use of override syntax, so the following:

SRC_URI_append = " file://somefile"
SRC_URI_append_qemux86 = " file://somefile2"
SRC_URI_remove_qemux86-64 = " file://somefile3"
SRC_URI_prepend_qemuarm = "file://somefile4 "
FILES_${PN}-ptest = "${bindir}/xyz"
IMAGE_CMD_tar = "tar"
BASE_LIB_tune-cortexa76 = "lib"
SRCREV_pn-bash = "abc"
BB_TASK_NICE_LEVEL_task-testimage = '0'

would now become:

SRC_URI:append = " file://somefile"
SRC_URI:append:qemux86 = " file://somefile2"
SRC_URI:remove:qemux86-64 = " file://somefile3"
SRC_URI:prepend:qemuarm = "file://somefile4 "
FILES:${PN}-ptest = "${bindir}/xyz"
IMAGE_CMD:tar = "tar"
BASE_LIB:tune-cortexa76 = "lib"
SRCREV:pn-bash = "abc"
BB_TASK_NICE_LEVEL:task-testimage = '0'

This also applies to variable queries to the datastore, for example using getVar and similar so d.getVar("RDEPENDS_${PN}") becomes d.getVar("RDEPENDS:${PN}").

Further details are available in the Yocto Project migration guide