Home » Development and Build » Yocto Embedded Linux » Yocto: Where temporary source code resides for a package during build

Yocto: Where temporary source code resides for a package during build

During a build, the unpacked temporary source code used by recipes to build packages is available in the Build Directory as defined by the S variable.

Below is the default value for the S variable as defined in the meta/conf/bitbake.conf configuration file in the Source Directory: S = “${WORKDIR}/${BP}”

You should be aware that many recipes override the set S to ${WORKDIR}/git .
S variable. For example, recipes that fetch their source from Git usually

Note : The BP represents the base recipe name, which consists of the name and version:
BP = “${BPN}-${PV}”

The path to the work directory for the recipe ( WORKDIR ) is defined as follows:
${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}
The actual directory depends on several things:
TMPDIR : The top-level build output directory
MULTIMACH_TARGET_SYS : The target system identifier
PN : The recipe name
EXTENDPE : The epoch – (if PE is not specified, which is usually the case for most recipes, then EXTENDPE is blank)
PV : The recipe version
PR : The recipe revision
poky , a default Build Directory at poky/build , and
qemux86-poky-linux machine target system.

Furthermore, suppose your recipe is named foo_1.3.0.bb .
As an example, assume a Source Directory top-level folder named poky , a default Build Directory at poky/build , and qemux86-poky-linux machine target system.

The work directory the build system uses to build the package would be as follows:
poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0

Leave a Comment