From 5ebf08ad8d7a79c9ad4c8abb004db6dbf88d9e22 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Mon, 23 Jun 2025 14:42:55 +0200 Subject: [PATCH] overview-manual: correct the bitbake tasks map section and diagram to account for sources in UNPACKDIR (From yocto-docs rev: 52a6a642b56beb3dcf22de5ff9568f50ac138500) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- documentation/overview-manual/concepts.rst | 4 ---- documentation/overview-manual/svg/bitbake_tasks_map.svg | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst index 590055501f..b34de4d361 100644 --- a/documentation/overview-manual/concepts.rst +++ b/documentation/overview-manual/concepts.rst @@ -2368,8 +2368,6 @@ The contents of ``libhello_0.1.bb`` are:: # Change accordingly SRC_URI = "git://github.com//libhello;branch=main;protocol=https" - S = "${WORKDIR}/git" - do_install(){ install -d ${D}${includedir} install -d ${D}${libdir} @@ -2394,8 +2392,6 @@ The contents of ``sayhello_0.1.bb`` are:: DEPENDS += "libhello" RDEPENDS:${PN} += "libhello" - S = "${WORKDIR}/git" - do_install(){ install -d ${D}/usr/bin install -m 0700 sayhello ${D}/usr/bin diff --git a/documentation/overview-manual/svg/bitbake_tasks_map.svg b/documentation/overview-manual/svg/bitbake_tasks_map.svg index 09ef36faae..1ba962ccc6 100644 --- a/documentation/overview-manual/svg/bitbake_tasks_map.svg +++ b/documentation/overview-manual/svg/bitbake_tasks_map.svg @@ -1,4 +1,4 @@ -
tmp
tmp
work
work
${MULTIMACH_TARGET_OS}
${MULTIMACH_TARGET_OS}
libhello
libhello
sayhello
sayhello
0.1-r0
0.1-r0
0.1-r0
0.1-r0
downloads
downloads
git2
git2
github.com.<username>.sayhello
github.com.<username>.sayhello
github.com.<username>.libhello
github.com.<username>.libhello
git
git
Makefile
Makefile
LICENSE
LICENSE
fix.patch
fix.patch
hellolib.c
hellolib.c
temp
temp
sysroot-destdir
sysroot-destdir
recipe-sysroot
recipe-sysroot
image
image
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
Everything in image folder that is present in SYSROOT_DIRS will be copied here.
Everything in image...
do_install
do_install
libhello.so.1.0
libhello.so.1.0
do_configure
do_configure
hellolib.h
hellolib.h
do_patch
do_patch
do_unpack
do_unpack
6
6
7
7
8
8
do_compile
do_compile
9
9
10
10
do_populate_sysroot
do_populate_sysroot
11
11
git
git
Makefile
Makefile
LICENSE
LICENSE
sayhello.c
sayhello.c
sayhello
sayhello
image
image
usr
usr
bin
bin
libhello-0.1
libhello-0.1
S = "${WORKDIR}/git"
S = "${WORKDIR}/git"
WORKDIR
WORKDIR
D
D
S
S
B
B
S
S
T
T
libdir
libdir
includedir
includedir
RECIPE_SYSROOT
RECIPE_SYSROOT
S
S
B
B
D
D
WORKDIR
WORKDIR
do_prepare_recipe_sysroot
do_prepare_recipe_sysroot
sayhello
sayhello
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
This also contains other files from other 
dependencies. Default dependencies are:
basically gcc, compilerlibs and libc
This also contains other files from other...
SYSROOT_DESTDIR
SYSROOT_DESTDIR
Github
Github
do_fetch
do_fetch
1
1
do_fetch
do_fetch
5
5
do_configure
do_configure
12
12
do_compile
do_compile
13
13
do_unpack
do_unpack
2
2
conf
conf
local.conf
local.conf
bblayers.conf
bblayers.conf
S defaults generally to ${WORKDIR}/${BPN}-${PV}
In git recipes change it to ${WORKDIR}/git
S defaults generally to ${WORKDIR}/${B...
do_patch
(No patches)
do_patch...
3
3
4
4
do_install
do_install
14
14
package
package
PKGD
PKGD
A copy of ${D}
excluding
/sysroot-only
A copy of ${D}...
do_package
do_package
15
15
packages-split
packages-split
PKGDEST
PKGDEST
sayhello
sayhello
usr
usr
bin
bin
Folders created here are present in PACKAGES variable, BitBake knows what and where to put things using the FILES variable, example: FILES:${PN} files will go to ${PN} folder which is in PACKAGES
Folders created here are present in PACKAGES variable...
do_package
do_package
16
16
deploy-pkg
deploy-pkg
${PACKAGE_ARCH}
${PACKAGE_ARCH}
This can be rpms, debs or ipks.
These are provided by
package_rpm, package_deb and package_ipk classes respectively, use PACKAGE_CLASSES for that as
content of PACKAGE_CLASSES will be appended
to INHERIT
This can be rpms, debs or ipks....
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
This task also depends on PACKAGE_CLASSES,
pkg can be rpm, deb or ipk for package_rpm,
package_deb or package_ipk respectively.
The generated package generally named using:
${PN}, ${PR}, ${PACKAGE_ARCH} and pkg
This task also depends on PACKAGE_CLASSES,...
deploy
deploy
${DEPLOY_DIR_pkg}
${DEPLOY_DIR_pkg}
do_package_write_pkg
do_package_write_pkg
17
17
${PACKAGE_ARCH}
${PACKAGE_ARCH}
For packages, this can be IPK, RPM or DEB (check step 17)
For packages, this can be IPK, RPM or DEB (check step 17)
DEPLOY_DIR
DEPLOY_DIR
TMPDIR
TMPDIR
DL_DIR
DL_DIR
do_package_write_pkg
do_package_write_pkg
18
18
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for package_rpm, package_deb
or package_ipk respectively
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...
License checking happens in do_populate_lic after do_patch
and before that a checksum check
happends on LIC_FILES_CHKSUM if the
license is not CLOSED
License checking happens in do_populate_lic after do_pa...
This variable is used to separate recipes
based on their target. This has value of
${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
This variable is used to separate recipes...
conf-notes.txt
conf-notes.txt
sstate-cache
sstate-cache
SSTATE_DIR
SSTATE_DIR
sayhello
sayhello
This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.
This folder contains cache for recipes build output, this is used by...
These directories can be shared accross builds to save disk space and build time
These directories can be shared accross builds to save disk space an...
This directory contains other output directories such as images, sdk and licenses
This directory contains other output directories such as images, sdk...
This file contains all layers that BitBake should consider when looking for metadata.
This file contains all layer...
This is base configuration file containing essential user config such as MACHINE and DISTRO
This is base configuration file containing essential user config such as...
The message to show after source oe-init-build-env
The message to show after source oe-init...
Text is not SVG - cannot display
\ No newline at end of file +
tmp
tmp
work
work
${MULTIMACH_TARGET_OS}
${MULTIMACH_TARGET_OS}
libhello
libhello
sayhello
sayhello
0.1-r0
0.1-r0
0.1-r0
0.1-r0
downloads
downloads
git2
git2
github.com.<username>.sayhello
github.com.<username>.sayhello
github.com.<username>.libhello
github.com.<username>.libhello
sources/libhello-0.1
sources/lib...
Makefile
Makefile
LICENSE
LICENSE
fix.patch
fix.patch
hellolib.c
hellolib.c
temp
temp
sysroot-destdir
sysroot-destdir
recipe-sysroot
recipe-sysroot
image
image
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
Everything in image folder that is present in SYSROOT_DIRS will be copied here.
Everything in image...
do_install
do_install
libhello.so.1.0
libhello.so.1.0
do_configure
do_configure
hellolib.h
hellolib.h
do_patch
do_patch
do_unpack
do_unpack
6
6
7
7
8
8
do_compile
do_compile
9
9
10
10
do_populate_sysroot
do_populate_sysroot
11
11
sources/sayhello-0.1

sources/say...
Makefile
Makefile
LICENSE
LICENSE
sayhello.c
sayhello.c
sayhello
sayhello
image
image
usr
usr
bin
bin
S = "${UNPACKDIR}/${BP}"
S = "${UNPACKDIR}/${BP}"
WORKDIR
WORKDIR
D
D
S
S
B
B
T
T
libdir
libdir
includedir
includedir
RECIPE_SYSROOT
RECIPE_SYSROOT
S
S
B
B
D
D
WORKDIR
WORKDIR
do_prepare_recipe_sysroot
do_prepare_recipe_sysroot
sayhello
sayhello
usr
usr
include
include
lib
lib
hellolib.h
hellolib.h
libhello.so.1
libhello.so.1
libhello.so.1.0
libhello.so.1.0
This also contains other files from other 
dependencies. Default dependencies are:
basically gcc, compilerlibs and libc
This also contains other files from other...
SYSROOT_DESTDIR
SYSROOT_DESTDIR
Github
Github
do_fetch
do_fetch
1
1
do_fetch
do_fetch
5
5
do_configure
do_configure
12
12
do_compile
do_compile
13
13
do_unpack
do_unpack
2
2
conf
conf
local.conf
local.conf
bblayers.conf
bblayers.conf
S defaults generally to ${UNPACKDIR}/${BP}
S defaults generally to ${UNPACKDIR}/$...
do_patch
(No patches)
do_patch...
3
3
4
4
do_install
do_install
14
14
package
package
PKGD
PKGD
A copy of ${D}
excluding
/sysroot-only
A copy of ${D}...
do_package
do_package
15
15
packages-split
packages-split
PKGDEST
PKGDEST
sayhello
sayhello
usr
usr
bin
bin
Folders created here are present in PACKAGES variable, BitBake knows what and where to put things using the FILES variable, example: FILES:${PN} files will go to ${PN} folder which is in PACKAGES
Folders created here are present in PACKAGES variable...
do_package
do_package
16
16
deploy-pkg
deploy-pkg
${PACKAGE_ARCH}
${PACKAGE_ARCH}
This can be rpms, debs or ipks.
These are provided by
package_rpm, package_deb and package_ipk classes respectively, use PACKAGE_CLASSES for that as
content of PACKAGE_CLASSES will be appended
to INHERIT
This can be rpms, debs or ipks....
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
sayhello-0.1-r0.${PACKAGE_ARCH}.pkg
This task also depends on PACKAGE_CLASSES,
pkg can be rpm, deb or ipk for package_rpm,
package_deb or package_ipk respectively.
The generated package generally named using:
${PN}, ${PR}, ${PACKAGE_ARCH} and pkg
This task also depends on PACKAGE_CLASSES,...
deploy
deploy
${DEPLOY_DIR_pkg}
${DEPLOY_DIR_pkg}
do_package_write_pkg
do_package_write_pkg
17
17
${PACKAGE_ARCH}
${PACKAGE_ARCH}
For packages, this can be IPK, RPM or DEB (check step 17)
For packages, this can be IPK, RPM or DEB (check step 17)
DEPLOY_DIR
DEPLOY_DIR
TMPDIR
TMPDIR
DL_DIR
DL_DIR
do_package_write_pkg
do_package_write_pkg
18
18
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for package_rpm, package_deb
or package_ipk respectively
This can be PKGWRITEDIRRPM, PKGWRITEDIRDEB or PKGWRITEDIRIPK for pack...
License checking happens in do_populate_lic after do_patch
and before that a checksum check
happends on LIC_FILES_CHKSUM if the
license is not CLOSED
License checking happens in do_populate_lic after do_pa...
This variable is used to separate recipes
based on their target. This has value of
${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}
This variable is used to separate recipes...
conf-notes.txt
conf-notes.txt
sstate-cache
sstate-cache
SSTATE_DIR
SSTATE_DIR
sayhello
sayhello
This folder contains cache for recipes build output, this is used by BitBake, if the recipe checksum did not change it knows that the output to use is the same.
This folder contains cache for recipes build output, this is used by...
These directories can be shared accross builds to save disk space and build time
These directories can be shared accross builds to save disk space an...
This directory contains other output directories such as images, sdk and licenses
This directory contains other output directories such as images, sdk...
This file contains all layers that BitBake should consider when looking for metadata.
This file contains all layer...
This is base configuration file containing essential user config such as MACHINE and DISTRO
This is base configuration file containing essential user config such as...
The message to show after source oe-init-build-env
The message to show after source oe-init...
Text is not SVG - cannot display
\ No newline at end of file