summaryrefslogtreecommitdiffstats
path: root/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'documentation')
-rw-r--r--documentation/contributor-guide/recipe-style-guide.rst14
-rw-r--r--documentation/dev-manual/index.rst1
-rw-r--r--documentation/dev-manual/packages.rst23
-rw-r--r--documentation/dev-manual/security-subjects.rst194
-rw-r--r--documentation/index.rst7
-rw-r--r--documentation/migration-guides/release-4.0.rst1
-rw-r--r--documentation/migration-guides/release-notes-4.0.32.rst194
-rw-r--r--documentation/overview-manual/concepts.rst2
-rw-r--r--documentation/overview-manual/figures/YP-flow-diagram.pngbin190715 -> 0 bytes
-rw-r--r--documentation/overview-manual/svg/yp-flow-diagram.svg950
-rw-r--r--documentation/overview-manual/yp-intro.rst14
-rw-r--r--documentation/ref-manual/classes.rst47
-rw-r--r--documentation/ref-manual/release-process.rst39
-rw-r--r--documentation/ref-manual/svg/releases.svg16
-rw-r--r--documentation/ref-manual/variables.rst24
-rw-r--r--documentation/security-reference/index.rst14
-rw-r--r--documentation/security-reference/reporting-vulnerabilities.rst85
-rw-r--r--documentation/security-reference/security-team.rst110
-rw-r--r--documentation/test-manual/ptest.rst19
19 files changed, 1538 insertions, 216 deletions
diff --git a/documentation/contributor-guide/recipe-style-guide.rst b/documentation/contributor-guide/recipe-style-guide.rst
index 179c8daa77..737ec86ebe 100644
--- a/documentation/contributor-guide/recipe-style-guide.rst
+++ b/documentation/contributor-guide/recipe-style-guide.rst
@@ -221,6 +221,20 @@ Recipes need to define both the :term:`LICENSE` and
221 ``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names 221 ``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names
222 defined in ``meta/conf/licenses.conf``. 222 defined in ``meta/conf/licenses.conf``.
223 223
224 .. note::
225
226 Setting a :term:`LICENSE` in a recipe applies to the software to be built
227 by this recipe, not to the recipe file itself. The license of recipes,
228 configuration files and scripts should also be clearly specified, for
229 example via comments or via a license found in the :term:`layer` that
230 holds these files. These license files are usually found at the root of
231 the layer. Exceptions should be clearly stated in the layer README or
232 LICENSE file.
233
234 For example, the :term:`OpenEmbedded-Core (OE-Core)` layer provides both
235 the GPL-2.0-only and MIT license files, and a "LICENSE" file to explain
236 how these two licenses are attributed to files found in the layer.
237
224- :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this 238- :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this
225 variable to make sure the license text has not changed. If it has, 239 variable to make sure the license text has not changed. If it has,
226 the build produces an error and it affords you the chance to figure 240 the build produces an error and it affords you the chance to figure
diff --git a/documentation/dev-manual/index.rst b/documentation/dev-manual/index.rst
index ef0512d246..2a184ec731 100644
--- a/documentation/dev-manual/index.rst
+++ b/documentation/dev-manual/index.rst
@@ -41,7 +41,6 @@ Yocto Project Development Tasks Manual
41 build-quality 41 build-quality
42 debugging 42 debugging
43 licenses 43 licenses
44 security-subjects
45 vulnerabilities 44 vulnerabilities
46 sbom 45 sbom
47 error-reporting-tool 46 error-reporting-tool
diff --git a/documentation/dev-manual/packages.rst b/documentation/dev-manual/packages.rst
index 0c948cdaef..7db2fe21d4 100644
--- a/documentation/dev-manual/packages.rst
+++ b/documentation/dev-manual/packages.rst
@@ -279,8 +279,23 @@ with a number. The number used depends on the state of the PR Service:
279 279
280 .. code-block:: none 280 .. code-block:: none
281 281
282 hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk 282 hello-world-git_1.0+git0+b6558dd387-r0.0_armv7a-neon.ipk
283 hello-world-git_0.0+git1+dd2f5c3565-r0.0_armv7a-neon.ipk 283 hello-world-git_1.0+git1+dd2f5c3565-r0.1_armv7a-neon.ipk
284
285 Two numbers got incremented here:
286
287 - ``gitX`` changed from ``git0`` to ``git1``. This is because there was a
288 change in the source code (``SRCREV``).
289
290 - ``r0.X`` changed from ``r0.0`` to ``r0.1``. This is because the hash of
291 the :ref:`ref-tasks-package` task changed.
292
293 The reason for this change can be many. To understand why the hash of the
294 :ref:`ref-tasks-package` task changed, you can run the following command:
295
296 .. code-block:: console
297
298 $ bitbake-diffsigs -t hello-world package
284 299
285- If PR Service is not enabled, the build system replaces the 300- If PR Service is not enabled, the build system replaces the
286 ``AUTOINC`` placeholder with zero (i.e. "0"). This results in 301 ``AUTOINC`` placeholder with zero (i.e. "0"). This results in
@@ -290,8 +305,8 @@ with a number. The number used depends on the state of the PR Service:
290 305
291 .. code-block:: none 306 .. code-block:: none
292 307
293 hello-world-git_0.0+git0+b6558dd387-r0.0_armv7a-neon.ipk 308 hello-world-git_1.0+git0+b6558dd387-r0_armv7a-neon.ipk
294 hello-world-git_0.0+git0+dd2f5c3565-r0.0_armv7a-neon.ipk 309 hello-world-git_1.0+git0+dd2f5c3565-r0_armv7a-neon.ipk
295 310
296In summary, the OpenEmbedded build system does not track the history of 311In summary, the OpenEmbedded build system does not track the history of
297binary package versions for this purpose. ``AUTOINC``, in this case, is 312binary package versions for this purpose. ``AUTOINC``, in this case, is
diff --git a/documentation/dev-manual/security-subjects.rst b/documentation/dev-manual/security-subjects.rst
deleted file mode 100644
index 1ec7c8b385..0000000000
--- a/documentation/dev-manual/security-subjects.rst
+++ /dev/null
@@ -1,194 +0,0 @@
1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Dealing with Vulnerability Reports
4**********************************
5
6The Yocto Project and OpenEmbedded are open-source, community-based projects
7used in numerous products. They assemble multiple other open-source projects,
8and need to handle security issues and practices both internal (in the code
9maintained by both projects), and external (maintained by other projects and
10organizations).
11
12This manual assembles security-related information concerning the whole
13ecosystem. It includes information on reporting a potential security issue,
14the operation of the YP Security team and how to contribute in the
15related code. It is written to be useful for both security researchers and
16YP developers.
17
18How to report a potential security vulnerability?
19=================================================
20
21If you would like to report a public issue (for example, one with a released
22CVE number), please report it using the
23:yocto_bugs:`Security Bugzilla </enter_bug.cgi?product=Security>`.
24
25If you are dealing with a not-yet-released issue, or an urgent one, please send
26a message to security AT yoctoproject DOT org, including as many details as
27possible: the layer or software module affected, the recipe and its version,
28and any example code, if available. This mailing list is monitored by the
29Yocto Project Security team.
30
31For each layer, you might also look for specific instructions (if any) for
32reporting potential security issues in the specific ``SECURITY.md`` file at the
33root of the repository. Instructions on how and where submit a patch are
34usually available in ``README.md``. If this is your first patch to the
35Yocto Project/OpenEmbedded, you might want to have a look into the
36Contributor's Manual section
37":ref:`contributor-guide/submit-changes:preparing changes for submission`".
38
39Branches maintained with security fixes
40---------------------------------------
41
42See the
43:ref:`Release process <ref-manual/release-process:Stable Release Process>`
44documentation for details regarding the policies and maintenance of stable
45branches.
46
47The :yocto_home:`Releases </development/releases/>` page contains a list of all
48releases of the Yocto Project, grouped into current and previous releases.
49Previous releases are no longer actively maintained with security patches, but
50well-tested patches may still be accepted for them for significant issues.
51
52Security-related discussions at the Yocto Project
53-------------------------------------------------
54
55We have set up two security-related emails/mailing lists:
56
57 - Public Mailing List: yocto [dash] security [at] yoctoproject[dot] org
58
59 This is a public mailing list for anyone to subscribe to. This list is an
60 open list to discuss public security issues/patches and security-related
61 initiatives. For more information, including subscription information,
62 please see the :yocto_lists:`yocto-security mailing list info page
63 </g/yocto-security>`.
64
65 This list requires moderator approval for new topics to be posted, to avoid
66 private security reports to be posted by mistake.
67
68 - Yocto Project Security Team: security [at] yoctoproject [dot] org
69
70 This is an email for reporting non-published potential vulnerabilities.
71 Emails sent to this address are forwarded to the Yocto Project Security
72 Team members.
73
74
75What you should do if you find a security vulnerability
76-------------------------------------------------------
77
78If you find a security flaw: a crash, an information leakage, or anything that
79can have a security impact if exploited in any Open Source software built or
80used by the Yocto Project, please report this to the Yocto Project Security
81Team. If you prefer to contact the upstream project directly, please send a
82copy to the security team at the Yocto Project as well. If you believe this is
83highly sensitive information, please report the vulnerability in a secure way,
84i.e. encrypt the email and send it to the private list. This ensures that
85the exploit is not leaked and exploited before a response/fix has been generated.
86
87Security team
88=============
89
90The Yocto Project/OpenEmbedded security team coordinates the work on security
91subjects in the project. All general discussion takes place publicly. The
92Security Team only uses confidential communication tools to deal with private
93vulnerability reports before they are released.
94
95Security team appointment
96-------------------------
97
98The Yocto Project Security Team consists of at least three members. When new
99members are needed, the Yocto Project Technical Steering Committee (YP TSC)
100asks for nominations by public channels including a nomination deadline.
101Self-nominations are possible. When the limit time is
102reached, the YP TSC posts the list of candidates for the comments of project
103participants and developers. Comments may be sent publicly or privately to the
104YP and OE TSCs. The candidates are approved by both YP TSC and OpenEmbedded
105Technical Steering Committee (OE TSC) and the final list of the team members
106is announced publicly. The aim is to have people representing technical
107leadership, security knowledge and infrastructure present with enough people
108to provide backup/coverage but keep the notification list small enough to
109minimize information risk and maintain trust.
110
111YP Security Team members may resign at any time.
112
113Security Team Operations
114------------------------
115
116The work of the Security Team might require high confidentiality. Team members
117are individuals selected by merit and do not represent the companies they work
118for. They do not share information about confidential issues outside of the team
119and do not hint about ongoing embargoes.
120
121Team members can bring in domain experts as needed. Those people should be
122added to individual issues only and adhere to the same standards as the YP
123Security Team.
124
125The YP security team organizes its meetings and communication as needed.
126
127When the YP Security team receives a report about a potential security
128vulnerability, they quickly analyze and notify the reporter of the result.
129They might also request more information.
130
131If the issue is confirmed and affects the code maintained by the YP, they
132confidentially notify maintainers of that code and work with them to prepare
133a fix.
134
135If the issue is confirmed and affects an upstream project, the YP security team
136notifies the project. Usually, the upstream project analyzes the problem again.
137If they deem it a real security problem in their software, they develop and
138release a fix following their security policy. They may want to include the
139original reporter in the loop. There is also sometimes some coordination for
140handling patches, backporting patches etc, or just understanding the problem
141or what caused it.
142
143When the fix is publicly available, the YP security team member or the
144package maintainer sends patches against the YP code base, following usual
145procedures, including public code review.
146
147What Yocto Security Team does when it receives a security vulnerability
148-----------------------------------------------------------------------
149
150The YP Security Team team performs a quick analysis and would usually report
151the flaw to the upstream project. Normally the upstream project analyzes the
152problem. If they deem it a real security problem in their software, they
153develop and release a fix following their own security policy. They may want
154to include the original reporter in the loop. There is also sometimes some
155coordination for handling patches, backporting patches etc, or just
156understanding the problem or what caused it.
157
158The security policy of the upstream project might include a notification to
159Linux distributions or other important downstream projects in advance to
160discuss coordinated disclosure. These mailing lists are normally non-public.
161
162When the upstream project releases a version with the fix, they are responsible
163for contacting `Mitre <https://www.cve.org/>`__ to get a CVE number assigned and
164the CVE record published.
165
166If an upstream project does not respond quickly
167-----------------------------------------------
168
169If an upstream project does not fix the problem in a reasonable time,
170the Yocto's Security Team will contact other interested parties (usually
171other distributions) in the community and together try to solve the
172vulnerability as quickly as possible.
173
174The Yocto Project Security team adheres to the 90 days disclosure policy
175by default. An increase of the embargo time is possible when necessary.
176
177Current Security Team members
178-----------------------------
179
180For secure communications, please send your messages encrypted using the GPG
181keys. Remember, message headers are not encrypted so do not include sensitive
182information in the subject line.
183
184 - Ross Burton: <ross@burtonini.com> `Public key <https://keys.openpgp.org/search?q=ross%40burtonini.com>`__
185
186 - Michael Halstead: <mhalstead [at] linuxfoundation [dot] org>
187 `Public key <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x3373170601861969>`__
188 or `Public key <https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xd1f2407285e571ed12a407a73373170601861969>`__
189
190 - Richard Purdie: <richard.purdie@linuxfoundation.org> `Public key <https://keys.openpgp.org/search?q=richard.purdie%40linuxfoundation.org>`__
191
192 - Marta Rybczynska: <marta DOT rybczynska [at] syslinbit [dot] com> `Public key <https://keys.openpgp.org/search?q=marta.rybczynska@syslinbit.com>`__
193
194 - Steve Sakoman: <steve [at] sakoman [dot] com> `Public key <https://keys.openpgp.org/search?q=steve%40sakoman.com>`__
diff --git a/documentation/index.rst b/documentation/index.rst
index 3fef1704a4..adcb524df8 100644
--- a/documentation/index.rst
+++ b/documentation/index.rst
@@ -20,7 +20,6 @@ Welcome to the Yocto Project Documentation
20 Yocto Project Software Overview <https://www.yoctoproject.org/software-overview/> 20 Yocto Project Software Overview <https://www.yoctoproject.org/software-overview/>
21 Tips and Tricks Wiki <https://wiki.yoctoproject.org/wiki/TipsAndTricks> 21 Tips and Tricks Wiki <https://wiki.yoctoproject.org/wiki/TipsAndTricks>
22 22
23
24.. toctree:: 23.. toctree::
25 :maxdepth: 1 24 :maxdepth: 1
26 :caption: Manuals 25 :caption: Manuals
@@ -39,6 +38,12 @@ Welcome to the Yocto Project Documentation
39 38
40.. toctree:: 39.. toctree::
41 :maxdepth: 1 40 :maxdepth: 1
41 :caption: Security
42
43 Yocto Project Security Reference <security-reference/index>
44
45.. toctree::
46 :maxdepth: 1
42 :caption: Release Manuals 47 :caption: Release Manuals
43 :hidden: 48 :hidden:
44 49
diff --git a/documentation/migration-guides/release-4.0.rst b/documentation/migration-guides/release-4.0.rst
index b143a8595c..9b0cc01a1f 100644
--- a/documentation/migration-guides/release-4.0.rst
+++ b/documentation/migration-guides/release-4.0.rst
@@ -38,3 +38,4 @@ Release 4.0 (kirkstone)
38 release-notes-4.0.29 38 release-notes-4.0.29
39 release-notes-4.0.30 39 release-notes-4.0.30
40 release-notes-4.0.31 40 release-notes-4.0.31
41 release-notes-4.0.32
diff --git a/documentation/migration-guides/release-notes-4.0.32.rst b/documentation/migration-guides/release-notes-4.0.32.rst
new file mode 100644
index 0000000000..652b17eed5
--- /dev/null
+++ b/documentation/migration-guides/release-notes-4.0.32.rst
@@ -0,0 +1,194 @@
1Release notes for Yocto-4.0.32 (Kirkstone)
2------------------------------------------
3
4Security Fixes in Yocto-4.0.32
5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6
7- bind: Fix :cve_nist:`2025-8677`, :cve_nist:`2025-40778` and :cve_nist:`2025-40780`
8- binutils: Fix :cve_nist:`2025-11412` and :cve_nist:`2025-11413`
9- curl: Ignore :cve_nist:`2025-10966`
10- elfutils: Fix :cve_nist:`2025-1376` and :cve_nist:`2025-1377`
11- gnutls: Fix :cve_nist:`2025-9820`
12- go: Fix :cve_nist:`2024-24783`, :cve_nist:`2025-58187`, :cve_nist:`2025-58189`,
13 :cve_nist:`2025-61723` and :cve_nist:`2025-61724`
14- libarchive: Fix :cve_nist:`2025-60753`
15- libarchive: Fix 2 security issue (https://github.com/libarchive/libarchive/pull/2753 and
16 https://github.com/libarchive/libarchive/pull/2768)
17- libpng: Fix :cve_nist:`2025-64505`, :cve_nist:`2025-64506`, :cve_nist:`2025-64720`,
18 :cve_nist:`2025-65018` and :cve_nist:`2025-66293`
19- libxml2: Fix :cve_nist:`2025-7425`
20- musl: Fix :cve_nist:`2025-26519`
21- openssh: Fix :cve_nist:`2025-61984` and :cve_nist:`2025-61985`
22- python3-idna: Fix :cve_nist:`2024-3651`
23- python3-urllib3: Fix :cve_nist:`2024-37891`
24- python3: fix :cve_nist:`2025-6075`
25- ruby: Fix :cve_nist:`2024-35176`, :cve_nist:`2024-39908` and :cve_nist:`2024-41123`
26- rust-cross-canadian: Ignore :cve_nist:`2024-43402`
27- u-boot: Fix :cve_nist:`2024-42040`
28- wpa-supplicant: Fix :cve_nist:`2025-24912`
29- xserver-xorg: Fix :cve_nist:`2025-62229`, :cve_nist:`2025-62230` and :cve_nist:`2025-62231`
30- xwayland: Fix :cve_nist:`2025-62229`, :cve_nist:`2025-62230` and :cve_nist:`2025-62231`
31
32
33Fixes in Yocto-4.0.32
34~~~~~~~~~~~~~~~~~~~~~
35
36- babeltrace2: fetch with https protocol
37- bind: upgrade to 9.18.41
38- build-appliance-image: Update to kirkstone head revision
39- dev-manual/layers.rst: document "bitbake-layers show-machines"
40- dev-manual/new-recipe.rst: replace 'bitbake -e' with 'bitbake-getvar'
41- dev-manual/new-recipe.rst: typo, "whith" -> "which"
42- dev-manual/new-recipe.rst: update "recipetool -h" output
43- dev-manual: debugging: use bitbake-getvar in Viewing Variable Values section
44- documentation: link to the Releases page on yoctoproject.org instead of wiki
45- efibootmgr: update :term:`SRC_URI` branch
46- flac: patch seeking bug
47- goarch.bbclass: do not leak :term:`TUNE_FEATURES` into crosssdk task signatures
48- kernel-dev: add disable config example
49- kernel-dev: common: migrate bitbake -e to bitbake-getvar
50- libmicrohttpd: disable experimental code by default
51- migration-guides: add release notes for 4.0.31
52- oe-build-perf-report: relax metadata matching rules
53- overview-manual: migrate to SVG + fix typo
54- poky.conf: bump version for 4.0.32
55- python3-urllib3: upgrade to 1.26.20
56- recipes: Don't use ftp.gnome.org
57- ref-manual: variables: migrate the :term:`OVERRIDES` note to bitbake-getvar
58- systemd-bootchart: update :term:`SRC_URI` branch
59- xf86-video-intel: correct :term:`SRC_URI` as freedesktop anongit is down
60
61
62Known Issues in Yocto-4.0.32
63~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
65- N/A
66
67
68Contributors to Yocto-4.0.32
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71Thanks to the following people who contributed to this release:
72
73- Alexander Kanavin
74- Archana Polampalli
75- Divya Chellam
76- Gyorgy Sarvari
77- Hitendra Prajapati
78- Hongxu Jia
79- Jason Schonberg
80- Lee Chee Yang
81- Peter Marko
82- Praveen Kumar
83- Quentin Schulz
84- Richard Purdie
85- Robert P. J. Day
86- Ross Burton
87- Saquib Iltaf
88- Soumya Sambu
89- Steve Sakoman
90- Vijay Anusuri
91- Walter Werner SCHNEIDER
92
93
94Repositories / Downloads for Yocto-4.0.32
95~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
97yocto-docs
98
99- Repository Location: :yocto_git:`/yocto-docs`
100- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
101- Tag: :yocto_git:`yocto-4.0.32 </yocto-docs/log/?h=yocto-4.0.32>`
102- Git Revision: :yocto_git:`4b9df539fa06fb19ed8b51ef2d46e5c56779de81 </yocto-docs/commit/?id=4b9df539fa06fb19ed8b51ef2d46e5c56779de81>`
103- Release Artefact: yocto-docs-4b9df539fa06fb19ed8b51ef2d46e5c56779de81
104- sha: 70ee2caf576683c5f31ac5a592cde1c0650ece25cfcd5ff3cc7eedf531575611
105- Download Locations:
106
107 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/yocto-docs-4b9df539fa06fb19ed8b51ef2d46e5c56779de81.tar.bz2
108
109 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/yocto-docs-4b9df539fa06fb19ed8b51ef2d46e5c56779de81.tar.bz2
110
111poky
112
113- Repository Location: :yocto_git:`/poky`
114- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
115- Tag: :yocto_git:`yocto-4.0.32 </poky/log/?h=yocto-4.0.32>`
116- Git Revision: :yocto_git:`2c05660b21c7cc1082aeac8b75d8a2d82e249f63 </poky/commit/?id=2c05660b21c7cc1082aeac8b75d8a2d82e249f63>`
117- Release Artefact: poky-2c05660b21c7cc1082aeac8b75d8a2d82e249f63
118- sha: d7a55a18a597a7b140a81586b7ca6379c208ebbb3285de36c48fde10882947d8
119- Download Locations:
120
121 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/poky-2c05660b21c7cc1082aeac8b75d8a2d82e249f63.tar.bz2
122
123 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/poky-2c05660b21c7cc1082aeac8b75d8a2d82e249f63.tar.bz2
124
125openembedded-core
126
127- Repository Location: :oe_git:`/openembedded-core`
128- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
129- Tag: :oe_git:`yocto-4.0.32 </openembedded-core/log/?h=yocto-4.0.32>`
130- Git Revision: :oe_git:`2ed3f8b938579dbbb804e04c45a968cc57761db7 </openembedded-core/commit/?id=2ed3f8b938579dbbb804e04c45a968cc57761db7>`
131- Release Artefact: oecore-2ed3f8b938579dbbb804e04c45a968cc57761db7
132- sha: 11b9632586dfbf3f0ef69eca2014a8002f25ca8d53cfe9424e27361ba3a20831
133- Download Locations:
134
135 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/oecore-2ed3f8b938579dbbb804e04c45a968cc57761db7.tar.bz2
136
137 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/oecore-2ed3f8b938579dbbb804e04c45a968cc57761db7.tar.bz2
138
139meta-yocto
140
141- Repository Location: :yocto_git:`/meta-yocto`
142- Branch: :yocto_git:`kirkstone </meta-yocto/log/?h=kirkstone>`
143- Tag: :yocto_git:`yocto-4.0.32 </meta-yocto/log/?h=yocto-4.0.32>`
144- Git Revision: :yocto_git:`77b40877c179ea3ce5c37c7ba1831e9c0e289266 </meta-yocto/commit/?id=77b40877c179ea3ce5c37c7ba1831e9c0e289266>`
145- Release Artefact: meta-yocto-77b40877c179ea3ce5c37c7ba1831e9c0e289266
146- sha: e908d42690881cd6e07b9ca18a21eb8761a0ec72d940b12905622e75ba913974
147- Download Locations:
148
149 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/meta-yocto-77b40877c179ea3ce5c37c7ba1831e9c0e289266.tar.bz2
150
151 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/meta-yocto-77b40877c179ea3ce5c37c7ba1831e9c0e289266.tar.bz2
152
153meta-mingw
154
155- Repository Location: :yocto_git:`/meta-mingw`
156- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
157- Tag: :yocto_git:`yocto-4.0.32 </meta-mingw/log/?h=yocto-4.0.32>`
158- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
159- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
160- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
161- Download Locations:
162
163 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
164
165 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
166
167meta-gplv2
168
169- Repository Location: :yocto_git:`/meta-gplv2`
170- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
171- Tag: :yocto_git:`yocto-4.0.32 </meta-gplv2/log/?h=yocto-4.0.32>`
172- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
173- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
174- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
175- Download Locations:
176
177 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
178
179 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
180
181bitbake
182
183- Repository Location: :oe_git:`/bitbake`
184- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
185- Tag: :oe_git:`yocto-4.0.32 </bitbake/log/?h=yocto-4.0.32>`
186- Git Revision: :oe_git:`8e2d1f8de055549b2101614d85454fcd1d0f94b2 </bitbake/commit/?id=8e2d1f8de055549b2101614d85454fcd1d0f94b2>`
187- Release Artefact: bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2
188- sha: fad4e7699bae62082118e89785324b031b0af0743064caee87c91ba28549afb0
189- Download Locations:
190
191 https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.32/bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2.tar.bz2
192
193 https://mirrors.edge.kernel.org/yocto/yocto/yocto-4.0.32/bitbake-8e2d1f8de055549b2101614d85454fcd1d0f94b2.tar.bz2
194
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst
index 401de153c6..106f1d6b84 100644
--- a/documentation/overview-manual/concepts.rst
+++ b/documentation/overview-manual/concepts.rst
@@ -165,7 +165,7 @@ The following diagram represents the high-level workflow of a build. The
165remainder of this section expands on the fundamental input, output, 165remainder of this section expands on the fundamental input, output,
166process, and metadata logical blocks that make up the workflow. 166process, and metadata logical blocks that make up the workflow.
167 167
168.. image:: figures/YP-flow-diagram.png 168.. image:: svg/yp-flow-diagram.*
169 :align: center 169 :align: center
170 170
171In general, the build's workflow consists of several functional areas: 171In general, the build's workflow consists of several functional areas:
diff --git a/documentation/overview-manual/figures/YP-flow-diagram.png b/documentation/overview-manual/figures/YP-flow-diagram.png
deleted file mode 100644
index 8264410504..0000000000
--- a/documentation/overview-manual/figures/YP-flow-diagram.png
+++ /dev/null
Binary files differ
diff --git a/documentation/overview-manual/svg/yp-flow-diagram.svg b/documentation/overview-manual/svg/yp-flow-diagram.svg
new file mode 100644
index 0000000000..ddb993095c
--- /dev/null
+++ b/documentation/overview-manual/svg/yp-flow-diagram.svg
@@ -0,0 +1,950 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
3
4<svg
5 version="1.1"
6 id="Layer_1"
7 x="0px"
8 y="0px"
9 width="760.50098"
10 height="352.582"
11 viewBox="0 0 760.50095 352.582"
12 enable-background="new 0 0 758.189 424.276"
13 xml:space="preserve"
14 sodipodi:docname="yp-flow-diagram.svg"
15 inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
16 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
17 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
18 xmlns="http://www.w3.org/2000/svg"
19 xmlns:svg="http://www.w3.org/2000/svg"><defs
20 id="defs86">
21
22 </defs><sodipodi:namedview
23 id="namedview86"
24 pagecolor="#ffffff"
25 bordercolor="#000000"
26 borderopacity="0.25"
27 inkscape:showpageshadow="2"
28 inkscape:pageopacity="0.0"
29 inkscape:pagecheckerboard="0"
30 inkscape:deskcolor="#d1d1d1"
31 inkscape:zoom="2.8284271"
32 inkscape:cx="296.80807"
33 inkscape:cy="212.83914"
34 inkscape:window-width="1906"
35 inkscape:window-height="934"
36 inkscape:window-x="0"
37 inkscape:window-y="0"
38 inkscape:window-maximized="0"
39 inkscape:current-layer="Layer_1" />
40<g
41 id="g17"
42 transform="matrix(1,0,0,1.0035497,-2.0824824,-11.037238)"><rect
43 style="opacity:1;fill:#00b6de;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
44 id="rect11"
45 width="484.25"
46 height="249"
47 x="90"
48 y="112.5" /><rect
49 style="fill:#00b6de;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
50 id="rect11-8"
51 width="12"
52 height="12"
53 x="507.56818"
54 y="-301.10004"
55 ry="0"
56 transform="rotate(44.313856)" /><rect
57 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
58 id="rect11-8-1"
59 width="12"
60 height="12"
61 x="361.46231"
62 y="-89.463524"
63 ry="0"
64 transform="rotate(44.313856)" /><rect
65 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
66 id="rect11-8-1-1"
67 width="12"
68 height="12"
69 x="389.40585"
70 y="-60.842598"
71 ry="0"
72 transform="rotate(44.313856)" /><rect
73 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
74 id="rect11-8-1-1-0"
75 width="12"
76 height="12"
77 x="416.47607"
78 y="-33.116081"
79 ry="0"
80 transform="rotate(44.313856)" /></g><rect
81 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
82 id="rect11-9"
83 width="87"
84 height="216"
85 x="193.91776"
86 y="119.24599" /><rect
87 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
88 id="rect11-8-1-4"
89 width="12"
90 height="12"
91 x="487.27533"
92 y="-296.15897"
93 ry="0"
94 transform="rotate(44.313856)" /><rect
95 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
96 id="rect11-9-3"
97 width="85.75"
98 height="219.75"
99 x="470.16751"
100 y="119.49599" /><g
101 id="g2"
102 transform="translate(2.3119996,-71.694)">
103 <g
104 id="g1">
105 <polygon
106 fill="#00b6de"
107 points="703.77,340.194 712.852,349.277 721.934,340.194 758.189,340.194 758.189,256.861 723.582,256.861 713.171,267.274 702.758,256.861 628.582,256.861 618.171,267.274 607.758,256.861 561.523,256.861 561.523,340.194 609.104,340.194 618.186,349.277 627.268,340.194 "
108 id="polygon1" />
109 </g>
110</g>
111<g
112 id="g4"
113 transform="translate(2.3119996,-71.694)">
114 <g
115 id="g3">
116 <polygon
117 fill="#e6e6e6"
118 points="712.837,278.274 707.221,272.658 676.557,272.658 676.557,333.657 706.983,333.657 713.055,339.729 719.128,333.657 751.557,333.657 751.557,272.658 718.452,272.658 "
119 id="polygon2" />
120 </g>
121</g>
122<g
123 id="g6"
124 transform="translate(2.3119996,-71.694)">
125 <g
126 id="g5">
127 <polygon
128 fill="#e6e6e6"
129 points="618.171,278.274 611.555,271.658 581.558,271.658 581.558,332.657 611.983,332.657 618.056,338.729 624.128,332.657 656.558,332.657 656.558,271.658 624.786,271.658 "
130 id="polygon4" />
131 </g>
132</g>
133<g
134 id="g8"
135 transform="translate(2.3119996,-71.694)"
136 style="fill:#000080">
137 <g
138 id="g7"
139 style="fill:#000080">
140 <polygon
141 fill="#ed1849"
142 points="722.166,349.277 712.504,358.941 702.84,349.277 670.523,349.277 670.523,424.276 757.523,424.276 757.523,349.277 "
143 id="polygon6"
144 style="fill:#000080" />
145 </g>
146</g>
147<g
148 id="g10"
149 transform="translate(2.3119996,-71.694)"
150 style="fill:#000080">
151 <g
152 id="g9"
153 style="fill:#000080">
154 <polygon
155 fill="#ed1849"
156 points="628.371,348.611 618.043,358.941 607.713,348.611 575.523,348.611 575.523,423.61 662.523,423.61 662.523,348.611 "
157 id="polygon8"
158 style="fill:#000080" />
159 </g>
160</g>
161
162<g
163 id="g14"
164 transform="translate(2.3119996,-71.694)">
165 <g
166 id="g13">
167 <polygon
168 fill="#c1d82f"
169 points="575.428,217.35 575.428,250.526 610.09,250.526 618.171,258.607 626.251,250.526 705.09,250.526 713.171,258.607 721.251,250.526 757.427,250.526 757.427,173.527 575.428,173.527 575.428,199.703 584.252,208.525 "
170 id="polygon12" />
171 </g>
172</g>
173
174
175
176
177
178<g
179 id="g26"
180 transform="translate(0.4155534,-73.944)">
181 <g
182 id="g25">
183 <polygon
184 fill="#4a4a30"
185 points="177.974,133.944 125.111,133.944 118.043,141.013 110.974,133.944 86.834,133.944 86.834,166.944 178.263,166.944 184.834,173.514 191.403,166.944 281.833,166.944 281.833,133.944 258.611,133.944 251.543,141.013 244.474,133.944 192.111,133.944 185.043,141.013 "
186 id="polygon24" />
187 </g>
188</g>
189<g
190 id="g28"
191 transform="matrix(0.93986241,0,0,1,-22.331287,-17.694)">
192 <g
193 id="g27">
194 <polygon
195 fill="#e6e6e6"
196 points="330.188,290.202 330.188,296.444 511.188,296.444 511.188,289.015 517.259,282.942 511.188,276.87 511.188,268.444 330.188,268.444 330.188,277.683 336.447,283.942 "
197 id="polygon26" />
198 </g>
199</g>
200<g
201 id="g30"
202 transform="matrix(0.93986241,0,0,1,-22.331287,-17.694)">
203 <g
204 id="g29">
205 <polygon
206 fill="#e6e6e6"
207 points="330.188,251.536 330.188,257.944 511.188,257.944 511.188,250.515 517.259,244.442 511.188,238.37 511.188,229.944 330.188,229.944 330.188,239.016 336.447,245.276 "
208 id="polygon28" />
209 </g>
210</g>
211<g
212 id="g32"
213 transform="matrix(0.93986241,0,0,1,-22.331287,-17.694)">
214 <g
215 id="g31">
216 <polygon
217 fill="#e6e6e6"
218 points="330.188,211.18 330.188,218.444 511.188,218.444 511.188,211.015 517.259,204.942 511.188,198.87 511.188,190.444 330.188,190.444 330.188,199.372 336.092,205.276 "
219 id="polygon30" />
220 </g>
221</g>
222<g
223 id="g34"
224 transform="translate(-40.188,-71.694)">
225 <g
226 id="g33">
227 <polygon
228 fill="#e6e6e6"
229 points="144.188,342.944 144.188,406.944 225.188,406.944 225.188,381.515 231.259,375.442 225.188,369.37 225.188,342.944 190.445,342.944 184.043,349.348 177.639,342.944 "
230 id="polygon32" />
231 </g>
232</g>
233<g
234 id="g36"
235 transform="translate(-40.188,-71.694)">
236 <g
237 id="g35">
238 <polygon
239 fill="#e6e6e6"
240 points="177.618,330.944 184.188,337.514 190.757,330.944 225.188,330.944 225.188,266.944 190.778,266.944 183.71,274.014 176.64,266.944 144.188,266.944 144.188,330.944 "
241 id="polygon34" />
242 </g>
243</g>
244<g
245 id="g38"
246 transform="translate(-40.188,-71.694)">
247 <g
248 id="g37">
249 <polygon
250 fill="#e6e6e6"
251 points="177.118,254.944 183.688,261.514 190.257,254.944 224.688,254.944 224.688,190.944 191.445,190.944 184.376,198.014 177.306,190.944 143.688,190.944 143.688,254.944 "
252 id="polygon36" />
253 </g>
254</g>
255<g
256 id="g40"
257 transform="matrix(1,0,0,0.86327911,0.062,-77.645148)">
258 <g
259 id="g39">
260 <polygon
261 fill="#4a4a30"
262 points="81.188,221.611 0.188,221.611 0.188,285.61 81.188,285.61 81.188,260.181 87.259,254.109 81.188,248.037 "
263 id="polygon38" />
264 </g>
265</g><g
266 id="g40-0"
267 transform="matrix(1,0,0,0.86327911,0.312,-18.368819)">
268 <g
269 id="g39-6">
270 <polygon
271 fill="#4a4a30"
272 points="87.259,254.109 81.188,248.037 81.188,221.611 0.188,221.611 0.188,285.61 81.188,285.61 81.188,260.181 "
273 id="polygon38-4" />
274 </g>
275</g><g
276 id="g40-0-2"
277 transform="matrix(1,0,0,0.86327911,0.062,40.907511)">
278 <g
279 id="g39-6-5">
280 <polygon
281 fill="#4a4a30"
282 points="87.259,254.109 81.188,248.037 81.188,221.611 0.188,221.611 0.188,285.61 81.188,285.61 81.188,260.181 "
283 id="polygon38-4-8" />
284 </g>
285</g><g
286 id="g40-0-28"
287 transform="matrix(1,0,0,0.86327911,-0.188,100.18384)">
288 <g
289 id="g39-6-4">
290 <polygon
291 fill="#4a4a30"
292 points="81.188,285.61 81.188,260.181 87.259,254.109 81.188,248.037 81.188,221.611 0.188,221.611 0.188,285.61 "
293 id="polygon38-4-7" />
294 </g>
295</g>
296<g
297 id="g42"
298 transform="translate(0.062,-71.944)"
299 style="fill:#ff7f2a">
300 <g
301 id="g41"
302 style="fill:#ff7f2a">
303 <polygon
304 fill="#7e8082"
305 points="178.618,123.944 185.188,130.514 191.757,123.944 215.188,123.944 215.188,71.944 154.188,71.944 154.188,123.944 "
306 id="polygon40"
307 style="fill:#ff7f2a" />
308 </g>
309</g>
310<rect
311 x="126.062"
312 y="75.334"
313 fill="none"
314 width="116.666"
315 height="21.333"
316 id="rect42" />
317<text
318 fill="#ffffff"
319 font-family="MyriadPro-Regular"
320 font-size="12px"
321 id="text42"
322 x="139.47949"
323 y="82.440079"
324 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Source Materials</text>
325<rect
326 x="155.41699"
327 y="10.834001"
328 fill="none"
329 width="58.666"
330 height="40.667"
331 id="rect43" />
332<text
333 id="text44"
334 x="190.00726"
335 y="29.10741"
336 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:49.6985"
337 transform="translate(-5.5244746,-7.8775879)"
338 xml:space="preserve"><tspan
339 x="190.00726"
340 y="29.10741"
341 id="tspan1">Local<tspan
342 y="29.10741"
343 id="tspan2"> </tspan></tspan><tspan
344 x="190.00726"
345 y="42.440787"
346 id="tspan3">Projects</tspan></text>
347<g
348 id="g45"
349 transform="translate(0.062,-71.944)"
350 style="fill:#ff7f2a">
351 <g
352 id="g44"
353 style="fill:#ff7f2a">
354 <polygon
355 fill="#7e8082"
356 points="245.118,123.944 251.688,130.514 258.257,123.944 281.688,123.944 281.688,71.944 220.688,71.944 220.688,123.944 "
357 id="polygon44"
358 style="fill:#ff7f2a" />
359 </g>
360</g>
361<rect
362 x="221.91699"
363 y="7.8340006"
364 fill="none"
365 width="58.666"
366 height="40.667"
367 id="rect45" />
368<text
369 id="text47"
370 x="258.17291"
371 y="26.10741"
372 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:56.5275;fill:#000000"
373 transform="translate(-6.4360358,-3.6326896)"
374 xml:space="preserve"><tspan
375 x="258.17291"
376 y="26.10741"
377 id="tspan4">SCMs<tspan
378 y="26.10741"
379 id="tspan5"> </tspan></tspan><tspan
380 x="258.17291"
381 y="39.440787"
382 id="tspan6">(optional)</tspan></text>
383<g
384 id="g48"
385 transform="translate(0.062,-71.944)"
386 style="fill:#ff7f2a">
387 <g
388 id="g47"
389 style="fill:#ff7f2a">
390 <polygon
391 fill="#7e8082"
392 points="111.618,123.944 118.188,130.514 124.757,123.944 148.188,123.944 148.188,71.944 87.188,71.944 87.188,123.944 "
393 id="polygon47"
394 style="fill:#ff7f2a" />
395 </g>
396</g>
397<rect
398 x="88.417007"
399 y="10.834001"
400 fill="none"
401 width="58.666"
402 height="40.667"
403 id="rect48" />
404<text
405 id="text49"
406 x="125.51399"
407 y="29.10741"
408 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:64.823"
409 transform="translate(-8.2169997,-13.75401)"
410 xml:space="preserve"><tspan
411 x="125.51399"
412 y="29.10741"
413 id="tspan7">Upstream<tspan
414 y="29.10741"
415 id="tspan8"> </tspan></tspan><tspan
416 x="125.51399"
417 y="42.440787"
418 id="tspan9">Project<tspan
419 y="42.440787"
420 id="tspan10"> </tspan></tspan><tspan
421 x="125.51399"
422 y="55.774165"
423 id="tspan11">Releases</tspan></text>
424<rect
425 x="115.167"
426 y="137.084"
427 fill="none"
428 width="58.666"
429 height="40.667"
430 id="rect49" />
431<text
432 id="text51"
433 x="128.34723"
434 y="147.37112"
435 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"><tspan
436 x="128.34723"
437 y="147.37112"
438 font-family="MyriadPro-Regular"
439 font-size="12px"
440 id="tspan50"
441 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Source </tspan><tspan
442 x="123.54125"
443 y="161.77113"
444 font-family="MyriadPro-Regular"
445 font-size="12px"
446 id="tspan51"
447 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Fetching</tspan></text>
448<rect
449 x="115.167"
450 y="215.08401"
451 fill="none"
452 width="58.666"
453 height="40.666"
454 id="rect51" />
455<text
456 id="text53"
457 x="131.82678"
458 y="224.31099"
459 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"><tspan
460 x="131.82678"
461 y="224.31099"
462 font-family="MyriadPro-Regular"
463 font-size="12px"
464 id="tspan52"
465 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Patch </tspan><tspan
466 x="117.00081"
467 y="238.70999"
468 font-family="MyriadPro-Regular"
469 font-size="12px"
470 id="tspan53"
471 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Application</tspan></text>
472<rect
473 x="107.167"
474 y="279.08401"
475 fill="none"
476 width="74.166"
477 height="69.237"
478 id="rect53" />
479<text
480 id="text57"
481 x="149.00055"
482 y="297.35791"
483 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:74.8743"
484 transform="translate(-3.496696,4.953096)"
485 xml:space="preserve"><tspan
486 x="149.00055"
487 y="297.35791"
488 id="tspan12">Configuration /<tspan
489 y="297.35791"
490 id="tspan13"> </tspan></tspan><tspan
491 x="149.00055"
492 y="310.69127"
493 id="tspan14">Compile</tspan></text>
494<rect
495 x="201.16699"
496 y="184.084"
497 fill="none"
498 width="74.166"
499 height="89.237"
500 id="rect57" />
501<text
502 id="text63"
503 x="221.86859"
504 y="192.60429"
505 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"><tspan
506 x="221.86859"
507 y="192.60429"
508 font-family="MyriadPro-Regular"
509 font-size="12px"
510 id="tspan58"
511 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Output </tspan><tspan
512 x="211.42859"
513 y="207.0043"
514 font-family="MyriadPro-Regular"
515 font-size="12px"
516 id="tspan59"
517 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Analysis for </tspan><tspan
518 x="218.94058"
519 y="221.4043"
520 font-family="MyriadPro-Regular"
521 font-size="12px"
522 id="tspan60"
523 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">package </tspan><tspan
524 x="207.54759"
525 y="235.80429"
526 font-family="MyriadPro-Regular"
527 font-size="12px"
528 id="tspan61"
529 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">splitting plus </tspan><tspan
530 x="218.94058"
531 y="250.2043"
532 font-family="MyriadPro-Regular"
533 font-size="12px"
534 id="tspan62"
535 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">package </tspan><tspan
536 x="207.81059"
537 y="264.60431"
538 font-family="MyriadPro-Regular"
539 font-size="12px"
540 id="tspan63"
541 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">relationships</tspan></text><text
542 id="text63-1"
543 x="555.48315"
544 y="202.90402"
545 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:31.0495"
546 transform="translate(-42.334211,23.629617)"
547 xml:space="preserve"><tspan
548 x="555.48315"
549 y="202.90402"
550 id="tspan15">QA<tspan
551 y="202.90402"
552 id="tspan16"> </tspan></tspan><tspan
553 x="555.48315"
554 y="216.2374"
555 id="tspan18">Tests</tspan></text>
556<rect
557 x="319.146"
558 y="127.084"
559 fill="none"
560 width="116.666"
561 height="21.333"
562 id="rect63" />
563<text
564 font-family="MyriadPro-Regular"
565 font-size="12px"
566 id="text64"
567 x="335.19238"
568 y="189.60429"
569 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">.rpm generation</text>
570<rect
571 x="319.146"
572 y="166.584"
573 fill="none"
574 width="116.666"
575 height="21.333"
576 id="rect64" />
577<text
578 font-family="MyriadPro-Regular"
579 font-size="12px"
580 id="text65"
581 x="335.76849"
582 y="229.10429"
583 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">.deb generation</text>
584<rect
585 x="319.146"
586 y="205.08401"
587 fill="none"
588 width="116.666"
589 height="21.333"
590 id="rect65" />
591<text
592 font-family="MyriadPro-Regular"
593 font-size="12px"
594 id="text66"
595 x="337.9404"
596 y="267.60391"
597 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">.ipk generation</text>
598<rect
599 x="296.16699"
600 y="307.08401"
601 fill="none"
602 width="77.166"
603 height="30.237"
604 id="rect66" />
605
606<rect
607 x="299.66699"
608 y="261.08401"
609 fill="none"
610 width="71.853996"
611 height="33.664001"
612 id="rect67" />
613
614<rect
615 x="395.97998"
616 y="261.08401"
617 fill="none"
618 width="71.853996"
619 height="33.664001"
620 id="rect69" />
621
622<rect
623 x="390.66699"
624 y="307.08401"
625 fill="none"
626 width="77.166"
627 height="30.237"
628 id="rect71" />
629
630<rect
631 y="133"
632 fill="none"
633 width="81.666"
634 height="39.334"
635 id="rect73"
636 x="0.061999973" />
637<text
638 id="text75"
639 x="64.610138"
640 y="186.94585"
641 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:66.7773"
642 transform="translate(-23.458902,-49.50401)"
643 xml:space="preserve"><tspan
644 x="64.610138"
645 y="186.94585"
646 id="tspan20"><tspan
647 style="fill:#ffffff"
648 id="tspan19">User</tspan>
649</tspan><tspan
650 x="64.610138"
651 y="200.27922"
652 id="tspan22"><tspan
653 style="fill:#ffffff"
654 id="tspan21">Configuration</tspan></tspan></text><text
655 id="text75-4"
656 x="64.610138"
657 y="186.94585"
658 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:66.7773"
659 transform="translate(-24.603766,70.32617)"
660 xml:space="preserve"><tspan
661 x="64.610138"
662 y="186.94585"
663 id="tspan24"><tspan
664 style="fill:#ffffff"
665 id="tspan23">Machine BSP</tspan>
666</tspan><tspan
667 x="64.610138"
668 y="200.27922"
669 id="tspan26"><tspan
670 style="fill:#ffffff"
671 id="tspan25">Configuration</tspan></tspan></text><text
672 id="text75-4-6"
673 x="64.610138"
674 y="186.94585"
675 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:66.7773"
676 transform="translate(-25.353766,128.82617)"
677 xml:space="preserve"><tspan
678 x="64.610138"
679 y="186.94585"
680 id="tspan28"><tspan
681 style="fill:#ffffff"
682 id="tspan27">Policy</tspan>
683</tspan><tspan
684 x="64.610138"
685 y="200.27922"
686 id="tspan30"><tspan
687 style="fill:#ffffff"
688 id="tspan29">Configuration</tspan></tspan></text>
689
690<rect
691 y="211.16798"
692 fill="none"
693 width="81.666"
694 height="39.333"
695 id="rect76"
696 x="0.061999973" />
697<text
698 id="text78"
699 x="70.02713"
700 y="265.4418"
701 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:89.4625"
702 transform="translate(-28.848315,-69.549143)"
703 xml:space="preserve"><tspan
704 x="70.02713"
705 y="265.4418"
706 id="tspan32"><tspan
707 style="fill:#ffffff"
708 id="tspan31">Metadata
709</tspan></tspan><tspan
710 x="70.02713"
711 y="278.77516"
712 id="tspan34"><tspan
713 style="fill:#ffffff"
714 id="tspan33">(.bb + patches)</tspan></tspan></text>
715<rect
716 x="612.83502"
717 y="131.418"
718 fill="none"
719 width="112.186"
720 height="20.163"
721 id="rect78" />
722<text
723 font-family="MyriadPro-Regular"
724 font-size="12px"
725 id="text79"
726 x="629.87451"
727 y="142.68779"
728 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Package Feeds</text>
729<rect
730 x="579.98102"
731 y="306.25101"
732 fill="none"
733 width="81.666"
734 height="39.332001"
735 id="rect79" />
736<text
737 fill="#ffffff"
738 font-family="MyriadPro-Regular"
739 font-size="12px"
740 id="text80"
741 x="604.24854"
742 y="319.7699"
743 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Images</text>
744<rect
745 x="584.14703"
746 y="216.08499"
747 fill="none"
748 width="71.853996"
749 height="33.664001"
750 id="rect80" />
751<text
752 id="text81"
753 x="606.88434"
754 y="227.1058"
755 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"><tspan
756 x="606.88434"
757 y="227.1058"
758 font-family="MyriadPro-Regular"
759 font-size="12px"
760 id="tspan80"
761 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Image </tspan><tspan
762 x="594.48834"
763 y="241.50479"
764 font-family="MyriadPro-Regular"
765 font-size="12px"
766 id="tspan81"
767 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Generation</tspan></text>
768<rect
769 x="678.83301"
770 y="215.08499"
771 fill="none"
772 width="77.166"
773 height="30.237"
774 id="rect81" />
775<text
776 id="text83"
777 x="708.21045"
778 y="228.6058"
779 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"><tspan
780 x="708.21045"
781 y="228.6058"
782 font-family="MyriadPro-Regular"
783 font-size="12px"
784 id="tspan82"
785 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">SDK </tspan><tspan
786 x="690.33142"
787 y="243.00479"
788 font-family="MyriadPro-Regular"
789 font-size="12px"
790 id="tspan83"
791 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">Generation</tspan></text>
792<rect
793 x="379.06299"
794 y="86.834"
795 fill="none"
796 width="199.03999"
797 height="21.164"
798 id="rect83" />
799<text
800 fill="#333333"
801 font-family="MyriadPro-Regular"
802 font-size="12px"
803 id="text84"
804 x="426.28253"
805 y="26.005543"
806 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333">OpenEmbedded Architecture Workflow</text><g
807 id="g18"
808 transform="translate(-10.254525,-9.75401)"><rect
809 style="fill:#00b6de;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
810 id="rect11-5"
811 width="10"
812 height="9.9646282"
813 x="442.00568"
814 y="76.711205"
815 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
816 fill="#333333"
817 font-family="MyriadPro-Regular"
818 font-size="12px"
819 id="text84-6"
820 x="456.48013"
821 y="84.126945"
822 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
823 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
824 id="tspan17">Build System</tspan></text></g><g
825 id="g18-4"
826 transform="translate(-10.254525,-25.970712)"><rect
827 style="fill:#4a4a30;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
828 id="rect11-5-8"
829 width="10"
830 height="9.9646282"
831 x="442.00568"
832 y="76.711205"
833 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
834 fill="#333333"
835 font-family="MyriadPro-Regular"
836 font-size="12px"
837 id="text84-6-0"
838 x="456.48013"
839 y="84.126945"
840 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
841 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
842 id="tspan17-4">Metadata/Inputs</tspan></text></g><g
843 id="g18-4-9"
844 transform="translate(-10.254525,-42.187414)"><rect
845 style="fill:#ff7f2a;fill-opacity:1;stroke:#ff631a;stroke-width:0.49911493;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
846 id="rect11-5-8-6"
847 width="10"
848 height="9.9646282"
849 x="442.00568"
850 y="76.711205"
851 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
852 fill="#333333"
853 font-family="MyriadPro-Regular"
854 font-size="12px"
855 id="text84-6-0-1"
856 x="456.48013"
857 y="84.126945"
858 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
859 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
860 id="tspan17-4-0">Upstream Source</tspan></text></g><g
861 id="g18-4-9-2"
862 transform="translate(101.50803,-40.934366)"><rect
863 style="fill:#c1d82f;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
864 id="rect11-5-8-6-2"
865 width="10"
866 height="9.9646282"
867 x="442.00568"
868 y="76.711205"
869 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
870 fill="#333333"
871 font-family="MyriadPro-Regular"
872 font-size="12px"
873 id="text84-6-0-1-2"
874 x="456.48013"
875 y="84.126945"
876 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
877 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
878 id="tspan17-4-0-0">Output Packages</tspan></text></g><g
879 id="g18-4-9-2-5"
880 transform="translate(101.50803,-24.709046)"><rect
881 style="fill:#e6e6e6;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
882 id="rect11-5-8-6-2-2"
883 width="10"
884 height="9.9646282"
885 x="442.00568"
886 y="76.711205"
887 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
888 fill="#333333"
889 font-family="MyriadPro-Regular"
890 font-size="12px"
891 id="text84-6-0-1-2-9"
892 x="456.48013"
893 y="84.126945"
894 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
895 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
896 id="tspan17-4-0-0-0">Process steps (tasks)</tspan></text></g><g
897 id="g18-4-9-2-5-8"
898 transform="translate(101.50803,-8.4837252)"><rect
899 style="fill:#000080;fill-opacity:1;stroke:#ff631a;stroke-width:0;stroke-linejoin:bevel;stroke-miterlimit:0;stroke-dasharray:none"
900 id="rect11-5-8-6-2-2-3"
901 width="10"
902 height="9.9646282"
903 x="442.00568"
904 y="76.711205"
905 transform="matrix(1,0,0,1.0035497,0,-1.2832284)" /><text
906 fill="#333333"
907 font-family="MyriadPro-Regular"
908 font-size="12px"
909 id="text84-6-0-1-2-9-8"
910 x="456.48013"
911 y="84.126945"
912 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#333333"><tspan
913 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.33333px;font-family:Sans;-inkscape-font-specification:'Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
914 id="tspan17-4-0-0-0-0">Output Imaga Data</tspan></text></g>
915
916
917<rect
918 x="675.64801"
919 y="304.91699"
920 fill="none"
921 width="81.666"
922 height="39.332001"
923 id="rect85" />
924<text
925 id="text86"
926 x="720.58508"
927 y="322.93991"
928 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.6667px;font-family:'Nimbus Sans L';-inkscape-font-specification:'Nimbus Sans L, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;white-space:pre;inline-size:65.518"
929 transform="translate(-2.5824824,-12.25401)"
930 xml:space="preserve"><tspan
931 x="720.58508"
932 y="322.93991"
933 id="tspan36"><tspan
934 style="fill:#ffffff"
935 id="tspan35">Application</tspan><tspan
936 y="322.93991"
937 id="tspan37"> </tspan></tspan><tspan
938 x="720.58508"
939 y="336.27327"
940 id="tspan39"><tspan
941 style="fill:#ffffff"
942 id="tspan38">Development</tspan><tspan
943 y="336.27327"
944 id="tspan40"> </tspan></tspan><tspan
945 x="720.58508"
946 y="349.60665"
947 id="tspan42"><tspan
948 style="fill:#ffffff"
949 id="tspan41">SDK</tspan></tspan></text>
950</svg>
diff --git a/documentation/overview-manual/yp-intro.rst b/documentation/overview-manual/yp-intro.rst
index c519cec99f..8db3c72365 100644
--- a/documentation/overview-manual/yp-intro.rst
+++ b/documentation/overview-manual/yp-intro.rst
@@ -44,7 +44,7 @@ Here are features and advantages of the Yocto Project:
44 system, software, and service vendors adopt and support the Yocto 44 system, software, and service vendors adopt and support the Yocto
45 Project in their products and services. For a look at the Yocto 45 Project in their products and services. For a look at the Yocto
46 Project community and the companies involved with the Yocto Project, 46 Project community and the companies involved with the Yocto Project,
47 see the "COMMUNITY" and "ECOSYSTEM" tabs on the 47 see the "COMMUNITY" and "ABOUT" tabs on the
48 :yocto_home:`Yocto Project <>` home page. 48 :yocto_home:`Yocto Project <>` home page.
49 49
50- *Architecture Agnostic:* Yocto Project supports Intel, ARM, MIPS, 50- *Architecture Agnostic:* Yocto Project supports Intel, ARM, MIPS,
@@ -60,10 +60,9 @@ Here are features and advantages of the Yocto Project:
60 move between architectures without moving to new development 60 move between architectures without moving to new development
61 environments. Additionally, if you have used the Yocto Project to 61 environments. Additionally, if you have used the Yocto Project to
62 create an image or application and you find yourself not able to 62 create an image or application and you find yourself not able to
63 support it, commercial Linux vendors such as Wind River, Mentor 63 support it, commercial Linux vendors listed on :yocto_home:`/members/` and
64 Graphics, Timesys, and ENEA could take it and provide ongoing 64 :yocto_home:`/about/participants/` could take it and provide ongoing
65 support. These vendors have offerings that are built using the Yocto 65 support.
66 Project.
67 66
68- *Flexibility:* Corporations use the Yocto Project many different 67- *Flexibility:* Corporations use the Yocto Project many different
69 ways. One example is to create an internal Linux distribution as a 68 ways. One example is to create an internal Linux distribution as a
@@ -734,7 +733,7 @@ The :term:`OpenEmbedded Build System` uses a "workflow" to
734accomplish image and SDK generation. The following figure overviews that 733accomplish image and SDK generation. The following figure overviews that
735workflow: 734workflow:
736 735
737.. image:: figures/YP-flow-diagram.png 736.. image:: svg/yp-flow-diagram.*
738 :align: center 737 :align: center
739 738
740Here is a brief summary of the "workflow": 739Here is a brief summary of the "workflow":
@@ -760,7 +759,8 @@ Here is a brief summary of the "workflow":
760 package feed that is used to create the final root file image. 759 package feed that is used to create the final root file image.
761 760
7627. The build system generates the file system image and a customized 7617. The build system generates the file system image and a customized
763 Extensible SDK (eSDK) for application development in parallel. 762 :doc:`SDK </sdk-manual/index>` (Software Development Kit) for application
763 development in parallel.
764 764
765For a very detailed look at this workflow, see the 765For a very detailed look at this workflow, see the
766":ref:`overview-manual/concepts:openembedded build system concepts`" section. 766":ref:`overview-manual/concepts:openembedded build system concepts`" section.
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 50f565e230..149ece1dec 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1118,6 +1118,53 @@ The :ref:`ref-classes-image_types` class also handles conversion and compression
1118 :term:`IMAGE_FSTYPES`. This would also be similar for Virtual Box Virtual Disk 1118 :term:`IMAGE_FSTYPES`. This would also be similar for Virtual Box Virtual Disk
1119 Image ("vdi") and QEMU Copy On Write Version 2 ("qcow2") images. 1119 Image ("vdi") and QEMU Copy On Write Version 2 ("qcow2") images.
1120 1120
1121.. _ref-classes-image-container:
1122
1123``image-container``
1124===================
1125
1126The :ref:`ref-classes-image-container` class is automatically inherited in
1127:doc:`image </ref-manual/images>` recipes that have the ``container`` image type
1128in :term:`IMAGE_FSTYPES`. It provides relevant settings to generate an image
1129ready for use with an :wikipedia:`OCI <Open_Container_Initiative>`-compliant
1130container management tool, such as :wikipedia:`Podman <Podman>` or
1131:wikipedia:`Docker <Docker_(software)>`.
1132
1133.. note::
1134
1135 This class neither builds nor installs container management tools on the
1136 target. Those tools are available in the :yocto_git:`meta-virtualization
1137 </meta-virtualization>` layer.
1138
1139You should set the :term:`PREFERRED_PROVIDER` for the Linux kernel to
1140``linux-dummy`` in a :term:`configuration file`::
1141
1142 PREFERRED_PROVIDER_virtual/kernel = "linux-dummy"
1143
1144Otherwise an error is triggered. If desired, the
1145:term:`IMAGE_CONTAINER_NO_DUMMY` variable can be set to "1" to avoid triggering
1146this error.
1147
1148The ``linux-dummy`` recipe acts as a Linux kernel recipe but builds nothing. It
1149is relevant to use as the preferred Linux kernel provider in this case as a
1150container image does not need to include a Linux kernel. Selecting it as the
1151preferred provider for the kernel will also decrease build time.
1152
1153Using this class only deploys an additional ``tar.bz2`` archive to
1154:term:`DEPLOY_DIR_IMAGE`. This archive can be used in a container file (a file
1155typically named ``Dockerfile`` or ``Containerfile``). For example, to be used with
1156:wikipedia:`Podman <Podman>` or :wikipedia:`Docker <Docker_(software)>`, the
1157`container file <https://docs.docker.com/reference/dockerfile/>`__ could contain
1158the following instructions:
1159
1160.. code-block:: dockerfile
1161
1162 FROM scratch
1163 ADD ./image-container-qemux86-64.rootfs.tar.bz2 /
1164 ENTRYPOINT /bin/sh
1165
1166This is suitable to build a container using our generated root filesystem image.
1167
1121.. _ref-classes-image-live: 1168.. _ref-classes-image-live:
1122 1169
1123``image-live`` 1170``image-live``
diff --git a/documentation/ref-manual/release-process.rst b/documentation/ref-manual/release-process.rst
index cd5d27da31..bbedc30577 100644
--- a/documentation/ref-manual/release-process.rst
+++ b/documentation/ref-manual/release-process.rst
@@ -45,6 +45,45 @@ release process validates the content of the new branch.
45 Realize that there can be patches merged onto the stable release 45 Realize that there can be patches merged onto the stable release
46 branches as and when they become available. 46 branches as and when they become available.
47 47
48.. _ref-yp-development-cycle:
49
50Development Cycle
51=================
52
53As explained in the previous :ref:`ref-manual/release-process:Major and Minor
54Release Cadence` section, a new release comes out every six months.
55
56During this six-months period of time, the Yocto Project releases four
57"Milestone" releases which represent distinct points of time. The milestone
58releases are tested through the :ref:`ref-manual/release-process:Testing and
59Quality Assurance` process and helps spotting issues before the actual release
60is out.
61
62The time span between milestone releases can vary, but they are in general
63evenly spaced out during this six-months period of time.
64
65These milestone releases are tagged with a capital "M" after the future release
66tag name. For example, the milestone tags "&DISTRO_RELEASE_SERIES;M1",
67"&DISTRO_RELEASE_SERIES;M2", and "&DISTRO_RELEASE_SERIES;M3" are released before
68the actual "&DISTRO_RELEASE_SERIES;" release.
69
70.. note::
71
72 The fourth milestone (M4) is not actually released and announced, but
73 represents a point of time for the Quality Assurance team to start the
74 :ref:`ref-manual/release-process:Testing and Quality Assurance` process
75 before tagging and delivering the final release.
76
77After the third milestone release (M3), the Yocto Project enters **Feature
78Freeze**. This means that the maintainers of :term:`OpenEmbedded-Core
79(OE-Core)`, :term:`BitBake` and other core repositories stop accepting
80significant changes on the "master" branch. Changes that may be accepted are
81minor upgrades to core components and security/bug fixes.
82
83During feature freeze, a new branch is created and maintained separately to
84test new features and enhancements received from contributors, but these changes
85will only make it to the master branch after the release is out.
86
48Major Release Codenames 87Major Release Codenames
49======================= 88=======================
50 89
diff --git a/documentation/ref-manual/svg/releases.svg b/documentation/ref-manual/svg/releases.svg
index 3a379078b8..b9fdd74abf 100644
--- a/documentation/ref-manual/svg/releases.svg
+++ b/documentation/ref-manual/svg/releases.svg
@@ -608,7 +608,7 @@
608 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" 608 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
609 id="tspan10317-2-9-1-4">4.2</tspan></text> 609 id="tspan10317-2-9-1-4">4.2</tspan></text>
610 <rect 610 <rect
611 style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" 611 style="opacity:0.5;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
612 id="rect917-0-0-4-4-9-4-5-3-9-2-3-6" 612 id="rect917-0-0-4-4-9-4-5-3-9-2-3-6"
613 width="140" 613 width="140"
614 height="45.000004" 614 height="45.000004"
@@ -632,7 +632,7 @@
632 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" 632 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
633 id="tspan10317-2-9-1-4-6-5-6">5.1</tspan></text> 633 id="tspan10317-2-9-1-4-6-5-6">5.1</tspan></text>
634 <rect 634 <rect
635 style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" 635 style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1;opacity:0.5"
636 id="rect917-0-0-4-4-9-4-5-3-9-2-3-6-2" 636 id="rect917-0-0-4-4-9-4-5-3-9-2-3-6-2"
637 width="140" 637 width="140"
638 height="45.000004" 638 height="45.000004"
@@ -656,26 +656,26 @@
656 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" 656 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
657 id="tspan10317-2-9-1-4-6-5-6-9">5.2</tspan></text> 657 id="tspan10317-2-9-1-4-6-5-6-9">5.2</tspan></text>
658 <rect 658 <rect
659 style="opacity:0.75;fill:#251f32;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" 659 style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
660 id="rect917-0-0-4-4-9-4-5-3-9-2-3-67" 660 id="rect917-0-0-4-4-9-4-5-3-9-2-3-67"
661 width="140" 661 width="140"
662 height="45.000004" 662 height="45.000004"
663 x="1163.6425" 663 x="1223.8723"
664 y="-382.27469" 664 y="-382.27469"
665 ry="2.2558987" /> 665 ry="2.2558987" />
666 <text 666 <text
667 xml:space="preserve" 667 xml:space="preserve"
668 style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 668 style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
669 x="1214.9716" 669 x="1275.2014"
670 y="-363.89413" 670 y="-363.89413"
671 id="text1185-3-55-4-0-0-0-1-1-6-4-3-53"><tspan 671 id="text1185-3-55-4-0-0-0-1-1-6-4-3-53"><tspan
672 sodipodi:role="line" 672 sodipodi:role="line"
673 x="1214.9716" 673 x="1275.2014"
674 y="-363.89413" 674 y="-363.89413"
675 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" 675 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
676 id="tspan957-2-8-6-3-9-7-4-2-0-5-5">Whinlatter</tspan><tspan 676 id="tspan957-2-8-6-3-9-7-4-2-0-5-5">Whinlatter</tspan><tspan
677 sodipodi:role="line" 677 sodipodi:role="line"
678 x="1214.9716" 678 x="1275.2014"
679 y="-345.89746" 679 y="-345.89746"
680 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" 680 style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none"
681 id="tspan10317-2-9-1-4-6-5-6-6-6">5.3</tspan></text> 681 id="tspan10317-2-9-1-4-6-5-6-6-6">5.3</tspan></text>
@@ -1847,7 +1847,7 @@
1847 x="2128.7158" 1847 x="2128.7158"
1848 y="-7.6722765" 1848 y="-7.6722765"
1849 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none" 1849 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
1850 id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Apr. 25)</tspan></text> 1850 id="tspan10317-2-9-1-4-6-5-6-6-5-9-7">Current (Dec. 25)</tspan></text>
1851 <text 1851 <text
1852 xml:space="preserve" 1852 xml:space="preserve"
1853 style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 1853 style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index f89ad90dbd..bd66de6ca2 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -1102,6 +1102,12 @@ system and gives an overview of their function and contents.
1102 :term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable 1102 :term:`CCACHE_DISABLE` variable can be set to "1" in a recipe to disable
1103 `Ccache` support. This is useful when the recipe is known to not support it. 1103 `Ccache` support. This is useful when the recipe is known to not support it.
1104 1104
1105 :term:`CCACHE_TOP_DIR`
1106 When inheriting the :ref:`ref-classes-ccache` class, the
1107 :term:`CCACHE_TOP_DIR` variable can be set to the location of where
1108 `Ccache` stores its cache files. This directory can be shared between
1109 builds.
1110
1105 :term:`CFLAGS` 1111 :term:`CFLAGS`
1106 Specifies the flags to pass to the C compiler. This variable is 1112 Specifies the flags to pass to the C compiler. This variable is
1107 exported to an environment variable and thus made visible to the 1113 exported to an environment variable and thus made visible to the
@@ -3314,6 +3320,24 @@ system and gives an overview of their function and contents.
3314 variable, see the :ref:`image_types <ref-classes-image_types>` 3320 variable, see the :ref:`image_types <ref-classes-image_types>`
3315 class file, which is ``meta/classes/image_types.bbclass``. 3321 class file, which is ``meta/classes/image_types.bbclass``.
3316 3322
3323 :term:`IMAGE_CONTAINER_NO_DUMMY`
3324 When an image recipe has the ``container`` image type in
3325 :term:`IMAGE_FSTYPES`, it expects the :term:`PREFERRED_PROVIDER` for
3326 the Linux kernel (``virtual/kernel``) to be set to ``linux-dummy`` from a
3327 :term:`configuration file`. Otherwise, an error is triggered.
3328
3329 When set to "1", the :term:`IMAGE_CONTAINER_NO_DUMMY` variable allows the
3330 :term:`PREFERRED_PROVIDER` variable to be set to another value, thus
3331 skipping the check and not triggering the build error. Any other value
3332 will keep the check.
3333
3334 This variable should be set from the image recipe using the ``container``
3335 image type.
3336
3337 See the documentation of the :ref:`ref-classes-image-container` class for
3338 more information on why setting the :term:`PREFERRED_PROVIDER` to
3339 ``linux-dummy`` is advised with this class.
3340
3317 :term:`IMAGE_DEVICE_TABLES` 3341 :term:`IMAGE_DEVICE_TABLES`
3318 Specifies one or more files that contain custom device tables that 3342 Specifies one or more files that contain custom device tables that
3319 are passed to the ``makedevs`` command as part of creating an image. 3343 are passed to the ``makedevs`` command as part of creating an image.
diff --git a/documentation/security-reference/index.rst b/documentation/security-reference/index.rst
new file mode 100644
index 0000000000..c20a54d1a9
--- /dev/null
+++ b/documentation/security-reference/index.rst
@@ -0,0 +1,14 @@
1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3================================
4Yocto Project Security Reference
5================================
6
7.. toctree::
8 :caption: Table of Contents
9 :numbered:
10
11 security-team
12 reporting-vulnerabilities
13
14.. include:: /boilerplate.rst
diff --git a/documentation/security-reference/reporting-vulnerabilities.rst b/documentation/security-reference/reporting-vulnerabilities.rst
new file mode 100644
index 0000000000..0c457278d5
--- /dev/null
+++ b/documentation/security-reference/reporting-vulnerabilities.rst
@@ -0,0 +1,85 @@
1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Reporting Vulnerabilities
4*************************
5
6The Yocto Project and OpenEmbedded are open-source, community-based projects
7used in numerous products. They assemble multiple other open-source projects,
8and need to handle security issues and practices both internal (in the code
9maintained by both projects), and external (maintained by other projects and
10organizations).
11
12This manual assembles security-related information concerning the whole
13ecosystem. It includes information on reporting a potential security issue,
14the operation of the YP Security team and how to contribute in the
15related code. It is written to be useful for both security researchers and
16YP developers.
17
18How to report a potential security vulnerability?
19=================================================
20
21If you would like to report a public issue (for example, one with a released
22CVE number), please report it using the
23:yocto_bugs:`Security Bugzilla </enter_bug.cgi?product=Security>`.
24
25If you are dealing with a not-yet-released issue, or an urgent one, please send
26a message to security AT yoctoproject DOT org, including as many details as
27possible: the layer or software module affected, the recipe and its version,
28and any example code, if available. This mailing list is monitored by the
29Yocto Project Security team.
30
31For each layer, you might also look for specific instructions (if any) for
32reporting potential security issues in the specific ``SECURITY.md`` file at the
33root of the repository. Instructions on how and where submit a patch are
34usually available in ``README.md``. If this is your first patch to the
35Yocto Project/OpenEmbedded, you might want to have a look into the
36Contributor's Manual section
37":ref:`contributor-guide/submit-changes:preparing changes for submission`".
38
39Branches maintained with security fixes
40---------------------------------------
41
42See the
43:ref:`Release process <ref-manual/release-process:Stable Release Process>`
44documentation for details regarding the policies and maintenance of stable
45branches.
46
47The :yocto_home:`Releases </development/releases/>` page contains a list of all
48releases of the Yocto Project, grouped into current and previous releases.
49Previous releases are no longer actively maintained with security patches, but
50well-tested patches may still be accepted for them for significant issues.
51
52Security-related discussions at the Yocto Project
53-------------------------------------------------
54
55We have set up two security-related emails/mailing lists:
56
57 - Public Mailing List: yocto [dash] security [at] yoctoproject[dot] org
58
59 This is a public mailing list for anyone to subscribe to. This list is an
60 open list to discuss public security issues/patches and security-related
61 initiatives. For more information, including subscription information,
62 please see the :yocto_lists:`yocto-security mailing list info page
63 </g/yocto-security>`.
64
65 This list requires moderator approval for new topics to be posted, to avoid
66 private security reports to be posted by mistake.
67
68 - Yocto Project Security Team: security [at] yoctoproject [dot] org
69
70 This is an email for reporting non-published potential vulnerabilities.
71 Emails sent to this address are forwarded to the Yocto Project Security
72 Team members.
73
74
75What you should do if you find a security vulnerability
76-------------------------------------------------------
77
78If you find a security flaw: a crash, an information leakage, or anything that
79can have a security impact if exploited in any Open Source software built or
80used by the Yocto Project, please report this to the Yocto Project Security
81Team. If you prefer to contact the upstream project directly, please send a
82copy to the security team at the Yocto Project as well. If you believe this is
83highly sensitive information, please report the vulnerability in a secure way,
84i.e. encrypt the email and send it to the private list. This ensures that
85the exploit is not leaked and exploited before a response/fix has been generated.
diff --git a/documentation/security-reference/security-team.rst b/documentation/security-reference/security-team.rst
new file mode 100644
index 0000000000..b773653822
--- /dev/null
+++ b/documentation/security-reference/security-team.rst
@@ -0,0 +1,110 @@
1.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
2
3Security team
4*************
5
6The Yocto Project/OpenEmbedded security team coordinates the work on security
7subjects in the project. All general discussion takes place publicly. The
8Security Team only uses confidential communication tools to deal with private
9vulnerability reports before they are released.
10
11Security team appointment
12=========================
13
14The Yocto Project Security Team consists of at least three members. When new
15members are needed, the Yocto Project Technical Steering Committee (YP TSC)
16asks for nominations by public channels including a nomination deadline.
17Self-nominations are possible. When the limit time is
18reached, the YP TSC posts the list of candidates for the comments of project
19participants and developers. Comments may be sent publicly or privately to the
20YP and OE TSCs. The candidates are approved by both YP TSC and OpenEmbedded
21Technical Steering Committee (OE TSC) and the final list of the team members
22is announced publicly. The aim is to have people representing technical
23leadership, security knowledge and infrastructure present with enough people
24to provide backup/coverage but keep the notification list small enough to
25minimize information risk and maintain trust.
26
27YP Security Team members may resign at any time.
28
29Security Team Operations
30========================
31
32The work of the Security Team might require high confidentiality. Team members
33are individuals selected by merit and do not represent the companies they work
34for. They do not share information about confidential issues outside of the team
35and do not hint about ongoing embargoes.
36
37Team members can bring in domain experts as needed. Those people should be
38added to individual issues only and adhere to the same standards as the YP
39Security Team.
40
41The YP security team organizes its meetings and communication as needed.
42
43When the YP Security team receives a report about a potential security
44vulnerability, they quickly analyze and notify the reporter of the result.
45They might also request more information.
46
47If the issue is confirmed and affects the code maintained by the YP, they
48confidentially notify maintainers of that code and work with them to prepare
49a fix.
50
51If the issue is confirmed and affects an upstream project, the YP security team
52notifies the project. Usually, the upstream project analyzes the problem again.
53If they deem it a real security problem in their software, they develop and
54release a fix following their security policy. They may want to include the
55original reporter in the loop. There is also sometimes some coordination for
56handling patches, backporting patches etc, or just understanding the problem
57or what caused it.
58
59When the fix is publicly available, the YP security team member or the
60package maintainer sends patches against the YP code base, following usual
61procedures, including public code review.
62
63What Yocto Security Team does when it receives a security vulnerability
64=======================================================================
65
66The YP Security Team team performs a quick analysis and would usually report
67the flaw to the upstream project. Normally the upstream project analyzes the
68problem. If they deem it a real security problem in their software, they
69develop and release a fix following their own security policy. They may want
70to include the original reporter in the loop. There is also sometimes some
71coordination for handling patches, backporting patches etc, or just
72understanding the problem or what caused it.
73
74The security policy of the upstream project might include a notification to
75Linux distributions or other important downstream projects in advance to
76discuss coordinated disclosure. These mailing lists are normally non-public.
77
78When the upstream project releases a version with the fix, they are responsible
79for contacting `Mitre <https://www.cve.org/>`__ to get a CVE number assigned and
80the CVE record published.
81
82If an upstream project does not respond quickly
83===============================================
84
85If an upstream project does not fix the problem in a reasonable time,
86the Yocto's Security Team will contact other interested parties (usually
87other distributions) in the community and together try to solve the
88vulnerability as quickly as possible.
89
90The Yocto Project Security team adheres to the 90 days disclosure policy
91by default. An increase of the embargo time is possible when necessary.
92
93Security Team Members
94=====================
95
96For secure communications, please send your messages encrypted using the GPG
97keys. Remember, message headers are not encrypted so do not include sensitive
98information in the subject line.
99
100- Ross Burton: <ross [at] burtonini [dot] com> `Public key <https://keys.openpgp.org/search?q=ross%40burtonini.com>`__
101
102- Michael Halstead: <mhalstead [at] linuxfoundation [dot] org>
103 `Public key <https://pgp.mit.edu/pks/lookup?op=vindex&search=0x3373170601861969>`__
104 or `Public key <https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xd1f2407285e571ed12a407a73373170601861969>`__
105
106- Richard Purdie: <richard.purdie [at] linuxfoundation [dot] org> `Public key <https://keys.openpgp.org/search?q=richard.purdie%40linuxfoundation.org>`__
107
108- Marta Rybczynska: <marta DOT rybczynska [at] syslinbit [dot] com> `Public key <https://keys.openpgp.org/search?q=marta.rybczynska@syslinbit.com>`__
109
110- Steve Sakoman: <steve [at] sakoman [dot] com> `Public key <https://keys.openpgp.org/search?q=steve%40sakoman.com>`__
diff --git a/documentation/test-manual/ptest.rst b/documentation/test-manual/ptest.rst
index dea1bad23b..4248b98bd4 100644
--- a/documentation/test-manual/ptest.rst
+++ b/documentation/test-manual/ptest.rst
@@ -70,6 +70,25 @@ test. Here is what you have to do for each recipe:
70 cd test 70 cd test
71 make -k runtest-TESTS 71 make -k runtest-TESTS
72 72
73- *Return an appropriate exit code*: The ``run-ptest`` script must return 0 on
74 success, 1 on failure. This is needed by ``ptest-runner`` to keep track of
75 the successful and failed tests.
76
77- *Make sure the test prints at least one test result*: The execution of the
78 ``run-ptest`` script must result in at least one test result output on the
79 console, with the following format::
80
81 result: testname
82
83 Where ``result`` can be one of ``PASS``, ``SKIP``, or ``FAIL``. ``testname``
84 can be any name.
85
86 There can be as many test results as desired.
87
88 This information is read by the :ref:`ref-classes-testimage` class and
89 :oe_git:`logparser </openembedded-core/tree/meta/lib/oeqa/utils/logparser.py>`
90 module.
91
73- *Ensure dependencies are met:* If the test adds build or runtime 92- *Ensure dependencies are met:* If the test adds build or runtime
74 dependencies that normally do not exist for the package (such as 93 dependencies that normally do not exist for the package (such as
75 requiring "make" to run the test suite), use the 94 requiring "make" to run the test suite), use the