Compare commits
131 Commits
walnascar-
...
mickledore
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5c69f78fc | ||
|
|
ad1f61d866 | ||
|
|
5d569941fa | ||
|
|
fa603fbd47 | ||
|
|
1805cb9232 | ||
|
|
96a7cf3331 | ||
|
|
649debbc4f | ||
|
|
9fa1f1403f | ||
|
|
6c64c50802 | ||
|
|
abe094e789 | ||
|
|
3dd115a78c | ||
|
|
98952875bc | ||
|
|
10f4547dff | ||
|
|
465036fa0c | ||
|
|
9c19a13f73 | ||
|
|
fb99682785 | ||
|
|
b735b2d11c | ||
|
|
00dd38813b | ||
|
|
70c3caa787 | ||
|
|
da27e5f570 | ||
|
|
2c49e1c152 | ||
|
|
5d50cbf525 | ||
|
|
d8c4df476e | ||
|
|
626e16baaf | ||
|
|
d30fb748fe | ||
|
|
55237f38ce | ||
|
|
5b75d8af0b | ||
|
|
d71b2e9385 | ||
|
|
baea4975da | ||
|
|
9c93500e73 | ||
|
|
18359cd619 | ||
|
|
50c9991085 | ||
|
|
30d015c636 | ||
|
|
cd1e4106e6 | ||
|
|
adfba885be | ||
|
|
b5d97edb11 | ||
|
|
60f959a0b0 | ||
|
|
d14a46aef2 | ||
|
|
40355fd859 | ||
|
|
eb319d974c | ||
|
|
b8e4efae7f | ||
|
|
7131b9c210 | ||
|
|
755967f4d7 | ||
|
|
8319b7e6fd | ||
|
|
fcdf501ba0 | ||
|
|
9e144f49cb | ||
|
|
ea7d581b13 | ||
|
|
291424b7f4 | ||
|
|
9326c714c5 | ||
|
|
5d347d6ab1 | ||
|
|
a962829eb9 | ||
|
|
d22204fd6f | ||
|
|
6974d4c6b5 | ||
|
|
f2892e2aad | ||
|
|
93ab4e1fc2 | ||
|
|
e37179d270 | ||
|
|
63e0c05652 | ||
|
|
f8b02f941a | ||
|
|
63defae6bd | ||
|
|
12dcea0dde | ||
|
|
0658aed579 | ||
|
|
6e73a100ba | ||
|
|
3dd7ff0309 | ||
|
|
9281ddf7a9 | ||
|
|
db920a7f00 | ||
|
|
c7133ecad7 | ||
|
|
67f34911b8 | ||
|
|
e6eea3249e | ||
|
|
98eb7954c6 | ||
|
|
ab60045c61 | ||
|
|
f95bbd3ef6 | ||
|
|
ddb298ce89 | ||
|
|
d68f8623be | ||
|
|
7692dce85a | ||
|
|
387df791fe | ||
|
|
772fdfb114 | ||
|
|
7c3b868a28 | ||
|
|
2c2ab20c21 | ||
|
|
4a1c9c4eb1 | ||
|
|
833761c898 | ||
|
|
050c75f8a3 | ||
|
|
f65afa2ef0 | ||
|
|
7d464df227 | ||
|
|
3ac07c43a1 | ||
|
|
a9fa7412c7 | ||
|
|
55838bb626 | ||
|
|
edb884a7ed | ||
|
|
878271e1a1 | ||
|
|
21790e71d5 | ||
|
|
b8007d3c22 | ||
|
|
bca7ec652f | ||
|
|
f73e712b6b | ||
|
|
60012ae54a | ||
|
|
45ccdcfcbc | ||
|
|
8b3b075dd5 | ||
|
|
c3248e0da1 | ||
|
|
65cc65fa8d | ||
|
|
410290c2f5 | ||
|
|
ea2feb23bc | ||
|
|
eb292619e7 | ||
|
|
b93e695de6 | ||
|
|
338bc72e4d | ||
|
|
3c0b78802d | ||
|
|
23d946b9ba | ||
|
|
1b9bcc7b19 | ||
|
|
1d4d5371ec | ||
|
|
4f833991c2 | ||
|
|
e55e243f84 | ||
|
|
20c58a6cb2 | ||
|
|
c3c439d62a | ||
|
|
bdf37e43b0 | ||
|
|
958d52f37b | ||
|
|
42a6d47754 | ||
|
|
64111246ce | ||
|
|
b1b4ad9a80 | ||
|
|
e9af582acd | ||
|
|
0a75b4afc8 | ||
|
|
d109d6452f | ||
|
|
18d1bcefec | ||
|
|
1000c4f2c0 | ||
|
|
801734bc6c | ||
|
|
a91fb4ff74 | ||
|
|
54f3339f38 | ||
|
|
50c5035dc8 | ||
|
|
c078df73b9 | ||
|
|
c570cf1733 | ||
|
|
39428da6b6 | ||
|
|
acf268757f | ||
|
|
4bb775aecb | ||
|
|
7ebcf1477a | ||
|
|
fe76a450eb |
@@ -1972,6 +1972,24 @@ looking at the source code of the ``bb`` module, which is in
|
||||
the commonly used functions ``bb.utils.contains()`` and
|
||||
``bb.utils.mkdirhier()``, which come with docstrings.
|
||||
|
||||
Extending Python Library Code
|
||||
-----------------------------
|
||||
|
||||
If you wish to add your own Python library code (e.g. to provide
|
||||
functions/classes you can use from Python functions in the metadata)
|
||||
you can do so from any layer using the ``addpylib`` directive.
|
||||
This directive is typically added to your layer configuration (
|
||||
``conf/layer.conf``) although it will be handled in any ``.conf`` file.
|
||||
|
||||
Usage is of the form::
|
||||
|
||||
addpylib <directory> <namespace>
|
||||
|
||||
Where <directory> specifies the directory to add to the library path.
|
||||
The specified <namespace> is imported automatically, and if the imported
|
||||
module specifies an attribute named ``BBIMPORTS``, that list of
|
||||
sub-modules is iterated and imported too.
|
||||
|
||||
Testing and Debugging BitBake Python code
|
||||
-----------------------------------------
|
||||
|
||||
|
||||
@@ -99,10 +99,26 @@ overview of their function and contents.
|
||||
the path of the build. BitBake's output should not (and usually does
|
||||
not) depend on the directory in which it was built.
|
||||
|
||||
:term:`BB_CACHEDIR`
|
||||
Specifies the code parser cache directory (distinct from :term:`CACHE`
|
||||
and :term:`PERSISTENT_DIR` although they can be set to the same value
|
||||
if desired). The default value is "${TOPDIR}/cache".
|
||||
|
||||
:term:`BB_CHECK_SSL_CERTS`
|
||||
Specifies if SSL certificates should be checked when fetching. The default
|
||||
value is ``1`` and certificates are not checked if the value is set to ``0``.
|
||||
|
||||
:term:`BB_HASH_CODEPARSER_VALS`
|
||||
Specifies values for variables to use when populating the codeparser cache.
|
||||
This can be used selectively to set dummy values for variables to avoid
|
||||
the codeparser cache growing on every parse. Variables that would typically
|
||||
be included are those where the value is not significant for where the
|
||||
codeparser cache is used (i.e. when calculating variable dependencies for
|
||||
code fragments.) The value is space-separated without quoting values, for
|
||||
example::
|
||||
|
||||
BB_HASH_CODEPARSER_VALS = "T=/ WORKDIR=/ DATE=1234 TIME=1234"
|
||||
|
||||
:term:`BB_CONSOLELOG`
|
||||
Specifies the path to a log file into which BitBake's user interface
|
||||
writes output during the build.
|
||||
@@ -343,6 +359,14 @@ overview of their function and contents.
|
||||
|
||||
For example usage, see :term:`BB_GIT_SHALLOW`.
|
||||
|
||||
:term:`BB_GLOBAL_PYMODULES`
|
||||
Specifies the list of Python modules to place in the global namespace.
|
||||
It is intended that only the core layer should set this and it is meant
|
||||
to be a very small list, typically just ``os`` and ``sys``.
|
||||
:term:`BB_GLOBAL_PYMODULES` is expected to be set before the first
|
||||
``addpylib`` directive.
|
||||
See also ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:extending python library code`".
|
||||
|
||||
:term:`BB_HASHCHECK_FUNCTION`
|
||||
Specifies the name of the function to call during the "setscene" part
|
||||
of the task's execution in order to validate the list of task hashes.
|
||||
|
||||
@@ -1764,9 +1764,9 @@ class BBCooker:
|
||||
def shutdown(self, force=False):
|
||||
if force:
|
||||
self.state = state.forceshutdown
|
||||
bb.event._should_exit.set()
|
||||
else:
|
||||
self.state = state.shutdown
|
||||
bb.event._should_exit.set()
|
||||
|
||||
if self.parser:
|
||||
self.parser.shutdown(clean=False)
|
||||
@@ -2223,7 +2223,7 @@ class CookerParser(object):
|
||||
|
||||
self.results = itertools.chain(self.results, self.parse_generator())
|
||||
|
||||
def shutdown(self, clean=True):
|
||||
def shutdown(self, clean=True, eventmsg="Parsing halted due to errors"):
|
||||
if not self.toparse:
|
||||
return
|
||||
if self.haveshutdown:
|
||||
@@ -2238,6 +2238,7 @@ class CookerParser(object):
|
||||
|
||||
bb.event.fire(event, self.cfgdata)
|
||||
else:
|
||||
bb.event.fire(bb.event.ParseError(eventmsg), self.cfgdata)
|
||||
bb.error("Parsing halted due to errors, see error messages above")
|
||||
|
||||
# Cleanup the queue before call process.join(), otherwise there might be
|
||||
@@ -2355,7 +2356,7 @@ class CookerParser(object):
|
||||
except bb.parse.ParseError as exc:
|
||||
self.error += 1
|
||||
logger.error(str(exc))
|
||||
self.shutdown(clean=False)
|
||||
self.shutdown(clean=False, eventmsg=str(exc))
|
||||
return False
|
||||
except bb.data_smart.ExpansionError as exc:
|
||||
self.error += 1
|
||||
|
||||
@@ -856,3 +856,11 @@ class FindSigInfoResult(Event):
|
||||
def __init__(self, result):
|
||||
Event.__init__(self)
|
||||
self.result = result
|
||||
|
||||
class ParseError(Event):
|
||||
"""
|
||||
Event to indicate parse failed
|
||||
"""
|
||||
def __init__(self, msg):
|
||||
super().__init__()
|
||||
self._msg = msg
|
||||
|
||||
@@ -205,7 +205,9 @@ class NpmShrinkWrap(FetchMethod):
|
||||
# This fetcher resolves multiple URIs from a shrinkwrap file and then
|
||||
# forwards it to a proxy fetcher. The management of the donestamp file,
|
||||
# the lockfile and the checksums are forwarded to the proxy fetcher.
|
||||
ud.proxy = Fetch([dep["url"] for dep in ud.deps if dep["url"]], data)
|
||||
shrinkwrap_urls = [dep["url"] for dep in ud.deps if dep["url"]]
|
||||
if shrinkwrap_urls:
|
||||
ud.proxy = Fetch(shrinkwrap_urls, data)
|
||||
ud.needdonestamp = False
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -21,7 +21,7 @@ __config_regexp__ = re.compile( r"""
|
||||
^
|
||||
(?P<exp>export\s+)?
|
||||
(?P<var>[a-zA-Z0-9\-_+.${}/~:]+?)
|
||||
(\[(?P<flag>[a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]+)\])?
|
||||
(\[(?P<flag>[a-zA-Z0-9\-_+.][a-zA-Z0-9\-_+.@]*)\])?
|
||||
|
||||
\s* (
|
||||
(?P<colon>:=) |
|
||||
@@ -103,7 +103,7 @@ def include_single_file(parentfn, fn, lineno, data, error_out):
|
||||
# We have an issue where a UI might want to enforce particular settings such as
|
||||
# an empty DISTRO variable. If configuration files do something like assigning
|
||||
# a weak default, it turns out to be very difficult to filter out these changes,
|
||||
# particularly when the weak default might appear half way though parsing a chain
|
||||
# particularly when the weak default might appear half way though parsing a chain
|
||||
# of configuration files. We therefore let the UIs hook into configuration file
|
||||
# parsing. This turns out to be a hard problem to solve any other way.
|
||||
confFilters = []
|
||||
|
||||
@@ -198,15 +198,20 @@ class RunQueueScheduler(object):
|
||||
curr_cpu_pressure = cpu_pressure_fds.readline().split()[4].split("=")[1]
|
||||
curr_io_pressure = io_pressure_fds.readline().split()[4].split("=")[1]
|
||||
curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
|
||||
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
|
||||
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
|
||||
exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
|
||||
now = time.time()
|
||||
if now - self.prev_pressure_time > 1.0:
|
||||
tdiff = now - self.prev_pressure_time
|
||||
if tdiff > 1.0:
|
||||
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) / tdiff > self.rq.max_cpu_pressure
|
||||
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) / tdiff > self.rq.max_io_pressure
|
||||
exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) / tdiff > self.rq.max_memory_pressure
|
||||
self.prev_cpu_pressure = curr_cpu_pressure
|
||||
self.prev_io_pressure = curr_io_pressure
|
||||
self.prev_memory_pressure = curr_memory_pressure
|
||||
self.prev_pressure_time = now
|
||||
else:
|
||||
exceeds_cpu_pressure = self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
|
||||
exceeds_io_pressure = self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
|
||||
exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
|
||||
return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
|
||||
return False
|
||||
|
||||
|
||||
@@ -222,6 +222,7 @@ VAR = " \\
|
||||
at_sign_in_var_flag = """
|
||||
A[flag@.service] = "nonet"
|
||||
B[flag@.target] = "ntb"
|
||||
C[f] = "flag"
|
||||
|
||||
unset A[flag@.service]
|
||||
"""
|
||||
@@ -232,6 +233,7 @@ unset A[flag@.service]
|
||||
self.assertEqual(d.getVar("B"), None)
|
||||
self.assertEqual(d.getVarFlag("A","flag@.service"), None)
|
||||
self.assertEqual(d.getVarFlag("B","flag@.target"), "ntb")
|
||||
self.assertEqual(d.getVarFlag("C","f"), "flag")
|
||||
|
||||
def test_parse_invalid_at_sign_in_var_flag(self):
|
||||
invalid_at_sign = self.at_sign_in_var_flag.replace("B[f", "B[@f")
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||
|
||||
.. _device-manager:
|
||||
|
||||
Selecting a Device Manager
|
||||
**************************
|
||||
|
||||
|
||||
@@ -1,83 +1,107 @@
|
||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||
|
||||
.. _init-manager:
|
||||
|
||||
Selecting an Initialization Manager
|
||||
***********************************
|
||||
|
||||
By default, the Yocto Project uses SysVinit as the initialization
|
||||
manager. However, there is also support for systemd, which is a full
|
||||
replacement for init with parallel starting of services, reduced shell
|
||||
overhead and other features that are used by many distributions.
|
||||
By default, the Yocto Project uses :wikipedia:`SysVinit <Init#SysV-style>` as
|
||||
the initialization manager. There is also support for BusyBox init, a simpler
|
||||
implementation, as well as support for :wikipedia:`systemd <Systemd>`, which
|
||||
is a full replacement for init with parallel starting of services, reduced
|
||||
shell overhead, increased security and resource limits for services, and other
|
||||
features that are used by many distributions.
|
||||
|
||||
Within the system, SysVinit treats system components as services. These
|
||||
services are maintained as shell scripts stored in the ``/etc/init.d/``
|
||||
directory. Services organize into different run levels. This
|
||||
organization is maintained by putting links to the services in the
|
||||
``/etc/rcN.d/`` directories, where `N/` is one of the following options:
|
||||
"S", "0", "1", "2", "3", "4", "5", or "6".
|
||||
Within the system, SysVinit and BusyBox init treat system components as
|
||||
services. These services are maintained as shell scripts stored in the
|
||||
``/etc/init.d/`` directory.
|
||||
|
||||
SysVinit is more elaborate than BusyBox init and organizes services in
|
||||
different run levels. This organization is maintained by putting links
|
||||
to the services in the ``/etc/rcN.d/`` directories, where `N/` is one
|
||||
of the following options: "S", "0", "1", "2", "3", "4", "5", or "6".
|
||||
|
||||
.. note::
|
||||
|
||||
Each runlevel has a dependency on the previous runlevel. This
|
||||
dependency allows the services to work properly.
|
||||
|
||||
Both SysVinit and BusyBox init are configured through the ``/etc/inittab``
|
||||
file, with a very similar syntax, though of course BusyBox init features
|
||||
are more limited.
|
||||
|
||||
In comparison, systemd treats components as units. Using units is a
|
||||
broader concept as compared to using a service. A unit includes several
|
||||
different types of entities. Service is one of the types of entities.
|
||||
different types of entities. ``Service`` is one of the types of entities.
|
||||
The runlevel concept in SysVinit corresponds to the concept of a target
|
||||
in systemd, where target is also a type of supported unit.
|
||||
|
||||
In a SysVinit-based system, services load sequentially (i.e. one by one)
|
||||
during init and parallelization is not supported. With systemd, services
|
||||
start in parallel. Needless to say, the method can have an impact on
|
||||
system startup performance.
|
||||
In systems with SysVinit or BusyBox init, services load sequentially (i.e. one
|
||||
by one) during init and parallelization is not supported. With systemd, services
|
||||
start in parallel. This method can have an impact on the startup performance
|
||||
of a given service, though systemd will also provide more services by default,
|
||||
therefore increasing the total system boot time. systemd also substantially
|
||||
increases system size because of its multiple components and the extra
|
||||
dependencies it pulls.
|
||||
|
||||
If you want to use SysVinit, you do not have to do anything. But, if you
|
||||
want to use systemd, you must take some steps as described in the
|
||||
following sections.
|
||||
On the contrary, BusyBox init is the simplest and the lightest solution and
|
||||
also comes with BusyBox mdev as device manager, a lighter replacement to
|
||||
:wikipedia:`udev <Udev>`, which SysVinit and systemd both use.
|
||||
|
||||
Using systemd Exclusively
|
||||
The ":ref:`device-manager`" chapter has more details about device managers.
|
||||
|
||||
Using SysVinit with udev
|
||||
=========================
|
||||
|
||||
Set these variables in your distribution configuration file as follows::
|
||||
SysVinit with the udev device manager corresponds to the
|
||||
default setting in Poky. This corresponds to setting::
|
||||
|
||||
DISTRO_FEATURES:append = " systemd"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
INIT_MANAGER = "sysvinit"
|
||||
|
||||
You can also prevent the SysVinit distribution feature from
|
||||
being automatically enabled as follows::
|
||||
Using BusyBox init with BusyBox mdev
|
||||
====================================
|
||||
|
||||
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
|
||||
BusyBox init with BusyBox mdev is the simplest and lightest solution
|
||||
for small root filesystems. All you need is BusyBox, which most systems
|
||||
have anyway::
|
||||
|
||||
Doing so removes any
|
||||
redundant SysVinit scripts.
|
||||
INIT_MANAGER = "mdev-busybox"
|
||||
|
||||
To remove initscripts from your image altogether, set this variable
|
||||
also::
|
||||
Using systemd
|
||||
=============
|
||||
|
||||
VIRTUAL-RUNTIME_initscripts = ""
|
||||
The last option is to use systemd together with the udev device
|
||||
manager. This is the most powerful and versatile solution, especially
|
||||
for more complex systems::
|
||||
|
||||
For information on the backfill variable, see
|
||||
:term:`DISTRO_FEATURES_BACKFILL_CONSIDERED`.
|
||||
INIT_MANAGER = "systemd"
|
||||
|
||||
Using systemd for the Main Image and Using SysVinit for the Rescue Image
|
||||
========================================================================
|
||||
This will enable systemd and remove sysvinit components from the image.
|
||||
See :yocto_git:`meta/conf/distro/include/init-manager-systemd.inc
|
||||
</poky/tree/meta/conf/distro/include/init-manager-systemd.inc>` for exact
|
||||
details on what this does.
|
||||
|
||||
Set these variables in your distribution configuration file as follows::
|
||||
Controling systemd from the target command line
|
||||
-----------------------------------------------
|
||||
|
||||
DISTRO_FEATURES:append = " systemd"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
Here is a quick reference for controling systemd from the command line on the
|
||||
target. Instead of opening and sometimes modifying files, most interaction
|
||||
happens through the ``systemctl`` and ``journalctl`` commands:
|
||||
|
||||
Doing so causes your main image to use the
|
||||
``packagegroup-core-boot.bb`` recipe and systemd. The rescue/minimal
|
||||
image cannot use this package group. However, it can install SysVinit
|
||||
and the appropriate packages will have support for both systemd and
|
||||
SysVinit.
|
||||
- ``systemctl status``: show the status of all services
|
||||
- ``systemctl status <service>``: show the status of one service
|
||||
- ``systemctl [start|stop] <service>``: start or stop a service
|
||||
- ``systemctl [enable|disable] <service>``: enable or disable a service at boot time
|
||||
- ``systemctl list-units``: list all available units
|
||||
- ``journalctl -a``: show all logs for all services
|
||||
- ``journalctl -f``: show only the last log entries, and keep printing updates as they arrive
|
||||
- ``journalctl -u``: show only logs from a particular service
|
||||
|
||||
Using systemd-journald without a traditional syslog daemon
|
||||
==========================================================
|
||||
----------------------------------------------------------
|
||||
|
||||
Counter-intuitively, ``systemd-journald`` is not a syslog runtime or provider,
|
||||
and the proper way to use systemd-journald as your sole logging mechanism is to
|
||||
and the proper way to use ``systemd-journald`` as your sole logging mechanism is to
|
||||
effectively disable syslog entirely by setting these variables in your distribution
|
||||
configuration file::
|
||||
|
||||
@@ -85,5 +109,54 @@ configuration file::
|
||||
VIRTUAL-RUNTIME_base-utils-syslog = ""
|
||||
|
||||
Doing so will prevent ``rsyslog`` / ``busybox-syslog`` from being pulled in by
|
||||
default, leaving only ``journald``.
|
||||
default, leaving only ``systemd-journald``.
|
||||
|
||||
Summary
|
||||
-------
|
||||
|
||||
The Yocto Project supports three different initialization managers, offering
|
||||
increasing levels of complexity and functionality:
|
||||
|
||||
.. list-table::
|
||||
:widths: 40 20 20 20
|
||||
:header-rows: 1
|
||||
|
||||
* -
|
||||
- BusyBox init
|
||||
- SysVinit
|
||||
- systemd
|
||||
* - Size
|
||||
- Small
|
||||
- Small
|
||||
- Big [#footnote-systemd-size]_
|
||||
* - Complexity
|
||||
- Small
|
||||
- Medium
|
||||
- High
|
||||
* - Support for boot profiles
|
||||
- No
|
||||
- Yes ("runlevels")
|
||||
- Yes ("targets")
|
||||
* - Services defined as
|
||||
- Shell scripts
|
||||
- Shell scripts
|
||||
- Description files
|
||||
* - Starting services in parallel
|
||||
- No
|
||||
- No
|
||||
- Yes
|
||||
* - Setting service resource limits
|
||||
- No
|
||||
- No
|
||||
- Yes
|
||||
* - Support service isolation
|
||||
- No
|
||||
- No
|
||||
- Yes
|
||||
* - Integrated logging
|
||||
- No
|
||||
- No
|
||||
- Yes
|
||||
|
||||
.. [#footnote-systemd-size] Using systemd increases the ``core-image-minimal``
|
||||
image size by 160\% for ``qemux86-64`` on Mickledore (4.2), compared to SysVinit.
|
||||
|
||||
@@ -1289,6 +1289,8 @@ as described in the ":ref:`dev-manual/licenses:tracking license changes`"
|
||||
section in the Yocto Project Overview and Concepts Manual. You can quickly
|
||||
create Autotool-based recipes in a manner similar to the previous example.
|
||||
|
||||
.. _ref-building-meson-package:
|
||||
|
||||
Building a Meson Package
|
||||
------------------------
|
||||
|
||||
|
||||
@@ -227,18 +227,6 @@ default value is "r0", the practice of adding it to a new recipe makes
|
||||
it harder to forget to bump the variable when you make changes to the
|
||||
recipe in future.
|
||||
|
||||
If you are sharing a common ``.inc`` file with multiple recipes, you can
|
||||
also use the :term:`INC_PR` variable to ensure that the recipes sharing the
|
||||
``.inc`` file are rebuilt when the ``.inc`` file itself is changed. The
|
||||
``.inc`` file must set :term:`INC_PR` (initially to "r0"), and all recipes
|
||||
referring to it should set :term:`PR` to "${INC_PR}.0" initially,
|
||||
incrementing the last number when the recipe is changed. If the ``.inc``
|
||||
file is changed then its :term:`INC_PR` should be incremented.
|
||||
|
||||
When upgrading the version of a binary package, assuming the :term:`PV`
|
||||
changes, the :term:`PR` variable should be reset to "r0" (or "${INC_PR}.0"
|
||||
if you are using :term:`INC_PR`).
|
||||
|
||||
Usually, version increases occur only to binary packages. However, if
|
||||
for some reason :term:`PV` changes but does not increase, you can increase
|
||||
the :term:`PE` variable (Package Epoch). The :term:`PE` variable defaults to
|
||||
|
||||
@@ -63,6 +63,9 @@ generated files are available in ``tmp/deploy/spdx/MACHINE`` too, such as:
|
||||
(when :term:`SPDX_ARCHIVE_SOURCES` is set). Those are needed to fulfill
|
||||
"source code access" license requirements.
|
||||
|
||||
See also the :term:`SPDX_CUSTOM_ANNOTATION_VARS` variable which allows
|
||||
to associate custom notes to a recipe.
|
||||
|
||||
See the `tools page <https://spdx.dev/resources/tools/>`__ on the :term:`SPDX`
|
||||
project website for a list of tools to consume and transform the :term:`SPDX`
|
||||
data generated by the OpenEmbedded build system.
|
||||
|
||||
@@ -613,44 +613,23 @@ Use the following procedure to locate the latest upstream copy of the
|
||||
For information on cloning a repository, see the
|
||||
":ref:`dev-manual/start:cloning the \`\`poky\`\` repository`" section.
|
||||
|
||||
Accessing Index of Releases
|
||||
---------------------------
|
||||
Accessing Source Archives
|
||||
-------------------------
|
||||
|
||||
Yocto Project maintains an Index of Releases area that contains related
|
||||
files that contribute to the Yocto Project. Rather than Git
|
||||
repositories, these files are tarballs that represent snapshots in time
|
||||
of a given component.
|
||||
The Yocto Project also provides source archives of its releases, which
|
||||
are available on :yocto_dl:`/releases/yocto/`. Then, choose the subdirectory
|
||||
containing the release you wish to use, for example
|
||||
:yocto_dl:`yocto-&DISTRO; </releases/yocto/yocto-&DISTRO;/>`.
|
||||
|
||||
You will find there source archives of individual components (if you wish
|
||||
to use them individually), and of the corresponding Poky release bundling
|
||||
a selection of these components.
|
||||
|
||||
.. note::
|
||||
|
||||
The recommended method for accessing Yocto Project components is to
|
||||
use Git to clone the upstream repository and work from within that
|
||||
locally cloned repository. However, this section documents how to
|
||||
use a tarball snapshot of any given component.
|
||||
|
||||
Follow these steps to locate and download a particular tarball:
|
||||
|
||||
#. *Access the Index of Releases:* Open a browser and go to
|
||||
:yocto_dl:`Index of Releases </releases>`. The
|
||||
list represents released components (e.g. ``bitbake``, ``sato``, and
|
||||
so on).
|
||||
|
||||
.. note::
|
||||
|
||||
The ``yocto`` directory contains the full array of released Poky
|
||||
tarballs. The ``poky`` directory in the Index of Releases was
|
||||
historically used for very early releases and exists now only for
|
||||
retroactive completeness.
|
||||
|
||||
#. *Select a Component:* Click on any released component in which you
|
||||
are interested (e.g. ``yocto``).
|
||||
|
||||
#. *Find the Tarball:* Drill down to find the associated tarball. For
|
||||
example, click on ``yocto-&DISTRO;`` to view files associated with the
|
||||
Yocto Project &DISTRO; release.
|
||||
|
||||
#. *Download the Tarball:* Click the tarball to download and save a
|
||||
snapshot of the given component.
|
||||
locally cloned repository.
|
||||
|
||||
Using the Downloads Page
|
||||
------------------------
|
||||
@@ -659,7 +638,7 @@ The :yocto_home:`Yocto Project Website <>` uses a "DOWNLOADS" page
|
||||
from which you can locate and download tarballs of any Yocto Project
|
||||
release. Rather than Git repositories, these files represent snapshot
|
||||
tarballs similar to the tarballs located in the Index of Releases
|
||||
described in the ":ref:`dev-manual/start:accessing index of releases`" section.
|
||||
described in the ":ref:`dev-manual/start:accessing source archives`" section.
|
||||
|
||||
#. *Go to the Yocto Project Website:* Open The
|
||||
:yocto_home:`Yocto Project Website <>` in your browser.
|
||||
|
||||
@@ -9,27 +9,109 @@ Migration notes for 4.2 (mickledore)
|
||||
This section provides migration information for moving to the Yocto
|
||||
Project 4.2 Release (codename "mickledore") from the prior release.
|
||||
|
||||
.. _migration-4.2-supported-distributions:
|
||||
|
||||
Supported distributions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This release supports running BitBake on new GNU/Linux distributions:
|
||||
|
||||
- Fedora 36 and 37
|
||||
- AlmaLinux 8.7 and 9.1
|
||||
- OpenSuse 15.4
|
||||
|
||||
On the other hand, some earlier distributions are no longer supported:
|
||||
|
||||
- Debian 10.x
|
||||
- Fedora 34 and 35
|
||||
- AlmaLinux 8.5
|
||||
|
||||
See :ref:`all supported distributions <system-requirements-supported-distros>`.
|
||||
|
||||
.. _migration-4.2-python-3.8:
|
||||
|
||||
Python 3.8 is now the minimum required Python version version
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
BitBake and OpenEmbedded-Core are now relying on Python 3.8,
|
||||
BitBake and OpenEmbedded-Core now require Python 3.8 or newer,
|
||||
making it a requirement to use a distribution providing at least this
|
||||
version, or to use :term:`buildtools`.
|
||||
version, or to install a :term:`buildtools` tarball.
|
||||
|
||||
.. _migration-4.2-qa-checks:
|
||||
.. _migration-4.2-gcc-8.0:
|
||||
|
||||
QA check changes
|
||||
~~~~~~~~~~~~~~~~
|
||||
gcc 8.0 is now the minimum required GNU C compiler version
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _migration-4.2-misc-changes:
|
||||
This version, released in 2018, is a minimum requirement
|
||||
to build the ``mesa-native`` recipe and as the latter is in the
|
||||
default dependency chain when building QEMU this has now been
|
||||
made a requirement for all builds.
|
||||
|
||||
Miscellaneous changes
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
In the event that your host distribution does not provide this
|
||||
or a newer version of gcc, you can install a
|
||||
:term:`buildtools-extended` tarball.
|
||||
|
||||
.. _migration-4.2-new-nvd-api:
|
||||
|
||||
Fetching the NVD vulnerability database through the 2.0 API
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This new version adds a new fetcher for the NVD database using the 2.0 API,
|
||||
as the 1.0 API will be retired in 2023.
|
||||
|
||||
The implementation changes as little as possible, keeping the current
|
||||
database format (but using a different database file for the transition
|
||||
period), with a notable exception of not using the META table.
|
||||
|
||||
Here are minor changes that you may notice:
|
||||
|
||||
- The database starts in 1999 instead of 2002
|
||||
- The complete fetch is longer (30 minutes typically)
|
||||
|
||||
.. _migration-4.2-rust-crate-checksums:
|
||||
|
||||
Rust: mandatory checksums for crates
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This release now supports checksums for Rust crates and makes
|
||||
them mandatory for each crate in a recipe. See :yocto_git:`python3_bcrypt recipe changes
|
||||
</poky/commit/?h=mickledore&id=0dcb5ab3462fdaaf1646b05a00c7150eea711a9a>`
|
||||
for example.
|
||||
|
||||
The ``cargo-update-recipe-crates`` utility
|
||||
:yocto_git:`has been extended </poky/commit/?h=mickledore&id=eef7fbea2c5bf59369390be4d5efa915591b7b22>`
|
||||
to include such checksums. So, in case you need to add the list of checksums
|
||||
to a recipe just inheriting the :ref:`ref-classes-cargo` class so far, you can
|
||||
follow these steps:
|
||||
|
||||
#. Make the recipe inherit :ref:`ref-classes-cargo-update-recipe-crates`
|
||||
#. Remove all ``crate://`` lines from the recipe
|
||||
#. Create an empty ``${BPN}-crates.inc`` file and make your recipe require it
|
||||
#. Execute ``bitbake -c update_crates your_recipe``
|
||||
#. Copy and paste the output of BitBake about the missing checksums into the
|
||||
``${BPN}-crates.inc`` file.
|
||||
|
||||
|
||||
.. _migration-4.2-addpylib:
|
||||
|
||||
Python library code extensions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
BitBake in this release now supports a new ``addpylib`` directive to enable
|
||||
Python libraries within layers.
|
||||
|
||||
This directive should be added to your layer configuration
|
||||
as in the below example from ``meta/conf/layer.conf``::
|
||||
|
||||
addpylib ${LAYERDIR}/lib oe
|
||||
|
||||
Layers currently adding a lib directory to extend Python library code should now
|
||||
use this directive as :term:`BBPATH` is not going to be added automatically by
|
||||
OE-Core in future. Note that the directives are immediate operations, so it does
|
||||
make modules available for use sooner than the current BBPATH-based approach.
|
||||
|
||||
For more information, see :ref:`bitbake-user-manual/bitbake-user-manual-metadata:extending python library code`.
|
||||
|
||||
- The ``OEBasic`` signature handler (see :term:`BB_SIGNATURE_HANDLER`) has been
|
||||
removed.
|
||||
|
||||
.. _migration-4.2-removed-variables:
|
||||
|
||||
@@ -38,7 +120,11 @@ Removed variables
|
||||
|
||||
The following variables have been removed:
|
||||
|
||||
- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:``SERIAL_CONSOLES``.
|
||||
- ``SERIAL_CONSOLE``, deprecated since version 2.6, replaced by :term:`SERIAL_CONSOLES`.
|
||||
- ``PACKAGEBUILDPKGD``, a mostly internal variable in the ref:`ref-classes-package`
|
||||
class was rarely used to customise packaging. If you were using this in your custom
|
||||
recipes or bbappends, you will need to switch to using :term:`PACKAGE_PREPROCESS_FUNCS`
|
||||
or :term:`PACKAGESPLITFUNCS` instead.
|
||||
|
||||
.. _migration-4.2-removed-recipes:
|
||||
|
||||
@@ -47,3 +133,144 @@ Removed recipes
|
||||
|
||||
The following recipes have been removed in this release:
|
||||
|
||||
- ``python3-picobuild``: after switching to ``python3-build``
|
||||
- ``python3-strict-rfc3339``: unmaintained and not needed by anything in
|
||||
:oe_git:`openembedded-core </openembedded-core>`
|
||||
or :oe_git:`meta-openembedded </meta-openembedded>`.
|
||||
- ``linux-yocto``: removed version 5.19 recipes (6.1 and 5.15 still provided)
|
||||
|
||||
|
||||
.. _migration-4.2-removed-classes:
|
||||
|
||||
Removed classes
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The following classes have been removed in this release:
|
||||
|
||||
- ``rust-bin``: no longer used
|
||||
- ``package_tar``: could not be used for actual packaging, and thus not particularly useful.
|
||||
|
||||
|
||||
LAYERSERIES_COMPAT for custom layers and devtool workspace
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Some layer maintainers have been setting :term:`LAYERSERIES_COMPAT` in their
|
||||
layer's ``conf/layer.conf`` to the value of ``LAYERSERIES_CORENAMES`` to
|
||||
effectively bypass the compatibility check - this is no longer permitted.
|
||||
Layer maintainers should set :term:`LAYERSERIES_COMPAT` appropriately to
|
||||
help users understand the compatibility status of the layer.
|
||||
|
||||
Additionally, the :term:`LAYERSERIES_COMPAT` value for the devtool workspace
|
||||
layer is now set at the time of creation, thus if you upgrade with the
|
||||
workspace layer enabled and you wish to retain it, you will need to manually
|
||||
update the :term:`LAYERSERIES_COMPAT` value in ``workspace/conf/layer.conf``
|
||||
(or remove the path from :term:`BBLAYERS` in ``conf/bblayers.conf`` and
|
||||
delete/move the ``workspace`` directory out of the way if you no longer
|
||||
need it).
|
||||
|
||||
|
||||
.. _migration-4.2-runqemu-slirp:
|
||||
|
||||
runqemu now limits slirp host port forwarding to localhost
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
With default slirp port forwarding configuration in runqemu, qemu
|
||||
previously listened on TCP ports 2222 and 2323 on all IP addresses
|
||||
available on the build host. Most use cases with runqemu only need
|
||||
it for localhost and it is not safe to run qemu images with root
|
||||
login without password enabled and listening on all available,
|
||||
possibly Internet reachable network interfaces. Thus, in this
|
||||
release we limit qemu port forwarding to localhost (127.0.0.1).
|
||||
|
||||
However, if you need the qemu machine to be reachable from the
|
||||
network, then it can be enabled via ``conf/local.conf`` or machine
|
||||
config variable ``QB_SLIRP_OPT``::
|
||||
|
||||
QB_SLIRP_OPT = "-netdev user,id=net0,hostfwd=tcp::2222-:22"
|
||||
|
||||
|
||||
.. _migration-4.2-patch-qa:
|
||||
|
||||
Patch QA checks
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The QA checks for patch fuzz and Upstream-Status have been reworked
|
||||
slightly in this release. The Upstream-Status checking is now configurable
|
||||
from :term:`WARN_QA` / :term:`ERROR_QA` (``patch-status-core`` for the
|
||||
core layer, and ``patch-status-noncore`` for other layers).
|
||||
|
||||
The ``patch-fuzz`` and ``patch-status-core`` checks are now in the default
|
||||
value of :term:`ERROR_QA` so that they will cause the build to fail
|
||||
if triggered. If you prefer to avoid this you will need to adjust the value
|
||||
of :term:`ERROR_QA` in your configuration as desired.
|
||||
|
||||
|
||||
.. _migration-4.2-mesa:
|
||||
|
||||
Native/nativesdk mesa usage and graphics drivers
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This release includes mesa 23.0, and with that mesa release it is not longer
|
||||
possible to use drivers from the host system, as mesa upstream has added strict
|
||||
checks for matching builds between drivers and libraries that load them.
|
||||
|
||||
This is particularly relevant when running QEMU built within the build
|
||||
system. A check has been added to runqemu so that there is a helpful error
|
||||
when there is no native/nativesdk opengl/virgl support available.
|
||||
|
||||
To support this, a number of drivers have been enabled when building ``mesa-native``.
|
||||
The one major dependency pulled in by this change is ``llvm-native`` which will
|
||||
add a few minutes to the build on a modern machine. If this is undesirable, you
|
||||
can set the value of :term:`DISTRO_FEATURES_NATIVE` in your configuration such
|
||||
that ``opengl`` is excluded.
|
||||
|
||||
|
||||
.. _migration-4.2-misc-changes:
|
||||
|
||||
Miscellaneous changes
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- The :term:`IMAGE_NAME` variable is now set based on :term:`IMAGE_LINK_NAME`. This
|
||||
means that if you are setting :term:`IMAGE_LINK_NAME` to "" to disable unversioned
|
||||
image symlink creation, you also now need to set :term:`IMAGE_NAME` to still have
|
||||
a reasonable value e.g.::
|
||||
|
||||
IMAGE_LINK_NAME = ""
|
||||
IMAGE_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}"
|
||||
|
||||
- In ``/etc/os-release``, the ``VERSION_CODENAME`` field is now used instead of
|
||||
``DISTRO_CODENAME`` (though its value is still set from the :term:`DISTRO_CODENAME`
|
||||
variable) for better conformance to standard os-release usage. If you have runtime
|
||||
code reading this from ``/etc/os-release`` it may need to be updated.
|
||||
|
||||
- The kmod recipe now enables OpenSSL support by default in order to support module
|
||||
signing. If you do not need this and wish to reclaim some space/avoid the dependency
|
||||
you should set :term:`PACKAGECONFIG` in a kmod bbappend (or ``PACKAGECONFIG:pn-kmod``
|
||||
at the configuration level) to exclude ``openssl``.
|
||||
|
||||
- The ``OEBasic`` signature handler (see :term:`BB_SIGNATURE_HANDLER`) has been
|
||||
removed. It is unlikely that you would have selected to use this, but if you have
|
||||
you will need to remove this setting.
|
||||
|
||||
- The :ref:`ref-classes-package` class now checks if package names conflict via
|
||||
``PKG:${PN}`` override during ``do_package``. If you receive the associated error
|
||||
you will need to address the :term:`PKG` usage so that the conflict is resolved.
|
||||
|
||||
- openssh no longer uses :term:`RRECOMMENDS` to pull in ``rng-tools``, since rngd
|
||||
is no longer needed as of Linux kernel 5.6. If you still need ``rng-tools``
|
||||
installed for other reasons, you should add ``rng-tools`` explicitly to your
|
||||
image. If you additionally need rngd to be started as a service you will also
|
||||
need to add the ``rng-tools-service`` package as that has been split out.
|
||||
|
||||
- The cups recipe no longer builds with the web interface enabled, saving ~1.8M of
|
||||
space in the final image. If you wish to enable it, you should set
|
||||
:term:`PACKAGECONFIG` in a cups bbappend (or ``PACKAGECONFIG:pn-cups`` at the
|
||||
configuration level) to include ``webif``.
|
||||
|
||||
- The :ref:`ref-classes-scons` class now passes a ``MAXLINELENGTH`` argument to
|
||||
scons in order to fix an issue with scons and command line lengths when ccache is
|
||||
enabled. However, some recipes may be using older scons versions which don't support
|
||||
this argument. If that is the case you can set the following in the recipe in order
|
||||
to disable this::
|
||||
|
||||
SCONS_MAXLINELENGTH = ""
|
||||
|
||||
@@ -15,3 +15,4 @@ Release 4.0 (kirkstone)
|
||||
release-notes-4.0.6
|
||||
release-notes-4.0.7
|
||||
release-notes-4.0.8
|
||||
release-notes-4.0.9
|
||||
|
||||
@@ -10,3 +10,4 @@ Release 4.1 (langdale)
|
||||
release-notes-4.1.1
|
||||
release-notes-4.1.2
|
||||
release-notes-4.1.3
|
||||
release-notes-4.1.4
|
||||
|
||||
249
documentation/migration-guides/release-notes-4.0.9.rst
Normal file
@@ -0,0 +1,249 @@
|
||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||
|
||||
Release notes for Yocto-4.0.9 (Kirkstone)
|
||||
-----------------------------------------
|
||||
|
||||
Security Fixes in Yocto-4.0.9
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- binutils: Fix :cve:`2023-22608`
|
||||
- curl: Fix :cve:`2023-23914`, :cve:`2023-23915` and :cve:`2023-23916`
|
||||
- epiphany: Fix :cve:`2023-26081`
|
||||
- git: Ignore :cve:`2023-22743`
|
||||
- glibc: Fix :cve:`2023-0687`
|
||||
- gnutls: Fix :cve:`2023-0361`
|
||||
- go: Fix :cve:`2022-2879`, :cve:`2022-41720` and :cve:`2022-41723`
|
||||
- harfbuzz: Fix :cve:`2023-25193`
|
||||
- less: Fix :cve:`2022-46663`
|
||||
- libmicrohttpd: Fix :cve:`2023-27371`
|
||||
- libsdl2: Fix :cve:`2022-4743`
|
||||
- openssl: Fix :cve:`2022-3996`, :cve:`2023-0464`, :cve:`2023-0465` and :cve:`2023-0466`
|
||||
- pkgconf: Fix :cve:`2023-24056`
|
||||
- python3: Fix :cve:`2023-24329`
|
||||
- shadow: Ignore :cve:`2016-15024`
|
||||
- systemd: Fix :cve:`2022-4415`
|
||||
- tiff: Fix :cve:`2023-0800`, :cve:`2023-0801`, :cve:`2023-0802`, :cve:`2023-0803` and :cve:`2023-0804`
|
||||
- vim: Fix :cve:`2023-0433`, :cve:`2023-0512`, :cve:`2023-1127`, :cve:`2023-1170`, :cve:`2023-1175`, :cve:`2023-1264` and :cve:`2023-1355`
|
||||
- xserver-xorg: Fix :cve:`2023-0494`
|
||||
- xwayland: Fix :cve:`2023-0494`
|
||||
|
||||
|
||||
Fixes in Yocto-4.0.9
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- base-files: Drop localhost.localdomain from hosts file
|
||||
- binutils: Fix nativesdk ld.so search
|
||||
- bitbake: cookerdata: Drop dubious exception handling code
|
||||
- bitbake: cookerdata: Improve early exception handling
|
||||
- bitbake: cookerdata: Remove incorrect SystemExit usage
|
||||
- bitbake: fetch/git: Fix local clone url to make it work with repo
|
||||
- bitbake: utils: Allow to_boolean to support int values
|
||||
- bmap-tools: switch to main branch
|
||||
- buildtools-tarball: Handle spaces within user $PATH
|
||||
- busybox: Fix depmod patch
|
||||
- cracklib: update github branch to 'main'
|
||||
- cups: add/fix web interface packaging
|
||||
- cups: check PACKAGECONFIG for pam feature
|
||||
- cups: use BUILDROOT instead of DESTDIR
|
||||
- curl: fix dependencies when building with ldap/ldaps
|
||||
- cve-check: Fix false negative version issue
|
||||
- dbus: upgrade to 1.14.6
|
||||
- devtool/upgrade: do not delete the workspace/recipes directory
|
||||
- dhcpcd: Fix install conflict when enable multilib.
|
||||
- dhcpcd: fix dhcpcd start failure on qemuppc64
|
||||
- gcc-shared-source: do not use ${S}/.. in deploy_source_date_epoch
|
||||
- glibc: Add missing binutils dependency
|
||||
- image_types: fix multiubi var init
|
||||
- iso-codes: upgrade to 4.13.0
|
||||
- json-c: Add ptest for json-c
|
||||
- kernel-yocto: fix kernel-meta data detection
|
||||
- lib/buildstats: handle tasks that never finished
|
||||
- lib/resulttool: fix typo breaking resulttool log --ptest
|
||||
- libjpeg-turbo: upgrade to 2.1.5.1
|
||||
- libmicrohttpd: upgrade to 0.9.76
|
||||
- libseccomp: fix for the ptest result format
|
||||
- libssh2: Clean up ptest patch/coverage
|
||||
- linux-firmware: add yamato fw files to qcom-adreno-a2xx package
|
||||
- linux-firmware: properly set license for all Qualcomm firmware
|
||||
- linux-firmware: upgrade to 20230210
|
||||
- linux-yocto-rt/5.15: update to -rt59
|
||||
- linux-yocto/5.10: upgrade to v5.10.175
|
||||
- linux-yocto/5.15: upgrade to v5.15.103
|
||||
- linux: inherit pkgconfig in kernel.bbclass
|
||||
- lttng-modules: fix for kernel 6.2+
|
||||
- lttng-modules: upgrade to v2.13.9
|
||||
- lua: Fix install conflict when enable multilib.
|
||||
- mdadm: Fix raid0, 06wrmostly and 02lineargrow tests
|
||||
- meson: Fix wrapper handling of implicit setup command
|
||||
- migration-guides: add 4.0.8 release notes
|
||||
- nghttp2: never build python bindings
|
||||
- oeqa rtc.py: skip if read-only-rootfs
|
||||
- oeqa ssh.py: fix hangs in run()
|
||||
- oeqa/sdk: Improve Meson test
|
||||
- oeqa/selftest/prservice: Improve debug output for failure
|
||||
- oeqa/selftest/resulttooltests: fix minor typo
|
||||
- openssl: upgrade to 3.0.8
|
||||
- package.bbclase: Add check for /build in copydebugsources()
|
||||
- patchelf: replace a rejected patch with an equivalent uninative.bbclass tweak
|
||||
- poky.conf: bump version for 4.0.9
|
||||
- populate_sdk_ext: Handle spaces within user $PATH
|
||||
- pybootchartui: Fix python syntax issue
|
||||
- python3-git: fix indent error
|
||||
- python3-setuptools-rust-native: Add direct dependency of native python3 modules
|
||||
- qemu: Revert "fix :cve:`2021-3507`" as not applicable for qemu 6.2
|
||||
- rsync: Add missing prototypes to function declarations
|
||||
- rsync: Turn on -pedantic-errors at the end of 'configure'
|
||||
- runqemu: kill qemu if it hangs
|
||||
- scripts/lib/buildstats: handle top-level build_stats not being complete
|
||||
- selftest/recipetool: Stop test corrupting tinfoil class
|
||||
- selftest/runtime_test/virgl: Disable for all Rocky Linux
|
||||
- selftest: devtool: set BB_HASHSERVE_UPSTREAM when setting SSTATE_MIRROR
|
||||
- sstatesig: Improve output hash calculation
|
||||
- staging/multilib: Fix manifest corruption
|
||||
- staging: Separate out different multiconfig manifests
|
||||
- sudo: update 1.9.12p2 -> 1.9.13p3
|
||||
- systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
|
||||
- systemd: add group sgx to udev package
|
||||
- systemd: fix wrong nobody-group assignment
|
||||
- timezone: use 'tz' subdir instead of ${WORKDIR} directly
|
||||
- toolchain-scripts: Handle spaces within user $PATH
|
||||
- tzcode-native: fix build with gcc-13 on host
|
||||
- tzdata: use separate B instead of WORKDIR for zic output
|
||||
- uninative: upgrade to 3.9 to include libgcc and glibc 2.37
|
||||
- vala: Fix install conflict when enable multilib.
|
||||
- vim: add missing pkgconfig inherit
|
||||
- vim: set modified-by to the recipe MAINTAINER
|
||||
- vim: upgrade to 9.0.1429
|
||||
- wic: Fix usage of fstype=none in wic
|
||||
- wireless-regdb: upgrade to 2023.02.13
|
||||
- xserver-xorg: upgrade to 21.1.7
|
||||
- xwayland: upgrade to 22.1.8
|
||||
|
||||
|
||||
Known Issues in Yocto-4.0.9
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- N/A
|
||||
|
||||
|
||||
Contributors to Yocto-4.0.9
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Alexander Kanavin
|
||||
- Alexis Lothoré
|
||||
- Bruce Ashfield
|
||||
- Changqing Li
|
||||
- Chee Yang Lee
|
||||
- Dmitry Baryshkov
|
||||
- Federico Pellegrin
|
||||
- Geoffrey GIRY
|
||||
- Hitendra Prajapati
|
||||
- Hongxu Jia
|
||||
- Joe Slater
|
||||
- Kai Kang
|
||||
- Kenfe-Mickael Laventure
|
||||
- Khem Raj
|
||||
- Martin Jansa
|
||||
- Mateusz Marciniec
|
||||
- Michael Halstead
|
||||
- Michael Opdenacker
|
||||
- Mikko Rapeli
|
||||
- Ming Liu
|
||||
- Mingli Yu
|
||||
- Narpat Mali
|
||||
- Pavel Zhukov
|
||||
- Pawan Badganchi
|
||||
- Peter Marko
|
||||
- Piotr Łobacz
|
||||
- Poonam Jadhav
|
||||
- Randy MacLeod
|
||||
- Richard Purdie
|
||||
- Robert Yang
|
||||
- Romuald Jeanne
|
||||
- Ross Burton
|
||||
- Sakib Sajal
|
||||
- Saul Wold
|
||||
- Shubham Kulkarni
|
||||
- Siddharth Doshi
|
||||
- Simone Weiss
|
||||
- Steve Sakoman
|
||||
- Tim Orling
|
||||
- Tom Hochstein
|
||||
- Trevor Woerner
|
||||
- Ulrich Ölmann
|
||||
- Vivek Kumbhar
|
||||
- Wang Mingyu
|
||||
- Xiangyu Chen
|
||||
- Yash Shinde
|
||||
|
||||
|
||||
Repositories / Downloads for Yocto-4.0.9
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
poky
|
||||
|
||||
- Repository Location: :yocto_git:`/poky`
|
||||
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
|
||||
- Tag: :yocto_git:`yocto-4.0.9 </poky/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :yocto_git:`09def309f91929f47c6cce386016ccb777bd2cfc </poky/commit/?id=09def309f91929f47c6cce386016ccb777bd2cfc>`
|
||||
- Release Artefact: poky-09def309f91929f47c6cce386016ccb777bd2cfc
|
||||
- sha: 5c7ce209c8a6b37ec2898e5ca21858234d91999c11fa862880ba98e8bde62f63
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/poky-09def309f91929f47c6cce386016ccb777bd2cfc.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/poky-09def309f91929f47c6cce386016ccb777bd2cfc.tar.bz2
|
||||
|
||||
openembedded-core
|
||||
|
||||
- Repository Location: :oe_git:`/openembedded-core`
|
||||
- Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
|
||||
- Tag: :oe_git:`yocto-4.0.9 </openembedded-core/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :oe_git:`ff4b57ffff903a93b710284c7c7f916ddd74712f </openembedded-core/commit/?id=ff4b57ffff903a93b710284c7c7f916ddd74712f>`
|
||||
- Release Artefact: oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f
|
||||
- sha: 726778ffc291136db1704316b196de979f68df9f96476b785e1791957fbb66b3
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/oecore-ff4b57ffff903a93b710284c7c7f916ddd74712f.tar.bz2
|
||||
|
||||
meta-mingw
|
||||
|
||||
- Repository Location: :yocto_git:`/meta-mingw`
|
||||
- Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
|
||||
- Tag: :yocto_git:`yocto-4.0.9 </meta-mingw/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
|
||||
- Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
|
||||
- sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
|
||||
|
||||
meta-gplv2
|
||||
|
||||
- Repository Location: :yocto_git:`/meta-gplv2`
|
||||
- Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
|
||||
- Tag: :yocto_git:`yocto-4.0.9 </meta-gplv2/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
|
||||
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
|
||||
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
|
||||
|
||||
bitbake
|
||||
|
||||
- Repository Location: :oe_git:`/bitbake`
|
||||
- Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
|
||||
- Tag: :oe_git:`yocto-4.0.9 </bitbake/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :oe_git:`2802adb572eb73a3eb2725a74a9bbdaafc543fa7 </bitbake/commit/?id=2802adb572eb73a3eb2725a74a9bbdaafc543fa7>`
|
||||
- Release Artefact: bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7
|
||||
- sha: 5c6e713b5e26b3835c0773095c7a1bc1f8affa28316b33597220ed86f1f1b643
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.9/bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.0.9/bitbake-2802adb572eb73a3eb2725a74a9bbdaafc543fa7.tar.bz2
|
||||
|
||||
yocto-docs
|
||||
|
||||
- Repository Location: :yocto_git:`/yocto-docs`
|
||||
- Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
|
||||
- Tag: :yocto_git:`yocto-4.0.9 </yocto-docs/log/?h=yocto-4.0.9>`
|
||||
- Git Revision: :yocto_git:`86d0b38a97941ad52b1af220c7b801a399d50e93 </yocto-docs/commit/?id=86d0b38a97941ad52b1af220c7b801a399d50e93>`
|
||||
|
||||
254
documentation/migration-guides/release-notes-4.1.4.rst
Normal file
@@ -0,0 +1,254 @@
|
||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||
|
||||
Release notes for Yocto-4.1.4 (Langdale)
|
||||
----------------------------------------
|
||||
|
||||
Security Fixes in Yocto-4.1.4
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- cve-extra-exclusions/linux-yocto: Ignore :cve:`2020-27784`, :cve:`2021-3669`, :cve:`2021-3759`, :cve:`2021-4218`, :cve:`2022-0480`, :cve:`2022-1184`, :cve:`2022-1462`, :cve:`2022-2308`, :cve:`2022-2327`, :cve:`2022-26365`, :cve:`2022-2663`, :cve:`2022-2785`, :cve:`2022-3176`, :cve:`2022-33740`, :cve:`2022-33741`, :cve:`2022-33742`, :cve:`2022-3526`, :cve:`2022-3563`, :cve:`2022-3621`, :cve:`2022-3623`, :cve:`2022-3624`, :cve:`2022-3625`, :cve:`2022-3629`, :cve:`2022-3630`, :cve:`2022-3633`, :cve:`2022-3635`, :cve:`2022-3636`, :cve:`2022-3637`, :cve:`2022-3646` and :cve:`2022-3649`
|
||||
- cve-extra-exclusions/linux-yocto 5.15: Ignore :cve:`2022-3435`, :cve:`2022-3534`, :cve:`2022-3564`, :cve:`2022-3564`, :cve:`2022-3619`, :cve:`2022-3640`, :cve:`2022-42895`, :cve:`2022-42896`, :cve:`2022-4382`, :cve:`2023-0266` and :cve:`2023-0394`
|
||||
- epiphany: Fix :cve:`2023-26081`
|
||||
- git: Ignore :cve:`2023-22743`
|
||||
- go: Fix :cve:`2022-41722`, :cve:`2022-41723`, :cve:`2022-41724`, :cve:`2022-41725` and :cve:`2023-24532`
|
||||
- harfbuzz: Fix :cve:`2023-25193`
|
||||
- libmicrohttpd: Fix :cve:`2023-27371`
|
||||
- libxml2: Fix :cve:`2022-40303` and :cve:`2022-40304`
|
||||
- openssl: Fix :cve:`2023-0464`, :cve:`2023-0465` and :cve:`2023-0466`
|
||||
- python3-setuptools: Fix :cve:`2022-40897`
|
||||
- qemu: Fix :cve:`2022-4144`
|
||||
- screen: Fix :cve:`2023-24626`
|
||||
- shadow: Ignore :cve:`2016-15024`
|
||||
- tiff: Fix :cve:`2022-48281`, :cve:`2023-0795`, :cve:`2023-0796`, :cve:`2023-0797`, :cve:`2023-0798`, :cve:`2023-0799`, :cve:`2023-0800`, :cve:`2023-0801`, :cve:`2023-0802`, :cve:`2023-0803` and :cve:`2023-0804`
|
||||
- vim: Fix :cve:`2023-1127`, :cve:`2023-1170`, :cve:`2023-1175`, :cve:`2023-1264` and :cve:`2023-1355`
|
||||
- xdg-utils: Fix :cve:`2022-4055`
|
||||
- xserver-xorg: Fix for :cve:`2023-1393`
|
||||
|
||||
|
||||
Fixes in Yocto-4.1.4
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- apt: re-enable version check
|
||||
- base-files: Drop localhost.localdomain from hosts file
|
||||
- binutils: Fix nativesdk ld.so search
|
||||
- bitbake: bin/utils: Ensure locale en_US.UTF-8 is available on the system
|
||||
- bitbake: cookerdata: Drop dubious exception handling code
|
||||
- bitbake: cookerdata: Improve early exception handling
|
||||
- bitbake: cookerdata: Remove incorrect SystemExit usage
|
||||
- bitbake: fetch/git: Fix local clone url to make it work with repo
|
||||
- bitbake: toaster: Add refreshed oe-core and poky fixtures
|
||||
- bitbake: toaster: fixtures/README: django 1.8 -> 3.2
|
||||
- bitbake: toaster: fixtures/gen_fixtures.py: update branches
|
||||
- bitbake: utils: Allow to_boolean to support int values
|
||||
- bmap-tools: switch to main branch
|
||||
- build-appliance-image: Update to langdale head revision
|
||||
- buildtools-tarball: Handle spaces within user $PATH
|
||||
- busybox: move hwclock init earlier in startup
|
||||
- cargo.bbclass: use offline mode for building
|
||||
- cpio: Fix wrong CRC with ASCII CRC for large files
|
||||
- cracklib: update github branch to 'main'
|
||||
- cups: add/fix web interface packaging
|
||||
- cups: check :term:`PACKAGECONFIG` for pam feature
|
||||
- cups: use BUILDROOT instead of DESTDIR
|
||||
- cve-check: Fix false negative version issue
|
||||
- devtool/upgrade: do not delete the workspace/recipes directory
|
||||
- dhcpcd: Fix install conflict when enable multilib.
|
||||
- ffmpeg: fix build failure when vulkan is enabled
|
||||
- filemap.py: enforce maximum of 4kb block size
|
||||
- gcc-shared-source: do not use ${S}/.. in deploy_source_date_epoch
|
||||
- glibc: Add missing binutils dependency
|
||||
- go: upgrade to 1.19.7
|
||||
- image_types: fix multiubi var init
|
||||
- image_types: fix vname var init in multiubi_mkfs() function
|
||||
- iso-codes: upgrade to 4.13.0
|
||||
- kernel-devsrc: fix mismatched compiler warning
|
||||
- lib/oe/gpg_sign.py: Avoid race when creating .sig files in detach_sign
|
||||
- lib/resulttool: fix typo breaking resulttool log --ptest
|
||||
- libcomps: Fix callback function prototype for PyCOMPS_hash
|
||||
- libdnf: upgrade to 0.70.0
|
||||
- libgit2: update license information
|
||||
- libmicrohttpd: upgrade to 0.9.76
|
||||
- linux-yocto-rt/5.15: upgrade to -rt59
|
||||
- linux-yocto/5.15: upgrade to v5.15.108
|
||||
- linux: inherit pkgconfig in kernel.bbclass
|
||||
- lttng-modules: upgrade to v2.13.9
|
||||
- lua: Fix install conflict when enable multilib.
|
||||
- mdadm: Fix raid0, 06wrmostly and 02lineargrow tests
|
||||
- mesa-demos: packageconfig weston should have a dependency on wayland-protocols
|
||||
- meson: Fix wrapper handling of implicit setup command
|
||||
- meson: remove obsolete RPATH stripping patch
|
||||
- migration-guides: update release notes
|
||||
- oeqa ping.py: avoid busylooping failing ping command
|
||||
- oeqa ping.py: fail test if target IP address has not been set
|
||||
- oeqa rtc.py: skip if read-only-rootfs
|
||||
- oeqa/runtime: clean up deprecated backslash expansion
|
||||
- oeqa/sdk: Improve Meson test
|
||||
- oeqa/selftest/cases/package.py: adding unittest for package rename conflicts
|
||||
- oeqa/selftest/cases/runqemu: update imports
|
||||
- oeqa/selftest/prservice: Improve debug output for failure
|
||||
- oeqa/selftest/reproducible: Split different packages from missing packages output
|
||||
- oeqa/selftest: OESelftestTestContext: convert relative to full path when newbuilddir is provided
|
||||
- oeqa/targetcontrol: do not set dump_host_cmds redundantly
|
||||
- oeqa/targetcontrol: fix misspelled RuntimeError
|
||||
- oeqa/targetcontrol: remove unused imports
|
||||
- oeqa/utils/commands: fix usage of undefined EPIPE
|
||||
- oeqa/utils/commands: remove unused imports
|
||||
- oeqa/utils/qemurunner: replace hard-coded user 'root' in debug output
|
||||
- oeqs/selftest: OESelftestTestContext: replace the os.environ after subprocess.check_output
|
||||
- package.bbclass: check packages name conflict in do_package
|
||||
- pango: upgrade to 1.50.13
|
||||
- piglit: Fix build time dependency
|
||||
- poky.conf: bump version for 4.1.4
|
||||
- populate_sdk_base: add zip options
|
||||
- populate_sdk_ext: Handle spaces within user $PATH
|
||||
- pybootchart: Fix extents handling to account for cpu/io/mem pressure changes
|
||||
- pybootchartui: Fix python syntax issue
|
||||
- report-error: catch Nothing :term:`PROVIDES` error
|
||||
- rpm: Fix hdr_hash function prototype
|
||||
- run-postinsts: Set dependency for ldconfig to avoid boot issues
|
||||
- runqemu: respect :term:`IMAGE_LINK_NAME`
|
||||
- runqemu: Revert "workaround for APIC hang on pre 4.15 kernels on qemux86q"
|
||||
- scripts/lib/buildstats: handle top-level build_stats not being complete
|
||||
- selftest/recipetool: Stop test corrupting tinfoil class
|
||||
- selftest/runtime_test/virgl: Disable for all Rocky Linux
|
||||
- selftest: devtool: set :term:`BB_HASHSERVE_UPSTREAM` when setting :term:`SSTATE_MIRRORS`
|
||||
- selftest: runqemu: better check for ROOTFS: in the log
|
||||
- selftest: runqemu: use better error message when asserts fail
|
||||
- shadow: Fix can not print full login timeout message
|
||||
- staging/multilib: Fix manifest corruption
|
||||
- staging: Separate out different multiconfig manifests
|
||||
- sudo: upgrade to 1.9.13p3
|
||||
- systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
|
||||
- systemd: add group sgx to udev package
|
||||
- systemd: fix wrong nobody-group assignment
|
||||
- timezone: use 'tz' subdir instead of ${WORKDIR} directly
|
||||
- toolchain-scripts: Handle spaces within user $PATH
|
||||
- tzcode-native: fix build with gcc-13 on host
|
||||
- tzdata: upgrade to 2023c
|
||||
- tzdata: use separate :term:`B` instead of :term:`WORKDIR` for zic output
|
||||
- u-boot: Map arm64 into map for u-boot dts installation
|
||||
- uninative: Upgrade to 3.9 to include glibc 2.37
|
||||
- vala: Fix install conflict when enable multilib.
|
||||
- vim: add missing pkgconfig inherit
|
||||
- vim: set modified-by to the recipe :term:`MAINTAINER`
|
||||
- vim: upgrade to 9.0.1429
|
||||
- xcb-proto: Fix install conflict when enable multilib.
|
||||
|
||||
|
||||
Known Issues in Yocto-4.1.4
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- N/A
|
||||
|
||||
|
||||
Contributors to Yocto-4.1.4
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Alexander Kanavin
|
||||
- Andrew Geissler
|
||||
- Arturo Buzarra
|
||||
- Bhabu Bindu
|
||||
- Bruce Ashfield
|
||||
- Carlos Alberto Lopez Perez
|
||||
- Chee Yang Lee
|
||||
- Chris Elledge
|
||||
- Christoph Lauer
|
||||
- Dmitry Baryshkov
|
||||
- Enrico Jörns
|
||||
- Fawzi KHABER
|
||||
- Frank de Brabander
|
||||
- Frederic Martinsons
|
||||
- Geoffrey GIRY
|
||||
- Hitendra Prajapati
|
||||
- Jose Quaresma
|
||||
- Kenfe-Mickael Laventure
|
||||
- Khem Raj
|
||||
- Marek Vasut
|
||||
- Martin Jansa
|
||||
- Michael Halstead
|
||||
- Michael Opdenacker
|
||||
- Mikko Rapeli
|
||||
- Ming Liu
|
||||
- Mingli Yu
|
||||
- Narpat Mali
|
||||
- Pavel Zhukov
|
||||
- Peter Marko
|
||||
- Piotr Łobacz
|
||||
- Randy MacLeod
|
||||
- Richard Purdie
|
||||
- Robert Yang
|
||||
- Romuald JEANNE
|
||||
- Romuald Jeanne
|
||||
- Ross Burton
|
||||
- Siddharth
|
||||
- Siddharth Doshi
|
||||
- Soumya
|
||||
- Steve Sakoman
|
||||
- Sudip Mukherjee
|
||||
- Tim Orling
|
||||
- Tobias Hagelborn
|
||||
- Tom Hochstein
|
||||
- Trevor Woerner
|
||||
- Wang Mingyu
|
||||
- Xiangyu Chen
|
||||
- Zoltan Boszormenyi
|
||||
|
||||
|
||||
Repositories / Downloads for Yocto-4.1.4
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
poky
|
||||
|
||||
- Repository Location: :yocto_git:`/poky`
|
||||
- Branch: :yocto_git:`langdale </poky/log/?h=langdale>`
|
||||
- Tag: :yocto_git:`yocto-4.1.4 </poky/log/?h=yocto-4.1.4>`
|
||||
- Git Revision: :yocto_git:`3e95f268ce04b49ba6731fd4bbc53b1693c21963 </poky/commit/?id=3e95f268ce04b49ba6731fd4bbc53b1693c21963>`
|
||||
- Release Artefact: poky-3e95f268ce04b49ba6731fd4bbc53b1693c21963
|
||||
- sha: 54798c4b519f5e11f409e1fd074bea1bc0a1b80672aa60dddbac772c8e4d838b
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.4/poky-3e95f268ce04b49ba6731fd4bbc53b1693c21963.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.1.4/poky-3e95f268ce04b49ba6731fd4bbc53b1693c21963.tar.bz2
|
||||
|
||||
openembedded-core
|
||||
|
||||
- Repository Location: :oe_git:`/openembedded-core`
|
||||
- Branch: :oe_git:`langdale </openembedded-core/log/?h=langdale>`
|
||||
- Tag: :oe_git:`yocto-4.1.4 </openembedded-core/log/?h=yocto-4.1.4>`
|
||||
- Git Revision: :oe_git:`78211cda40eb018a3aa535c75b61e87337236628 </openembedded-core/commit/?id=78211cda40eb018a3aa535c75b61e87337236628>`
|
||||
- Release Artefact: oecore-78211cda40eb018a3aa535c75b61e87337236628
|
||||
- sha: 1303d836bae54c438c64d6b9f068eb91c32be4cc1779e89d0f2d915a55d59b15
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.4/oecore-78211cda40eb018a3aa535c75b61e87337236628.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.1.4/oecore-78211cda40eb018a3aa535c75b61e87337236628.tar.bz2
|
||||
|
||||
meta-mingw
|
||||
|
||||
- Repository Location: :yocto_git:`/meta-mingw`
|
||||
- Branch: :yocto_git:`langdale </meta-mingw/log/?h=langdale>`
|
||||
- Tag: :yocto_git:`yocto-4.1.4 </meta-mingw/log/?h=yocto-4.1.4>`
|
||||
- Git Revision: :yocto_git:`b0067202db8573df3d23d199f82987cebe1bee2c </meta-mingw/commit/?id=b0067202db8573df3d23d199f82987cebe1bee2c>`
|
||||
- Release Artefact: meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c
|
||||
- sha: 704f2940322b81ce774e9cbd27c3cfa843111d497dc7b1eeaa39cd694d9a2366
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.4/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.1.4/meta-mingw-b0067202db8573df3d23d199f82987cebe1bee2c.tar.bz2
|
||||
|
||||
bitbake
|
||||
|
||||
- Repository Location: :oe_git:`/bitbake`
|
||||
- Branch: :oe_git:`2.2 </bitbake/log/?h=2.2>`
|
||||
- Tag: :oe_git:`yocto-4.1.4 </bitbake/log/?h=yocto-4.1.4>`
|
||||
- Git Revision: :oe_git:`5b105e76dd7de3b9a25b17b397f2c12c80048894 </bitbake/commit/?id=5b105e76dd7de3b9a25b17b397f2c12c80048894>`
|
||||
- Release Artefact: bitbake-5b105e76dd7de3b9a25b17b397f2c12c80048894
|
||||
- sha: 2cd6448138816f5a906f9927c6b6fdc5cf24981ef32b6402312f52ca490edb4f
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.1.4/bitbake-5b105e76dd7de3b9a25b17b397f2c12c80048894.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.1.4/bitbake-5b105e76dd7de3b9a25b17b397f2c12c80048894.tar.bz2
|
||||
|
||||
yocto-docs
|
||||
|
||||
- Repository Location: :yocto_git:`/yocto-docs`
|
||||
- Branch: :yocto_git:`langdale </yocto-docs/log/?h=langdale>`
|
||||
- Tag: :yocto_git:`yocto-4.1.4 </yocto-docs/log/?h=yocto-4.1.4>`
|
||||
- Git Revision: :yocto_git:`da685fc5e69d49728e3ffd6c4d623e7e1745059d </yocto-docs/commit/?id=da685fc5e69d49728e3ffd6c4d623e7e1745059d>`
|
||||
|
||||
@@ -238,20 +238,20 @@ Security Fixes in 4.1
|
||||
- grub2: :cve:`2021-3695`, :cve:`2021-3696`, :cve:`2021-3697`, :cve:`2022-28733`, :cve:`2022-28734`, :cve:`2022-28735`
|
||||
- inetutils: :cve:`2022-39028`
|
||||
- libtirpc: :cve:`2021-46828`
|
||||
- libxml2: :cve:`2016-3709 (ignored)`
|
||||
- libxslt: :cve:`2022-29824 (not applicable)`
|
||||
- libxml2: :cve:`2016-3709` (ignored)
|
||||
- libxslt: :cve:`2022-29824` (not applicable)
|
||||
- linux-yocto/5.15: :cve:`2022-28796`
|
||||
- logrotate: :cve:`2022-1348`
|
||||
- lua: :cve:`2022-33099`
|
||||
- nasm: :cve:`2020-18974 (ignored)`
|
||||
- nasm: :cve:`2020-18974` (ignored)
|
||||
- ncurses: :cve:`2022-29458`
|
||||
- openssl: :cve:`2022-1292`, :cve:`2022-1343`, :cve:`2022-1434`, :cve:`2022-1473`, :cve:`2022-2068`, :cve:`2022-2274`, :cve:`2022-2097`
|
||||
- python3: :cve:`2015-20107 (ignored)`
|
||||
- qemu: :cve:`2021-20255 (ignored)`, :cve:`2019-12067 (ignored)`, :cve:`2021-3507`, :cve:`2022-0216`, :cve:`2022-2962`, :cve:`2022-35414`
|
||||
- python3: :cve:`2015-20107` (ignored)
|
||||
- qemu: :cve:`2021-20255` (ignored), :cve:`2019-12067` (ignored), :cve:`2021-3507`, :cve:`2022-0216`, :cve:`2022-2962`, :cve:`2022-35414`
|
||||
- rpm: :cve:`2021-35937`, :cve:`2021-35938`, :cve:`2021-35939`
|
||||
- rsync: :cve:`2022-29154`
|
||||
- subversion: :cve:`2021-28544`, :cve:`2022-24070`
|
||||
- tiff: :cve:`2022-1210 (not applicable)`, :cve:`2022-1622`, :cve:`2022-1623 (invalid)`, :cve:`2022-2056`, :cve:`2022-2057`, :cve:`2022-2058`, :cve:`2022-2953`, :cve:`2022-34526`
|
||||
- tiff: :cve:`2022-1210` (not applicable), :cve:`2022-1622`, :cve:`2022-1623` (invalid), :cve:`2022-2056`, :cve:`2022-2057`, :cve:`2022-2058`, :cve:`2022-2953`, :cve:`2022-34526`
|
||||
- unzip: :cve:`2022-0529`, :cve:`2022-0530`
|
||||
- vim: :cve:`2022-1381`, :cve:`2022-1420`, :cve:`2022-1621`, :cve:`2022-1629`, :cve:`2022-1674`, :cve:`2022-1733`, :cve:`2022-1735`, :cve:`2022-1769`, :cve:`2022-1771`, :cve:`2022-1785`, :cve:`2022-1796`, :cve:`2022-1927`, :cve:`2022-1942`, :cve:`2022-2257`, :cve:`2022-2264`, :cve:`2022-2284`, :cve:`2022-2285`, :cve:`2022-2286`, :cve:`2022-2287`, :cve:`2022-2816`, :cve:`2022-2817`, :cve:`2022-2819`, :cve:`2022-2845`, :cve:`2022-2849`, :cve:`2022-2862`, :cve:`2022-2874`, :cve:`2022-2889`, :cve:`2022-2980`, :cve:`2022-2946`, :cve:`2022-2982`, :cve:`2022-3099`, :cve:`2022-3134`, :cve:`2022-3234`, :cve:`2022-3278`
|
||||
- zlib: :cve:`2022-37434`
|
||||
|
||||
@@ -6,23 +6,979 @@ Release notes for 4.2 (mickledore)
|
||||
New Features / Enhancements in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Python 3.8 is the minimum Python version required on the build host.
|
||||
For host distributions that do not provide it, this is included as part of the
|
||||
:term:`buildtools` tarball.
|
||||
- Linux kernel 6.1, glibc 2.37 and ~350 other recipe upgrades
|
||||
|
||||
- This release now supports a new ``addpylib`` directive to enable
|
||||
Python libraries within layers.
|
||||
- Python 3.8+ and GCC 8.0+ are now the minimum required versions on the build host.
|
||||
For host distributions that do not provide it, this is included as part of the
|
||||
:term:`buildtools` tarball.
|
||||
|
||||
This directive should be added to your layer configuration,
|
||||
as in the below example from ``meta/conf/layer.conf``::
|
||||
- BitBake in this release now supports a new ``addpylib`` directive to enable
|
||||
Python libraries within layers. For more information,
|
||||
see :ref:`bitbake-user-manual/bitbake-user-manual-metadata:extending python library code`.
|
||||
|
||||
addpylib ${LAYERDIR}/lib oe
|
||||
This directive should be added to your layer configuration
|
||||
as in the below example from ``meta/conf/layer.conf``::
|
||||
|
||||
addpylib ${LAYERDIR}/lib oe
|
||||
|
||||
- BitBake has seen multiple internal changes that may improve
|
||||
memory and disk usage as well as parsing time, in particular:
|
||||
|
||||
- BitBake's Cooker server is now multithreaded.
|
||||
|
||||
- Ctrl+C can now be used to interrupt some long-running operations
|
||||
that previously ignored it.
|
||||
|
||||
- BitBake's cache has been extended to include more hash
|
||||
debugging data, but has also been optimized to :yocto_git:`compress
|
||||
cache data <https://git.yoctoproject.org/poky/commit/?h=mickledore&id=7d010055e2af3294e17db862f42664ca689a9356>`.
|
||||
|
||||
- BitBake's UI will now ping the server regularly to ensure
|
||||
it is still alive.
|
||||
|
||||
- New variables:
|
||||
|
||||
- :term:`VOLATILE_TMP_DIR` allows to specify
|
||||
whether ``/tmp`` should be on persistent storage
|
||||
or in RAM.
|
||||
|
||||
- :term:`SPDX_CUSTOM_ANNOTATION_VARS` allows to add
|
||||
specific comments to the :term:`SPDX` description of a recipe.
|
||||
|
||||
- Rust improvements:
|
||||
|
||||
- This release adds Cargo support on the target, and includes
|
||||
automated QA tests for this functionality.
|
||||
|
||||
- It also supports checksums for Rust crates and makes
|
||||
them mandatory for each crate in a recipe.
|
||||
|
||||
- New :ref:`ref-classes-cargo-update-recipe-crates` class to
|
||||
enable updating :term:`SRC_URI` crate lists from ``Cargo.lock``
|
||||
|
||||
- Enabled building Rust for baremetal targets
|
||||
|
||||
- You can now also easily select to build beta or nightly
|
||||
versions of Rust with a new :term:`RUST_CHANNEL` variable
|
||||
(use at own risk)
|
||||
|
||||
- Support for local GitHub repos in :term:`SRC_URI` as
|
||||
replacements for Cargo dependencies
|
||||
|
||||
- Use built-in Rust targets for ``-native`` builds to save several
|
||||
minutes building the Rust toolchain
|
||||
|
||||
- Architecture-specific enhancements:
|
||||
|
||||
- This release adds initial support for the
|
||||
:wikipedia:`LoongArch <Loongson#LoongArch>`
|
||||
(``loongarch64``) architecture, though there is no testing for it yet.
|
||||
|
||||
- New ``x86-64-v3`` tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE)
|
||||
|
||||
- go: add support to build on ppc64le
|
||||
- rust: rustfmt now working and installed for riscv32
|
||||
- libpng: enable NEON for aarch64 to ensure consistency with arm32.
|
||||
- baremetal-helloworld: Enable x86 and x86-64 ports
|
||||
|
||||
- Kernel-related enhancements:
|
||||
|
||||
- Added some support for building 6.2/6.3-rc kernels
|
||||
- linux-yocto-dev: mark as compatible with qemuarm64 and qemuarmv5
|
||||
- Add kernel specific OBJCOPY to help switching toolchains cleanly for kernel build between gcc and clang
|
||||
|
||||
- New core recipes:
|
||||
|
||||
- ``debugedit``
|
||||
- ``gtk4`` (import from meta-gnome)
|
||||
- ``gcr``: add recipe for gcr-4
|
||||
- ``graphene`` (import from meta-oe)
|
||||
- ``libc-test``
|
||||
- ``libportal`` (import from meta-gnome)
|
||||
- ``libslirp``
|
||||
- ``libtest-fatal-perl``
|
||||
- ``libtest-warnings-perl`` (import from meta-perl)
|
||||
- ``libtry-tiny-perl``
|
||||
- ``python3-build``
|
||||
- ``python3-pyproject-hooks``
|
||||
- ``python3-hatch-fancy-pypi-readme``
|
||||
- ``python3-unittest-automake``
|
||||
|
||||
- QEMU/runqemu enhancements:
|
||||
|
||||
- Set ``QB_SMP`` with ?= to make it easier to modify
|
||||
- Set ``QB_CPU`` with ?= to make it easier to modify (x86 configuration only)
|
||||
- New ``QB_NFSROOTFS_EXTRA_OPT`` to allow extra options to be appended to the NFS rootfs options in kernel boot args, e.g. ``"wsize=4096,rsize=4096"``
|
||||
- New ``QB_SETUP_CMD`` and ``QB_CLEANUP_CMD`` to enable running custom shell setup and cleanup commands before and after QEMU.
|
||||
- ``QB_DEFAULT_KERNEL`` now defaults to pick the bundled initramfs kernel image if the Linux kernel image is generated with :term:`INITRAMFS_IMAGE_BUNDLE` set to "1"
|
||||
- Split out the QEMU guest agent to its own ``qemu-guest-agent`` package
|
||||
- runqemu: new ``guestagent`` option to enable communication with the guest agent
|
||||
- runqemu: respect :term:`IMAGE_LINK_NAME` when searching for image
|
||||
|
||||
- Image-related enhancements:
|
||||
|
||||
- Add 7-Zip support in image conversion types (``7zip``)
|
||||
- New :term:`IMAGE_MACHINE_SUFFIX` variable to allow easily removing machine name suffix from image file names
|
||||
|
||||
- wic Image Creator enhancements:
|
||||
|
||||
- ``bootimg-efi.py``: add support for directly loading Linux kernel UEFI stub
|
||||
- ``bootimg-efi.py``: implement ``--include-path``
|
||||
- Allow usage of ``fstype=none`` to specify an unformatted partition
|
||||
- Implement repeatable disk identifiers based on :term:`SOURCE_DATE_EPOCH`
|
||||
|
||||
- FIT image related improvements:
|
||||
|
||||
- FIT image signing support has been reworked to remove interdependencies and make it more easily extensible
|
||||
- Skip FDT section creation for applicable symlinks to avoid the same dtb being duplicated
|
||||
- New :term:`FIT_CONF_DEFAULT_DTB` variable to enable selecting default dtb when multiple dtbs exist
|
||||
|
||||
- SDK-related improvements:
|
||||
|
||||
- Extended the following recipes to nativesdk:
|
||||
|
||||
- ``bc``
|
||||
- ``gi-docgen``
|
||||
- ``gperf``
|
||||
- ``python3-iniconfig``
|
||||
- ``python3-atomicwrites``
|
||||
- ``python3-markdown``
|
||||
- ``python3-smartypants``
|
||||
- ``python3-typogrify``
|
||||
- ``ruby``
|
||||
- ``unifdef``
|
||||
|
||||
- New :term:`SDK_ZIP_OPTIONS` variable to enable passing additional options to the zip command when preparing the SDK zip archive
|
||||
- New Rust SDK target packagegroup (``packagegroup-rust-sdk-target``)
|
||||
|
||||
- Testing:
|
||||
|
||||
- The ptest images have changed structure in this release. The
|
||||
underlying ``core-image-ptest`` recipe now uses :term:`BBCLASSEXTEND` to
|
||||
create a variant for each ptest enabled recipe in OE-Core.
|
||||
|
||||
For example, this means that ``core-image-ptest-bzip2``,
|
||||
``core-image-ptest-lttng-tools`` and many more image targets now exist
|
||||
and can be built/tested individually.
|
||||
|
||||
The ``core-image-ptest-all`` and ``core-image-ptest-fast`` targets are now
|
||||
wrappers that target groups of individual images and means that the tests
|
||||
can be executed in parallel during our automated testing. This also means
|
||||
the dependencies are more accurately tested.
|
||||
|
||||
- It is now possible to track regression changes between releases using
|
||||
:oe_git:`yocto_testresults_query.py </openembedded-core/tree/scripts/yocto_testresults_query.py>`,
|
||||
which is a thin wrapper over :oe_git:`resulttool
|
||||
</openembedded-core/tree/scripts/resulttool>`. Here is an example
|
||||
command, which allowed to spot and fix a regression in the
|
||||
``quilt`` ptest::
|
||||
|
||||
yocto_testresults_query.py regression-report 4.2_M1 4.2_M2
|
||||
|
||||
See this `blog post about regression detection
|
||||
<https://bootlin.com/blog/continuous-integration-in-yocto-improving-the-regressions-detection/>`__.
|
||||
|
||||
- This release adds support for parallel ptest execution with a ptest per image.
|
||||
This takes ptest execution time from 3.5 hours to around 45 minutes on the autobuilder.
|
||||
|
||||
- Basic Rust compile/run and cargo tests
|
||||
|
||||
- New ``python3-unittest-automake`` recipe which provides modules for pytest
|
||||
and unittest to adjust their output to automake-style for easier integration
|
||||
with the ptest system.
|
||||
|
||||
- ptest support added to ``bc``, ``cpio`` and ``gnutls``, and fixes made to
|
||||
ptests in numerous other recipes.
|
||||
|
||||
- ``ptest-runner`` now adds a non-root "ptest" user to run tests.
|
||||
|
||||
- ``resulttool``: add a ``--list-ptest`` option to the log subcommand to list ptest names
|
||||
in a results file
|
||||
|
||||
- ``resulttool``: regression: add metadata filtering for oeselftest
|
||||
|
||||
- New :term:`PACKAGECONFIG` options in the following recipes:
|
||||
|
||||
- ``at-spi2-core``
|
||||
- ``base-passwd``
|
||||
- ``cronie``
|
||||
- ``cups``
|
||||
- ``curl``
|
||||
- ``file``
|
||||
- ``gstreamer1.0-plugins-good``
|
||||
- ``gtk+3``
|
||||
- ``iproute2``
|
||||
- ``libsdl2``
|
||||
- ``libtiff``
|
||||
- ``llvm``
|
||||
- ``mesa``
|
||||
- ``psmisc``
|
||||
- ``qemu``
|
||||
- ``sudo``
|
||||
- ``systemd``
|
||||
- ``tiff``
|
||||
- ``util-linux``
|
||||
|
||||
- Extended the following recipes to native:
|
||||
|
||||
- ``iso-codes``
|
||||
- ``libxkbcommon``
|
||||
- ``p11-kit``
|
||||
- ``python3-atomicwrites``
|
||||
- ``python3-dbusmock``
|
||||
- ``python3-iniconfig``
|
||||
- ``xkeyboard-config``
|
||||
|
||||
- Utility script changes:
|
||||
|
||||
- ``devtool``: ignore patch-fuzz errors when extracting source in order to enable fixing fuzz issues
|
||||
- ``oe-setup-layers``: make efficiently idempotent
|
||||
- ``oe-setup-layers``: print a note about submodules if present
|
||||
- New ``buildstats-summary`` script to show a summary of the buildstats data
|
||||
- :ref:`ref-classes-report-error` class: catch ``Nothing PROVIDES`` error
|
||||
- ``combo-layer``: add ``sync-revs`` command
|
||||
- ``convert-overrides``: allow command-line customizations
|
||||
|
||||
- bitbake-layers improvements:
|
||||
|
||||
- ``layerindex-fetch``: checkout layer(s) branch when clone exists
|
||||
- ``create``: add ``-a``/``--add-layer option`` to add layer to ``bblayers.conf`` after creating layer
|
||||
- ``show-layers``: improve output layout
|
||||
|
||||
- Other BitBake improvements:
|
||||
|
||||
- Inline Python snippets can now include dictionary expressions
|
||||
- Evaluate the value of export/unexport/network flags so that they can be reset to "0"
|
||||
- Make :term:`EXCLUDE_FROM_WORLD` boolean so that it can be reset to "0"
|
||||
- Support int values in ``bb.utils.to_boolean()`` in addition to strings
|
||||
- ``bitbake-getvar``: Add a ``quiet`` command line argument
|
||||
- Allow the ``@`` character in variable flag names
|
||||
- Python library code will now be included when calculating task hashes
|
||||
- ``fetch2/npmsw``: add more short forms for git operations
|
||||
- Display a warning when ``SRCREV = "${AUTOREV}"`` is set too late to be effective
|
||||
- Display all missing :term:`SRC_URI` checksums at once
|
||||
- Improve error message for a missing multiconfig
|
||||
- Switch to a new :term:`BB_CACHEDIR` variable for codeparser cache location
|
||||
- Mechanism introduced to reduce the codeparser cache unnecessarily growing in size
|
||||
|
||||
- Packaging changes:
|
||||
|
||||
- ``rng-tools`` is no longer recommended by ``openssh``, and the ``rng-tools``
|
||||
service files have been split out to their own package
|
||||
- ``linux-firmware``: split ``rtl8761`` and ``amdgpu`` firmware
|
||||
- ``linux-firmware``: add new firmware file to ``${PN}-qcom-adreno-a530``
|
||||
- ``iproute2``: separate ``routel`` and add Python dependency
|
||||
- ``xinetd``: move ``xconv.pl`` script to separate package
|
||||
- ``perf``: enable debug/source packaging
|
||||
|
||||
- Prominent documentation updates:
|
||||
|
||||
- Substantially expanded the ":doc:`/dev-manual/vulnerabilities`" section.
|
||||
- Added a new ":doc:`/dev-manual/sbom`" section about SPDX SBoM generation.
|
||||
- Expanded ":ref:`init-manager`" documentation.
|
||||
- New section about :ref:`ref-long-term-support-releases`.
|
||||
- System Requirements: details about :ref:`system-requirements-minimum-ram`.
|
||||
- Details about :ref:`ref-building-meson-package` and the
|
||||
:ref:`ref-classes-meson` class.
|
||||
- Documentation about how to write recipes for Rust programs. See the
|
||||
:ref:`ref-classes-cargo` class.
|
||||
- Documentation about how to write recipes for Go programs. See the
|
||||
:ref:`ref-classes-go` class.
|
||||
- Variable index: added references to variables only documented in the
|
||||
BitBake manual. All variables should be easy to access through the Yocto
|
||||
Manual variable index.
|
||||
- Expanded the description of the :term:`BB_NUMBER_THREADS` variable.
|
||||
|
||||
- Miscellaneous changes:
|
||||
|
||||
- Supporting 64 bit dates on 32 bit platforms: several packages have been
|
||||
updated to pass year 2038 tests, and a QA check for 32 bit time and file
|
||||
offset functions has been added (default off)
|
||||
|
||||
- Patch fuzz/Upstream-Status checking has been reworked:
|
||||
|
||||
- Upstream-Status checking is now configurable from :term:`WARN_QA`/:term:`ERROR_QA` (``patch-status-core``)
|
||||
- Can now be enabled for non-core layers (``patch-status-noncore``)
|
||||
- ``patch-fuzz`` is now in :term:`ERROR_QA` by default, and actually stops the build
|
||||
|
||||
- Many packages were updated to add large file support.
|
||||
|
||||
- ``vulkan-loader``: allow headless targets to build the loader
|
||||
- ``dhcpcd``: fix to work with systemd
|
||||
- ``u-boot``: add /boot to :term:`SYSROOT_DIRS` to allow boot files to be used by other recipes
|
||||
- ``linux-firmware``: don't put the firmware into the sysroot
|
||||
- ``cups``: add :term:`PACKAGECONFIG` to control web interface and default to off
|
||||
- ``buildtools-tarball``: export certificates to python and curl
|
||||
- ``yocto-check-layer``: allow OE-Core to be tested
|
||||
- ``yocto-check-layer``: check for patch file upstream status
|
||||
- ``boost``: enable building ``Boost.URL`` library
|
||||
- ``native``: drop special variable handling
|
||||
- Poky: make it easier to set :term:`INIT_MANAGER` from local.conf
|
||||
- :ref:`ref-classes-create-spdx`: add support for custom annotations (:term:`SPDX_CUSTOM_ANNOTATION_VARS`)
|
||||
- :ref:`ref-classes-create-spdx`: report downloads as separate packages
|
||||
- :ref:`ref-classes-create-spdx`: remove the top-level image SPDX file and the JSON index file from :term:`DEPLOYDIR` to avoid confusion
|
||||
- ``os-release``: replace ``DISTRO_CODENAME`` with ``VERSION_CODENAME`` (still set from :term:`DISTRO_CODENAME`)
|
||||
- ``weston``: add kiosk shell
|
||||
- :ref:`ref-classes-overlayfs`: Allow unused mount points
|
||||
- ``sstatesig``: emit more helpful error message when not finding sstate manifest
|
||||
- :ref:`ref-classes-pypi`.bbclass: Set :term:`SRC_URI` downloadfilename with an optional prefix
|
||||
- ``poky-bleeding`` distro: update and rework
|
||||
- :ref:`package.bbclass <ref-classes-package>`: check if package names conflict via ``PKG:${PN}`` override in :ref:`do_package <ref-tasks-package>`
|
||||
- ``cve-update-nvd2-native``: new NVD CVE database fetcher using the 2.0 API
|
||||
- :ref:`ref-classes-mirrors` class: use shallow tarball for ``binutils-native``/``nativesdk-binutils``
|
||||
- ``meta/conf``: move default configuration templates into ``meta/conf/templates/default``
|
||||
- ``binutils``: enable ``--enable-new-dtags`` as per many Linux distributions
|
||||
- ``base-files``: drop ``localhost.localdomain`` from hosts file as per many Linux distributions
|
||||
- ``packagegroup-core-boot``: make ``init-ifupdown`` package a recommendation
|
||||
|
||||
Known Issues in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- N/A
|
||||
|
||||
Recipe License changes in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following corrections have been made to the :term:`LICENSE` values set by recipes:
|
||||
|
||||
- ``curl``: set :term:`LICENSE` appropriately to ``curl`` as it is a special derivative of the MIT/X license, not exactly that license.
|
||||
- ``libgit2``: added ``Zlib``, ``ISC``, ``LGPL-2.1-or-later`` and ``CC0-1.0`` to :term:`LICENSE` covering portions of the included code.
|
||||
- ``linux-firmware``: set package :term:`LICENSE` appropriately for all qcom packages
|
||||
|
||||
Security Fixes in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- binutils: :cve:`2022-4285`, `CVE-2023-25586 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-25586>`__
|
||||
- curl: :cve:`2022-32221`, :cve:`2022-35260`, :cve:`2022-42915`, :cve:`2022-42916`
|
||||
- epiphany: :cve:`2023-26081`
|
||||
- expat: :cve:`2022-43680`
|
||||
- ffmpeg: :cve:`2022-3964`, :cve:`2022-3965`
|
||||
- git: :cve:`2022-39260`, :cve:`2022-41903`, :cve:`2022-23521`, :cve:`2022-41953` (ignored)
|
||||
- glibc: :cve:`2023-25139` (ignored)
|
||||
- go: :cve:`2023-24532`, :cve:`2023-24537`
|
||||
- grub2: :cve:`2022-2601`, :cve:`2022-3775`, `CVE-2022-28736 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28736>`__
|
||||
- inetutils: :cve:`2019-0053`
|
||||
- less: :cve:`2022-46663`
|
||||
- libarchive: :cve:`2022-36227`
|
||||
- libinput: :cve:`2022-1215`
|
||||
- libpam: :cve:`2022-28321`
|
||||
- libpng: :cve:`2019-6129`
|
||||
- libx11: :cve:`2022-3554`
|
||||
- openssh: :cve:`2023-28531`
|
||||
- openssl: :cve:`2022-3358`, :cve:`2022-3786`, :cve:`2022-3602`, :cve:`2022-3996`, :cve:`2023-0286`, :cve:`2022-4304`, :cve:`2022-4203`, :cve:`2023-0215`, :cve:`2022-4450`, :cve:`2023-0216`, :cve:`2023-0217`, :cve:`2023-0401`, :cve:`2023-0464`
|
||||
- ppp: :cve:`2022-4603`
|
||||
- python3-cryptography{-vectors}: :cve:`2022-3602`, :cve:`2022-3786`, :cve:`2023-23931`
|
||||
- python3: `CVE-2022-37460 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-37460>`__
|
||||
- qemu: :cve:`2022-3165`
|
||||
- rust: :cve:`2022-46176`
|
||||
- rxvt-unicode: :cve:`2022-4170`
|
||||
- screen: :cve:`2023-24626`
|
||||
- shadow: :cve:`2023-29383`, :cve:`2016-15024` (ignored)
|
||||
- sudo: :cve:`2022-43995`
|
||||
- systemd: :cve:`2022-4415` (ignored)
|
||||
- tar: :cve:`2022-48303`
|
||||
- tiff: :cve:`2022-3599`, :cve:`2022-3597`, :cve:`2022-3626`, :cve:`2022-3627`, :cve:`2022-3570`, :cve:`2022-3598`, :cve:`2022-3970`, :cve:`2022-48281`
|
||||
- vim: :cve:`2022-3352`, :cve:`2022-4141`, :cve:`2023-0049`, :cve:`2023-0051`, :cve:`2023-0054`, :cve:`2023-0288`, :cve:`2023-1127`, :cve:`2023-1170`, :cve:`2023-1175`, :cve:`2023-1127`, :cve:`2023-1170`, :cve:`2023-1175`, :cve:`2023-1264`, :cve:`2023-1355`, :cve:`2023-0433`, :cve:`2022-47024`, :cve:`2022-3705`
|
||||
- xdg-utils: :cve:`2022-4055`
|
||||
- xserver-xorg: :cve:`2022-3550`, :cve:`2022-3551`, :cve:`2023-1393`, :cve:`2023-0494`, :cve:`2022-3553` (ignored)
|
||||
|
||||
Recipe Upgrades in 4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- acpid: upgrade 2.0.33 -> 2.0.34
|
||||
- adwaita-icon-theme: update 42.0 -> 43
|
||||
- alsa-lib: upgrade 1.2.7.2 -> 1.2.8
|
||||
- alsa-ucm-conf: upgrade 1.2.7.2 -> 1.2.8
|
||||
- alsa-utils: upgrade 1.2.7 -> 1.2.8
|
||||
- apr: update 1.7.0 -> 1.7.2
|
||||
- apr-util: update 1.6.1 -> 1.6.3
|
||||
- argp-standalone: replace with a maintained fork
|
||||
- at-spi2-core: upgrade 2.44.1 -> 2.46.0
|
||||
- autoconf-archive: upgrade 2022.09.03 -> 2023.02.20
|
||||
- babeltrace: upgrade 1.5.8 -> 1.5.11
|
||||
- base-passwd: Update to 3.6.1
|
||||
- bash: update 5.1.16 -> 5.2.15
|
||||
- bind: upgrade 9.18.7 -> 9.18.12
|
||||
- binutils: Upgrade to 2.40 release
|
||||
- bluez: update 5.65 -> 5.66
|
||||
- boost-build-native: update 1.80.0 -> 1.81.0
|
||||
- boost: upgrade 1.80.0 -> 1.81.0
|
||||
- btrfs-tools: upgrade 5.19.1 -> 6.1.3
|
||||
- busybox: 1.35.0 -> 1.36.0
|
||||
- ccache: upgrade 4.6.3 -> 4.7.4
|
||||
- cmake: update 3.24.0 -> 3.25.2
|
||||
- cracklib: upgrade to v2.9.10
|
||||
- curl: upgrade 7.86.0 -> 8.0.1
|
||||
- dbus: upgrade 1.14.0 -> 1.14.6
|
||||
- diffoscope: upgrade 221 -> 236
|
||||
- diffstat: upgrade 1.64 -> 1.65
|
||||
- diffutils: update 3.8 -> 3.9
|
||||
- dos2unix: upgrade 7.4.3 -> 7.4.4
|
||||
- dpkg: update 1.21.9 -> 1.21.21
|
||||
- dropbear: upgrade 2022.82 -> 2022.83
|
||||
- dtc: upgrade 1.6.1 -> 1.7.0
|
||||
- e2fsprogs: upgrade 1.46.5 -> 1.47.0
|
||||
- ed: upgrade 1.18 -> 1.19
|
||||
- elfutils: update 0.187 -> 0.188
|
||||
- ell: upgrade 0.53 -> 0.56
|
||||
- enchant2: upgrade 2.3.3 -> 2.3.4
|
||||
- encodings: update 1.0.6 -> 1.0.7
|
||||
- epiphany: update 42.4 -> 43.1
|
||||
- ethtool: upgrade 5.19 -> 6.2
|
||||
- expat: upgrade to 2.5.0
|
||||
- ffmpeg: upgrade 5.1.1 -> 5.1.2
|
||||
- file: upgrade 5.43 -> 5.44
|
||||
- flac: update 1.4.0 -> 1.4.2
|
||||
- font-alias: update 1.0.4 -> 1.0.5
|
||||
- fontconfig: upgrade 2.14.0 -> 2.14.2
|
||||
- font-util: upgrade 1.3.3 -> 1.4.0
|
||||
- freetype: update 2.12.1 -> 2.13.0
|
||||
- gawk: update 5.1.1 -> 5.2.1
|
||||
- gcr3: update 3.40.0 -> 3.41.1
|
||||
- gcr: rename gcr -> gcr3
|
||||
- gdb: Upgrade to 13.1
|
||||
- gdk-pixbuf: upgrade 2.42.9 -> 2.42.10
|
||||
- gettext: update 0.21 -> 0.21.1
|
||||
- ghostscript: update 9.56.1 -> 10.0.0
|
||||
- gi-docgen: upgrade 2022.1 -> 2023.1
|
||||
- git: upgrade 2.37.3 -> 2.39.2
|
||||
- glib-2.0: update 2.72.3 -> 2.74.6
|
||||
- glibc: upgrade to 2.37 release + stable updates
|
||||
- glib-networking: update 2.72.2 -> 2.74.0
|
||||
- glslang: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- gnu-config: upgrade to latest revision
|
||||
- gnupg: upgrade 2.3.7 -> 2.4.0
|
||||
- gnutls: upgrade 3.7.7 -> 3.8.0
|
||||
- gobject-introspection: upgrade 1.72.0 -> 1.74.0
|
||||
- go: update 1.19 -> 1.20.1
|
||||
- grep: update 3.7 -> 3.10
|
||||
- gsettings-desktop-schemas: upgrade 42.0 -> 43.0
|
||||
- gstreamer1.0: upgrade 1.20.3 -> 1.22.0
|
||||
- gtk+3: upgrade 3.24.34 -> 3.24.36
|
||||
- gtk4: update 4.8.2 -> 4.10.0
|
||||
- harfbuzz: upgrade 5.1.0 -> 7.1.0
|
||||
- hdparm: update 9.64 -> 9.65
|
||||
- help2man: upgrade 1.49.2 -> 1.49.3
|
||||
- icu: update 71.1 -> 72-1
|
||||
- ifupdown: upgrade 0.8.37 -> 0.8.41
|
||||
- igt-gpu-tools: upgrade 1.26 -> 1.27.1
|
||||
- inetutils: upgrade 2.3 -> 2.4
|
||||
- init-system-helpers: upgrade 1.64 -> 1.65.2
|
||||
- iproute2: upgrade 5.19.0 -> 6.2.0
|
||||
- iptables: update 1.8.8 -> 1.8.9
|
||||
- iputils: update to 20221126
|
||||
- iso-codes: upgrade 4.11.0 -> 4.13.0
|
||||
- jquery: upgrade 3.6.0 -> 3.6.3
|
||||
- kexec-tools: upgrade 2.0.25 -> 2.0.26
|
||||
- kmscube: upgrade to latest revision
|
||||
- libarchive: upgrade 3.6.1 -> 3.6.2
|
||||
- libbsd: upgrade 0.11.6 -> 0.11.7
|
||||
- libcap: upgrade 2.65 -> 2.67
|
||||
- libdnf: update 0.69.0 -> 0.70.0
|
||||
- libdrm: upgrade 2.4.113 -> 2.4.115
|
||||
- libedit: upgrade 20210910-3.1 -> 20221030-3.1
|
||||
- libepoxy: update 1.5.9 -> 1.5.10
|
||||
- libffi: upgrade 3.4.2 -> 3.4.4
|
||||
- libfontenc: upgrade 1.1.6 -> 1.1.7
|
||||
- libgit2: upgrade 1.5.0 -> 1.6.3
|
||||
- libgpg-error: update 1.45 -> 1.46
|
||||
- libhandy: update 1.6.3 -> 1.8.1
|
||||
- libical: upgrade 3.0.14 -> 3.0.16
|
||||
- libice: update 1.0.10 -> 1.1.1
|
||||
- libidn2: upgrade 2.3.3 -> 2.3.4
|
||||
- libinput: upgrade 1.19.4 -> 1.22.1
|
||||
- libjpeg-turbo: upgrade 2.1.4 -> 2.1.5.1
|
||||
- libksba: upgrade 1.6.0 -> 1.6.3
|
||||
- libmicrohttpd: upgrade 0.9.75 -> 0.9.76
|
||||
- libmodule-build-perl: update 0.4231 -> 0.4232
|
||||
- libmpc: upgrade 1.2.1 -> 1.3.1
|
||||
- libnewt: update 0.52.21 -> 0.52.23
|
||||
- libnotify: upgrade 0.8.1 -> 0.8.2
|
||||
- libpcap: upgrade 1.10.1 -> 1.10.3
|
||||
- libpciaccess: update 0.16 -> 0.17
|
||||
- libpcre2: upgrade 10.40 -> 10.42
|
||||
- libpipeline: upgrade 1.5.6 -> 1.5.7
|
||||
- libpng: upgrade 1.6.38 -> 1.6.39
|
||||
- libpsl: upgrade 0.21.1 -> 0.21.2
|
||||
- librepo: upgrade 1.14.5 -> 1.15.1
|
||||
- libsdl2: upgrade 2.24.1 -> 2.26.3
|
||||
- libsm: 1.2.3 > 1.2.4
|
||||
- libsndfile1: upgrade 1.1.0 -> 1.2.0
|
||||
- libsolv: upgrade 0.7.22 -> 0.7.23
|
||||
- libsoup-2.4: upgrade 2.74.2 -> 2.74.3
|
||||
- libsoup: upgrade 3.0.7 -> 3.2.2
|
||||
- libtest-fatal-perl: upgrade 0.016 -> 0.017
|
||||
- libtest-needs-perl: upgrade 0.002009 -> 0.002010
|
||||
- libunistring: upgrade 1.0 -> 1.1
|
||||
- liburcu: upgrade 0.13.2 -> 0.14.0
|
||||
- liburi-perl: upgrade 5.08 -> 5.17
|
||||
- libva: upgrade 2.15.0 -> 2.16.0
|
||||
- libva-utils: upgrade 2.15.0 -> 2.17.1
|
||||
- libwebp: upgrade 1.2.4 -> 1.3.0
|
||||
- libwpe: upgrade 1.12.3 -> 1.14.1
|
||||
- libx11: 1.8.1 -> 1.8.4
|
||||
- libx11-compose-data: 1.6.8 -> 1.8.4
|
||||
- libxau: upgrade 1.0.10 -> 1.0.11
|
||||
- libxcomposite: update 0.4.5 -> 0.4.6
|
||||
- libxcrypt-compat: upgrade 4.4.30 -> 4.4.33
|
||||
- libxcrypt: upgrade 4.4.28 -> 4.4.30
|
||||
- libxdamage: update 1.1.5 -> 1.1.6
|
||||
- libxdmcp: update 1.1.3 -> 1.1.4
|
||||
- libxext: update 1.3.4 -> 1.3.5
|
||||
- libxft: update 2.3.4 -> 2.3.6
|
||||
- libxft: upgrade 2.3.6 -> 2.3.7
|
||||
- libxinerama: update 1.1.4 -> 1.1.5
|
||||
- libxkbcommon: upgrade 1.4.1 -> 1.5.0
|
||||
- libxkbfile: update 1.1.0 -> 1.1.1
|
||||
- libxkbfile: upgrade 1.1.1 -> 1.1.2
|
||||
- libxml2: upgrade 2.9.14 -> 2.10.3
|
||||
- libxmu: update 1.1.3 -> 1.1.4
|
||||
- libxpm: update 3.5.13 -> 3.5.15
|
||||
- libxrandr: update 1.5.2 -> 1.5.3
|
||||
- libxrender: update 0.9.10 -> 0.9.11
|
||||
- libxres: update 1.2.1 -> 1.2.2
|
||||
- libxscrnsaver: update 1.2.3 -> 1.2.4
|
||||
- libxshmfence: update 1.3 -> 1.3.2
|
||||
- libxslt: upgrade 1.1.35 -> 1.1.37
|
||||
- libxtst: update 1.2.3 -> 1.2.4
|
||||
- libxv: update 1.0.11 -> 1.0.12
|
||||
- libxxf86vm: update 1.1.4 -> 1.1.5
|
||||
- lighttpd: upgrade 1.4.66 -> 1.4.69
|
||||
- linux-firmware: upgrade 20220913 -> 20230210
|
||||
- linux-libc-headers: bump to 6.1
|
||||
- linux-yocto/5.15: update genericx86* machines to v5.15.103
|
||||
- linux-yocto/5.15: update to v5.15.108
|
||||
- linux-yocto/6.1: update to v6.1.25
|
||||
- linux-yocto-dev: bump to v6.3
|
||||
- linux-yocto-rt/5.15: update to -rt59
|
||||
- linux-yocto-rt/6.1: update to -rt7
|
||||
- llvm: update 14.0.6 -> 15.0.7
|
||||
- log4cplus: upgrade 2.0.8 -> 2.1.0
|
||||
- logrotate: upgrade 3.20.1 -> 3.21.0
|
||||
- lsof: upgrade 4.95.0 -> 4.98.0
|
||||
- ltp: upgrade 20220527 -> 20230127
|
||||
- lttng-modules: upgrade 2.13.4 -> 2.13.9
|
||||
- lttng-tools: update 2.13.8 -> 2.13.9
|
||||
- lttng-ust: upgrade 2.13.4 -> 2.13.5
|
||||
- makedepend: upgrade 1.0.6 -> 1.0.8
|
||||
- make: update 4.3 -> 4.4.1
|
||||
- man-db: update 2.10.2 -> 2.11.2
|
||||
- man-pages: upgrade 5.13 -> 6.03
|
||||
- matchbox-config-gtk: Update to latest SRCREV
|
||||
- matchbox-desktop-2: Update 2.2 -> 2.3
|
||||
- matchbox-panel-2: Update 2.11 -> 2.12
|
||||
- matchbox-terminal: Update to latest SRCREV
|
||||
- matchbox-wm: Update 1.2.2 -> 1.2.3
|
||||
- mc: update 4.8.28 -> 4.8.29
|
||||
- mesa: update 22.2.0 -> 23.0.0
|
||||
- meson: upgrade 0.63.2 -> 1.0.1
|
||||
- mmc-utils: upgrade to latest revision
|
||||
- mobile-broadband-provider-info: upgrade 20220725 -> 20221107
|
||||
- mpfr: upgrade 4.1.0 -> 4.2.0
|
||||
- mpg123: upgrade 1.30.2 -> 1.31.2
|
||||
- msmtp: upgrade 1.8.22 -> 1.8.23
|
||||
- mtd-utils: upgrade 2.1.4 -> 2.1.5
|
||||
- mtools: upgrade 4.0.40 -> 4.0.42
|
||||
- musl-obstack: Update to 1.2.3
|
||||
- musl: Upgrade to latest master
|
||||
- nasm: update 2.15.05 -> 2.16.01
|
||||
- ncurses: upgrade 6.3+20220423 -> 6.4
|
||||
- netbase: upgrade 6.3 -> 6.4
|
||||
- newlib: Upgrade 4.2.0 -> 4.3.0
|
||||
- nghttp2: upgrade 1.49.0 -> 1.52.0
|
||||
- numactl: upgrade 2.0.15 -> 2.0.16
|
||||
- opensbi: Upgrade to 1.2 release
|
||||
- openssh: upgrade 9.0p1 -> 9.3p1
|
||||
- openssl: Upgrade 3.0.5 -> 3.1.0
|
||||
- opkg: upgrade to version 0.6.1
|
||||
- orc: upgrade 0.4.32 -> 0.4.33
|
||||
- ovmf: upgrade edk2-stable202205 -> edk2-stable202211
|
||||
- pango: upgrade 1.50.9 -> 1.50.13
|
||||
- patchelf: upgrade 0.15.0 -> 0.17.2
|
||||
- pciutils: upgrade 3.8.0 -> 3.9.0
|
||||
- piglit: upgrade to latest revision
|
||||
- pinentry: update 1.2.0 -> 1.2.1
|
||||
- pixman: upgrade 0.40.0 -> 0.42.2
|
||||
- pkgconf: upgrade 1.9.3 -> 1.9.4
|
||||
- popt: update 1.18 -> 1.19
|
||||
- powertop: upgrade 2.14 -> 2.15
|
||||
- procps: update 3.3.17 -> 4.0.3
|
||||
- psmisc: upgrade 23.5 -> 23.6
|
||||
- puzzles: upgrade to latest revision
|
||||
- python3-alabaster: upgrade 0.7.12 -> 0.7.13
|
||||
- python3-attrs: upgrade 22.1.0 -> 22.2.0
|
||||
- python3-babel: upgrade 2.10.3 -> 2.12.1
|
||||
- python3-bcrypt: upgrade 3.2.2 -> 4.0.1
|
||||
- python3-certifi: upgrade 2022.9.14 -> 2022.12.7
|
||||
- python3-chardet: upgrade 5.0.0 -> 5.1.0
|
||||
- python3-cryptography: upgrade 38.0.3 -> 39.0.4
|
||||
- python3-cryptography-vectors: upgrade 37.0.4 -> 39.0.2
|
||||
- python3-cython: upgrade 0.29.32 -> 0.29.33
|
||||
- python3-dbusmock: update 0.28.4 -> 0.28.7
|
||||
- python3-dbus: upgrade 1.2.18 -> 1.3.2
|
||||
- python3-dtschema: upgrade 2022.8.3 -> 2023.1
|
||||
- python3-flit-core: upgrade 3.7.1 -> 3.8.0
|
||||
- python3-gitdb: upgrade 4.0.9 -> 4.0.10
|
||||
- python3-git: upgrade 3.1.27 -> 3.1.31
|
||||
- python3-hatch-fancy-pypi-readme: upgrade 22.7.0 -> 22.8.0
|
||||
- python3-hatchling: upgrade 1.9.0 -> 1.13.0
|
||||
- python3-hatch-vcs: upgrade 0.2.0 -> 0.3.0
|
||||
- python3-hypothesis: upgrade 6.54.5 -> 6.68.2
|
||||
- python3-importlib-metadata: upgrade 4.12.0 -> 6.0.0
|
||||
- python3-iniconfig: upgrade 1.1.1 -> 2.0.0
|
||||
- python3-installer: update 0.5.1 -> 0.6.0
|
||||
- python3-iso8601: upgrade 1.0.2 -> 1.1.0
|
||||
- python3-jsonschema: upgrade 4.9.1 -> 4.17.3
|
||||
- python3-lxml: upgrade 4.9.1 -> 4.9.2
|
||||
- python3-mako: upgrade 1.2.2 -> 1.2.4
|
||||
- python3-markupsafe: upgrade 2.1.1 -> 2.1.2
|
||||
- python3-more-itertools: upgrade 8.14.0 -> 9.1.0
|
||||
- python3-numpy: upgrade 1.23.3 -> 1.24.2
|
||||
- python3-packaging: upgrade to 23.0
|
||||
- python3-pathspec: upgrade 0.10.1 -> 0.11.0
|
||||
- python3-pbr: upgrade 5.10.0 -> 5.11.1
|
||||
- python3-pip: upgrade 22.2.2 -> 23.0.1
|
||||
- python3-poetry-core: upgrade 1.0.8 -> 1.5.2
|
||||
- python3-psutil: upgrade 5.9.2 -> 5.9.4
|
||||
- python3-pycairo: upgrade 1.21.0 -> 1.23.0
|
||||
- python3-pycryptodome: upgrade 3.15.0 -> 3.17
|
||||
- python3-pycryptodomex: upgrade 3.15.0 -> 3.17
|
||||
- python3-pygments: upgrade 2.13.0 -> 2.14.0
|
||||
- python3-pyopenssl: upgrade 22.0.0 -> 23.0.0
|
||||
- python3-pyrsistent: upgrade 0.18.1 -> 0.19.3
|
||||
- python3-pytest-subtests: upgrade 0.8.0 -> 0.10.0
|
||||
- python3-pytest: upgrade 7.1.3 -> 7.2.2
|
||||
- python3-pytz: upgrade 2022.2.1 -> 2022.7.1
|
||||
- python3-requests: upgrade 2.28.1 -> 2.28.2
|
||||
- python3-scons: upgrade 4.4.0 -> 4.5.2
|
||||
- python3-setuptools-rust: upgrade 1.5.1 -> 1.5.2
|
||||
- python3-setuptools-scm: upgrade 7.0.5 -> 7.1.0
|
||||
- python3-setuptools: upgrade 65.0.2 -> 67.6.0
|
||||
- python3-sphinxcontrib-applehelp: update 1.0.2 -> 1.0.4
|
||||
- python3-sphinxcontrib-htmlhelp: 2.0.0 -> 2.0.1
|
||||
- python3-sphinx-rtd-theme: upgrade 1.0.0 -> 1.2.0
|
||||
- python3-sphinx: upgrade 5.1.1 -> 6.1.3
|
||||
- python3-subunit: upgrade 1.4.0 -> 1.4.2
|
||||
- python3-testtools: upgrade 2.5.0 -> 2.6.0
|
||||
- python3-typing-extensions: upgrade 4.3.0 -> 4.5.0
|
||||
- python3: update 3.10.6 -> 3.11.2
|
||||
- python3-urllib3: upgrade 1.26.12 -> 1.26.15
|
||||
- python3-wcwidth: upgrade 0.2.5 -> 0.2.6
|
||||
- python3-wheel: upgrade 0.37.1 -> 0.40.0
|
||||
- python3-zipp: upgrade 3.8.1 -> 3.15.0
|
||||
- qemu: update 7.1.0 -> 7.2.0
|
||||
- quota: update 4.06 -> 4.09
|
||||
- readline: update 8.1.2 -> 8.2
|
||||
- repo: upgrade 2.29.2 -> 2.32
|
||||
- rgb: update 1.0.6 -> 1.1.0
|
||||
- rng-tools: upgrade 6.15 -> 6.16
|
||||
- rsync: update 3.2.5 -> 3.2.7
|
||||
- rt-tests: update 2.4 -> 2.5
|
||||
- ruby: update 3.1.2 -> 3.2.1
|
||||
- rust: update 1.63.0 -> 1.68.1
|
||||
- rxvt-unicode: upgrade 9.30 -> 9.31
|
||||
- sed: update 4.8 -> 4.9
|
||||
- shaderc: upgrade 2022.2 -> 2023.2
|
||||
- shadow: update 4.12.1 -> 4.13
|
||||
- socat: upgrade 1.7.4.3 -> 1.7.4.4
|
||||
- spirv-headers: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- spirv-tools: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- sqlite3: upgrade 3.39.3 -> 3.41.0
|
||||
- strace: upgrade 5.19 -> 6.2
|
||||
- stress-ng: update 0.14.03 -> 0.15.06
|
||||
- sudo: upgrade 1.9.11p3 -> 1.9.13p3
|
||||
- swig: update 4.0.2 -> 4.1.1
|
||||
- sysstat: upgrade 12.6.0 -> 12.6.2
|
||||
- systemd: update 251.4 -> 253.1
|
||||
- systemtap: upgrade 4.7 -> 4.8
|
||||
- taglib: upgrade 1.12 -> 1.13
|
||||
- tcf-agent: Update to current version
|
||||
- tcl: update 8.6.11 -> 8.6.13
|
||||
- texinfo: update 6.8 -> 7.0.2
|
||||
- tiff: update 4.4.0 -> 4.5.0
|
||||
- tzdata: update 2022d -> 2023c
|
||||
- u-boot: upgrade 2022.07 -> 2023.01
|
||||
- unfs: update 0.9.22 -> 0.10.0
|
||||
- usbutils: upgrade 014 -> 015
|
||||
- util-macros: upgrade 1.19.3 -> 1.20.0
|
||||
- vala: upgrade 0.56.3 -> 0.56.4
|
||||
- valgrind: update to 3.20.0
|
||||
- vim: Upgrade 9.0.0598 -> 9.0.1429
|
||||
- virglrenderer: upgrade 0.10.3 -> 0.10.4
|
||||
- vte: update 0.68.0 -> 0.72.0
|
||||
- vulkan-headers: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- vulkan-loader: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- vulkan-samples: update to latest revision
|
||||
- vulkan-tools: upgrade 1.3.236.0 -> 1.3.239.0
|
||||
- vulkan: update 1.3.216.0 -> 1.3.236.0
|
||||
- wayland-protocols: upgrade 1.26 -> 1.31
|
||||
- wayland-utils: update 1.0.0 -> 1.1.0
|
||||
- webkitgtk: update 2.36.7 -> 2.38.5
|
||||
- weston: update 10.0.2 -> 11.0.1
|
||||
- wireless-regdb: upgrade 2022.08.12 -> 2023.02.13
|
||||
- wpebackend-fdo: upgrade 1.12.1 -> 1.14.0
|
||||
- xcb-util: update 0.4.0 -> 0.4.1
|
||||
- xcb-util-keysyms: 0.4.0 -> 0.4.1
|
||||
- xcb-util-renderutil: 0.3.9 -> 0.3.10
|
||||
- xcb-util-wm: 0.4.1 -> 0.4.2
|
||||
- xcb-util-image: 0.4.0 -> 0.4.1
|
||||
- xf86-input-mouse: update 1.9.3 -> 1.9.4
|
||||
- xf86-input-vmmouse: update 13.1.0 -> 13.2.0
|
||||
- xf86-video-vesa: update 2.5.0 -> 2.6.0
|
||||
- xf86-video-vmware: update 13.3.0 -> 13.4.0
|
||||
- xhost: update 1.0.8 -> 1.0.9
|
||||
- xinit: update 1.4.1 -> 1.4.2
|
||||
- xkbcomp: update 1.4.5 -> 1.4.6
|
||||
- xkeyboard-config: upgrade 2.36 -> 2.38
|
||||
- xprop: update 1.2.5 -> 1.2.6
|
||||
- xrandr: upgrade 1.5.1 -> 1.5.2
|
||||
- xserver-xorg: upgrade 21.1.4 -> 21.1.7
|
||||
- xset: update 1.2.4 -> 1.2.5
|
||||
- xvinfo: update 1.1.4 -> 1.1.5
|
||||
- xwayland: upgrade 22.1.3 -> 22.1.8
|
||||
- xz: upgrade 5.2.6 -> 5.4.2
|
||||
- zlib: upgrade 1.2.12 -> 1.2.13
|
||||
- zstd: upgrade 1.5.2 -> 1.5.4
|
||||
|
||||
Contributors to 4.2
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Thanks to the following people who contributed to this release:
|
||||
|
||||
- Adrian Freihofer
|
||||
- Ahmad Fatoum
|
||||
- Alejandro Hernandez Samaniego
|
||||
- Alexander Kanavin
|
||||
- Alexandre Belloni
|
||||
- Alexey Smirnov
|
||||
- Alexis Lothoré
|
||||
- Alex Kiernan
|
||||
- Alex Stewart
|
||||
- Andrej Valek
|
||||
- Andrew Geissler
|
||||
- Anton Antonov
|
||||
- Antonin Godard
|
||||
- Archana Polampalli
|
||||
- Armin Kuster
|
||||
- Arnout Vandecappelle
|
||||
- Arturo Buzarra
|
||||
- Atanas Bunchev
|
||||
- Benjamin Szőke
|
||||
- Benoît Mauduit
|
||||
- Bernhard Rosenkränzer
|
||||
- Bruce Ashfield
|
||||
- Caner Altinbasak
|
||||
- Carlos Alberto Lopez Perez
|
||||
- Changhyeok Bae
|
||||
- Changqing Li
|
||||
- Charlie Johnston
|
||||
- Chase Qi
|
||||
- Chee Yang Lee
|
||||
- Chen Qi
|
||||
- Chris Elledge
|
||||
- Christian Eggers
|
||||
- Christoph Lauer
|
||||
- Chuck Wolber
|
||||
- Ciaran Courtney
|
||||
- Claus Stovgaard
|
||||
- Clément Péron
|
||||
- Daniel Ammann
|
||||
- David Bagonyi
|
||||
- Denys Dmytriyenko
|
||||
- Denys Zagorui
|
||||
- Diego Sueiro
|
||||
- Dmitry Baryshkov
|
||||
- Ed Tanous
|
||||
- Enguerrand de Ribaucourt
|
||||
- Enrico Jörns
|
||||
- Enrico Scholz
|
||||
- Etienne Cordonnier
|
||||
- Fabio Estevam
|
||||
- Fabre Sébastien
|
||||
- Fawzi KHABER
|
||||
- Federico Pellegrin
|
||||
- Frank de Brabander
|
||||
- Frederic Martinsons
|
||||
- Geoffrey GIRY
|
||||
- George Kelly
|
||||
- Harald Seiler
|
||||
- He Zhe
|
||||
- Hitendra Prajapati
|
||||
- Jagadeesh Krishnanjanappa
|
||||
- James Raphael Tiovalen
|
||||
- Jan Kircher
|
||||
- Jan Luebbe
|
||||
- Jan-Simon Moeller
|
||||
- Javier Tia
|
||||
- Jeremy Puhlman
|
||||
- Jermain Horsman
|
||||
- Jialing Zhang
|
||||
- Joel Stanley
|
||||
- Joe Slater
|
||||
- Johan Korsnes
|
||||
- Jon Mason
|
||||
- Jordan Crouse
|
||||
- Jose Quaresma
|
||||
- Joshua Watt
|
||||
- Justin Bronder
|
||||
- Kai Kang
|
||||
- Kasper Revsbech
|
||||
- Keiya Nobuta
|
||||
- Kenfe-Mickael Laventure
|
||||
- Kevin Hao
|
||||
- Khem Raj
|
||||
- Konrad Weihmann
|
||||
- Lei Maohui
|
||||
- Leon Anavi
|
||||
- Liam Beguin
|
||||
- Louis Rannou
|
||||
- Luca Boccassi
|
||||
- Luca Ceresoli
|
||||
- Luis Martins
|
||||
- Maanya Goenka
|
||||
- Marek Vasut
|
||||
- Mark Asselstine
|
||||
- Mark Hatle
|
||||
- Markus Volk
|
||||
- Marta Rybczynska
|
||||
- Martin Jansa
|
||||
- Martin Larsson
|
||||
- Mateusz Marciniec
|
||||
- Mathieu Dubois-Briand
|
||||
- Mauro Queiros
|
||||
- Maxim Uvarov
|
||||
- Michael Halstead
|
||||
- Michael Opdenacker
|
||||
- Mike Crowe
|
||||
- Mikko Rapeli
|
||||
- Ming Liu
|
||||
- Mingli Yu
|
||||
- Narpat Mali
|
||||
- Nathan Rossi
|
||||
- Niko Mauno
|
||||
- Ola x Nilsson
|
||||
- Oliver Lang
|
||||
- Ovidiu Panait
|
||||
- Pablo Saavedra
|
||||
- Patrick Williams
|
||||
- Paul Eggleton
|
||||
- Paulo Neves
|
||||
- Pavel Zhukov
|
||||
- Pawel Zalewski
|
||||
- Pedro Baptista
|
||||
- Peter Bergin
|
||||
- Peter Kjellerstedt
|
||||
- Peter Marko
|
||||
- Petr Kubizňák
|
||||
- Petr Vorel
|
||||
- pgowda
|
||||
- Piotr Łobacz
|
||||
- Quentin Schulz
|
||||
- Randy MacLeod
|
||||
- Ranjitsinh Rathod
|
||||
- Ravineet Singh
|
||||
- Ravula Adhitya Siddartha
|
||||
- Richard Elberger
|
||||
- Richard Leitner
|
||||
- Richard Purdie
|
||||
- Robert Andersson
|
||||
- Robert Joslyn
|
||||
- Robert Yang
|
||||
- Romuald JEANNE
|
||||
- Ross Burton
|
||||
- Ryan Eatmon
|
||||
- Sakib Sajal
|
||||
- Sandeep Gundlupet Raju
|
||||
- Saul Wold
|
||||
- Sean Anderson
|
||||
- Sergei Zhmylev
|
||||
- Siddharth Doshi
|
||||
- Soumya
|
||||
- Sudip Mukherjee
|
||||
- Sundeep KOKKONDA
|
||||
- Teoh Jay Shen
|
||||
- Thomas De Schampheleire
|
||||
- Thomas Perrot
|
||||
- Thomas Roos
|
||||
- Tim Orling
|
||||
- Tobias Hagelborn
|
||||
- Tom Hochstein
|
||||
- Trevor Woerner
|
||||
- Ulrich Ölmann
|
||||
- Vincent Davis Jr
|
||||
- Vivek Kumbhar
|
||||
- Vyacheslav Yurkov
|
||||
- Wang Mingyu
|
||||
- Wentao Zhang
|
||||
- Xiangyu Chen
|
||||
- Xiaotian Wu
|
||||
- Yan Xinkuan
|
||||
- Yash Shinde
|
||||
- Yi Zhao
|
||||
- Yoann Congal
|
||||
- Yureka Lilian
|
||||
- Zang Ruochen
|
||||
- Zheng Qiu
|
||||
- Zheng Ruoqin
|
||||
- Zoltan Boszormenyi
|
||||
- 张忠山
|
||||
|
||||
|
||||
Repositories / Downloads for Yocto-4.2
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
poky
|
||||
|
||||
- Repository Location: :yocto_git:`/poky`
|
||||
- Branch: :yocto_git:`mickledore </poky/log/?h=mickledore>`
|
||||
- Tag: :yocto_git:`yocto-4.2 </poky/log/?h=yocto-4.2>`
|
||||
- Git Revision: :yocto_git:`21790e71d55f417f27cd51fae9dd47549758d4a0 </poky/commit/?id=21790e71d55f417f27cd51fae9dd47549758d4a0>`
|
||||
- Release Artefact: poky-21790e71d55f417f27cd51fae9dd47549758d4a0
|
||||
- sha: 38606076765d912deec84e523403709ef1249122197e61454ae08818e60f83c2
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.2/poky-21790e71d55f417f27cd51fae9dd47549758d4a0.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.2/poky-21790e71d55f417f27cd51fae9dd47549758d4a0.tar.bz2
|
||||
|
||||
openembedded-core
|
||||
|
||||
- Repository Location: :oe_git:`/openembedded-core`
|
||||
- Branch: :oe_git:`mickledore </openembedded-core/log/?h=mickledore>`
|
||||
- Tag: :oe_git:`yocto-4.2 </openembedded-core/log/?h=yocto-4.2>`
|
||||
- Git Revision: :oe_git:`c57d1a561db563ed2f521bbac5fc12d4ac8e11a7 </openembedded-core/commit/?id=c57d1a561db563ed2f521bbac5fc12d4ac8e11a7>`
|
||||
- Release Artefact: oecore-c57d1a561db563ed2f521bbac5fc12d4ac8e11a7
|
||||
- sha: e8cdd870492017be7e7b74b8c2fb73ae6771b2d2125b2aa1f0e65d0689f96af8
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.2/oecore-c57d1a561db563ed2f521bbac5fc12d4ac8e11a7.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.2/oecore-c57d1a561db563ed2f521bbac5fc12d4ac8e11a7.tar.bz2
|
||||
|
||||
meta-mingw
|
||||
|
||||
- Repository Location: :yocto_git:`/meta-mingw`
|
||||
- Branch: :yocto_git:`mickledore </meta-mingw/log/?h=mickledore>`
|
||||
- Tag: :yocto_git:`yocto-4.2 </meta-mingw/log/?h=yocto-4.2>`
|
||||
- Git Revision: :yocto_git:`250617ffa524c082b848487359b9d045703d59c2 </meta-mingw/commit/?id=250617ffa524c082b848487359b9d045703d59c2>`
|
||||
- Release Artefact: meta-mingw-250617ffa524c082b848487359b9d045703d59c2
|
||||
- sha: 873a97dfd5ed6fb26e1f6a2ddc2c0c9d7a7b3c7f5018588e912294618775c323
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.2/meta-mingw-250617ffa524c082b848487359b9d045703d59c2.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.2/meta-mingw-250617ffa524c082b848487359b9d045703d59c2.tar.bz2
|
||||
|
||||
bitbake
|
||||
|
||||
- Repository Location: :oe_git:`/bitbake`
|
||||
- Branch: :oe_git:`2.4 </bitbake/log/?h=2.4>`
|
||||
- Tag: :oe_git:`yocto-4.2 </bitbake/log/?h=yocto-4.2>`
|
||||
- Git Revision: :oe_git:`d97d62e2cbe4bae17f0886f3b4759e8f9ba6d38c </bitbake/commit/?id=d97d62e2cbe4bae17f0886f3b4759e8f9ba6d38c>`
|
||||
- Release Artefact: bitbake-d97d62e2cbe4bae17f0886f3b4759e8f9ba6d38c
|
||||
- sha: 5edcb97cb545011226b778355bb840ebcc790552d4a885a0d83178153697ba7a
|
||||
- Download Locations:
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-4.2/bitbake-d97d62e2cbe4bae17f0886f3b4759e8f9ba6d38c.tar.bz2
|
||||
http://mirrors.kernel.org/yocto/yocto/yocto-4.2/bitbake-d97d62e2cbe4bae17f0886f3b4759e8f9ba6d38c.tar.bz2
|
||||
|
||||
yocto-docs
|
||||
|
||||
- Repository Location: :yocto_git:`/yocto-docs`
|
||||
- Branch: :yocto_git:`mickledore </yocto-docs/log/?h=mickledore>`
|
||||
- Tag: :yocto_git:`yocto-4.2 </yocto-docs/log/?h=yocto-4.2>`
|
||||
- Git Revision: :yocto_git:`4d6807e34adf5d92d9b6e5852736443a867c78fa </yocto-docs/commit/?id=4d6807e34adf5d92d9b6e5852736443a867c78fa>`
|
||||
|
||||
|
||||
@@ -638,9 +638,8 @@ package files are kept:
|
||||
type sub-folder. Given RPM, IPK, or DEB packaging and tarball
|
||||
creation, the
|
||||
:term:`DEPLOY_DIR_RPM`,
|
||||
:term:`DEPLOY_DIR_IPK`,
|
||||
:term:`DEPLOY_DIR_DEB`, or
|
||||
:term:`DEPLOY_DIR_TAR`,
|
||||
:term:`DEPLOY_DIR_IPK`, or
|
||||
:term:`DEPLOY_DIR_DEB`
|
||||
variables are used, respectively.
|
||||
|
||||
- :term:`PACKAGE_ARCH`: Defines
|
||||
@@ -653,9 +652,8 @@ tasks to generate packages and place them into the package holding area
|
||||
(e.g. ``do_package_write_ipk`` for IPK packages). See the
|
||||
":ref:`ref-tasks-package_write_deb`",
|
||||
":ref:`ref-tasks-package_write_ipk`",
|
||||
":ref:`ref-tasks-package_write_rpm`",
|
||||
and
|
||||
":ref:`ref-tasks-package_write_tar`"
|
||||
":ref:`ref-tasks-package_write_rpm`"
|
||||
sections in the Yocto Project Reference Manual for additional
|
||||
information. As an example, consider a scenario where an IPK packaging
|
||||
manager is being used and there is package architecture support for both
|
||||
|
||||
@@ -169,10 +169,9 @@ these tarballs gives you a snapshot of the released files.
|
||||
In summary, here is where you can get the project files needed for
|
||||
development:
|
||||
|
||||
- :yocto_git:`Source Repositories: <>` This area contains IDE
|
||||
Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and
|
||||
Yocto Metadata Layers. You can create local copies of Git
|
||||
repositories for each of these areas.
|
||||
- :yocto_git:`Source Repositories: <>` This area contains Poky, Yocto
|
||||
documentation, metadata layers, and Linux kernel. You can create local
|
||||
copies of Git repositories for each of these areas.
|
||||
|
||||
.. image:: figures/source-repos.png
|
||||
:width: 100%
|
||||
@@ -181,28 +180,17 @@ development:
|
||||
see the ":ref:`dev-manual/start:accessing source repositories`"
|
||||
Section in the Yocto Project Development Tasks Manual.
|
||||
|
||||
- :yocto_dl:`Index of /releases: </releases>` This is an index
|
||||
of releases such as Poky, Pseudo, installers for cross-development
|
||||
toolchains, miscellaneous support and all released versions of Yocto
|
||||
Project in the form of images or tarballs. Downloading and extracting
|
||||
these files does not produce a local copy of the Git repository but
|
||||
rather a snapshot of a particular release or image.
|
||||
- :yocto_dl:`Yocto release archives: </releases/yocto>` This is where you can
|
||||
download tarballs corresponding to each Yocto Project release. Downloading
|
||||
and extracting these files does not produce a local copy of a Git repository
|
||||
but rather a snapshot corresponding to a particular release.
|
||||
|
||||
.. image:: figures/index-downloads.png
|
||||
:align: center
|
||||
:width: 50%
|
||||
|
||||
For steps on how to view and access these files, see the
|
||||
":ref:`dev-manual/start:accessing index of releases`"
|
||||
section in the Yocto Project Development Tasks Manual.
|
||||
|
||||
- *"DOWNLOADS" page for the* :yocto_home:`Yocto Project Website <>` *:*
|
||||
|
||||
The Yocto Project website includes a "DOWNLOADS" page accessible
|
||||
- :yocto_home:`DOWNLOADS page </software-overview/downloads/>`:
|
||||
The :yocto_home:`Yocto Project website <>` includes a "DOWNLOADS" page accessible
|
||||
through the "SOFTWARE" menu that allows you to download any Yocto
|
||||
Project release, tool, and Board Support Package (BSP) in tarball
|
||||
form. The tarballs are similar to those found in the
|
||||
:yocto_dl:`Index of /releases: </releases>` area.
|
||||
form. The hyperlinks point to the tarballs under
|
||||
:yocto_dl:`/releases/yocto/`.
|
||||
|
||||
.. image:: figures/yp-download.png
|
||||
:width: 100%
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 292 KiB After Width: | Height: | Size: 758 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 506 KiB |
@@ -1,10 +1,10 @@
|
||||
DISTRO : "4.1"
|
||||
DISTRO_NAME_NO_CAP : "langdale"
|
||||
DISTRO_NAME : "Langdale"
|
||||
DISTRO_NAME_NO_CAP_MINUS_ONE : "kirkstone"
|
||||
DISTRO : "4.2"
|
||||
DISTRO_NAME_NO_CAP : "mickledore"
|
||||
DISTRO_NAME : "Mickledore"
|
||||
DISTRO_NAME_NO_CAP_MINUS_ONE : "langdale"
|
||||
DISTRO_NAME_NO_CAP_LTS : "kirkstone"
|
||||
YOCTO_DOC_VERSION : "4.1"
|
||||
DISTRO_REL_TAG : "yocto-4.1"
|
||||
YOCTO_DOC_VERSION : "4.2"
|
||||
DISTRO_REL_TAG : "yocto-4.2"
|
||||
DOCCONF_VERSION : "dev"
|
||||
BITBAKE_SERIES : ""
|
||||
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Handbook Todo List:
|
||||
|
||||
* Document adding a new IMAGE_FEATURE to the customising images section
|
||||
* Add instructions about using zaurus/openmoko emulation
|
||||
* Add component overview/block diagrams
|
||||
* Software Development intro should mention its software development for
|
||||
intended target and could be a different arch etc and thus special case.
|
||||
* Expand insane.bbclass documentation to cover tests
|
||||
* Document remaining classes (see list in ref-classes)
|
||||
* Document formfactor
|
||||
|
||||
@@ -580,6 +580,49 @@ add the task at the appropriate place, which is usually after
|
||||
:ref:`ref-tasks-install`. The class then takes care of
|
||||
staging the files from :term:`DEPLOYDIR` to :term:`DEPLOY_DIR_IMAGE`.
|
||||
|
||||
.. _ref-classes-devicetree:
|
||||
|
||||
``devicetree``
|
||||
==============
|
||||
|
||||
The :ref:`ref-classes-devicetree` class allows to build a recipe that compiles
|
||||
device tree source files that are not in the kernel tree.
|
||||
|
||||
The compilation of out-of-tree device tree sources is the same as the kernel
|
||||
in-tree device tree compilation process. This includes the ability to include
|
||||
sources from the kernel such as SoC ``dtsi`` files as well as C header files,
|
||||
such as ``gpio.h``.
|
||||
|
||||
The :ref:`ref-tasks-compile` task will compile two kinds of files:
|
||||
|
||||
- Regular device tree sources with a ``.dts`` extension.
|
||||
|
||||
- Device tree overlays, detected from the presence of the ``/plugin/;``
|
||||
string in the file contents.
|
||||
|
||||
This class behaves in a similar way as the :ref:`ref-classes-kernel-devicetree`
|
||||
class, also deploying output files into ``/boot/devicetree``. However, this
|
||||
class stores the deployed device tree binaries into the ``devicetree``
|
||||
subdirectory. This avoids clashes with the :ref:`ref-classes-kernel-devicetree`
|
||||
output. Additionally, the device trees are populated into the sysroot for
|
||||
access via the sysroot from within other recipes.
|
||||
|
||||
An extra padding is appended to non-overlay device trees binaries. This
|
||||
can typically be used as extra space for adding extra properties at boot time.
|
||||
The padding size can be modified by setting ``DT_PADDING_SIZE`` to the desired
|
||||
size, in bytes.
|
||||
|
||||
See :oe_git:`devicetree.bbclass sources
|
||||
</openembedded-core/tree/meta/classes-recipe/devicetree.bbclass>`
|
||||
for further variables controlling this class.
|
||||
|
||||
Here is an excerpt of an example ``recipes-kernel/linux/devicetree-acme.bb``
|
||||
recipe inheriting this class::
|
||||
|
||||
inherit devicetree
|
||||
COMPATIBLE_MACHINE = "^mymachine$"
|
||||
SRC_URI:mymachine = "file://mymachine.dts"
|
||||
|
||||
.. _ref-classes-devshell:
|
||||
|
||||
``devshell``
|
||||
@@ -1192,6 +1235,11 @@ Here are the tests you can list with the :term:`WARN_QA` and
|
||||
``initscripts`` recipe is actually built and thus the
|
||||
``initscripts-functions`` package is made available.
|
||||
|
||||
- ``configure-gettext:`` Checks that if a recipe is building something
|
||||
that uses automake and the automake files contain an ``AM_GNU_GETTEXT``
|
||||
directive, that the recipe also inherits the :ref:`ref-classes-gettext`
|
||||
class to ensure that gettext is available during the build.
|
||||
|
||||
- ``compile-host-path:`` Checks the
|
||||
:ref:`ref-tasks-compile` log for indications that
|
||||
paths to locations on the build host were used. Using such paths
|
||||
@@ -1308,11 +1356,39 @@ Here are the tests you can list with the :term:`WARN_QA` and
|
||||
``/usr/libexec``. This check is not performed if the ``libexecdir``
|
||||
variable has been set explicitly to ``/usr/libexec``.
|
||||
|
||||
- ``mime:`` Check that if a package contains mime type files (``.xml``
|
||||
files in ``${datadir}/mime/packages``) that the recipe also inherits
|
||||
the :ref:`ref-classes-mime` class in order to ensure that these get
|
||||
properly installed.
|
||||
|
||||
- ``mime-xdg:`` Checks that if a package contains a .desktop file with a
|
||||
'MimeType' key present, that the recipe inherits the
|
||||
:ref:`ref-classes-mime-xdg` class that is required in order for that
|
||||
to be activated.
|
||||
|
||||
- ``missing-update-alternatives:`` Check that if a recipe sets the
|
||||
:term:`ALTERNATIVE` variable that the recipe also inherits
|
||||
:ref:`ref-classes-update-alternatives` such that the alternative will
|
||||
be correctly set up.
|
||||
|
||||
- ``packages-list:`` Checks for the same package being listed
|
||||
multiple times through the :term:`PACKAGES` variable
|
||||
value. Installing the package in this manner can cause errors during
|
||||
packaging.
|
||||
|
||||
- ``patch-fuzz:`` Checks for fuzz in patch files that may allow
|
||||
them to apply incorrectly if the underlying code changes.
|
||||
|
||||
- ``patch-status-core:`` Checks that the Upstream-Status is specified
|
||||
and valid in the headers of patches for recipes in the OE-Core layer.
|
||||
|
||||
- ``patch-status-noncore:`` Checks that the Upstream-Status is specified
|
||||
and valid in the headers of patches for recipes in layers other than
|
||||
OE-Core.
|
||||
|
||||
- ``perllocalpod:`` Checks for ``perllocal.pod`` being erroneously
|
||||
installed and packaged by a recipe.
|
||||
|
||||
- ``perm-config:`` Reports lines in ``fs-perms.txt`` that have an
|
||||
invalid format.
|
||||
|
||||
@@ -1366,12 +1442,20 @@ Here are the tests you can list with the :term:`WARN_QA` and
|
||||
options are being passed to the linker commands and your binaries
|
||||
have potential security issues.
|
||||
|
||||
- ``shebang-size:`` Check that the shebang line (``#!`` in the first line)
|
||||
in a packaged script is not longer than 128 characters, which can cause
|
||||
an error at runtime depending on the operating system.
|
||||
|
||||
- ``split-strip:`` Reports that splitting or stripping debug symbols
|
||||
from binaries has failed.
|
||||
|
||||
- ``staticdev:`` Checks for static library files (``*.a``) in
|
||||
non-``staticdev`` packages.
|
||||
|
||||
- ``src-uri-bad:`` Checks that the :term:`SRC_URI` value set by a recipe
|
||||
does not contain a reference to ``${PN}`` (instead of the correct
|
||||
``${BPN}``) nor refers to unstable Github archive tarballs.
|
||||
|
||||
- ``symlink-to-sysroot:`` Checks for symlinks in packages that point
|
||||
into :term:`TMPDIR` on the host. Such symlinks will
|
||||
work on the host, but are clearly invalid when running on the target.
|
||||
@@ -1382,6 +1466,12 @@ Here are the tests you can list with the :term:`WARN_QA` and
|
||||
":doc:`/ref-manual/qa-checks`" for more information regarding runtime performance
|
||||
issues.
|
||||
|
||||
- ``unhandled-features-check:`` check that if one of the variables that
|
||||
the :ref:`ref-classes-features_check` class supports (e.g.
|
||||
:term:`REQUIRED_DISTRO_FEATURES`) is set by a recupe, then the recipe
|
||||
also inherits :ref:`ref-classes-features_check` in order for the
|
||||
requirement to actually work.
|
||||
|
||||
- ``unlisted-pkg-lics:`` Checks that all declared licenses applying
|
||||
for a package are also declared on the recipe level (i.e. any license
|
||||
in ``LICENSE:*`` should appear in :term:`LICENSE`).
|
||||
@@ -1391,19 +1481,23 @@ Here are the tests you can list with the :term:`WARN_QA` and
|
||||
the linker (e.g. ``/lib`` and ``/usr/lib``). While these paths will
|
||||
not cause any breakage, they do waste space and are unnecessary.
|
||||
|
||||
- ``usrmerge:`` If ``usrmerge`` is in :term:`DISTRO_FEATURES`, this
|
||||
check will ensure that no package installs files to root (``/bin``,
|
||||
``/sbin``, ``/lib``, ``/lib64``) directories.
|
||||
|
||||
- ``var-undefined:`` Reports when variables fundamental to packaging
|
||||
(i.e. :term:`WORKDIR`,
|
||||
:term:`DEPLOY_DIR`, :term:`D`,
|
||||
:term:`PN`, and :term:`PKGD`) are undefined
|
||||
during :ref:`ref-tasks-package`.
|
||||
|
||||
- ``version-going-backwards:`` If Build History is enabled, reports
|
||||
when a package being written out has a lower version than the
|
||||
previously written package under the same name. If you are placing
|
||||
output packages into a feed and upgrading packages on a target system
|
||||
using that feed, the version of a package going backwards can result
|
||||
in the target system not correctly upgrading to the "new" version of
|
||||
the package.
|
||||
- ``version-going-backwards:`` If the :ref:`ref-classes-buildhistory`
|
||||
class is enabled, reports when a package being written out has a lower
|
||||
version than the previously written package under the same name. If
|
||||
you are placing output packages into a feed and upgrading packages on
|
||||
a target system using that feed, the version of a package going
|
||||
backwards can result in the target system not correctly upgrading to
|
||||
the "new" version of the package.
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -1438,11 +1532,18 @@ code to build all kernel trees. All needed headers are staged into the
|
||||
:term:`STAGING_KERNEL_DIR` directory to allow out-of-tree module builds
|
||||
using the :ref:`ref-classes-module` class.
|
||||
|
||||
This means that each built kernel module is packaged separately and
|
||||
inter-module dependencies are created by parsing the ``modinfo`` output.
|
||||
If all modules are required, then installing the ``kernel-modules``
|
||||
package installs all packages with modules and various other kernel
|
||||
packages such as ``kernel-vmlinux``.
|
||||
If a file named ``defconfig`` is listed in :term:`SRC_URI`, then by default
|
||||
:ref:`ref-tasks-configure` copies it as ``.config`` in the build directory,
|
||||
so it is automatically used as the kernel configuration for the build. This
|
||||
copy is not performed in case ``.config`` already exists there: this allows
|
||||
recipes to produce a configuration by other means in
|
||||
``do_configure:prepend``.
|
||||
|
||||
Each built kernel module is packaged separately and inter-module
|
||||
dependencies are created by parsing the ``modinfo`` output. If all modules
|
||||
are required, then installing the ``kernel-modules`` package installs all
|
||||
packages with modules and various other kernel packages such as
|
||||
``kernel-vmlinux``.
|
||||
|
||||
The :ref:`ref-classes-kernel` class contains logic that allows you to embed an initial
|
||||
RAM filesystem (:term:`Initramfs`) image when you build the kernel image. For
|
||||
@@ -2025,13 +2126,7 @@ The :ref:`ref-classes-package` class supports generating packages from a build's
|
||||
output. The core generic functionality is in ``package.bbclass``. The
|
||||
code specific to particular package types resides in these
|
||||
package-specific classes: :ref:`ref-classes-package_deb`,
|
||||
:ref:`ref-classes-package_rpm`, :ref:`ref-classes-package_ipk`, and
|
||||
:ref:`ref-classes-package_tar`.
|
||||
|
||||
.. note::
|
||||
|
||||
The :ref:`ref-classes-package_tar` class is broken and
|
||||
not supported. It is recommended that you do not use this class.
|
||||
:ref:`ref-classes-package_rpm`, :ref:`ref-classes-package_ipk`.
|
||||
|
||||
You can control the list of resulting package formats by using the
|
||||
:term:`PACKAGE_CLASSES` variable defined in your ``conf/local.conf``
|
||||
@@ -2121,25 +2216,6 @@ This class inherits the :ref:`ref-classes-package` class and
|
||||
is enabled through the :term:`PACKAGE_CLASSES`
|
||||
variable in the ``local.conf`` file.
|
||||
|
||||
.. _ref-classes-package_tar:
|
||||
|
||||
``package_tar``
|
||||
===============
|
||||
|
||||
The :ref:`ref-classes-package_tar` class provides support for creating tarballs. The
|
||||
class ensures the packages are written out in a tarball format to the
|
||||
``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory.
|
||||
|
||||
This class inherits the :ref:`ref-classes-package` class and
|
||||
is enabled through the :term:`PACKAGE_CLASSES`
|
||||
variable in the ``local.conf`` file.
|
||||
|
||||
.. note::
|
||||
|
||||
You cannot specify the :ref:`ref-classes-package_tar` class first using the
|
||||
:term:`PACKAGE_CLASSES` variable. You must use ``.deb``, ``.ipk``, or ``.rpm``
|
||||
file formats for your image or SDK.
|
||||
|
||||
.. _ref-classes-packagedata:
|
||||
|
||||
``packagedata``
|
||||
|
||||
@@ -750,6 +750,29 @@ Errors and Warnings
|
||||
other things in the patches, those can be discarded.
|
||||
|
||||
|
||||
.. _qa-check-patch-status:
|
||||
|
||||
- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status-core/patch-status-noncore]``
|
||||
|
||||
The Upstream-Status value is missing in the specified patch file's header.
|
||||
This value is intended to track whether or not the patch has been sent
|
||||
upstream, whether or not it has been merged, etc.
|
||||
|
||||
There are two options for this same check - ``patch-status-core`` (for
|
||||
recipes in OE-Core) and ``patch-status-noncore`` (for recipes in any other
|
||||
layer).
|
||||
|
||||
For more information on setting Upstream-Status see:
|
||||
https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines#Patch_Header_Recommendations:_Upstream-Status
|
||||
|
||||
|
||||
- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status-core/patch-status-noncore]``
|
||||
|
||||
The Upstream-Status value in the specified patch file's header is invalid -
|
||||
it must be a specific format. See the "Missing Upstream-Status" entry above
|
||||
for more information.
|
||||
|
||||
|
||||
.. _qa-check-buildpaths:
|
||||
|
||||
- ``File <filename> in package <packagename> contains reference to TMPDIR [buildpaths]``
|
||||
|
||||
@@ -87,6 +87,8 @@ stable release.
|
||||
exception to this policy occurs when there is a strong reason such as
|
||||
the fix happens to also be the preferred upstream approach.
|
||||
|
||||
.. _ref-long-term-support-releases:
|
||||
|
||||
Long Term Support Releases
|
||||
==========================
|
||||
|
||||
@@ -120,16 +122,16 @@ of stable and :term:`LTS` releases.
|
||||
|
||||
In some circumstances, a layer can be created by the community in order to
|
||||
add a specific feature or support a new version of some package for an :term:`LTS`
|
||||
release. This is called a "mixin" layer. These are thin and specific
|
||||
release. This is called a :term:`Mixin` layer. These are thin and specific
|
||||
purpose layers which can be stacked with an :term:`LTS` release to "mix" a specific
|
||||
feature into that build. These are created on an as-needed basis and
|
||||
maintained by the people who need them.
|
||||
|
||||
Policies on testing these layers depend on how widespread their usage is and
|
||||
determined on a case-by-case basis. You can find some "mixin" layers in the
|
||||
determined on a case-by-case basis. You can find some :term:`Mixin` layers in the
|
||||
:yocto_git:`meta-lts-mixins </meta-lts-mixins>` repository. While the Yocto
|
||||
Project provides hosting for those repositories, it does not provides
|
||||
testing on them. Other "mixin" layers may be released elsewhere by the wider
|
||||
testing on them. Other :term:`Mixin` layers may be released elsewhere by the wider
|
||||
community.
|
||||
|
||||
Testing and Quality Assurance
|
||||
|
||||
@@ -750,7 +750,9 @@ and lists of files and directories with known permissions.
|
||||
-------------
|
||||
|
||||
This directory contains OpenEmbedded Python library code used during the
|
||||
build process.
|
||||
build process. It is enabled via the ``addpylib`` directive in
|
||||
``meta/conf/local.conf``. For more information, see
|
||||
:ref:`bitbake-user-manual/bitbake-user-manual-metadata:extending python library code`.
|
||||
|
||||
.. _structure-meta-recipes-bsp:
|
||||
|
||||
|
||||
@@ -383,9 +383,9 @@
|
||||
inkscape:window-height="1016"
|
||||
id="namedview4"
|
||||
showgrid="true"
|
||||
inkscape:zoom="0.72360224"
|
||||
inkscape:cx="889.30073"
|
||||
inkscape:cy="397.31773"
|
||||
inkscape:zoom="2.0466562"
|
||||
inkscape:cx="450.4909"
|
||||
inkscape:cy="286.56498"
|
||||
inkscape:window-x="1994"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
@@ -530,7 +530,7 @@
|
||||
<rect
|
||||
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
|
||||
id="rect917-0-0-4-4"
|
||||
width="140.00002"
|
||||
width="260"
|
||||
height="45.000004"
|
||||
x="599.99994"
|
||||
y="45.000011"
|
||||
@@ -562,9 +562,9 @@
|
||||
<rect
|
||||
style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
|
||||
id="rect917-0-0-4-4-9-4"
|
||||
width="140.00002"
|
||||
width="160.00002"
|
||||
height="45.000004"
|
||||
x="960"
|
||||
x="959.99994"
|
||||
y="-120"
|
||||
ry="2.2558987" />
|
||||
<text
|
||||
@@ -584,26 +584,26 @@
|
||||
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"
|
||||
id="tspan10317-2-9-1">4.1</tspan></text>
|
||||
<rect
|
||||
style="opacity:0.75;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
|
||||
style="opacity:1;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1"
|
||||
id="rect917-0-0-4-4-9-4-5"
|
||||
width="140.00002"
|
||||
height="45.000004"
|
||||
x="1080"
|
||||
y="-174.99998"
|
||||
x="1100"
|
||||
y="-175.00003"
|
||||
ry="2.2558987" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
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"
|
||||
x="1134.2344"
|
||||
x="1156.057"
|
||||
y="-155.49881"
|
||||
id="text1185-3-55-4-0-0-0-1"><tspan
|
||||
sodipodi:role="line"
|
||||
x="1134.2344"
|
||||
x="1156.057"
|
||||
y="-155.49881"
|
||||
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"
|
||||
id="tspan957-2-8-6-3-9-7">Mickledore</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="1134.2344"
|
||||
x="1156.057"
|
||||
y="-137.50214"
|
||||
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"
|
||||
id="tspan10317-2-9-1-4">4.2</tspan></text>
|
||||
@@ -658,17 +658,17 @@
|
||||
<text
|
||||
xml:space="preserve"
|
||||
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"
|
||||
x="650.42737"
|
||||
y="64.633629"
|
||||
x="653.72168"
|
||||
y="64.866302"
|
||||
id="text1185-3-55-4-0-0-7"><tspan
|
||||
sodipodi:role="line"
|
||||
x="650.42737"
|
||||
y="64.633629"
|
||||
x="653.72168"
|
||||
y="64.866302"
|
||||
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"
|
||||
id="tspan957-2-8-6-3-2">Hardknott</tspan><tspan
|
||||
id="tspan957-2-8-6-3-2">Hardknott </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="650.42737"
|
||||
y="82.63031"
|
||||
x="653.72168"
|
||||
y="82.862984"
|
||||
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"
|
||||
id="tspan10317-2-9-8">3.3</tspan></text>
|
||||
<g
|
||||
@@ -777,20 +777,41 @@
|
||||
id="tspan49906">2023</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
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:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="962.71832"
|
||||
y="250.21216"
|
||||
style="font-weight:bold;font-size:6.66667px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="849.49744"
|
||||
y="61.106953"
|
||||
id="text1185-9-7-1-1-0"><tspan
|
||||
sodipodi:role="line"
|
||||
x="962.71832"
|
||||
y="250.21216"
|
||||
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';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
|
||||
id="tspan31345-42">Oct.</tspan><tspan
|
||||
x="849.49744"
|
||||
y="61.106953"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.66667px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;text-anchor:end;fill:#fffefe;fill-opacity:1;stroke:none"
|
||||
id="tspan46212">Support for this version was extended to leave</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="962.71832"
|
||||
y="268.20883"
|
||||
x="849.49744"
|
||||
y="70.105324"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.66667px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;text-anchor:end;fill:#fffefe;fill-opacity:1;stroke:none"
|
||||
id="tspan120364">users more time to adapt to override syntax</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="849.49744"
|
||||
y="79.103691"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.66667px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:end;text-anchor:end;fill:#fffefe;fill-opacity:1;stroke:none"
|
||||
id="tspan123280">changes in the 3.4 release.</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
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:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="972.71832"
|
||||
y="260.21216"
|
||||
id="text1185-9-7-1-1-0-7"><tspan
|
||||
sodipodi:role="line"
|
||||
x="972.71832"
|
||||
y="260.21216"
|
||||
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';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
|
||||
id="tspan49906-9">2022</tspan></text>
|
||||
id="tspan31345-42-7">Oct.</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="972.71832"
|
||||
y="278.20883"
|
||||
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';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;stroke:none"
|
||||
id="tspan49906-9-6">2022</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
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:#000000;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
|
||||
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 73 KiB |
@@ -40,6 +40,8 @@ to run multiple builds and to cache build artifacts, improving build efficiency.
|
||||
If you have a shortage of disk space, see the ":doc:`/dev-manual/disk-space`"
|
||||
section of the Development Tasks Manual.
|
||||
|
||||
.. _system-requirements-minimum-ram:
|
||||
|
||||
Minimum System RAM
|
||||
==================
|
||||
|
||||
@@ -182,7 +184,7 @@ AlmaLinux Packages
|
||||
Here are the packages needed to build an image on a headless system
|
||||
with a supported AlmaLinux distribution::
|
||||
|
||||
$ sudo dnf install &ALMALINUX8_HOST_PACKAGES_ESSENTIAL;
|
||||
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@@ -260,17 +260,6 @@ the package feeds area. For more information, see the
|
||||
":ref:`overview-manual/concepts:package feeds`" section in
|
||||
the Yocto Project Overview and Concepts Manual.
|
||||
|
||||
.. _ref-tasks-package_write_tar:
|
||||
|
||||
``do_package_write_tar``
|
||||
------------------------
|
||||
|
||||
Creates tarballs and places them in the
|
||||
``${``\ :term:`DEPLOY_DIR_TAR`\ ``}`` directory in
|
||||
the package feeds area. For more information, see the
|
||||
":ref:`overview-manual/concepts:package feeds`" section in
|
||||
the Yocto Project Overview and Concepts Manual.
|
||||
|
||||
.. _ref-tasks-packagedata:
|
||||
|
||||
``do_packagedata``
|
||||
|
||||
@@ -123,6 +123,10 @@ universal, the list includes them just in case:
|
||||
tools, such as a required version of the GCC compiler to run the
|
||||
OpenEmbedded build system.
|
||||
|
||||
See the ":ref:`system-requirements-buildtools`" paragraph in the
|
||||
Reference Manual for details about downloading or building an archive
|
||||
of such tools.
|
||||
|
||||
:term:`buildtools-make`
|
||||
A variant of :term:`buildtools`, just providing the required
|
||||
version of ``make`` to run the OpenEmbedded build system.
|
||||
@@ -208,6 +212,48 @@ universal, the list includes them just in case:
|
||||
of the supported image types that the Yocto Project provides, see the
|
||||
":ref:`ref-manual/images:Images`" chapter.
|
||||
|
||||
:term:`Initramfs`
|
||||
An Initial RAM Filesystem (:term:`Initramfs`) is an optionally compressed
|
||||
:wikipedia:`cpio <Cpio>` archive which is extracted
|
||||
by the Linux kernel into RAM in a special :wikipedia:`tmpfs <Tmpfs>`
|
||||
instance, used as the initial root filesystem.
|
||||
|
||||
This is a replacement for the legacy init RAM disk ("initrd")
|
||||
technique, booting on an emulated block device in RAM, but being less
|
||||
efficient because of the overhead of going through a filesystem and
|
||||
having to duplicate accessed file contents in the file cache in RAM,
|
||||
as for any block device.
|
||||
|
||||
.. note:
|
||||
|
||||
As far as bootloaders are concerned, :term:`Initramfs` and "initrd"
|
||||
images are still copied to RAM in the same way. That's why most
|
||||
most bootloaders refer to :term:`Initramfs` images as "initrd"
|
||||
or "init RAM disk".
|
||||
|
||||
This kind of mechanism is typically used for two reasons:
|
||||
|
||||
- For booting the same kernel binary on multiple systems requiring
|
||||
different device drivers. The :term:`Initramfs` image is then customized
|
||||
for each type of system, to include the specific kernel modules
|
||||
necessary to access the final root filesystem. This technique
|
||||
is used on all GNU / Linux distributions for desktops and servers.
|
||||
|
||||
- For booting faster. As the root filesystem is extracted into RAM,
|
||||
accessing the first user-space applications is very fast, compared
|
||||
to having to initialize a block device, to access multiple blocks
|
||||
from it, and to go through a filesystem having its own overhead.
|
||||
For example, this allows to display a splashscreen very early,
|
||||
and to later take care of mounting the final root filesystem and
|
||||
loading less time-critical kernel drivers.
|
||||
|
||||
This cpio archive can either be loaded to RAM by the bootloader,
|
||||
or be included in the kernel binary.
|
||||
|
||||
For information on creating and using an :term:`Initramfs`, see the
|
||||
":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`"
|
||||
section in the Yocto Project Development Tasks Manual.
|
||||
|
||||
:term:`Layer`
|
||||
A collection of related recipes. Layers allow you to consolidate related
|
||||
metadata to customize your build. Layers also isolate information used
|
||||
@@ -231,7 +277,7 @@ universal, the list includes them just in case:
|
||||
This term means "Long Term Support", and in the context of the Yocto
|
||||
Project, it corresponds to selected stable releases for which bug and
|
||||
security fixes are provided for at least two years. See
|
||||
":doc:`/ref-manual/release-process`" for details.
|
||||
the :ref:`ref-long-term-support-releases` section for details.
|
||||
|
||||
:term:`Metadata`
|
||||
A key element of the Yocto Project is the Metadata that
|
||||
@@ -252,6 +298,12 @@ universal, the list includes them just in case:
|
||||
:yocto_git:`yocto-kernel-cache </yocto-kernel-cache>`
|
||||
Git repository.
|
||||
|
||||
:term:`Mixin`
|
||||
A :term:`Mixin` layer is a layer which can be created by the community to
|
||||
add a specific feature or support a new version of some package for an
|
||||
:term:`LTS` release. See the :ref:`ref-long-term-support-releases`
|
||||
section for details.
|
||||
|
||||
:term:`OpenEmbedded-Core (OE-Core)`
|
||||
OE-Core is metadata comprised of
|
||||
foundational recipes, classes, and associated files that are meant to
|
||||
|
||||
@@ -354,6 +354,9 @@ system and gives an overview of their function and contents.
|
||||
:term:`BB_BASEHASH_IGNORE_VARS`
|
||||
See :term:`bitbake:BB_BASEHASH_IGNORE_VARS` in the BitBake manual.
|
||||
|
||||
:term:`BB_CACHEDIR`
|
||||
See :term:`bitbake:BB_CACHEDIR` in the BitBake manual.
|
||||
|
||||
:term:`BB_CHECK_SSL_CERTS`
|
||||
See :term:`bitbake:BB_CHECK_SSL_CERTS` in the BitBake manual.
|
||||
|
||||
@@ -1986,25 +1989,6 @@ system and gives an overview of their function and contents.
|
||||
":ref:`overview-manual/concepts:package feeds`" section
|
||||
in the Yocto Project Overview and Concepts Manual.
|
||||
|
||||
:term:`DEPLOY_DIR_TAR`
|
||||
Points to the area that the OpenEmbedded build system uses to place
|
||||
tarballs that are ready to be used outside of the build system. This
|
||||
variable applies only when :term:`PACKAGE_CLASSES` contains
|
||||
":ref:`ref-classes-package_tar`".
|
||||
|
||||
The BitBake configuration file initially defines this variable as a
|
||||
sub-folder of :term:`DEPLOY_DIR`::
|
||||
|
||||
DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
|
||||
|
||||
The :ref:`ref-classes-package_tar` class uses the
|
||||
:term:`DEPLOY_DIR_TAR` variable to make sure the
|
||||
:ref:`ref-tasks-package_write_tar` task
|
||||
writes TAR packages into the appropriate folder. For more information
|
||||
on how packaging works, see the
|
||||
":ref:`overview-manual/concepts:package feeds`" section
|
||||
in the Yocto Project Overview and Concepts Manual.
|
||||
|
||||
:term:`DEPLOYDIR`
|
||||
When inheriting the :ref:`ref-classes-deploy` class, the
|
||||
:term:`DEPLOYDIR` points to a temporary work area for deployed files that
|
||||
@@ -2914,6 +2898,10 @@ system and gives an overview of their function and contents.
|
||||
For guidance on how to create your own file permissions settings
|
||||
table file, examine the existing ``fs-perms.txt``.
|
||||
|
||||
:term:`FIT_CONF_DEFAULT_DTB`
|
||||
Specifies the default device tree binary (dtb) file for a fitImage when
|
||||
multiple are provided.
|
||||
|
||||
:term:`FIT_DESC`
|
||||
Specifies the description string encoded into a fitImage. The default
|
||||
value is set by the :ref:`ref-classes-kernel-fitimage`
|
||||
@@ -3583,11 +3571,34 @@ system and gives an overview of their function and contents.
|
||||
:term:`IMAGE_LINK_NAME`
|
||||
The name of the output image symlink (which does not include
|
||||
the version part as :term:`IMAGE_NAME` does). The default value
|
||||
is derived using the :term:`IMAGE_BASENAME` and :term:`MACHINE`
|
||||
variables::
|
||||
is derived using the :term:`IMAGE_BASENAME` and
|
||||
:term:`IMAGE_MACHINE_SUFFIX` variables::
|
||||
|
||||
IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}-${MACHINE}"
|
||||
IMAGE_LINK_NAME ?= "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}"
|
||||
|
||||
.. note::
|
||||
|
||||
It is possible to set this to "" to disable symlink creation,
|
||||
however, you also need to set :term:`IMAGE_NAME` to still have
|
||||
a reasonable value e.g.::
|
||||
|
||||
IMAGE_LINK_NAME = ""
|
||||
IMAGE_NAME = "${IMAGE_BASENAME}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}"
|
||||
|
||||
:term:`IMAGE_MACHINE_SUFFIX`
|
||||
Specifies the by default machine-specific suffix for image file names
|
||||
(before the extension). The default value is set as follows::
|
||||
|
||||
IMAGE_MACHINE_SUFFIX ??= "-${MACHINE}"
|
||||
|
||||
The default :term:`DEPLOY_DIR_IMAGE` already has a :term:`MACHINE`
|
||||
subdirectory, so you may find it unnecessary to also include this suffix
|
||||
in the name of every image file. If you prefer to remove the suffix you
|
||||
can set this variable to an empty string::
|
||||
|
||||
IMAGE_MACHINE_SUFFIX = ""
|
||||
|
||||
(Not to be confused with :term:`IMAGE_NAME_SUFFIX`.)
|
||||
|
||||
:term:`IMAGE_MANIFEST`
|
||||
The manifest file for the image. This file lists all the installed
|
||||
@@ -3608,12 +3619,11 @@ system and gives an overview of their function and contents.
|
||||
section in the Yocto Project Overview and Concepts Manual.
|
||||
|
||||
:term:`IMAGE_NAME`
|
||||
The name of the output image files minus the extension. This variable
|
||||
is derived using the :term:`IMAGE_BASENAME`,
|
||||
:term:`MACHINE`, and :term:`IMAGE_VERSION_SUFFIX`
|
||||
variables::
|
||||
The name of the output image files minus the extension. By default
|
||||
this variable is set using the :term:`IMAGE_LINK_NAME`, and
|
||||
:term:`IMAGE_VERSION_SUFFIX` variables::
|
||||
|
||||
IMAGE_NAME ?= "${IMAGE_BASENAME}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
IMAGE_NAME ?= "${IMAGE_LINK_NAME}${IMAGE_VERSION_SUFFIX}"
|
||||
|
||||
:term:`IMAGE_NAME_SUFFIX`
|
||||
Suffix used for the image output filename --- defaults to ``".rootfs"``
|
||||
@@ -3654,12 +3664,7 @@ system and gives an overview of their function and contents.
|
||||
Defines the package type (i.e. DEB, RPM, IPK, or TAR) used by the
|
||||
OpenEmbedded build system. The variable is defined appropriately by
|
||||
the :ref:`ref-classes-package_deb`, :ref:`ref-classes-package_rpm`,
|
||||
:ref:`ref-classes-package_ipk`, or :ref:`ref-classes-package_tar` class.
|
||||
|
||||
.. note::
|
||||
|
||||
The ``package_tar`` class is broken and is not supported. It is
|
||||
recommended that you do not use it.
|
||||
or :ref:`ref-classes-package_ipk` class.
|
||||
|
||||
The :ref:`ref-classes-populate-sdk-*` and :ref:`ref-classes-image`
|
||||
classes use the :term:`IMAGE_PKGTYPE` for packaging up images and SDKs.
|
||||
@@ -3837,43 +3842,6 @@ system and gives an overview of their function and contents.
|
||||
files to be deployed into :term:`IMGDEPLOYDIR`, and the class will take
|
||||
care of copying them into :term:`DEPLOY_DIR_IMAGE` afterwards.
|
||||
|
||||
:term:`INC_PR`
|
||||
Helps define the recipe revision for recipes that share a common
|
||||
``include`` file. You can think of this variable as part of the
|
||||
recipe revision as set from within an include file.
|
||||
|
||||
Suppose, for example, you have a set of recipes that are used across
|
||||
several projects. And, within each of those recipes the revision (its
|
||||
:term:`PR` value) is set accordingly. In this case, when
|
||||
the revision of those recipes changes, the burden is on you to find
|
||||
all those recipes and be sure that they get changed to reflect the
|
||||
updated version of the recipe. In this scenario, it can get
|
||||
complicated when recipes that are used in many places and provide
|
||||
common functionality are upgraded to a new revision.
|
||||
|
||||
A more efficient way of dealing with this situation is to set the
|
||||
:term:`INC_PR` variable inside the ``include`` files that the recipes
|
||||
share and then expand the :term:`INC_PR` variable within the recipes to
|
||||
help define the recipe revision.
|
||||
|
||||
The following provides an example that shows how to use the
|
||||
:term:`INC_PR` variable given a common ``include`` file that defines the
|
||||
variable. Once the variable is defined in the ``include`` file, you
|
||||
can use the variable to set the :term:`PR` values in each recipe. You
|
||||
will notice that when you set a recipe's :term:`PR` you can provide more
|
||||
granular revisioning by appending values to the :term:`INC_PR` variable::
|
||||
|
||||
recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
|
||||
recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
|
||||
recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
|
||||
recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
|
||||
|
||||
The
|
||||
first line of the example establishes the baseline revision to be
|
||||
used for all recipes that use the ``include`` file. The remaining
|
||||
lines in the example are from individual recipes and show how the
|
||||
:term:`PR` value is set.
|
||||
|
||||
:term:`INCOMPATIBLE_LICENSE`
|
||||
Specifies a space-separated list of license names (as they would
|
||||
appear in :term:`LICENSE`) that should be excluded
|
||||
@@ -3988,46 +3956,31 @@ system and gives an overview of their function and contents.
|
||||
even if the toolchain's binaries are strippable, there are other files
|
||||
needed for the build that are not strippable.
|
||||
|
||||
:term:`Initramfs`
|
||||
An Initial RAM Filesystem (:term:`Initramfs`) is an optionally compressed
|
||||
:wikipedia:`cpio <Cpio>` archive which is extracted
|
||||
by the Linux kernel into RAM in a special :wikipedia:`tmpfs <Tmpfs>`
|
||||
instance, used as the initial root filesystem.
|
||||
:term:`INIT_MANAGER`
|
||||
Specifies the system init manager to use. Available options are:
|
||||
|
||||
This is a replacement for the legacy init RAM disk ("initrd")
|
||||
technique, booting on an emulated block device in RAM, but being less
|
||||
efficient because of the overhead of going through a filesystem and
|
||||
having to duplicate accessed file contents in the file cache in RAM,
|
||||
as for any block device.
|
||||
- ``sysvinit``
|
||||
- ``systemd``
|
||||
- ``mdev-busybox``
|
||||
|
||||
.. note:
|
||||
With ``sysvinit``, the init manager is set to
|
||||
:wikipedia:`SysVinit <Init#SysV-style>`, the traditional UNIX init
|
||||
system. This is the default choice in the Poky distribution, together with
|
||||
the Udev device manager (see the ":ref:`device-manager`" section).
|
||||
|
||||
As far as bootloaders are concerned, :term:`Initramfs` and "initrd"
|
||||
images are still copied to RAM in the same way. That's why most
|
||||
most bootloaders refer to :term:`Initramfs` images as "initrd"
|
||||
or "init RAM disk".
|
||||
With ``systemd``, the init manager becomes :wikipedia:`systemd <Systemd>`,
|
||||
which comes with the :wikipedia:`udev <Udev>` device manager.
|
||||
|
||||
This kind of mechanism is typically used for two reasons:
|
||||
With ``mdev-busybox``, the init manager becomes the much simpler BusyBox
|
||||
init, together with the BusyBox mdev device manager. This is the simplest
|
||||
and lightest solution, and probably the best choice for low-end systems
|
||||
with a rather slow CPU and a limited amount of RAM.
|
||||
|
||||
- For booting the same kernel binary on multiple systems requiring
|
||||
different device drivers. The :term:`Initramfs` image is then customized
|
||||
for each type of system, to include the specific kernel modules
|
||||
necessary to access the final root filesystem. This technique
|
||||
is used on all GNU / Linux distributions for desktops and servers.
|
||||
|
||||
- For booting faster. As the root filesystem is extracted into RAM,
|
||||
accessing the first user-space applications is very fast, compared
|
||||
to having to initialize a block device, to access multiple blocks
|
||||
from it, and to go through a filesystem having its own overhead.
|
||||
For example, this allows to display a splashscreen very early,
|
||||
and to later take care of mounting the final root filesystem and
|
||||
loading less time-critical kernel drivers.
|
||||
|
||||
This cpio archive can either be loaded to RAM by the bootloader,
|
||||
or be included in the kernel binary.
|
||||
|
||||
For information on creating and using an :term:`Initramfs`, see the
|
||||
":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`"
|
||||
More concretely, this is used to include
|
||||
``conf/distro/include/init-manager-${INIT_MANAGER}.inc`` into the global
|
||||
configuration. You can have a look at the
|
||||
:yocto_git:`meta/conf/distro/include/init-manager-*.inc </poky/tree/meta/conf/distro/include>`
|
||||
files for more information, and also the ":ref:`init-manager`"
|
||||
section in the Yocto Project Development Tasks Manual.
|
||||
|
||||
:term:`INITRAMFS_DEPLOY_DIR_IMAGE`
|
||||
@@ -4140,6 +4093,19 @@ system and gives an overview of their function and contents.
|
||||
:term:`Initramfs`, see the ":ref:`dev-manual/building:building an initial ram filesystem (Initramfs) image`" section
|
||||
in the Yocto Project Development Tasks Manual.
|
||||
|
||||
:term:`INITRAMFS_IMAGE_NAME`
|
||||
|
||||
This value needs to stay in sync with :term:`IMAGE_LINK_NAME`, but with
|
||||
:term:`INITRAMFS_IMAGE` instead of :term:`IMAGE_BASENAME`. The default value
|
||||
is set as follows:
|
||||
|
||||
INITRAMFS_IMAGE_NAME ?= "${@['${INITRAMFS_IMAGE}${IMAGE_MACHINE_SUFFIX}', ''][d.getVar('INITRAMFS_IMAGE') == '']}"
|
||||
|
||||
That is, if :term:`INITRAMFS_IMAGE` is set, the value of
|
||||
:term:`INITRAMFS_IMAGE_NAME` will be set based upon
|
||||
:term:`INITRAMFS_IMAGE` and :term:`IMAGE_MACHINE_SUFFIX`.
|
||||
|
||||
|
||||
:term:`INITRAMFS_LINK_NAME`
|
||||
The link name of the initial RAM filesystem image. This variable is
|
||||
set in the ``meta/classes-recipe/kernel-artifact-names.bbclass`` file as
|
||||
@@ -4174,10 +4140,7 @@ system and gives an overview of their function and contents.
|
||||
|
||||
INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}"
|
||||
|
||||
The value of the :term:`KERNEL_ARTIFACT_NAME`
|
||||
variable, which is set in the same file, has the following value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
|
||||
|
||||
:term:`INITRD`
|
||||
Indicates list of filesystem images to concatenate and use as an
|
||||
@@ -4381,9 +4344,9 @@ system and gives an overview of their function and contents.
|
||||
``meta/classes-recipe/kernel-artifact-names.bbclass`` file, has the
|
||||
following default value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}${IMAGE_MACHINE_SUFFIX}${IMAGE_VERSION_SUFFIX}"
|
||||
|
||||
See the :term:`PKGE`, :term:`PKGV`, :term:`PKGR`, :term:`MACHINE`
|
||||
See the :term:`PKGE`, :term:`PKGV`, :term:`PKGR`, :term:`IMAGE_MACHINE_SUFFIX`
|
||||
and :term:`IMAGE_VERSION_SUFFIX` variables for additional information.
|
||||
|
||||
:term:`KERNEL_CLASSES`
|
||||
@@ -4395,6 +4358,20 @@ system and gives an overview of their function and contents.
|
||||
You can register custom kernel image types with the
|
||||
:ref:`ref-classes-kernel` class using this variable.
|
||||
|
||||
:term:`KERNEL_DANGLING_FEATURES_WARN_ONLY`
|
||||
When kernel configuration fragments are missing for some
|
||||
:term:`KERNEL_FEATURES` specified by layers or BSPs,
|
||||
building and configuring the kernel stops with an error.
|
||||
|
||||
You can turn these errors into warnings by setting the
|
||||
following in ``conf/local.conf``::
|
||||
|
||||
KERNEL_DANGLING_FEATURES_WARN_ONLY = "1"
|
||||
|
||||
You will still be warned that runtime issues may occur,
|
||||
but at least the kernel configuration and build process will
|
||||
be allowed to continue.
|
||||
|
||||
:term:`KERNEL_DEBUG_TIMESTAMPS`
|
||||
If set to "1", enables timestamping functionality during building
|
||||
the kernel. The default is "0" to disable this for reproducibility
|
||||
@@ -4441,10 +4418,7 @@ system and gives an overview of their function and contents.
|
||||
|
||||
KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}"
|
||||
|
||||
The value of the :term:`KERNEL_ARTIFACT_NAME`
|
||||
variable, which is set in the same file, has the following value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
|
||||
|
||||
:term:`KERNEL_DTC_FLAGS`
|
||||
Specifies the ``dtc`` flags that are passed to the Linux kernel build
|
||||
@@ -4507,10 +4481,7 @@ system and gives an overview of their function and contents.
|
||||
|
||||
KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}"
|
||||
|
||||
The value of the :term:`KERNEL_ARTIFACT_NAME`
|
||||
variable, which is set in the same file, has the following value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
|
||||
|
||||
:term:`KERNEL_IMAGE_LINK_NAME`
|
||||
The link name for the kernel image. This variable is set in the
|
||||
@@ -4546,11 +4517,7 @@ system and gives an overview of their function and contents.
|
||||
|
||||
KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}"
|
||||
|
||||
The value of the
|
||||
:term:`KERNEL_ARTIFACT_NAME` variable,
|
||||
which is set in the same file, has the following value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
|
||||
|
||||
:term:`KERNEL_IMAGETYPE`
|
||||
The type of kernel to build for a device, usually set by the machine
|
||||
@@ -5299,10 +5266,7 @@ system and gives an overview of their function and contents.
|
||||
|
||||
MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}"
|
||||
|
||||
The value of the :term:`KERNEL_ARTIFACT_NAME` variable,
|
||||
which is set in the same file, has the following value::
|
||||
|
||||
KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
|
||||
See :term:`KERNEL_ARTIFACT_NAME` for additional information.
|
||||
|
||||
:term:`MOUNT_BASE`
|
||||
On non-systemd systems (where ``udev-extraconf`` is being used),
|
||||
@@ -5678,14 +5642,7 @@ system and gives an overview of their function and contents.
|
||||
You can provide one or more of the following arguments for the
|
||||
variable::
|
||||
|
||||
PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk package_tar"
|
||||
|
||||
.. note::
|
||||
|
||||
While it is a legal option, the :ref:`ref-classes-package_tar`
|
||||
class has limited functionality due to no support for package
|
||||
dependencies by that backend. Therefore, it is recommended that
|
||||
you do not use it.
|
||||
PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
|
||||
|
||||
The build system uses only the first argument in the list as the
|
||||
package manager when creating your image or SDK. However, packages
|
||||
@@ -7040,6 +6997,11 @@ system and gives an overview of their function and contents.
|
||||
|
||||
RSUGGESTS:${PN} = "useful_package another_package"
|
||||
|
||||
:term:`RUST_CHANNEL`
|
||||
Specifies which version of Rust to build - "stable", "beta" or "nightly".
|
||||
The default value is "stable". Set this at your own risk, as values other
|
||||
than "stable" are not guaranteed to work at a given time.
|
||||
|
||||
:term:`S`
|
||||
The location in the :term:`Build Directory` where
|
||||
unpacked recipe source code resides. By default, this directory is
|
||||
@@ -7090,6 +7052,14 @@ system and gives an overview of their function and contents.
|
||||
The target architecture for the SDK. Typically, you do not directly
|
||||
set this variable. Instead, use :term:`SDKMACHINE`.
|
||||
|
||||
:term:`SDK_ARCHIVE_TYPE`
|
||||
Specifies the type of archive to create for the SDK. Valid values:
|
||||
|
||||
- ``tar.xz`` (default)
|
||||
- ``zip``
|
||||
|
||||
Only one archive type can be specified.
|
||||
|
||||
:term:`SDK_BUILDINFO_FILE`
|
||||
When using the :ref:`ref-classes-image-buildinfo` class,
|
||||
specifies the file in the SDK to write the build information into. The
|
||||
@@ -7318,6 +7288,11 @@ system and gives an overview of their function and contents.
|
||||
:term:`DISTRO_VERSION` and
|
||||
:term:`METADATA_REVISION` variables.
|
||||
|
||||
:term:`SDK_ZIP_OPTIONS`
|
||||
Specifies extra options to pass to the ``zip`` command when zipping the SDK
|
||||
(i.e. when :term:`SDK_ARCHIVE_TYPE` is set to "zip"). The default value is
|
||||
"-y".
|
||||
|
||||
:term:`SDKEXTPATH`
|
||||
The default installation directory for the Extensible SDK. By
|
||||
default, this directory is based on the :term:`DISTRO`
|
||||
@@ -7385,9 +7360,9 @@ system and gives an overview of their function and contents.
|
||||
|
||||
:term:`SERIAL_CONSOLES`
|
||||
Defines a serial console (TTY) to enable using
|
||||
`getty <https://en.wikipedia.org/wiki/Getty_(Unix)>`__. Provide a
|
||||
value that specifies the baud rate followed by the TTY device name
|
||||
separated by a semicolon. Use spaces to separate multiple devices::
|
||||
:wikipedia:`getty <Getty_(Unix)>`. Provide a value that specifies the
|
||||
baud rate followed by the TTY device name separated by a semicolon.
|
||||
Use spaces to separate multiple devices::
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1"
|
||||
|
||||
@@ -7629,6 +7604,32 @@ system and gives an overview of their function and contents.
|
||||
(+ 0.07\% with the tested image), compared to just enabling
|
||||
:term:`SPDX_INCLUDE_SOURCES`.
|
||||
|
||||
:term:`SPDX_CUSTOM_ANNOTATION_VARS`
|
||||
This option allows to associate `SPDX annotations
|
||||
<https://spdx.github.io/spdx-spec/v2.3/annotations/>`__ to a recipe,
|
||||
using the values of variables in the recipe::
|
||||
|
||||
ANNOTATION1 = "First annotation for recipe"
|
||||
ANNOTATION2 = "Second annotation for recipe"
|
||||
SPDX_CUSTOM_ANNOTATION_VARS = "ANNOTATION1 ANNOTATION2"
|
||||
|
||||
This will add a new block to the recipe ``.sdpx.json`` output::
|
||||
|
||||
"annotations": [
|
||||
{
|
||||
"annotationDate": "2023-04-18T08:32:12Z",
|
||||
"annotationType": "OTHER",
|
||||
"annotator": "Tool: oe-spdx-creator - 1.0",
|
||||
"comment": "ANNOTATION1=First annotation for recipe"
|
||||
},
|
||||
{
|
||||
"annotationDate": "2023-04-18T08:32:12Z",
|
||||
"annotationType": "OTHER",
|
||||
"annotator": "Tool: oe-spdx-creator - 1.0",
|
||||
"comment": "ANNOTATION2=Second annotation for recipe"
|
||||
}
|
||||
],
|
||||
|
||||
:term:`SPDX_INCLUDE_SOURCES`
|
||||
This option allows to add a description of the source files used to build
|
||||
the host tools and the target packages, to the ``spdx.json`` files in
|
||||
@@ -8316,12 +8317,10 @@ system and gives an overview of their function and contents.
|
||||
will be silently ignored.
|
||||
|
||||
:term:`SYSVINIT_ENABLED_GETTYS`
|
||||
When using
|
||||
:ref:`SysVinit <dev-manual/new-recipe:enabling system services>`,
|
||||
When using :ref:`SysVinit <dev-manual/new-recipe:enabling system services>`,
|
||||
specifies a space-separated list of the virtual terminals that should
|
||||
run a `getty <https://en.wikipedia.org/wiki/Getty_%28Unix%29>`__
|
||||
(allowing login), assuming :term:`USE_VT` is not set to
|
||||
"0".
|
||||
run a :wikipedia:`getty <Getty_(Unix)>` (allowing login), assuming
|
||||
:term:`USE_VT` is not set to "0".
|
||||
|
||||
The default value for :term:`SYSVINIT_ENABLED_GETTYS` is "1" (i.e. only
|
||||
run a getty on the first virtual terminal).
|
||||
@@ -9228,9 +9227,8 @@ system and gives an overview of their function and contents.
|
||||
:term:`USE_VT`
|
||||
When using
|
||||
:ref:`SysVinit <dev-manual/new-recipe:enabling system services>`,
|
||||
determines whether or not to run a
|
||||
`getty <https://en.wikipedia.org/wiki/Getty_%28Unix%29>`__ on any
|
||||
virtual terminals in order to enable logging in through those
|
||||
determines whether or not to run a :wikipedia:`getty <Getty_(Unix)>`
|
||||
on any virtual terminals in order to enable logging in through those
|
||||
terminals.
|
||||
|
||||
The default value used for :term:`USE_VT` is "1" when no default value is
|
||||
|
||||
@@ -26,8 +26,8 @@ ourversion = None
|
||||
if len(sys.argv) == 2:
|
||||
ourversion = sys.argv[1]
|
||||
|
||||
activereleases = ["langdale", "kirkstone", "dunfell"]
|
||||
devbranch = "mickledore"
|
||||
activereleases = ["mickledore", "kirkstone", "dunfell"]
|
||||
devbranch = "nanbield"
|
||||
ltsseries = ["kirkstone", "dunfell"]
|
||||
|
||||
# used by run-docs-builds to get the default page
|
||||
@@ -36,6 +36,7 @@ if ourversion == "getlatest":
|
||||
sys.exit(0)
|
||||
|
||||
release_series = collections.OrderedDict()
|
||||
release_series["nanbield"] = "4.3"
|
||||
release_series["mickledore"] = "4.2"
|
||||
release_series["langdale"] = "4.1"
|
||||
release_series["kirkstone"] = "4.0"
|
||||
@@ -66,6 +67,7 @@ release_series["laverne"] = "0.9"
|
||||
|
||||
|
||||
bitbake_mapping = {
|
||||
"nanbield" : "2.6",
|
||||
"mickledore" : "2.4",
|
||||
"langdale" : "2.2",
|
||||
"kirkstone" : "2.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
DISTRO = "poky"
|
||||
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
|
||||
DISTRO_VERSION = "4.2"
|
||||
DISTRO_VERSION = "4.2.1"
|
||||
DISTRO_CODENAME = "mickledore"
|
||||
SDK_VENDOR = "-pokysdk"
|
||||
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
|
||||
|
||||
@@ -229,7 +229,7 @@ def find_license_files(d):
|
||||
bb.fatal('%s: %s' % (d.getVar('PF'), exc))
|
||||
except SyntaxError:
|
||||
oe.qa.handle_error("license-syntax",
|
||||
"%s: Failed to parse it's LICENSE field." % (d.getVar('PF')), d)
|
||||
"%s: Failed to parse LICENSE: %s" % (d.getVar('PF'), d.getVar('LICENSE')), d)
|
||||
# Add files from LIC_FILES_CHKSUM to list of license files
|
||||
lic_chksum_paths = defaultdict(OrderedDict)
|
||||
for path, data in sorted(lic_chksums.items()):
|
||||
|
||||
@@ -388,6 +388,7 @@ symlink_points_below() {
|
||||
# $5 ... u-boot script ID
|
||||
# $6 ... config ID
|
||||
# $7 ... default flag
|
||||
# $8 ... default DTB image name
|
||||
fitimage_emit_section_config() {
|
||||
|
||||
conf_csum="${FIT_HASH_ALG}"
|
||||
@@ -404,6 +405,7 @@ fitimage_emit_section_config() {
|
||||
bootscr_id="$5"
|
||||
config_id="$6"
|
||||
default_flag="$7"
|
||||
default_dtb_image="$8"
|
||||
|
||||
# Test if we have any DTBs at all
|
||||
sep=""
|
||||
@@ -415,7 +417,6 @@ fitimage_emit_section_config() {
|
||||
bootscr_line=""
|
||||
setup_line=""
|
||||
default_line=""
|
||||
default_dtb_image="${FIT_CONF_DEFAULT_DTB}"
|
||||
|
||||
dtb_image_sect=$(symlink_points_below $dtb_image "${EXTERNAL_KERNEL_DEVICETREE}")
|
||||
if [ -z "$dtb_image_sect" ]; then
|
||||
@@ -469,11 +470,7 @@ fitimage_emit_section_config() {
|
||||
# Select default node as user specified dtb when
|
||||
# multiple dtb exists.
|
||||
if [ -n "$default_dtb_image" ]; then
|
||||
if [ -s "${EXTERNAL_KERNEL_DEVICETREE}/$default_dtb_image" ]; then
|
||||
default_line="default = \"${FIT_CONF_PREFIX}$default_dtb_image\";"
|
||||
else
|
||||
bbwarn "Couldn't find a valid user specified dtb in ${EXTERNAL_KERNEL_DEVICETREE}/$default_dtb_image"
|
||||
fi
|
||||
default_line="default = \"${FIT_CONF_PREFIX}$default_dtb_image\";"
|
||||
else
|
||||
default_line="default = \"${FIT_CONF_PREFIX}$dtb_image\";"
|
||||
fi
|
||||
@@ -555,7 +552,8 @@ fitimage_assemble() {
|
||||
ramdiskcount=$3
|
||||
setupcount=""
|
||||
bootscr_id=""
|
||||
rm -f $1 ${KERNEL_OUTPUT_DIR}/$2
|
||||
default_dtb_image=""
|
||||
rm -f $1 arch/${ARCH}/boot/$2
|
||||
|
||||
if [ -n "${UBOOT_SIGN_IMG_KEYNAME}" -a "${UBOOT_SIGN_KEYNAME}" = "${UBOOT_SIGN_IMG_KEYNAME}" ]; then
|
||||
bbfatal "Keys used to sign images and configuration nodes must be different."
|
||||
@@ -593,6 +591,13 @@ fitimage_assemble() {
|
||||
DTB_PATH="${KERNEL_OUTPUT_DIR}/$DTB"
|
||||
fi
|
||||
|
||||
# Set the default dtb image if it exists in the devicetree.
|
||||
if [ ${FIT_CONF_DEFAULT_DTB} = $DTB ];then
|
||||
default_dtb_image=$(echo "$DTB" | tr '/' '_')
|
||||
fi
|
||||
|
||||
DTB=$(echo "$DTB" | tr '/' '_')
|
||||
|
||||
# Skip DTB if we've picked it up previously
|
||||
echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
|
||||
|
||||
@@ -606,6 +611,13 @@ fitimage_assemble() {
|
||||
dtbcount=1
|
||||
for DTB in $(find "${EXTERNAL_KERNEL_DEVICETREE}" -name '*.dtb' -printf '%P\n' | sort) \
|
||||
$(find "${EXTERNAL_KERNEL_DEVICETREE}" -name '*.dtbo' -printf '%P\n' | sort); do
|
||||
# Set the default dtb image if it exists in the devicetree.
|
||||
if [ ${FIT_CONF_DEFAULT_DTB} = $DTB ];then
|
||||
default_dtb_image=$(echo "$DTB" | tr '/' '_')
|
||||
fi
|
||||
|
||||
DTB=$(echo "$DTB" | tr '/' '_')
|
||||
|
||||
# Skip DTB/DTBO if we've picked it up previously
|
||||
echo "$DTBS" | tr ' ' '\n' | grep -xq "$DTB" && continue
|
||||
|
||||
@@ -619,6 +631,10 @@ fitimage_assemble() {
|
||||
done
|
||||
fi
|
||||
|
||||
if [ -n "${FIT_CONF_DEFAULT_DTB}" ] && [ -z $default_dtb_image ]; then
|
||||
bbwarn "${FIT_CONF_DEFAULT_DTB} is not available in the list of device trees."
|
||||
fi
|
||||
|
||||
#
|
||||
# Step 3: Prepare a u-boot script section
|
||||
#
|
||||
@@ -691,15 +707,15 @@ fitimage_assemble() {
|
||||
for DTB in ${DTBS}; do
|
||||
dtb_ext=${DTB##*.}
|
||||
if [ "$dtb_ext" = "dtbo" ]; then
|
||||
fitimage_emit_section_config $1 "" "$DTB" "" "$bootscr_id" "" "`expr $i = $dtbcount`"
|
||||
fitimage_emit_section_config $1 "" "$DTB" "" "$bootscr_id" "" "`expr $i = $dtbcount`" "$default_dtb_image"
|
||||
else
|
||||
fitimage_emit_section_config $1 $kernelcount "$DTB" "$ramdiskcount" "$bootscr_id" "$setupcount" "`expr $i = $dtbcount`"
|
||||
fitimage_emit_section_config $1 $kernelcount "$DTB" "$ramdiskcount" "$bootscr_id" "$setupcount" "`expr $i = $dtbcount`" "$default_dtb_image"
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
else
|
||||
defaultconfigcount=1
|
||||
fitimage_emit_section_config $1 $kernelcount "" "$ramdiskcount" "$bootscr_id" "$setupcount" $defaultconfigcount
|
||||
fitimage_emit_section_config $1 $kernelcount "" "$ramdiskcount" "$bootscr_id" "$setupcount" $defaultconfigcount "$default_dtb_image"
|
||||
fi
|
||||
|
||||
fitimage_emit_section_maint $1 sectend
|
||||
|
||||
@@ -382,7 +382,7 @@ kernel_do_compile() {
|
||||
use_alternate_initrd=CONFIG_INITRAMFS_SOURCE=${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
|
||||
fi
|
||||
for typeformake in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
|
||||
oe_runmake ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
|
||||
oe_runmake ${PARALLEL_MAKE} ${typeformake} ${KERNEL_EXTRA_ARGS} $use_alternate_initrd
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
@@ -369,7 +369,8 @@ python copy_buildsystem () {
|
||||
f.write('BUILDCFG_HEADER = ""\n\n')
|
||||
|
||||
# Write METADATA_REVISION
|
||||
f.write('METADATA_REVISION = "%s"\n\n' % d.getVar('METADATA_REVISION'))
|
||||
# Needs distro override so it can override the value set in the bbclass code (later than local.conf)
|
||||
f.write('METADATA_REVISION:%s = "%s"\n\n' % (d.getVar('DISTRO'), d.getVar('METADATA_REVISION')))
|
||||
|
||||
f.write('# Provide a flag to indicate we are in the EXT_SDK Context\n')
|
||||
f.write('WITHIN_EXT_SDK = "1"\n\n')
|
||||
@@ -732,7 +733,7 @@ sdk_ext_postinst() {
|
||||
# current working directory when first ran, nor will it set $1 when
|
||||
# sourcing a script. That is why this has to look so ugly.
|
||||
LOGFILE="$target_sdk_dir/preparing_build_system.log"
|
||||
sh -c ". buildtools/environment-setup* > $LOGFILE && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE && python3 $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
|
||||
sh -c ". buildtools/environment-setup* > $LOGFILE 2>&1 && cd $target_sdk_dir/`dirname ${oe_init_build_env_path}` && set $target_sdk_dir && . $target_sdk_dir/${oe_init_build_env_path} $target_sdk_dir >> $LOGFILE 2>&1 && python3 $target_sdk_dir/ext-sdk-prepare.py $LOGFILE '${SDK_INSTALL_TARGETS}'" || { echo "printf 'ERROR: this SDK was not fully installed and needs reinstalling\n'" >> $env_setup_script ; exit 1 ; }
|
||||
fi
|
||||
if [ -e $target_sdk_dir/ext-sdk-prepare.py ]; then
|
||||
rm $target_sdk_dir/ext-sdk-prepare.py
|
||||
|
||||
@@ -12,7 +12,7 @@ DEPENDS:append = " ${EXTRA_PYTHON_DEPENDS}"
|
||||
|
||||
setup_target_config() {
|
||||
export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
|
||||
export PYTHONPATH=${STAGING_LIBDIR}/python-sysconfigdata
|
||||
export PYTHONPATH=${STAGING_LIBDIR}/python-sysconfigdata:$PYTHONPATH
|
||||
export PATH=${STAGING_EXECPREFIXDIR}/python-target-config/:$PATH
|
||||
}
|
||||
|
||||
|
||||
@@ -86,10 +86,10 @@ def gen_updatealternativesvardeps(d):
|
||||
|
||||
for p in pkgs:
|
||||
for v in vars:
|
||||
for flag in sorted((d.getVarFlags("%s_%s" % (v,p)) or {}).keys()):
|
||||
for flag in sorted((d.getVarFlags("%s:%s" % (v,p)) or {}).keys()):
|
||||
if flag == "doc" or flag == "vardeps" or flag == "vardepsexp":
|
||||
continue
|
||||
d.appendVar('%s_VARDEPS_%s' % (v,p), ' %s:%s' % (flag, d.getVarFlag('%s_%s' % (v,p), flag, False)))
|
||||
d.appendVar('%s_VARDEPS_%s' % (v,p), ' %s:%s' % (flag, d.getVarFlag('%s:%s' % (v,p), flag, False)))
|
||||
|
||||
def ua_extend_depends(d):
|
||||
if not 'virtual/update-alternatives' in d.getVar('PROVIDES'):
|
||||
|
||||
@@ -438,6 +438,15 @@ CVE_CHECK_IGNORE += "CVE-2023-1073"
|
||||
# Backported in version 6.1.9 9f08bb650078dca24a13fea1c375358ed6292df3
|
||||
CVE_CHECK_IGNORE += "CVE-2023-1074"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-1076
|
||||
# Patched in kernel v6.3 a096ccca6e503a5c575717ff8a36ace27510ab0a
|
||||
# Backported in version v5.4.235 d92d87000eda9884d49f1acec1c1fccd63cd9b11
|
||||
# Backported in version v5.10.173 9a31af61f397500ccae49d56d809b2217d1e2178
|
||||
# Backported in version v5.15.99 67f9f02928a34aad0a2c11dab5eea269f5ecf427
|
||||
# Backported in version v6.1.16 b4ada752eaf1341f47bfa3d8ada377eca75a8d44
|
||||
# Backported in version v6.2.3 4aa4b4b3b3e9551c4de2bf2987247c28805fb8f6
|
||||
CVE_CHECK_IGNORE += "CVE-2023-1076"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-1077
|
||||
# Patched in kernel 6.3rc1 7c4a5b89a0b5a57a64b601775b296abf77a9fe97
|
||||
# Backported in version 5.15.99 2c36c390a74981d03f04f01fe7ee9c3ac3ea11f7
|
||||
@@ -485,6 +494,35 @@ CVE_CHECK_IGNORE += "CVE-2023-1281"
|
||||
# Backported in version v6.1.13 747ca7c8a0c7bce004709143d1cd6596b79b1deb
|
||||
CVE_CHECK_IGNORE += "CVE-2023-1513"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-1652
|
||||
# Patched in kernel since v6.2 e6cf91b7b47ff82b624bdfe2fdcde32bb52e71dd
|
||||
# Backported in version v5.15.91 0a27dcd5343026ac0cb168ee63304255372b7a36
|
||||
# Backported in version v6.1.9 32d5eb95f8f0e362e37c393310b13b9e95404560
|
||||
# Ref: https://www.linuxkernelcves.com/cves/CVE-2023-1652
|
||||
# Ref: Debian kernel-sec team: https://salsa.debian.org/kernel-team/kernel-sec/-/blob/1fa77554d4721da54e2df06fa1908a83ba6b1045/retired/CVE-2023-1652
|
||||
CVE_CHECK_IGNORE += "CVE-2023-1652"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-1829
|
||||
# Patched in kernel since v6.3-rc1 8c710f75256bb3cf05ac7b1672c82b92c43f3d28
|
||||
# Backported in version v5.4.235 7a6fb69bbcb21e9ce13bdf18c008c268874f0480
|
||||
# Backported in version v5.10.173 18c3fa7a7fdbb4d21dafc8a7710ae2c1680930f6
|
||||
# Backported in version v5.15.100 7c183dc0af472dec33d2c0786a5e356baa8cad19
|
||||
# Backported in version v6.1.18 3abebc503a5148072052c229c6b04b329a420ecd
|
||||
# Backported in version v6.2.5 372ae77cf11d11fb118cbe2d37def9dd5f826abd
|
||||
# Ref: https://www.linuxkernelcves.com/cves/CVE-2023-1829
|
||||
# Ref: Debian kernel-sec team : https://salsa.debian.org/kernel-team/kernel-sec/-/blob/1fa77554d4721da54e2df06fa1908a83ba6b1045/active/CVE-2023-1829
|
||||
CVE_CHECK_IGNORE += "CVE-2023-1829"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-23005
|
||||
# Introduced in version v6.1 7b88bda3761b95856cf97822efe8281c8100067b
|
||||
# Patched in kernel since v6.2 4a625ceee8a0ab0273534cb6b432ce6b331db5ee
|
||||
# But, the CVE is disputed:
|
||||
# > NOTE: this is disputed by third parties because there are no realistic cases
|
||||
# > in which a user can cause the alloc_memory_type error case to be reached.
|
||||
# See: https://bugzilla.suse.com/show_bug.cgi?id=1208844#c2
|
||||
# We can safely ignore it.
|
||||
CVE_CHECK_IGNORE += "CVE-2023-23005"
|
||||
|
||||
# https://nvd.nist.gov/vuln/detail/CVE-2023-28466
|
||||
# Introduced in version v4.13 3c4d7559159bfe1e3b94df3a657b2cda3a34e218
|
||||
# Patched in kernel since v6.3-rc2 49c47cc21b5b7a3d8deb18fc57b0aa2ab1286962
|
||||
|
||||
@@ -129,6 +129,7 @@ RECIPE_MAINTAINER:pn-cryptodev-tests = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-cups = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-curl = "Robert Joslyn <robert.joslyn@redrectangle.org>"
|
||||
RECIPE_MAINTAINER:pn-cve-update-db-native = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER:pn-cve-update-nvd2-native = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER:pn-cwautomacros = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER:pn-db = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-dbus = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
@@ -278,12 +279,15 @@ RECIPE_MAINTAINER:pn-initramfs-live-install = "Anuj Mittal <anuj.mittal@intel.co
|
||||
RECIPE_MAINTAINER:pn-initramfs-live-install-efi = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initramfs-live-install-efi-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initramfs-live-install-testfs = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initramfs-module-install = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initramfs-module-install-efi = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initramfs-module-setup-live = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-initscripts = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intltool = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-iproute2 = "Changhyeok Bae <changhyeok.bae@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-iptables = "Changhyeok Bae <changhyeok.bae@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-iputils = "Changhyeok Bae <changhyeok.bae@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.ujitsu.com>"
|
||||
RECIPE_MAINTAINER:pn-iso-codes = "Wang Mingyu <wangmy@cn.fujitsu.com>"
|
||||
RECIPE_MAINTAINER:pn-itstool = "Andreas Müller <schnitzeltony@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-iw = "Changhyeok Bae <changhyeok.bae@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-libjpeg-turbo = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
@@ -419,6 +423,7 @@ RECIPE_MAINTAINER:pn-libvorbis = "Zang Ruochen <zangruochen@loongson.cn>"
|
||||
RECIPE_MAINTAINER:pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-libwpe = "Alexander Kanavin <alex.kanavin@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-libx11 = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-libx11-compose-data = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-libxau = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-libxcb = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-libxcvt = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
|
||||
@@ -717,7 +722,7 @@ RECIPE_MAINTAINER:pn-quilt-native = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-quota = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-re2c = "Khem Raj <raj.khem@gmail.com>"
|
||||
RECIPE_MAINTAINER:pn-readline = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-repo = "Jasper Orschulko <Jasper.Orschulko@iris-sensing.com>"
|
||||
RECIPE_MAINTAINER:pn-repo = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-resolvconf = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-rgb = "Unassigned <unassigned@yoctoproject.org>"
|
||||
RECIPE_MAINTAINER:pn-rpcbind = "Hongxu Jia <hongxu.jia@windriver.com>"
|
||||
@@ -774,6 +779,7 @@ RECIPE_MAINTAINER:pn-systemd-bootchart = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-bootconf = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-conf = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-compat-units = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-machine-units = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-serialgetty = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemd-systemctl-native = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-systemtap = "Victor Kamensky <victor.kamensky7@gmail.com>"
|
||||
@@ -783,6 +789,7 @@ RECIPE_MAINTAINER:pn-sysvinit = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER:pn-sysvinit-inittab = "Ross Burton <ross.burton@arm.com>"
|
||||
RECIPE_MAINTAINER:pn-taglib = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-tar = "Chen Qi <Qi.Chen@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-target-sdk-provides-dummy = "Richard Purdie <richard.purdie@linuxfoundation.org>"
|
||||
RECIPE_MAINTAINER:pn-tcf-agent = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-tcl = "Yi Zhao <yi.zhao@windriver.com>"
|
||||
RECIPE_MAINTAINER:pn-tcp-wrappers = "Robert Yang <liezhi.yang@windriver.com>"
|
||||
|
||||
@@ -17,8 +17,6 @@ QB_SYSTEM_NAME = "qemu-system-arm"
|
||||
QB_MACHINE = "-machine virt,highmem=off"
|
||||
QB_CPU = "-cpu cortex-a15"
|
||||
QB_SMP ?= "-smp 4"
|
||||
# Standard Serial console
|
||||
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
|
||||
# For graphics to work we need to define the VGA device as well as the necessary USB devices
|
||||
QB_GRAPHICS = "-device virtio-gpu-pci"
|
||||
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
|
||||
|
||||
@@ -12,7 +12,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1"
|
||||
# For runqemu
|
||||
QB_SYSTEM_NAME = "qemu-system-arm"
|
||||
QB_MACHINE = "-machine versatilepb"
|
||||
QB_KERNEL_CMDLINE_APPEND = "vmalloc=256"
|
||||
QB_GRAPHICS = "-device virtio-gpu-pci"
|
||||
QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
|
||||
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
|
||||
|
||||
@@ -247,7 +247,7 @@ class OpkgPM(OpkgDpkgPM):
|
||||
"""
|
||||
if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI') or "") != "":
|
||||
for arch in self.pkg_archs.split():
|
||||
cfg_file_name = os.path.join(self.target_rootfs,
|
||||
cfg_file_name = oe.path.join(self.target_rootfs,
|
||||
self.d.getVar("sysconfdir"),
|
||||
"opkg",
|
||||
"local-%s-feed.conf" % arch)
|
||||
|
||||
@@ -84,15 +84,15 @@ The following recipes do not have a DESCRIPTION. Please add an entry for DESCRIP
|
||||
Author: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
"""
|
||||
def is_exception(pkg):
|
||||
exceptions = ["packagegroup-", "initramfs-", "systemd-machine-units", "target-sdk-provides-dummy"]
|
||||
exceptions = ["packagegroup-",]
|
||||
for i in exceptions:
|
||||
if i in pkg:
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_maintainer_exception(entry):
|
||||
exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran",
|
||||
"cve-update-db-native", "rust"]
|
||||
exceptions = ["musl", "newlib", "linux-yocto", "linux-dummy", "mesa-gl", "libgfortran", "libx11-compose-data",
|
||||
"cve-update-db-native","cve-update-nvd2-native",]
|
||||
for i in exceptions:
|
||||
if i in entry:
|
||||
return True
|
||||
|
||||
@@ -36,6 +36,7 @@ PREMIRRORS:forcevariable = ""
|
||||
# No mirrors and broken git, should fail
|
||||
features = """
|
||||
DL_DIR = "%s"
|
||||
SRC_URI:pn-dbus-wait = "git://git.yoctoproject.org/dbus-wait;branch=master;protocol=git"
|
||||
GIT_PROXY_COMMAND = "false"
|
||||
MIRRORS:forcevariable = ""
|
||||
PREMIRRORS:forcevariable = ""
|
||||
@@ -48,6 +49,7 @@ PREMIRRORS:forcevariable = ""
|
||||
# Broken git but a specific mirror
|
||||
features = """
|
||||
DL_DIR = "%s"
|
||||
SRC_URI:pn-dbus-wait = "git://git.yoctoproject.org/dbus-wait;branch=master;protocol=git"
|
||||
GIT_PROXY_COMMAND = "false"
|
||||
MIRRORS:forcevariable = "git://.*/.* http://downloads.yoctoproject.org/mirror/sources/"
|
||||
""" % dldir
|
||||
|
||||
@@ -361,7 +361,7 @@ class RecipetoolCreateTests(RecipetoolBase):
|
||||
tempsrc = os.path.join(self.tempdir, 'srctree')
|
||||
os.makedirs(tempsrc)
|
||||
recipefile = os.path.join(self.tempdir, 'libmatchbox.bb')
|
||||
srcuri = 'git://git.yoctoproject.org/libmatchbox'
|
||||
srcuri = 'git://git.yoctoproject.org/libmatchbox;protocol=https'
|
||||
result = runCmd(['recipetool', 'create', '-o', recipefile, srcuri + ";rev=9f7cf8895ae2d39c465c04cc78e918c157420269", '-x', tempsrc])
|
||||
self.assertTrue(os.path.isfile(recipefile), 'recipetool did not create recipe file; output:\n%s' % result.output)
|
||||
checkvars = {}
|
||||
@@ -511,13 +511,13 @@ class RecipetoolCreateTests(RecipetoolBase):
|
||||
self._test_recipetool_create_git('http://git.yoctoproject.org/git/matchbox-keyboard')
|
||||
|
||||
def test_recipetool_create_git_srcuri_master(self):
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=master')
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=master;protocol=https')
|
||||
|
||||
def test_recipetool_create_git_srcuri_branch(self):
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=matchbox-keyboard-0-1')
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;branch=matchbox-keyboard-0-1;protocol=https')
|
||||
|
||||
def test_recipetool_create_git_srcbranch(self):
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard', 'matchbox-keyboard-0-1')
|
||||
self._test_recipetool_create_git('git://git.yoctoproject.org/matchbox-keyboard;protocol=https', 'matchbox-keyboard-0-1')
|
||||
|
||||
|
||||
class RecipetoolTests(RecipetoolBase):
|
||||
|
||||
@@ -27,9 +27,9 @@ def metadata_from_bb():
|
||||
data_dict = get_bb_vars()
|
||||
|
||||
# Distro information
|
||||
info_dict['distro'] = {'id': data_dict['DISTRO'],
|
||||
'version_id': data_dict['DISTRO_VERSION'],
|
||||
'pretty_name': '%s %s' % (data_dict['DISTRO'], data_dict['DISTRO_VERSION'])}
|
||||
info_dict['distro'] = {'id': data_dict.get('DISTRO', 'NODISTRO'),
|
||||
'version_id': data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'),
|
||||
'pretty_name': '%s %s' % (data_dict.get('DISTRO', 'NODISTRO'), data_dict.get('DISTRO_VERSION', 'NO_DISTRO_VERSION'))}
|
||||
|
||||
# Host distro information
|
||||
os_release = get_os_release()
|
||||
|
||||
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \
|
||||
file://0001-avoid-start-failure-with-bind-user.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "47766bb7b063aabbad054386b190aa7f6c14524427afd427c30ec426512027e7"
|
||||
SRC_URI[sha256sum] = "3b06b6390c1012dd3956b1479c73b2097c0b22207817e2e8aae352fd20e578c7"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
|
||||
# follow the ESV versions divisible by 2
|
||||
@@ -0,0 +1,63 @@
|
||||
From 99e2c16ea1cced34a5dc450d76287a1c3e762138 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <wagi@monom.org>
|
||||
Date: Tue, 11 Apr 2023 08:12:56 +0200
|
||||
Subject: [PATCH] gdhcp: Verify and sanitize packet length first
|
||||
|
||||
Avoid overwriting the read packet length after the initial test. Thus
|
||||
move all the length checks which depends on the total length first
|
||||
and do not use the total lenght from the IP packet afterwards.
|
||||
|
||||
Fixes CVE-2023-28488
|
||||
|
||||
Reported by Polina Smirnova <moe.hwr@gmail.com>
|
||||
|
||||
CVE: CVE-2023-28488
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
---
|
||||
gdhcp/client.c | 16 +++++++++-------
|
||||
1 file changed, 9 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gdhcp/client.c b/gdhcp/client.c
|
||||
index 7efa7e45..82017692 100644
|
||||
--- a/gdhcp/client.c
|
||||
+++ b/gdhcp/client.c
|
||||
@@ -1319,9 +1319,9 @@ static bool sanity_check(struct ip_udp_dhcp_packet *packet, int bytes)
|
||||
static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
|
||||
struct sockaddr_in *dst_addr)
|
||||
{
|
||||
- int bytes;
|
||||
struct ip_udp_dhcp_packet packet;
|
||||
uint16_t check;
|
||||
+ int bytes, tot_len;
|
||||
|
||||
memset(&packet, 0, sizeof(packet));
|
||||
|
||||
@@ -1329,15 +1329,17 @@ static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
|
||||
if (bytes < 0)
|
||||
return -1;
|
||||
|
||||
- if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
|
||||
- return -1;
|
||||
-
|
||||
- if (bytes < ntohs(packet.ip.tot_len))
|
||||
+ tot_len = ntohs(packet.ip.tot_len);
|
||||
+ if (bytes > tot_len) {
|
||||
+ /* ignore any extra garbage bytes */
|
||||
+ bytes = tot_len;
|
||||
+ } else if (bytes < tot_len) {
|
||||
/* packet is bigger than sizeof(packet), we did partial read */
|
||||
return -1;
|
||||
+ }
|
||||
|
||||
- /* ignore any extra garbage bytes */
|
||||
- bytes = ntohs(packet.ip.tot_len);
|
||||
+ if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
|
||||
+ return -1;
|
||||
|
||||
if (!sanity_check(&packet, bytes))
|
||||
return -1;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -8,6 +8,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
|
||||
file://CVE-2022-32293_p1.patch \
|
||||
file://CVE-2022-32293_p2.patch \
|
||||
file://CVE-2022-32292.patch \
|
||||
file://0001-gdhcp-Verify-and-sanitize-packet-length-first.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
|
||||
|
||||
@@ -9,9 +9,7 @@ HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=d148485768fe85b9f1072b186a7e9b4d"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/"
|
||||
|
||||
SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
|
||||
SRC_URI = "git://github.com/NetworkConfiguration/dhcpcd;protocol=https;branch=dhcpcd-9 \
|
||||
file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch \
|
||||
file://0001-20-resolv.conf-improve-the-sitation-of-working-with-.patch \
|
||||
file://0001-privsep-Allow-getrandom-sysctl-for-newer-glibc.patch \
|
||||
@@ -22,7 +20,8 @@ SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
|
||||
file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c"
|
||||
SRCREV = "3c458fc7fa4146029a1e4f9e98cd7e7adf03081a"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig autotools-brokensep systemd useradd
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb289217c160e2920d2e35bddc36453 \
|
||||
DEPENDS = "flex-native bison-native"
|
||||
|
||||
SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz"
|
||||
SRC_URI[sha256sum] = "2a8885c403516cf7b0933ed4b14d6caa30e02052489ebd414dc75ac52e7559e6"
|
||||
SRC_URI[sha256sum] = "ed19a0383fad72e3ad435fd239d7cd80d64916b87269550159d20e47160ebe5f"
|
||||
|
||||
inherit autotools binconfig-disabled pkgconfig
|
||||
|
||||
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
|
||||
|
||||
DEPENDS = "dbus glib-2.0 libnl"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=git;branch=master \
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=https;branch=master \
|
||||
file://neard.in \
|
||||
file://Makefile.am-fix-parallel-issue.patch \
|
||||
file://Makefile.am-do-not-ship-version.h.patch \
|
||||
|
||||
@@ -11,7 +11,7 @@ SRCREV = "6cc6077a36fe2648a5f993fe7c16c9632f946517"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
PR = "r2"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master"
|
||||
SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
|
||||
UPSTREAM_CHECK_COMMITS = "1"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
In autobuilder testing we regularly see glib-networking ptest fail with:
|
||||
|
||||
GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27)
|
||||
Bail out! GLib-Net:ERROR:/usr/src/debug/glib-networking/2.74.0-r0/tls/tests/connection.c:1944:simul_read_thread: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27)
|
||||
FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6)
|
||||
SUMMARY: total=4; passed=3; skipped=0; failed=1; user=0.9s; system=0.4s; maxrss=10708
|
||||
FAIL: glib-networking/connection-openssl.test (Child process killed by signal 6)
|
||||
|
||||
The test should probably retry in this situation so test a patch which does this.
|
||||
|
||||
Upstream-Status: Pending [testing to see if patch resolves the issue]
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
|
||||
Index: glib-networking-2.74.0/tls/tests/connection.c
|
||||
===================================================================
|
||||
--- glib-networking-2.74.0.orig/tls/tests/connection.c
|
||||
+++ glib-networking-2.74.0/tls/tests/connection.c
|
||||
@@ -1941,6 +1941,10 @@ simul_read_thread (gpointer user_data)
|
||||
test->buf + test->nread,
|
||||
MIN (TEST_DATA_LENGTH / 2, TEST_DATA_LENGTH - test->nread),
|
||||
NULL, &error);
|
||||
+
|
||||
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_BUSY))
|
||||
+ continue;
|
||||
+
|
||||
g_assert_no_error (error);
|
||||
|
||||
test->nread += nread;
|
||||
@@ -24,6 +24,7 @@ GNOMEBASEBUILDCLASS = "meson"
|
||||
inherit gnomebase gettext upstream-version-is-even gio-module-cache ptest-gnome
|
||||
|
||||
SRC_URI += "file://run-ptest"
|
||||
SRC_URI += "file://eagain.patch"
|
||||
|
||||
FILES:${PN} += "\
|
||||
${libdir}/gio/modules/libgio*.so \
|
||||
|
||||
@@ -3,6 +3,6 @@ PV = "2.37"
|
||||
SRCREV_glibc ?= "d8e1a7590d375159fb5aac07ad8111ab4699e994"
|
||||
SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
|
||||
|
||||
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
|
||||
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
|
||||
|
||||
@@ -26,8 +26,8 @@ inherit core-image setuptools3 features_check
|
||||
|
||||
REQUIRED_DISTRO_FEATURES += "xattr"
|
||||
|
||||
SRCREV ?= "311c76c8e8cf39fa41456561148cebe2b8b3c057"
|
||||
SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
|
||||
SRCREV ?= "ad1f61d8667b7f3663883112e0cd36112659b603"
|
||||
SRC_URI = "git://git.yoctoproject.org/poky;branch=mickledore \
|
||||
file://Yocto_Build_Appliance.vmx \
|
||||
file://Yocto_Build_Appliance.vmxf \
|
||||
file://README_VirtualBox_Guest_Additions.txt \
|
||||
|
||||
@@ -40,15 +40,15 @@ inherit autotools pkgconfig binconfig-disabled ptest
|
||||
|
||||
inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
|
||||
|
||||
RDEPENDS:${PN}-ptest += "bash make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
|
||||
RDEPENDS:${PN}-ptest += "bash make locale-base-en-us ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}"
|
||||
|
||||
RDEPENDS:${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
|
||||
|
||||
RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales"
|
||||
RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-gconv-ebcdic-us \
|
||||
glibc-gconv-ibm1141 \
|
||||
glibc-gconv-iso8859-5 \
|
||||
glibc-gconv-euc-jp \
|
||||
locale-base-en-us \
|
||||
"
|
||||
|
||||
# WARNING: zlib is required for RPM use
|
||||
@@ -85,6 +85,11 @@ do_install_ptest () {
|
||||
fi
|
||||
}
|
||||
|
||||
# with musl we need to enable icu support explicitly for these tests
|
||||
do_install_ptest:append:libc-musl () {
|
||||
rm -rf ${D}/${PTEST_PATH}/test/icu_parse_test.xml
|
||||
}
|
||||
|
||||
do_install:append:class-native () {
|
||||
# Docs are not needed in the native case
|
||||
rm ${D}${datadir}/gtk-doc -rf
|
||||
|
||||
@@ -118,6 +118,7 @@ def nvd_request_next(url, api_key, args):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import gzip
|
||||
import http
|
||||
|
||||
headers = {}
|
||||
if api_key:
|
||||
|
||||
@@ -11,7 +11,7 @@ inherit ptest
|
||||
|
||||
SRCREV = "18e28496adee3d84fefdda6efcb9c5b8996a2398"
|
||||
SRC_URI = " \
|
||||
git://repo.or.cz/libc-test;branch=master \
|
||||
git://repo.or.cz/libc-test;branch=master;protocol=https \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ PV = "${BASEVER}+git${SRCPV}"
|
||||
|
||||
# mirror is at git://github.com/kraj/musl.git
|
||||
|
||||
SRC_URI = "git://git.musl-libc.org/musl;branch=master \
|
||||
SRC_URI = "git://git.musl-libc.org/musl;branch=master;protocol=https \
|
||||
file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \
|
||||
file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \
|
||||
"
|
||||
|
||||
@@ -9,7 +9,7 @@ DEPENDS = "gdk-pixbuf-native"
|
||||
SRCREV = "44afb7506d43cca15582b4c5b90ba5580344d75d"
|
||||
PV = "0.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master \
|
||||
SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \
|
||||
file://psplash-init \
|
||||
file://psplash-start.service \
|
||||
file://psplash-systemd.service \
|
||||
|
||||
@@ -195,12 +195,19 @@ class SystemdUnit():
|
||||
|
||||
raise SystemdUnitNotFoundError(self.root, unit)
|
||||
|
||||
def _process_deps(self, config, service, location, prop, dirstem):
|
||||
def _process_deps(self, config, service, location, prop, dirstem, instance):
|
||||
systemdir = self.root / SYSCONFDIR / "systemd" / "system"
|
||||
|
||||
target = ROOT / location.relative_to(self.root)
|
||||
try:
|
||||
for dependent in config.get('Install', prop):
|
||||
# determine whether or not dependent is a template with an actual
|
||||
# instance (i.e. a '@%i')
|
||||
dependent_is_template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", dependent)
|
||||
if dependent_is_template:
|
||||
# if so, replace with the actual instance to achieve
|
||||
# svc-wants@a.service.wants/svc-wanted-by@a.service
|
||||
dependent = re.sub(dependent_is_template.group('instance'), instance, dependent, 1)
|
||||
wants = systemdir / "{}.{}".format(dependent, dirstem) / service
|
||||
add_link(wants, target)
|
||||
|
||||
@@ -240,8 +247,8 @@ class SystemdUnit():
|
||||
else:
|
||||
service = self.unit
|
||||
|
||||
self._process_deps(config, service, path, 'WantedBy', 'wants')
|
||||
self._process_deps(config, service, path, 'RequiredBy', 'requires')
|
||||
self._process_deps(config, service, path, 'WantedBy', 'wants', instance)
|
||||
self._process_deps(config, service, path, 'RequiredBy', 'requires', instance)
|
||||
|
||||
try:
|
||||
for also in config.get('Install', 'Also'):
|
||||
|
||||
@@ -6,7 +6,7 @@ SECTION = "base"
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f535425934bb5001f2037d9"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master"
|
||||
SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https"
|
||||
SRCREV = "8636cf478d426b568c1be11dbd9346f67e03adac"
|
||||
|
||||
UPSTREAM_CHECK_COMMITS = "1"
|
||||
|
||||
@@ -19,7 +19,7 @@ SRCBRANCH ?= "binutils-2_40-branch"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
|
||||
|
||||
SRCREV ?= "ffb83e32fc11f36b7b82b876c14888f82cd983b3"
|
||||
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=git"
|
||||
BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=${SRCBRANCH};protocol=https"
|
||||
SRC_URI = "\
|
||||
${BINUTILS_GIT_URI} \
|
||||
file://0004-Point-scripts-location-to-libdir.patch \
|
||||
|
||||
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = " \
|
||||
SECTION = "base"
|
||||
DEPENDS = "util-linux zlib"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master \
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master;protocol=https \
|
||||
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
|
||||
file://0001-Use-pread-pwrite-ftruncate-stat-instead-of-64bit-equ.patch \
|
||||
"
|
||||
|
||||
@@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=d50be0580c0b0a7fbc7a4830bbe6c12b \
|
||||
SECTION = "base"
|
||||
DEPENDS = "util-linux attr autoconf-archive"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master"
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools gettext texinfo pkgconfig multilib_header update-alternatives ptest
|
||||
|
||||
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73001d804ea1e3d84365f652242cca20"
|
||||
HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README"
|
||||
|
||||
SRCREV = "a2821a66b42aee5430bccee82c280e38d1e9ab29"
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master \
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https \
|
||||
file://0001-configure-use-AC_SYS_LARGEFILE.patch \
|
||||
file://0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch \
|
||||
file://0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch \
|
||||
|
||||
@@ -16,5 +16,6 @@ SRC_URI += "\
|
||||
file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
|
||||
file://0010-cmd-compile-re-compile-instantiated-generic-methods-.patch \
|
||||
file://CVE-2023-24532.patch \
|
||||
file://CVE-2023-24537.patch \
|
||||
"
|
||||
SRC_URI[main.sha256sum] = "b5c1a3af52c385a6d1c76aed5361cf26459023980d0320de7658bae3915831a2"
|
||||
|
||||
89
meta/recipes-devtools/go/go/CVE-2023-24537.patch
Normal file
@@ -0,0 +1,89 @@
|
||||
From 110e4fb1c2e3a21631704bbfaf672230b9ba2492 Mon Sep 17 00:00:00 2001
|
||||
From: Damien Neil <dneil@google.com>
|
||||
Date: Wed, 22 Mar 2023 09:33:22 -0700
|
||||
Subject: [PATCH] go/scanner: reject large line and column numbers in //line
|
||||
directives
|
||||
|
||||
Setting a large line or column number using a //line directive can cause
|
||||
integer overflow even in small source files.
|
||||
|
||||
Limit line and column numbers in //line directives to 2^30-1, which
|
||||
is small enough to avoid int32 overflow on all reasonbly-sized files.
|
||||
|
||||
For #59180
|
||||
Fixes CVE-2023-24537
|
||||
|
||||
Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/1802456
|
||||
Reviewed-by: Julie Qiu <julieqiu@google.com>
|
||||
Reviewed-by: Roland Shoemaker <bracewell@google.com>
|
||||
Run-TryBot: Damien Neil <dneil@google.com>
|
||||
Change-Id: I149bf34deca532af7994203fa1e6aca3c890ea14
|
||||
Reviewed-on: https://go-review.googlesource.com/c/go/+/482078
|
||||
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
|
||||
TryBot-Bypass: Michael Knyszek <mknyszek@google.com>
|
||||
Run-TryBot: Michael Knyszek <mknyszek@google.com>
|
||||
Auto-Submit: Michael Knyszek <mknyszek@google.com>
|
||||
|
||||
CVE: CVE-2023-24537
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
---
|
||||
src/go/parser/parser_test.go | 16 ++++++++++++++++
|
||||
src/go/scanner/scanner.go | 7 +++++--
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/go/parser/parser_test.go b/src/go/parser/parser_test.go
|
||||
index 153562df75068..22b11a0cc4535 100644
|
||||
--- a/src/go/parser/parser_test.go
|
||||
+++ b/src/go/parser/parser_test.go
|
||||
@@ -764,3 +764,19 @@ func TestRangePos(t *testing.T) {
|
||||
})
|
||||
}
|
||||
}
|
||||
+
|
||||
+// TestIssue59180 tests that line number overflow doesn't cause an infinite loop.
|
||||
+func TestIssue59180(t *testing.T) {
|
||||
+ testcases := []string{
|
||||
+ "package p\n//line :9223372036854775806\n\n//",
|
||||
+ "package p\n//line :1:9223372036854775806\n\n//",
|
||||
+ "package p\n//line file:9223372036854775806\n\n//",
|
||||
+ }
|
||||
+
|
||||
+ for _, src := range testcases {
|
||||
+ _, err := ParseFile(token.NewFileSet(), "", src, ParseComments)
|
||||
+ if err == nil {
|
||||
+ t.Errorf("ParseFile(%s) succeeded unexpectedly", src)
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/go/scanner/scanner.go b/src/go/scanner/scanner.go
|
||||
index 16958d22ce299..0cd9f5901d0bb 100644
|
||||
--- a/src/go/scanner/scanner.go
|
||||
+++ b/src/go/scanner/scanner.go
|
||||
@@ -253,13 +253,16 @@ func (s *Scanner) updateLineInfo(next, offs int, text []byte) {
|
||||
return
|
||||
}
|
||||
|
||||
+ // Put a cap on the maximum size of line and column numbers.
|
||||
+ // 30 bits allows for some additional space before wrapping an int32.
|
||||
+ const maxLineCol = 1<<30 - 1
|
||||
var line, col int
|
||||
i2, n2, ok2 := trailingDigits(text[:i-1])
|
||||
if ok2 {
|
||||
//line filename:line:col
|
||||
i, i2 = i2, i
|
||||
line, col = n2, n
|
||||
- if col == 0 {
|
||||
+ if col == 0 || col > maxLineCol {
|
||||
s.error(offs+i2, "invalid column number: "+string(text[i2:]))
|
||||
return
|
||||
}
|
||||
@@ -269,7 +272,7 @@ func (s *Scanner) updateLineInfo(next, offs int, text []byte) {
|
||||
line = n
|
||||
}
|
||||
|
||||
- if line == 0 {
|
||||
+ if line == 0 || line > maxLineCol {
|
||||
s.error(offs+i, "invalid line number: "+string(text[i:]))
|
||||
return
|
||||
}
|
||||
@@ -9,7 +9,7 @@ SRCREV = "d4c2910981ff99b983734426dfa99632fb81ac6b"
|
||||
|
||||
PV = "0.1+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH}"
|
||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH};protocol=https"
|
||||
UPSTREAM_CHECK_COMMITS = "1"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -24,7 +24,7 @@ RRECOMMENDS:${PN}:libc-glibc = "\
|
||||
glibc-gconv-ibm866 \
|
||||
glibc-gconv-ibm869 \
|
||||
"
|
||||
SRC_URI[sha256sum] = "64bfdfde4d82af6b22f3c1c72c3e231cbb618f4c2309cc46f54d16d5502ccf15"
|
||||
SRC_URI[sha256sum] = "541e179665dc4e272b9602f2074243591a157da89cc47064da8c5829dbd2b339"
|
||||
|
||||
SRC_URI = "${GNU_MIRROR}/mtools/mtools-${PV}.tar.bz2 \
|
||||
file://mtools-makeinfo.patch \
|
||||
@@ -109,6 +109,10 @@ do_configure:class-native() {
|
||||
-Ui_xlocale \
|
||||
-Alddlflags=' ${LDFLAGS}' \
|
||||
${PACKAGECONFIG_CONFARGS}
|
||||
|
||||
# This prevents leakage of build paths into perl-native binaries, which
|
||||
# causes non-deterministic troubles when those paths no longer exist or aren't accessible.
|
||||
sed -i -e "s,${STAGING_LIBDIR},/completelyboguspath,g" config.h
|
||||
}
|
||||
|
||||
do_configure:append() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
require pseudo.inc
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master \
|
||||
SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master;protocol=https \
|
||||
file://0001-configure-Prune-PIE-flags.patch \
|
||||
file://fallback-passwd \
|
||||
file://fallback-group \
|
||||
|
||||
@@ -35,6 +35,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
|
||||
file://0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch \
|
||||
file://qemu-guest-agent.init \
|
||||
file://qemu-guest-agent.udev \
|
||||
file://ppc.patch \
|
||||
"
|
||||
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
|
||||
|
||||
@@ -54,6 +55,11 @@ CVE_CHECK_IGNORE += "CVE-2007-0998"
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1609015#c11
|
||||
CVE_CHECK_IGNORE += "CVE-2018-18438"
|
||||
|
||||
# As per https://nvd.nist.gov/vuln/detail/CVE-2023-0664
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2167423
|
||||
# this bug related to windows specific.
|
||||
CVE_CHECK_IGNORE += "CVE-2023-0664"
|
||||
|
||||
COMPATIBLE_HOST:mipsarchn32 = "null"
|
||||
COMPATIBLE_HOST:mipsarchn64 = "null"
|
||||
COMPATIBLE_HOST:riscv32 = "null"
|
||||
|
||||
147
meta/recipes-devtools/qemu/qemu/ppc.patch
Normal file
@@ -0,0 +1,147 @@
|
||||
From d92b63b7d15d4fd202c5802dfe444a96f5d8109c Mon Sep 17 00:00:00 2001
|
||||
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Date: Sat, 6 May 2023 07:42:35 +0100
|
||||
Cc: Víctor Colombo <victor.colombo@eldorado.org.br>
|
||||
Cc: Matheus Ferst <matheus.ferst@eldorado.org.br>
|
||||
Cc: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||||
Cc: Richard Henderson <richard.henderson@linaro.org>
|
||||
Subject: [PATCH v2] target/ppc: Fix fallback to MFSS for MFFS* instructions on
|
||||
pre 3.0 ISAs
|
||||
|
||||
The following commits changed the code such that the fallback to MFSS for MFFSCRN,
|
||||
MFFSCRNI, MFFSCE and MFFSL on pre 3.0 ISAs was removed and became an illegal instruction:
|
||||
|
||||
bf8adfd88b547680aa857c46098f3a1e94373160 - target/ppc: Move mffscrn[i] to decodetree
|
||||
394c2e2fda70da722f20fb60412d6c0ca4bfaa03 - target/ppc: Move mffsce to decodetree
|
||||
3e5bce70efe6bd1f684efbb21fd2a316cbf0657e - target/ppc: Move mffsl to decodetree
|
||||
|
||||
The hardware will handle them as a MFFS instruction as the code did previously.
|
||||
This means applications that were segfaulting under qemu when encountering these
|
||||
instructions which is used in glibc libm functions for example.
|
||||
|
||||
The fallback for MFFSCDRN and MFFSCDRNI added in a later patch was also missing.
|
||||
|
||||
This patch restores the fallback to MFSS for these instructions on pre 3.0s ISAs
|
||||
as the hardware decoder would, fixing the segfaulting libm code. It and also ensures
|
||||
the MFSS instruction is used for currently reserved bits to handle other potential
|
||||
ISA additions more correctly.
|
||||
|
||||
Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20230506065240.3177798-1-richard.purdie@linuxfoundation.org/]
|
||||
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
---
|
||||
target/ppc/insn32.decode | 19 ++++++++++++-------
|
||||
target/ppc/translate/fp-impl.c.inc | 30 ++++++++++++++++++++++++------
|
||||
2 files changed, 36 insertions(+), 13 deletions(-)
|
||||
|
||||
v2 - switch to use decodetree pattern groups per feedback
|
||||
|
||||
diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode
|
||||
index f8f589e9fd..3c4e2c2fc2 100644
|
||||
--- a/target/ppc/insn32.decode
|
||||
+++ b/target/ppc/insn32.decode
|
||||
@@ -390,13 +390,18 @@ SETNBCR 011111 ..... ..... ----- 0111100000 - @X_bi
|
||||
|
||||
### Move To/From FPSCR
|
||||
|
||||
-MFFS 111111 ..... 00000 ----- 1001000111 . @X_t_rc
|
||||
-MFFSCE 111111 ..... 00001 ----- 1001000111 - @X_t
|
||||
-MFFSCRN 111111 ..... 10110 ..... 1001000111 - @X_tb
|
||||
-MFFSCDRN 111111 ..... 10100 ..... 1001000111 - @X_tb
|
||||
-MFFSCRNI 111111 ..... 10111 ---.. 1001000111 - @X_imm2
|
||||
-MFFSCDRNI 111111 ..... 10101 --... 1001000111 - @X_imm3
|
||||
-MFFSL 111111 ..... 11000 ----- 1001000111 - @X_t
|
||||
+{
|
||||
+ # Before Power ISA v3.0, MFFS bits 11~15 were reserved and should be ignored
|
||||
+ [
|
||||
+ MFFSCE 111111 ..... 00001 ----- 1001000111 - @X_t
|
||||
+ MFFSCRN 111111 ..... 10110 ..... 1001000111 - @X_tb
|
||||
+ MFFSCDRN 111111 ..... 10100 ..... 1001000111 - @X_tb
|
||||
+ MFFSCRNI 111111 ..... 10111 ---.. 1001000111 - @X_imm2
|
||||
+ MFFSCDRNI 111111 ..... 10101 --... 1001000111 - @X_imm3
|
||||
+ MFFSL 111111 ..... 11000 ----- 1001000111 - @X_t
|
||||
+ ]
|
||||
+ MFFS 111111 ..... ----- ----- 1001000111 . @X_t_rc
|
||||
+}
|
||||
|
||||
### Decimal Floating-Point Arithmetic Instructions
|
||||
|
||||
diff --git a/target/ppc/translate/fp-impl.c.inc b/target/ppc/translate/fp-impl.c.inc
|
||||
index 57d8437851..10dfd91aa4 100644
|
||||
--- a/target/ppc/translate/fp-impl.c.inc
|
||||
+++ b/target/ppc/translate/fp-impl.c.inc
|
||||
@@ -584,7 +584,10 @@ static bool trans_MFFSCE(DisasContext *ctx, arg_X_t *a)
|
||||
{
|
||||
TCGv_i64 fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
gen_reset_fpstatus();
|
||||
@@ -597,7 +600,10 @@ static bool trans_MFFSCRN(DisasContext *ctx, arg_X_tb *a)
|
||||
{
|
||||
TCGv_i64 t1, fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
t1 = tcg_temp_new_i64();
|
||||
@@ -614,7 +620,10 @@ static bool trans_MFFSCDRN(DisasContext *ctx, arg_X_tb *a)
|
||||
{
|
||||
TCGv_i64 t1, fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
t1 = tcg_temp_new_i64();
|
||||
@@ -631,7 +640,10 @@ static bool trans_MFFSCRNI(DisasContext *ctx, arg_X_imm2 *a)
|
||||
{
|
||||
TCGv_i64 t1, fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
t1 = tcg_temp_new_i64();
|
||||
@@ -647,7 +659,10 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a)
|
||||
{
|
||||
TCGv_i64 t1, fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
t1 = tcg_temp_new_i64();
|
||||
@@ -661,7 +676,10 @@ static bool trans_MFFSCDRNI(DisasContext *ctx, arg_X_imm3 *a)
|
||||
{
|
||||
TCGv_i64 fpscr;
|
||||
|
||||
- REQUIRE_INSNS_FLAGS2(ctx, ISA300);
|
||||
+ if (!(ctx->insns_flags2 & PPC2_ISA300)) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
REQUIRE_FPU(ctx);
|
||||
|
||||
gen_reset_fpstatus();
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -13,6 +13,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
|
||||
file://0001-tests-Allow-different-output-from-mv.patch \
|
||||
file://fix-grep-3.8.patch \
|
||||
file://faildiff-order.patch \
|
||||
file://0001-test-Fix-a-race-condition-in-merge.test.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-target = " file://gnu_patch_test_fix_target.patch"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From c1ce964f3e9312100a60f03c1e1fdd601e1911f2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
|
||||
<congdanhqx@gmail.com>
|
||||
Date: Tue, 28 Feb 2023 18:45:15 +0100
|
||||
Subject: [PATCH] test: Fix a race condition in merge.test
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Just like commit 4dfe7f9, (test: Fix a race condition, 2023-01-20),
|
||||
this fix a test race when stdout and stderr in any order.
|
||||
|
||||
Upstream-Status: Backport [https://git.savannah.nongnu.org/cgit/quilt.git/commit/?id=c1ce964f3e9312100a60f03c1e1fdd601e1911f2]
|
||||
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
|
||||
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
||||
---
|
||||
test/merge.test | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/merge.test b/test/merge.test
|
||||
index c64b33d..2e67d4f 100644
|
||||
--- a/test/merge.test
|
||||
+++ b/test/merge.test
|
||||
@@ -39,8 +39,9 @@ Test the patch merging functionality of `quilt diff'.
|
||||
> Applying patch %{P}c.diff
|
||||
> Now at patch %{P}c.diff
|
||||
|
||||
- $ quilt diff -P b.diff | grep -v "^\\(---\\|+++\\)"
|
||||
+ $ quilt diff -P b.diff >/dev/null
|
||||
> Warning: more recent patches modify files in patch %{P}b.diff
|
||||
+ $ quilt diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
|
||||
>~ Index: [^/]+/abc\.txt
|
||||
> ===================================================================
|
||||
> @@ -1,3 +1,3 @@
|
||||
@@ -49,8 +50,9 @@ Test the patch merging functionality of `quilt diff'.
|
||||
> +b+
|
||||
> c
|
||||
|
||||
- $ quilt diff --combine a.diff -P b.diff | grep -v "^\\(---\\|+++\\)"
|
||||
+ $ quilt diff --combine a.diff -P b.diff >/dev/null
|
||||
> Warning: more recent patches modify files in patch %{P}b.diff
|
||||
+ $ quilt diff --combine a.diff -P b.diff 2>/dev/null | grep -v "^\\(---\\|+++\\)"
|
||||
>~ Index: [^/]+/abc\.txt
|
||||
> ===================================================================
|
||||
> @@ -1,3 +1,3 @@
|
||||
--
|
||||
2.40.0
|
||||
|
||||
@@ -51,7 +51,7 @@ do_configure:prepend() {
|
||||
|
||||
DEPENDS:append:libc-musl = " libucontext"
|
||||
|
||||
SRC_URI[sha256sum] = "13d67901660ee3217dbd9dd56059346bd4212ce64a69c306ef52df64935f8dbd"
|
||||
SRC_URI[sha256sum] = "96c57558871a6748de5bc9f274e93f4b5aad06cd8f37befa0e8d94e7b8a423bc"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
|
||||