Compare commits
202 Commits
styhead-5.
...
styhead
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f57dc43765 | ||
|
|
c0e00b017f | ||
|
|
51a68b0a42 | ||
|
|
55ab189a41 | ||
|
|
7f14a57770 | ||
|
|
293f96d1ac | ||
|
|
883ce37143 | ||
|
|
4553386396 | ||
|
|
b90aaa6b65 | ||
|
|
7d29579a31 | ||
|
|
5377678cf5 | ||
|
|
28435a6464 | ||
|
|
6a94b068e9 | ||
|
|
7d2ea4dd74 | ||
|
|
2932eee2c2 | ||
|
|
abf5cda84c | ||
|
|
a10c7a4eb9 | ||
|
|
d67f7ffa79 | ||
|
|
0b16a741f1 | ||
|
|
8f152ba3ce | ||
|
|
5ad0c3ae5b | ||
|
|
70dc28ac28 | ||
|
|
6a5ba188b7 | ||
|
|
915e5e4d94 | ||
|
|
d5986042ac | ||
|
|
6277999680 | ||
|
|
2b1149f032 | ||
|
|
9ddadbdeb4 | ||
|
|
53141014c1 | ||
|
|
4a642b1ae7 | ||
|
|
a3b990b1f1 | ||
|
|
ef138b1296 | ||
|
|
d65cbfb15b | ||
|
|
d5bb46337d | ||
|
|
373e83b89c | ||
|
|
51a7eb1192 | ||
|
|
7b009013fc | ||
|
|
9079bae6d1 | ||
|
|
bce8588104 | ||
|
|
c9c5246e9f | ||
|
|
845904fa23 | ||
|
|
1867cc36c7 | ||
|
|
00b1c0f58a | ||
|
|
88680b5de2 | ||
|
|
63b8665d9c | ||
|
|
43dc093c92 | ||
|
|
8c9962a6fd | ||
|
|
01aac7e940 | ||
|
|
039f52ed9c | ||
|
|
eafe151f69 | ||
|
|
0bab6572a6 | ||
|
|
6ab3411726 | ||
|
|
1a3532646b | ||
|
|
df2e75ebe8 | ||
|
|
a3f59d7e23 | ||
|
|
a817f1702b | ||
|
|
5a5f92cf48 | ||
|
|
50beb7bdec | ||
|
|
9e24e8f814 | ||
|
|
5b4f320c44 | ||
|
|
64e49ed5e7 | ||
|
|
2449dc88a0 | ||
|
|
715043743e | ||
|
|
a5d5ce74e8 | ||
|
|
c0432f8eda | ||
|
|
b2cf0d5cd0 | ||
|
|
867ecfc84e | ||
|
|
11a8dec6e2 | ||
|
|
caacaf066d | ||
|
|
5710ed9354 | ||
|
|
0a3a582b71 | ||
|
|
024496a823 | ||
|
|
30c0b1b718 | ||
|
|
f90da53b5b | ||
|
|
2495dc2fee | ||
|
|
4355f14793 | ||
|
|
1cbcbab055 | ||
|
|
b17d4e97e7 | ||
|
|
d2f1b6bcf3 | ||
|
|
61e2aebcb5 | ||
|
|
27ef7bc694 | ||
|
|
8d977a388f | ||
|
|
46df1b0e96 | ||
|
|
2774779483 | ||
|
|
aedd45576c | ||
|
|
e35b91ea4d | ||
|
|
d78b78df91 | ||
|
|
e1bc4dda0a | ||
|
|
94efc6a14c | ||
|
|
6b1572b4f2 | ||
|
|
2d4aee3d97 | ||
|
|
a1b7ded85a | ||
|
|
3ca2b7ea9f | ||
|
|
c621ccd93b | ||
|
|
6b2ad54a43 | ||
|
|
a39666e2ad | ||
|
|
8a4f813c86 | ||
|
|
e1f3ee328b | ||
|
|
a221cda57c | ||
|
|
281e96aaec | ||
|
|
ec14a3ed28 | ||
|
|
b0df688b3c | ||
|
|
2a409637e1 | ||
|
|
bcff406b28 | ||
|
|
edcb76934d | ||
|
|
4a70faaf98 | ||
|
|
15777adaf9 | ||
|
|
8ea18d1fc5 | ||
|
|
d7628aebcc | ||
|
|
f1fea13c94 | ||
|
|
e87b459abc | ||
|
|
dbb36a45f0 | ||
|
|
55d65739ef | ||
|
|
05a5e1c1d7 | ||
|
|
d3a9774876 | ||
|
|
ff9ca74e17 | ||
|
|
ad45230448 | ||
|
|
d55092f458 | ||
|
|
66f9cec853 | ||
|
|
f716913667 | ||
|
|
e7964cf80f | ||
|
|
2f9ced5a78 | ||
|
|
13541cfb55 | ||
|
|
6be2708b42 | ||
|
|
4bb4743d75 | ||
|
|
a2fcd6435b | ||
|
|
b525de911a | ||
|
|
4a640b82c9 | ||
|
|
20d890ecf7 | ||
|
|
30f0f8c590 | ||
|
|
7252462f9a | ||
|
|
7808ebbc8b | ||
|
|
b2cd1dea04 | ||
|
|
efc5392268 | ||
|
|
3e7489546c | ||
|
|
e5b1aa3792 | ||
|
|
587d779d56 | ||
|
|
843c4a8de7 | ||
|
|
6bea4b93af | ||
|
|
111d75956c | ||
|
|
5eba7f90c7 | ||
|
|
e8eab0f9b4 | ||
|
|
59f1177527 | ||
|
|
991f1b56b2 | ||
|
|
4d7a32679f | ||
|
|
2f971cc14b | ||
|
|
25c8215476 | ||
|
|
44c8d98587 | ||
|
|
d0a0b07574 | ||
|
|
a1b9be34db | ||
|
|
c2dcb76eb1 | ||
|
|
1b4d8585f0 | ||
|
|
d65fa3f3a7 | ||
|
|
d1b1b32756 | ||
|
|
4f8eb0e638 | ||
|
|
e1c2e2e3fa | ||
|
|
e82dc2ad3c | ||
|
|
bca4068948 | ||
|
|
6a06994363 | ||
|
|
a5efa185bb | ||
|
|
43251de6de | ||
|
|
a9263bd0c3 | ||
|
|
c69d1db652 | ||
|
|
0ee3614e0f | ||
|
|
13a641dffb | ||
|
|
18e3d524c7 | ||
|
|
d6fe9f9f99 | ||
|
|
dd6b2448aa | ||
|
|
ae130b042f | ||
|
|
25b62b9d75 | ||
|
|
334ca4a275 | ||
|
|
cba63e1d0a | ||
|
|
6d7266c511 | ||
|
|
5ec843a287 | ||
|
|
5aec1091bf | ||
|
|
b5b326fcc6 | ||
|
|
f2609a2f16 | ||
|
|
027121de7e | ||
|
|
52c7e49e2c | ||
|
|
ecd195a3ef | ||
|
|
2854015f70 | ||
|
|
02b3ba14de | ||
|
|
5c8cef6207 | ||
|
|
5a12600915 | ||
|
|
363f76a783 | ||
|
|
721a0e0103 | ||
|
|
ea0a01b8f2 | ||
|
|
d329f42da2 | ||
|
|
4d496db35d | ||
|
|
e6b2aa1998 | ||
|
|
0f8b48414d | ||
|
|
8cd1a180d6 | ||
|
|
4dec174239 | ||
|
|
417c3eb065 | ||
|
|
d666d72ba2 | ||
|
|
78809626ec | ||
|
|
8c3866aa53 | ||
|
|
a0af85c8cf | ||
|
|
02847cd56f | ||
|
|
f23d3a5603 | ||
|
|
d4efa698f2 | ||
|
|
e619153f24 |
@@ -420,15 +420,30 @@ class CommandsSync:
|
|||||||
return command.cooker.recipecaches[mc].pkg_dp
|
return command.cooker.recipecaches[mc].pkg_dp
|
||||||
getDefaultPreference.readonly = True
|
getDefaultPreference.readonly = True
|
||||||
|
|
||||||
|
|
||||||
def getSkippedRecipes(self, command, params):
|
def getSkippedRecipes(self, command, params):
|
||||||
|
"""
|
||||||
|
Get the map of skipped recipes for the specified multiconfig/mc name (`params[0]`).
|
||||||
|
|
||||||
|
Invoked by `bb.tinfoil.Tinfoil.get_skipped_recipes`
|
||||||
|
|
||||||
|
:param command: Internally used parameter.
|
||||||
|
:param params: Parameter array. params[0] is multiconfig/mc name. If not given, then default mc '' is assumed.
|
||||||
|
:return: Dict whose keys are virtualfns and values are `bb.cooker.SkippedPackage`
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
mc = params[0]
|
||||||
|
except IndexError:
|
||||||
|
mc = ''
|
||||||
|
|
||||||
# Return list sorted by reverse priority order
|
# Return list sorted by reverse priority order
|
||||||
import bb.cache
|
import bb.cache
|
||||||
def sortkey(x):
|
def sortkey(x):
|
||||||
vfn, _ = x
|
vfn, _ = x
|
||||||
realfn, _, mc = bb.cache.virtualfn2realfn(vfn)
|
realfn, _, item_mc = bb.cache.virtualfn2realfn(vfn)
|
||||||
return (-command.cooker.collections[mc].calc_bbfile_priority(realfn)[0], vfn)
|
return -command.cooker.collections[item_mc].calc_bbfile_priority(realfn)[0], vfn
|
||||||
|
|
||||||
skipdict = OrderedDict(sorted(command.cooker.skiplist.items(), key=sortkey))
|
skipdict = OrderedDict(sorted(command.cooker.skiplist_by_mc[mc].items(), key=sortkey))
|
||||||
return list(skipdict.items())
|
return list(skipdict.items())
|
||||||
getSkippedRecipes.readonly = True
|
getSkippedRecipes.readonly = True
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,8 @@ class BBCooker:
|
|||||||
self.baseconfig_valid = False
|
self.baseconfig_valid = False
|
||||||
self.parsecache_valid = False
|
self.parsecache_valid = False
|
||||||
self.eventlog = None
|
self.eventlog = None
|
||||||
self.skiplist = {}
|
# The skiplists, one per multiconfig
|
||||||
|
self.skiplist_by_mc = defaultdict(dict)
|
||||||
self.featureset = CookerFeatures()
|
self.featureset = CookerFeatures()
|
||||||
if featureSet:
|
if featureSet:
|
||||||
for f in featureSet:
|
for f in featureSet:
|
||||||
@@ -616,8 +617,8 @@ class BBCooker:
|
|||||||
localdata = {}
|
localdata = {}
|
||||||
|
|
||||||
for mc in self.multiconfigs:
|
for mc in self.multiconfigs:
|
||||||
taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist, allowincomplete=allowincomplete)
|
taskdata[mc] = bb.taskdata.TaskData(halt, skiplist=self.skiplist_by_mc[mc], allowincomplete=allowincomplete)
|
||||||
localdata[mc] = data.createCopy(self.databuilder.mcdata[mc])
|
localdata[mc] = bb.data.createCopy(self.databuilder.mcdata[mc])
|
||||||
bb.data.expandKeys(localdata[mc])
|
bb.data.expandKeys(localdata[mc])
|
||||||
|
|
||||||
current = 0
|
current = 0
|
||||||
@@ -937,7 +938,7 @@ class BBCooker:
|
|||||||
for mc in self.multiconfigs:
|
for mc in self.multiconfigs:
|
||||||
# First get list of recipes, including skipped
|
# First get list of recipes, including skipped
|
||||||
recipefns = list(self.recipecaches[mc].pkg_fn.keys())
|
recipefns = list(self.recipecaches[mc].pkg_fn.keys())
|
||||||
recipefns.extend(self.skiplist.keys())
|
recipefns.extend(self.skiplist_by_mc[mc].keys())
|
||||||
|
|
||||||
# Work out list of bbappends that have been applied
|
# Work out list of bbappends that have been applied
|
||||||
applied_appends = []
|
applied_appends = []
|
||||||
@@ -2362,7 +2363,7 @@ class CookerParser(object):
|
|||||||
for virtualfn, info_array in result:
|
for virtualfn, info_array in result:
|
||||||
if info_array[0].skipped:
|
if info_array[0].skipped:
|
||||||
self.skipped += 1
|
self.skipped += 1
|
||||||
self.cooker.skiplist[virtualfn] = SkippedPackage(info_array[0])
|
self.cooker.skiplist_by_mc[mc][virtualfn] = SkippedPackage(info_array[0])
|
||||||
self.bb_caches[mc].add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
|
self.bb_caches[mc].add_info(virtualfn, info_array, self.cooker.recipecaches[mc],
|
||||||
parsed=parsed, watcher = self.cooker.add_filewatch)
|
parsed=parsed, watcher = self.cooker.add_filewatch)
|
||||||
return True
|
return True
|
||||||
|
|||||||
@@ -194,7 +194,12 @@ def fire_ui_handlers(event, d):
|
|||||||
ui_queue.append(event)
|
ui_queue.append(event)
|
||||||
return
|
return
|
||||||
|
|
||||||
with bb.utils.lock_timeout(_thread_lock):
|
with bb.utils.lock_timeout_nocheck(_thread_lock) as lock:
|
||||||
|
if not lock:
|
||||||
|
# If we can't get the lock, we may be recursively called, queue and return
|
||||||
|
ui_queue.append(event)
|
||||||
|
return
|
||||||
|
|
||||||
errors = []
|
errors = []
|
||||||
for h in _ui_handlers:
|
for h in _ui_handlers:
|
||||||
#print "Sending event %s" % event
|
#print "Sending event %s" % event
|
||||||
@@ -213,6 +218,9 @@ def fire_ui_handlers(event, d):
|
|||||||
for h in errors:
|
for h in errors:
|
||||||
del _ui_handlers[h]
|
del _ui_handlers[h]
|
||||||
|
|
||||||
|
while ui_queue:
|
||||||
|
fire_ui_handlers(ui_queue.pop(), d)
|
||||||
|
|
||||||
def fire(event, d):
|
def fire(event, d):
|
||||||
"""Fire off an Event"""
|
"""Fire off an Event"""
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
import stat
|
import stat
|
||||||
import errno
|
import errno
|
||||||
|
import itertools
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import bb
|
import bb
|
||||||
@@ -2189,12 +2190,20 @@ class RunQueueExecute:
|
|||||||
if not hasattr(self, "sorted_setscene_tids"):
|
if not hasattr(self, "sorted_setscene_tids"):
|
||||||
# Don't want to sort this set every execution
|
# Don't want to sort this set every execution
|
||||||
self.sorted_setscene_tids = sorted(self.rqdata.runq_setscene_tids)
|
self.sorted_setscene_tids = sorted(self.rqdata.runq_setscene_tids)
|
||||||
|
# Resume looping where we left off when we returned to feed the mainloop
|
||||||
|
self.setscene_tids_generator = itertools.cycle(self.rqdata.runq_setscene_tids)
|
||||||
|
|
||||||
task = None
|
task = None
|
||||||
if not self.sqdone and self.can_start_task():
|
if not self.sqdone and self.can_start_task():
|
||||||
# Find the next setscene to run
|
loopcount = 0
|
||||||
for nexttask in self.sorted_setscene_tids:
|
# Find the next setscene to run, exit the loop when we've processed all tids or found something to execute
|
||||||
|
while loopcount < len(self.rqdata.runq_setscene_tids):
|
||||||
|
loopcount += 1
|
||||||
|
nexttask = next(self.setscene_tids_generator)
|
||||||
if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values() and nexttask not in self.sq_harddep_deferred:
|
if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values() and nexttask not in self.sq_harddep_deferred:
|
||||||
|
if nexttask in self.sq_deferred and self.sq_deferred[nexttask] not in self.runq_complete:
|
||||||
|
# Skip deferred tasks quickly before the 'expensive' tests below - this is key to performant multiconfig builds
|
||||||
|
continue
|
||||||
if nexttask not in self.sqdata.unskippable and self.sqdata.sq_revdeps[nexttask] and \
|
if nexttask not in self.sqdata.unskippable and self.sqdata.sq_revdeps[nexttask] and \
|
||||||
nexttask not in self.sq_needed_harddeps and \
|
nexttask not in self.sq_needed_harddeps and \
|
||||||
self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and \
|
self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and \
|
||||||
@@ -2224,8 +2233,7 @@ class RunQueueExecute:
|
|||||||
if t in self.runq_running and t not in self.runq_complete:
|
if t in self.runq_running and t not in self.runq_complete:
|
||||||
continue
|
continue
|
||||||
if nexttask in self.sq_deferred:
|
if nexttask in self.sq_deferred:
|
||||||
if self.sq_deferred[nexttask] not in self.runq_complete:
|
# Deferred tasks that were still deferred were skipped above so we now need to process
|
||||||
continue
|
|
||||||
logger.debug("Task %s no longer deferred" % nexttask)
|
logger.debug("Task %s no longer deferred" % nexttask)
|
||||||
del self.sq_deferred[nexttask]
|
del self.sq_deferred[nexttask]
|
||||||
valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, summary=False)
|
valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, summary=False)
|
||||||
@@ -2748,8 +2756,12 @@ class RunQueueExecute:
|
|||||||
logger.debug2("%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
|
logger.debug2("%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
|
||||||
self.sq_task_failoutright(dep)
|
self.sq_task_failoutright(dep)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# For performance, only compute allcovered once if needed
|
||||||
|
if self.sqdata.sq_deps[task]:
|
||||||
|
allcovered = self.scenequeue_covered | self.scenequeue_notcovered
|
||||||
for dep in sorted(self.sqdata.sq_deps[task]):
|
for dep in sorted(self.sqdata.sq_deps[task]):
|
||||||
if self.sqdata.sq_revdeps[dep].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
|
if self.sqdata.sq_revdeps[dep].issubset(allcovered):
|
||||||
if dep not in self.sq_buildable:
|
if dep not in self.sq_buildable:
|
||||||
self.sq_buildable.add(dep)
|
self.sq_buildable.add(dep)
|
||||||
|
|
||||||
|
|||||||
@@ -1739,6 +1739,8 @@ class GitShallowTest(FetcherTest):
|
|||||||
if cwd is None:
|
if cwd is None:
|
||||||
cwd = self.gitdir
|
cwd = self.gitdir
|
||||||
actual_refs = self.git(['for-each-ref', '--format=%(refname)'], cwd=cwd).splitlines()
|
actual_refs = self.git(['for-each-ref', '--format=%(refname)'], cwd=cwd).splitlines()
|
||||||
|
# Resolve references into the same format as the comparision (needed by git 2.48 onwards)
|
||||||
|
actual_refs = self.git(['rev-parse', '--symbolic-full-name'] + actual_refs, cwd=cwd).splitlines()
|
||||||
full_expected = self.git(['rev-parse', '--symbolic-full-name'] + expected_refs, cwd=cwd).splitlines()
|
full_expected = self.git(['rev-parse', '--symbolic-full-name'] + expected_refs, cwd=cwd).splitlines()
|
||||||
self.assertEqual(sorted(set(full_expected)), sorted(set(actual_refs)))
|
self.assertEqual(sorted(set(full_expected)), sorted(set(actual_refs)))
|
||||||
|
|
||||||
|
|||||||
@@ -188,11 +188,19 @@ class TinfoilCookerAdapter:
|
|||||||
self._cache[name] = attrvalue
|
self._cache[name] = attrvalue
|
||||||
return attrvalue
|
return attrvalue
|
||||||
|
|
||||||
|
class TinfoilSkiplistByMcAdapter:
|
||||||
|
def __init__(self, tinfoil):
|
||||||
|
self.tinfoil = tinfoil
|
||||||
|
|
||||||
|
def __getitem__(self, mc):
|
||||||
|
return self.tinfoil.get_skipped_recipes(mc)
|
||||||
|
|
||||||
def __init__(self, tinfoil):
|
def __init__(self, tinfoil):
|
||||||
self.tinfoil = tinfoil
|
self.tinfoil = tinfoil
|
||||||
self.multiconfigs = [''] + (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split()
|
self.multiconfigs = [''] + (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split()
|
||||||
self.collections = {}
|
self.collections = {}
|
||||||
self.recipecaches = {}
|
self.recipecaches = {}
|
||||||
|
self.skiplist_by_mc = self.TinfoilSkiplistByMcAdapter(tinfoil)
|
||||||
for mc in self.multiconfigs:
|
for mc in self.multiconfigs:
|
||||||
self.collections[mc] = self.TinfoilCookerCollectionAdapter(tinfoil, mc)
|
self.collections[mc] = self.TinfoilCookerCollectionAdapter(tinfoil, mc)
|
||||||
self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
|
self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
|
||||||
@@ -201,8 +209,6 @@ class TinfoilCookerAdapter:
|
|||||||
# Grab these only when they are requested since they aren't always used
|
# Grab these only when they are requested since they aren't always used
|
||||||
if name in self._cache:
|
if name in self._cache:
|
||||||
return self._cache[name]
|
return self._cache[name]
|
||||||
elif name == 'skiplist':
|
|
||||||
attrvalue = self.tinfoil.get_skipped_recipes()
|
|
||||||
elif name == 'bbfile_config_priorities':
|
elif name == 'bbfile_config_priorities':
|
||||||
ret = self.tinfoil.run_command('getLayerPriorities')
|
ret = self.tinfoil.run_command('getLayerPriorities')
|
||||||
bbfile_config_priorities = []
|
bbfile_config_priorities = []
|
||||||
@@ -514,12 +520,12 @@ class Tinfoil:
|
|||||||
"""
|
"""
|
||||||
return defaultdict(list, self.run_command('getOverlayedRecipes', mc))
|
return defaultdict(list, self.run_command('getOverlayedRecipes', mc))
|
||||||
|
|
||||||
def get_skipped_recipes(self):
|
def get_skipped_recipes(self, mc=''):
|
||||||
"""
|
"""
|
||||||
Find recipes which were skipped (i.e. SkipRecipe was raised
|
Find recipes which were skipped (i.e. SkipRecipe was raised
|
||||||
during parsing).
|
during parsing).
|
||||||
"""
|
"""
|
||||||
return OrderedDict(self.run_command('getSkippedRecipes'))
|
return OrderedDict(self.run_command('getSkippedRecipes', mc))
|
||||||
|
|
||||||
def get_all_providers(self, mc=''):
|
def get_all_providers(self, mc=''):
|
||||||
return defaultdict(list, self.run_command('allProviders', mc))
|
return defaultdict(list, self.run_command('allProviders', mc))
|
||||||
@@ -533,6 +539,7 @@ class Tinfoil:
|
|||||||
def get_runtime_providers(self, rdep):
|
def get_runtime_providers(self, rdep):
|
||||||
return self.run_command('getRuntimeProviders', rdep)
|
return self.run_command('getRuntimeProviders', rdep)
|
||||||
|
|
||||||
|
# TODO: teach this method about mc
|
||||||
def get_recipe_file(self, pn):
|
def get_recipe_file(self, pn):
|
||||||
"""
|
"""
|
||||||
Get the file name for the specified recipe/target. Raises
|
Get the file name for the specified recipe/target. Raises
|
||||||
@@ -541,6 +548,7 @@ class Tinfoil:
|
|||||||
"""
|
"""
|
||||||
best = self.find_best_provider(pn)
|
best = self.find_best_provider(pn)
|
||||||
if not best or (len(best) > 3 and not best[3]):
|
if not best or (len(best) > 3 and not best[3]):
|
||||||
|
# TODO: pass down mc
|
||||||
skiplist = self.get_skipped_recipes()
|
skiplist = self.get_skipped_recipes()
|
||||||
taskdata = bb.taskdata.TaskData(None, skiplist=skiplist)
|
taskdata = bb.taskdata.TaskData(None, skiplist=skiplist)
|
||||||
skipreasons = taskdata.get_reasons(pn)
|
skipreasons = taskdata.get_reasons(pn)
|
||||||
|
|||||||
@@ -1857,12 +1857,30 @@ def path_is_descendant(descendant, ancestor):
|
|||||||
# If we don't have a timeout of some kind and a process/thread exits badly (for example
|
# If we don't have a timeout of some kind and a process/thread exits badly (for example
|
||||||
# OOM killed) and held a lock, we'd just hang in the lock futex forever. It is better
|
# OOM killed) and held a lock, we'd just hang in the lock futex forever. It is better
|
||||||
# we exit at some point than hang. 5 minutes with no progress means we're probably deadlocked.
|
# we exit at some point than hang. 5 minutes with no progress means we're probably deadlocked.
|
||||||
|
# This function can still deadlock python since it can't signal the other threads to exit
|
||||||
|
# (signals are handled in the main thread) and even os._exit() will wait on non-daemon threads
|
||||||
|
# to exit.
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def lock_timeout(lock):
|
def lock_timeout(lock):
|
||||||
held = lock.acquire(timeout=5*60)
|
|
||||||
try:
|
try:
|
||||||
|
s = signal.pthread_sigmask(signal.SIG_BLOCK, signal.valid_signals())
|
||||||
|
held = lock.acquire(timeout=5*60)
|
||||||
if not held:
|
if not held:
|
||||||
|
bb.server.process.serverlog("Couldn't get the lock for 5 mins, timed out, exiting.\n%s" % traceback.format_stack())
|
||||||
os._exit(1)
|
os._exit(1)
|
||||||
yield held
|
yield held
|
||||||
finally:
|
finally:
|
||||||
lock.release()
|
lock.release()
|
||||||
|
signal.pthread_sigmask(signal.SIG_SETMASK, s)
|
||||||
|
|
||||||
|
# A version of lock_timeout without the check that the lock was locked and a shorter timeout
|
||||||
|
@contextmanager
|
||||||
|
def lock_timeout_nocheck(lock):
|
||||||
|
try:
|
||||||
|
s = signal.pthread_sigmask(signal.SIG_BLOCK, signal.valid_signals())
|
||||||
|
l = lock.acquire(timeout=10)
|
||||||
|
yield l
|
||||||
|
finally:
|
||||||
|
if l:
|
||||||
|
lock.release()
|
||||||
|
signal.pthread_sigmask(signal.SIG_SETMASK, s)
|
||||||
|
|||||||
@@ -142,10 +142,11 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
|
|||||||
# Ensure we list skipped recipes
|
# Ensure we list skipped recipes
|
||||||
# We are largely guessing about PN, PV and the preferred version here,
|
# We are largely guessing about PN, PV and the preferred version here,
|
||||||
# but we have no choice since skipped recipes are not fully parsed
|
# but we have no choice since skipped recipes are not fully parsed
|
||||||
skiplist = list(self.tinfoil.cooker.skiplist.keys())
|
skiplist = list(self.tinfoil.cooker.skiplist_by_mc[mc].keys())
|
||||||
mcspec = 'mc:%s:' % mc
|
|
||||||
if mc:
|
if mc:
|
||||||
skiplist = [s[len(mcspec):] for s in skiplist if s.startswith(mcspec)]
|
mcspec = f'mc:{mc}:'
|
||||||
|
skiplist = [s[len(mcspec):] if s.startswith(mcspec) else s for s in skiplist]
|
||||||
|
|
||||||
for fn in skiplist:
|
for fn in skiplist:
|
||||||
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
|
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
|
||||||
@@ -162,7 +163,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
|
|||||||
def print_item(f, pn, ver, layer, ispref):
|
def print_item(f, pn, ver, layer, ispref):
|
||||||
if not selected_layer or layer == selected_layer:
|
if not selected_layer or layer == selected_layer:
|
||||||
if not bare and f in skiplist:
|
if not bare and f in skiplist:
|
||||||
skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist[f].skipreason
|
skipped = ' (skipped: %s)' % self.tinfoil.cooker.skiplist_by_mc[mc][f].skipreason
|
||||||
else:
|
else:
|
||||||
skipped = ''
|
skipped = ''
|
||||||
if show_filenames:
|
if show_filenames:
|
||||||
@@ -301,7 +302,7 @@ Lists recipes with the bbappends that apply to them as subitems.
|
|||||||
if self.show_appends_for_pn(pn, cooker_data, args.mc):
|
if self.show_appends_for_pn(pn, cooker_data, args.mc):
|
||||||
appends = True
|
appends = True
|
||||||
|
|
||||||
if not args.pnspec and self.show_appends_for_skipped():
|
if not args.pnspec and self.show_appends_for_skipped(args.mc):
|
||||||
appends = True
|
appends = True
|
||||||
|
|
||||||
if not appends:
|
if not appends:
|
||||||
@@ -317,9 +318,9 @@ Lists recipes with the bbappends that apply to them as subitems.
|
|||||||
|
|
||||||
return self.show_appends_output(filenames, best_filename)
|
return self.show_appends_output(filenames, best_filename)
|
||||||
|
|
||||||
def show_appends_for_skipped(self):
|
def show_appends_for_skipped(self, mc):
|
||||||
filenames = [os.path.basename(f)
|
filenames = [os.path.basename(f)
|
||||||
for f in self.tinfoil.cooker.skiplist.keys()]
|
for f in self.tinfoil.cooker.skiplist_by_mc[mc].keys()]
|
||||||
return self.show_appends_output(filenames, None, " (skipped)")
|
return self.show_appends_output(filenames, None, " (skipped)")
|
||||||
|
|
||||||
def show_appends_output(self, filenames, best_filename, name_suffix = ''):
|
def show_appends_output(self, filenames, best_filename, name_suffix = ''):
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ following requirements:
|
|||||||
much more will help to run multiple builds and increase
|
much more will help to run multiple builds and increase
|
||||||
performance by reusing build artifacts.
|
performance by reusing build artifacts.
|
||||||
|
|
||||||
- At least &MIN_RAM; Gbytes of RAM, though a modern modern build host with as
|
- At least &MIN_RAM; Gbytes of RAM, though a modern build host with as
|
||||||
much RAM and as many CPU cores as possible is strongly recommended to
|
much RAM and as many CPU cores as possible is strongly recommended to
|
||||||
maximize build performance.
|
maximize build performance.
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ You must install essential host packages on your build host. The
|
|||||||
following command installs the host packages based on an Ubuntu
|
following command installs the host packages based on an Ubuntu
|
||||||
distribution::
|
distribution::
|
||||||
|
|
||||||
$ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
|
$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ section.
|
|||||||
BSPs, which are maintained in their own layers or in layers designed
|
BSPs, which are maintained in their own layers or in layers designed
|
||||||
to contain several BSPs. To get an idea of machine support through
|
to contain several BSPs. To get an idea of machine support through
|
||||||
BSP layers, you can look at the
|
BSP layers, you can look at the
|
||||||
:yocto_dl:`index of machines </releases/yocto/yocto-&DISTRO;/machines>`
|
:yocto_dl:`index of machines </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines>`
|
||||||
for the release.
|
for the release.
|
||||||
|
|
||||||
#. *Optionally Clone the meta-intel BSP Layer:* If your hardware is
|
#. *Optionally Clone the meta-intel BSP Layer:* If your hardware is
|
||||||
|
|||||||
@@ -111,6 +111,9 @@ extlinks = {
|
|||||||
'wikipedia': ('https://en.wikipedia.org/wiki/%s', None),
|
'wikipedia': ('https://en.wikipedia.org/wiki/%s', None),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# To be able to use :manpage:`<something>` in the docs.
|
||||||
|
manpages_url = 'https://manpages.debian.org/{path}'
|
||||||
|
|
||||||
# Intersphinx config to use cross reference with BitBake user manual
|
# Intersphinx config to use cross reference with BitBake user manual
|
||||||
intersphinx_mapping = {
|
intersphinx_mapping = {
|
||||||
'bitbake': ('https://docs.yoctoproject.org/bitbake/' + bitbake_version, None)
|
'bitbake': ('https://docs.yoctoproject.org/bitbake/' + bitbake_version, None)
|
||||||
@@ -136,6 +139,7 @@ except ImportError:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
html_logo = 'sphinx-static/YoctoProject_Logo_RGB.jpg'
|
html_logo = 'sphinx-static/YoctoProject_Logo_RGB.jpg'
|
||||||
|
html_favicon = 'sphinx-static/favicon.ico'
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
|||||||
@@ -47,10 +47,10 @@ Debian policy closely.
|
|||||||
|
|
||||||
When a recipe references a git revision that does not correspond to a released
|
When a recipe references a git revision that does not correspond to a released
|
||||||
version of software (e.g. is not a tagged version), the :term:`PV` variable
|
version of software (e.g. is not a tagged version), the :term:`PV` variable
|
||||||
should include the Git revision using the following to make the
|
should include the sign ``+``, so :term:`bitbake` automatically includes package
|
||||||
version clear::
|
version information during the packaging phase::
|
||||||
|
|
||||||
PV = "<version>+git${SRCPV}"
|
PV = "<version>+git"
|
||||||
|
|
||||||
In this case, ``<version>`` should be the most recently released version of the
|
In this case, ``<version>`` should be the most recently released version of the
|
||||||
software from the current source revision (``git describe`` can be useful for
|
software from the current source revision (``git describe`` can be useful for
|
||||||
|
|||||||
@@ -65,6 +65,13 @@ use to identify your commits::
|
|||||||
git config --global user.name "Ada Lovelace"
|
git config --global user.name "Ada Lovelace"
|
||||||
git config --global user.email "ada.lovelace@gmail.com"
|
git config --global user.email "ada.lovelace@gmail.com"
|
||||||
|
|
||||||
|
By default, Git adds a signature line at the end of patches containing the Git
|
||||||
|
version. We suggest to remove it as it doesn't add useful information.
|
||||||
|
|
||||||
|
Remove it with the following command::
|
||||||
|
|
||||||
|
git config --global format.signature ""
|
||||||
|
|
||||||
Clone the Git repository for the component to modify
|
Clone the Git repository for the component to modify
|
||||||
----------------------------------------------------
|
----------------------------------------------------
|
||||||
|
|
||||||
@@ -825,3 +832,52 @@ Other layers may have similar testing branches but there is no formal
|
|||||||
requirement or standard for these so please check the documentation for the
|
requirement or standard for these so please check the documentation for the
|
||||||
layers you are contributing to.
|
layers you are contributing to.
|
||||||
|
|
||||||
|
Acceptance of AI Generated Code
|
||||||
|
===============================
|
||||||
|
|
||||||
|
The Yocto Project and OpenEmbedded follow the guidance of the Linux Foundation
|
||||||
|
in regards to the use of generative AI tools. See:
|
||||||
|
https://www.linuxfoundation.org/legal/generative-ai.
|
||||||
|
|
||||||
|
All of the existing guidelines in this document are expected to be followed,
|
||||||
|
including in the :doc:`recipe-style-guide`, and contributing the changes with
|
||||||
|
additional requirements to the items in section
|
||||||
|
:ref:`contributor-guide/submit-changes:Implement and commit changes`.
|
||||||
|
|
||||||
|
All AI Generated Code must be labeled as such in the commit message,
|
||||||
|
prior to your ``Signed-off-by`` line. It is also strongly recommended,
|
||||||
|
that any patches or code within the commit also have a comment or other
|
||||||
|
indication that this code was AI generated.
|
||||||
|
|
||||||
|
For example, here is a properly formatted commit message::
|
||||||
|
|
||||||
|
component: Add the ability to ...
|
||||||
|
|
||||||
|
AI-Generated: Uses GitHub Copilot
|
||||||
|
|
||||||
|
Signed-off-by: Your Name <your.name@domain>
|
||||||
|
|
||||||
|
The ``Signed-off-by`` line must be written by you, and not the AI helper.
|
||||||
|
As a reminder, when contributing a change, your ``Signed-off-by`` line is
|
||||||
|
required and the stipulations in the `Developer's Statement of Origin
|
||||||
|
1.1 <https://developercertificate.org/>`__ still apply.
|
||||||
|
|
||||||
|
Additionally, you must stipulate AI contributions conform to the Linux
|
||||||
|
Foundation policy, specifically:
|
||||||
|
|
||||||
|
#. Contributors should ensure that the terms and conditions of the generative AI
|
||||||
|
tool do not place any contractual restrictions on how the tool's output can
|
||||||
|
be used that are inconsistent with the project's open source software
|
||||||
|
license, the project's intellectual property policies, or the Open Source
|
||||||
|
Definition.
|
||||||
|
|
||||||
|
#. If any pre-existing copyrighted materials (including pre-existing open
|
||||||
|
source code) authored or owned by third parties are included in the AI tool's
|
||||||
|
output, prior to contributing such output to the project, the Contributor
|
||||||
|
should confirm that they have permission from the third party
|
||||||
|
owners -- such as the form of an open source license or public domain
|
||||||
|
declaration that complies with the project's licensing policies -- to use and
|
||||||
|
modify such pre-existing materials and contribute them to the project.
|
||||||
|
Additionally, the contributor should provide notice and attribution of such
|
||||||
|
third party rights, along with information about the applicable license
|
||||||
|
terms, with their contribution.
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
Flashing Images Using ``bmaptool``
|
Flashing Images Using `bmaptool`
|
||||||
**********************************
|
********************************
|
||||||
|
|
||||||
A fast and easy way to flash an image to a bootable device is to use
|
A fast and easy way to flash an image to a bootable device is to use
|
||||||
bmaptool, which is integrated into the OpenEmbedded build system.
|
`bmaptool`, which is integrated into the OpenEmbedded build system.
|
||||||
bmaptool is a generic tool that creates a file's block map (bmap) and
|
`bmaptool` is a generic tool that creates a file's block map (bmap) and
|
||||||
then uses that map to copy the file. As compared to traditional tools
|
then uses that map to copy the file. As compared to traditional tools
|
||||||
such as dd or cp, bmaptool can copy (or flash) large files like raw
|
such as `dd` or `cp`, `bmaptool` can copy (or flash) large files like raw
|
||||||
system image files much faster.
|
system image files much faster.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@@ -20,13 +20,13 @@ system image files much faster.
|
|||||||
$ sudo apt install bmap-tools
|
$ sudo apt install bmap-tools
|
||||||
|
|
||||||
- If you are unable to install the ``bmap-tools`` package, you will
|
- If you are unable to install the ``bmap-tools`` package, you will
|
||||||
need to build bmaptool before using it. Use the following command::
|
need to build `bmaptool` before using it. Use the following command::
|
||||||
|
|
||||||
$ bitbake bmaptool-native
|
$ bitbake bmaptool-native -caddto_recipe_sysroot
|
||||||
|
|
||||||
Following, is an example that shows how to flash a Wic image. Realize
|
Following, is an example that shows how to flash a Wic image. Realize
|
||||||
that while this example uses a Wic image, you can use bmaptool to flash
|
that while this example uses a Wic image, you can use `bmaptool` to flash
|
||||||
any type of image. Use these steps to flash an image using bmaptool:
|
any type of image. Use these steps to flash an image using `bmaptool`:
|
||||||
|
|
||||||
#. *Update your local.conf File:* You need to have the following set
|
#. *Update your local.conf File:* You need to have the following set
|
||||||
in your ``local.conf`` file before building your image::
|
in your ``local.conf`` file before building your image::
|
||||||
@@ -39,18 +39,17 @@ any type of image. Use these steps to flash an image using bmaptool:
|
|||||||
|
|
||||||
$ bitbake image
|
$ bitbake image
|
||||||
|
|
||||||
#. *Flash the Device:* Flash the device with the image by using bmaptool
|
#. *Flash the Device:* Flash the device with the image by using `bmaptool`
|
||||||
depending on your particular setup. The following commands assume the
|
depending on your particular setup. The following commands assume the
|
||||||
image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
|
image resides in the :term:`Build Directory`'s ``deploy/images/`` area:
|
||||||
|
|
||||||
- If you have write access to the media, use this command form::
|
- If you installed the package for `bmaptool`, you can directly run::
|
||||||
|
|
||||||
$ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
|
$ sudo bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
|
||||||
|
|
||||||
- If you do not have write access to the media, set your permissions
|
- Otherwise, if you built `bmaptool` with BitBake, run::
|
||||||
first and then use the same command form::
|
|
||||||
|
|
||||||
$ sudo chmod 666 /dev/sdX
|
$ sudo chmod a+w /dev/sdX # get write access to the media, needed only once after booting
|
||||||
$ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
|
$ oe-run-native bmaptool-native bmaptool copy build-directory/tmp/deploy/images/machine/image.wic /dev/sdX
|
||||||
|
|
||||||
For help on the ``bmaptool`` command, use the following command::
|
For help on the ``bmaptool`` command, use the following command::
|
||||||
|
|||||||
@@ -280,7 +280,9 @@ Follow these steps to create an :term:`Initramfs` image:
|
|||||||
#. *Create the Initramfs Image Recipe:* You can reference the
|
#. *Create the Initramfs Image Recipe:* You can reference the
|
||||||
``core-image-minimal-initramfs.bb`` recipe found in the
|
``core-image-minimal-initramfs.bb`` recipe found in the
|
||||||
``meta/recipes-core`` directory of the :term:`Source Directory`
|
``meta/recipes-core`` directory of the :term:`Source Directory`
|
||||||
as an example from which to work.
|
as an example from which to work. The ``core-image-minimal-initramfs`` recipe
|
||||||
|
is based on the :ref:`initramfs-framework <dev-manual/building:Customizing an
|
||||||
|
Initramfs using \`\`initramfs-framework\`\`>` recipe described below.
|
||||||
|
|
||||||
#. *Decide if You Need to Bundle the Initramfs Image Into the Kernel
|
#. *Decide if You Need to Bundle the Initramfs Image Into the Kernel
|
||||||
Image:* If you want the :term:`Initramfs` image that is built to be bundled
|
Image:* If you want the :term:`Initramfs` image that is built to be bundled
|
||||||
@@ -308,6 +310,86 @@ Follow these steps to create an :term:`Initramfs` image:
|
|||||||
and bundled with the kernel image if you used the
|
and bundled with the kernel image if you used the
|
||||||
:term:`INITRAMFS_IMAGE_BUNDLE` variable described earlier.
|
:term:`INITRAMFS_IMAGE_BUNDLE` variable described earlier.
|
||||||
|
|
||||||
|
Customizing an Initramfs using ``initramfs-framework``
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
The ``core-image-minimal-initramfs.bb`` recipe found in
|
||||||
|
:oe_git:`meta/recipes-core/images
|
||||||
|
</openembedded-core/tree/meta/recipes-core/images>` uses the
|
||||||
|
:oe_git:`initramfs-framework_1.0.bb
|
||||||
|
</openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb>`
|
||||||
|
recipe as its base component. The goal of the ``initramfs-framework`` recipe is
|
||||||
|
to provide the building blocks to build a customized :term:`Initramfs`.
|
||||||
|
|
||||||
|
The ``initramfs-framework`` recipe relies on shell initialization scripts
|
||||||
|
defined in :oe_git:`meta/recipes-core/initrdscripts/initramfs-framework
|
||||||
|
</openembedded-core/tree/meta/recipes-core/initrdscripts/initramfs-framework>`. Since some of
|
||||||
|
these scripts do not apply for all use cases, the ``initramfs-framework`` recipe
|
||||||
|
defines different packages:
|
||||||
|
|
||||||
|
- ``initramfs-framework-base``: this package installs the basic components of
|
||||||
|
an :term:`Initramfs`, such as the ``init`` script or the ``/dev/console``
|
||||||
|
character special file. As this package is a runtime dependency of all
|
||||||
|
modules listed below, it is automatically pulled in when one of the modules
|
||||||
|
is installed in the image.
|
||||||
|
- ``initramfs-module-exec``: support for execution of applications.
|
||||||
|
- ``initramfs-module-mdev``: support for `mdev
|
||||||
|
<https://wiki.gentoo.org/wiki/Mdev>`__.
|
||||||
|
- ``initramfs-module-udev``: support for :wikipedia:`Udev <Udev>`.
|
||||||
|
- ``initramfs-module-e2fs``: support for :wikipedia:`ext4/ext3/ext2
|
||||||
|
<Extended_file_system>` filesystems.
|
||||||
|
- ``initramfs-module-nfsrootfs``: support for locating and mounting the root
|
||||||
|
partition via :wikipedia:`NFS <Network_File_System>`.
|
||||||
|
- ``initramfs-module-rootfs``: support for locating and mounting the root
|
||||||
|
partition.
|
||||||
|
- ``initramfs-module-debug``: dynamic debug support.
|
||||||
|
- ``initramfs-module-lvm``: :wikipedia:`LVM <Logical_volume_management>` rootfs support.
|
||||||
|
- ``initramfs-module-overlayroot``: support for mounting a read-write overlay
|
||||||
|
on top of a read-only root filesystem.
|
||||||
|
|
||||||
|
In addition to the packages defined by the ``initramfs-framework`` recipe
|
||||||
|
itself, the following packages are defined by the recipes present in
|
||||||
|
:oe_git:`meta/recipes-core/initrdscripts </openembedded-core/tree/meta/recipes-core/initrdscripts>`:
|
||||||
|
|
||||||
|
- ``initramfs-module-install``: module to create and install a partition layout
|
||||||
|
on a selected block device.
|
||||||
|
- ``initramfs-module-install-efi``: module to create and install an EFI
|
||||||
|
partition layout on a selected block device.
|
||||||
|
- ``initramfs-module-setup-live``: module to start a shell in the
|
||||||
|
:term:`Initramfs` if ``root=/dev/ram0`` in passed in the `Kernel command-line
|
||||||
|
<https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html>`__
|
||||||
|
or the ``root=`` parameter was not passed.
|
||||||
|
|
||||||
|
To customize the :term:`Initramfs`, you can add or remove packages listed
|
||||||
|
earlier from the :term:`PACKAGE_INSTALL` variable with a :ref:`bbappend
|
||||||
|
<dev-manual/layers:Appending Other Layers Metadata With Your Layer>` on the
|
||||||
|
``core-image-minimal-initramfs`` recipe, or create a custom recipe for the
|
||||||
|
:term:`Initramfs` taking ``core-image-minimal-initramfs`` as example.
|
||||||
|
|
||||||
|
Custom scripts can be added to the :term:`Initramfs` by writing your own
|
||||||
|
recipes. The recipes are conventionally named ``initramfs-module-<module name>``
|
||||||
|
where ``<module name>`` is the name of the module. The recipe should set its
|
||||||
|
:term:`RDEPENDS` package-specific variables to include
|
||||||
|
``initramfs-framework-base`` and the other packages on which the module depends
|
||||||
|
at runtime.
|
||||||
|
|
||||||
|
The recipe must install shell initialization scripts in :term:`${D} <D>`\
|
||||||
|
``/init.d`` and must follow the ``<number>-<script name>`` naming scheme where:
|
||||||
|
|
||||||
|
- ``<number>`` is a *two-digit* number that affects the execution order of the
|
||||||
|
script compared to others. For example, the script ``80-setup-live`` would be
|
||||||
|
executed after ``01-udev`` because 80 is greater than 01.
|
||||||
|
|
||||||
|
This number being two-digits is important here as the scripts are executed
|
||||||
|
alphabetically. For example, the script ``10-script`` would be executed
|
||||||
|
before the script ``8-script``, because ``1`` is inferior to ``8``.
|
||||||
|
Therefore, the script should be named ``08-script``.
|
||||||
|
|
||||||
|
- ``<script name>`` is the script name which you can choose freely.
|
||||||
|
|
||||||
|
If two script use the same ``<number>``, they are sorted alphabetically based
|
||||||
|
on ``<script name>``.
|
||||||
|
|
||||||
Bundling an Initramfs Image From a Separate Multiconfig
|
Bundling an Initramfs Image From a Separate Multiconfig
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -80,15 +80,14 @@ recipe that are enabled with :term:`IMAGE_FEATURES`. The value of
|
|||||||
:term:`EXTRA_IMAGE_FEATURES` is added to :term:`IMAGE_FEATURES` within
|
:term:`EXTRA_IMAGE_FEATURES` is added to :term:`IMAGE_FEATURES` within
|
||||||
``meta/conf/bitbake.conf``.
|
``meta/conf/bitbake.conf``.
|
||||||
|
|
||||||
To illustrate how you can use these variables to modify your image,
|
To illustrate how you can use these variables to modify your image, consider an
|
||||||
consider an example that selects the SSH server. The Yocto Project ships
|
example that selects the SSH server. The Yocto Project ships with two SSH
|
||||||
with two SSH servers you can use with your images: Dropbear and OpenSSH.
|
servers you can use with your images: Dropbear and OpenSSH. Dropbear is a
|
||||||
Dropbear is a minimal SSH server appropriate for resource-constrained
|
minimal SSH server appropriate for resource-constrained environments, while
|
||||||
environments, while OpenSSH is a well-known standard SSH server
|
OpenSSH is a well-known standard SSH server implementation. By default, the
|
||||||
implementation. By default, the ``core-image-sato`` image is configured
|
``core-image-sato`` image is configured to use Dropbear. The
|
||||||
to use Dropbear. The ``core-image-full-cmdline`` and ``core-image-lsb``
|
``core-image-full-cmdline`` image includes OpenSSH. The ``core-image-minimal``
|
||||||
images both include OpenSSH. The ``core-image-minimal`` image does not
|
image does not contain an SSH server.
|
||||||
contain an SSH server.
|
|
||||||
|
|
||||||
You can customize your image and change these defaults. Edit the
|
You can customize your image and change these defaults. Edit the
|
||||||
:term:`IMAGE_FEATURES` variable in your recipe or use the
|
:term:`IMAGE_FEATURES` variable in your recipe or use the
|
||||||
|
|||||||
@@ -12,10 +12,13 @@ revision number for changes. Currently, you can do this with Apache
|
|||||||
Subversion (SVN), Git, and Bazaar (BZR) repositories.
|
Subversion (SVN), Git, and Bazaar (BZR) repositories.
|
||||||
|
|
||||||
To enable this behavior, the :term:`PV` of
|
To enable this behavior, the :term:`PV` of
|
||||||
the recipe needs to reference
|
the recipe needs to include a ``+`` sign in its assignment.
|
||||||
:term:`SRCPV`. Here is an example::
|
Here is an example::
|
||||||
|
|
||||||
PV = "1.2.3+git${SRCPV}"
|
PV = "1.2.3+git"
|
||||||
|
|
||||||
|
:term:`Bitbake` later includes the source control information in :term:`PKGV`
|
||||||
|
during the packaging phase.
|
||||||
|
|
||||||
Then, you can add the following to your
|
Then, you can add the following to your
|
||||||
``local.conf``::
|
``local.conf``::
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ Yocto Project Development Tasks Manual
|
|||||||
external-scm
|
external-scm
|
||||||
read-only-rootfs
|
read-only-rootfs
|
||||||
build-quality
|
build-quality
|
||||||
runtime-testing
|
|
||||||
debugging
|
debugging
|
||||||
licenses
|
licenses
|
||||||
security-subjects
|
security-subjects
|
||||||
|
|||||||
@@ -291,13 +291,13 @@ another example that specifies these types of files, see the
|
|||||||
|
|
||||||
Another way of specifying source is from an SCM. For Git repositories,
|
Another way of specifying source is from an SCM. For Git repositories,
|
||||||
you must specify :term:`SRCREV` and you should specify :term:`PV` to include
|
you must specify :term:`SRCREV` and you should specify :term:`PV` to include
|
||||||
the revision with :term:`SRCPV`. Here is an example from the recipe
|
a ``+`` sign in its definition. Here is an example from the recipe
|
||||||
``meta/recipes-core/musl/gcompat_git.bb``::
|
:oe_git:`meta/recipes-sato/l3afpad/l3afpad_git.bb </openembedded-core/tree/meta/recipes-sato/l3afpad/l3afpad_git.bb>`::
|
||||||
|
|
||||||
SRC_URI = "git://git.adelielinux.org/adelie/gcompat.git;protocol=https;branch=current"
|
SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https"
|
||||||
|
|
||||||
PV = "1.0.0+1.1+git${SRCPV}"
|
PV = "0.8.18.1.11+git"
|
||||||
SRCREV = "af5a49e489fdc04b9cf02547650d7aeaccd43793"
|
SRCREV ="3cdccdc9505643e50f8208171d9eee5de11a42ff"
|
||||||
|
|
||||||
If your :term:`SRC_URI` statement includes URLs pointing to individual files
|
If your :term:`SRC_URI` statement includes URLs pointing to individual files
|
||||||
fetched from a remote server other than a version control system,
|
fetched from a remote server other than a version control system,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ This section describes a few tasks that involve packages:
|
|||||||
- :ref:`dev-manual/packages:generating and using signed packages`
|
- :ref:`dev-manual/packages:generating and using signed packages`
|
||||||
|
|
||||||
- :ref:`Setting up and running package test
|
- :ref:`Setting up and running package test
|
||||||
(ptest) <dev-manual/packages:testing packages with ptest>`
|
(ptest) <test-manual/ptest:testing packages with ptest>`
|
||||||
|
|
||||||
- :ref:`dev-manual/packages:creating node package manager (npm) packages`
|
- :ref:`dev-manual/packages:creating node package manager (npm) packages`
|
||||||
|
|
||||||
@@ -84,10 +84,6 @@ the following:
|
|||||||
|
|
||||||
- :term:`PR`: The recipe revision.
|
- :term:`PR`: The recipe revision.
|
||||||
|
|
||||||
- :term:`SRCPV`: The OpenEmbedded
|
|
||||||
build system uses this string to help define the value of :term:`PV` when
|
|
||||||
the source code revision needs to be included in it.
|
|
||||||
|
|
||||||
- :yocto_wiki:`PR Service </PR_Service>`: A
|
- :yocto_wiki:`PR Service </PR_Service>`: A
|
||||||
network-based service that helps automate keeping package feeds
|
network-based service that helps automate keeping package feeds
|
||||||
compatible with existing package manager applications such as RPM,
|
compatible with existing package manager applications such as RPM,
|
||||||
@@ -256,15 +252,14 @@ the software::
|
|||||||
|
|
||||||
SRCREV = "${AUTOREV}"
|
SRCREV = "${AUTOREV}"
|
||||||
|
|
||||||
Furthermore, you need to reference :term:`SRCPV` in :term:`PV` in order to
|
Furthermore, you need to include a ``+`` sign in :term:`PV` in order to
|
||||||
automatically update the version whenever the revision of the source
|
automatically update the version whenever the revision of the source
|
||||||
code changes. Here is an example::
|
code changes. Here is an example::
|
||||||
|
|
||||||
PV = "1.0+git${SRCPV}"
|
PV = "1.0+git"
|
||||||
|
|
||||||
The OpenEmbedded build system substitutes :term:`SRCPV` with the following:
|
The OpenEmbedded build system will automatically add the source control
|
||||||
|
information to the end of the variable :term:`PKGV`, in this format::
|
||||||
.. code-block:: none
|
|
||||||
|
|
||||||
AUTOINC+source_code_revision
|
AUTOINC+source_code_revision
|
||||||
|
|
||||||
@@ -887,114 +882,8 @@ related to signed package feeds are available:
|
|||||||
Testing Packages With ptest
|
Testing Packages With ptest
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
A Package Test (ptest) runs tests against packages built by the
|
See the :ref:`test-manual/ptest:Testing Packages With ptest` section of the
|
||||||
OpenEmbedded build system on the target machine. A ptest contains at
|
Yocto Project Test Environment Manual.
|
||||||
least two items: the actual test, and a shell script (``run-ptest``)
|
|
||||||
that starts the test. The shell script that starts the test must not
|
|
||||||
contain the actual test --- the script only starts the test. On the other
|
|
||||||
hand, the test can be anything from a simple shell script that runs a
|
|
||||||
binary and checks the output to an elaborate system of test binaries and
|
|
||||||
data files.
|
|
||||||
|
|
||||||
The test generates output in the format used by Automake::
|
|
||||||
|
|
||||||
result: testname
|
|
||||||
|
|
||||||
where the result can be ``PASS``, ``FAIL``, or ``SKIP``, and
|
|
||||||
the testname can be any identifying string.
|
|
||||||
|
|
||||||
For a list of Yocto Project recipes that are already enabled with ptest,
|
|
||||||
see the :yocto_wiki:`Ptest </Ptest>` wiki page.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
|
|
||||||
class.
|
|
||||||
|
|
||||||
Adding ptest to Your Build
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
To add package testing to your build, add the :term:`DISTRO_FEATURES` and
|
|
||||||
:term:`EXTRA_IMAGE_FEATURES` variables to your ``local.conf`` file, which
|
|
||||||
is found in the :term:`Build Directory`::
|
|
||||||
|
|
||||||
DISTRO_FEATURES:append = " ptest"
|
|
||||||
EXTRA_IMAGE_FEATURES += "ptest-pkgs"
|
|
||||||
|
|
||||||
Once your build is complete, the ptest files are installed into the
|
|
||||||
``/usr/lib/package/ptest`` directory within the image, where ``package``
|
|
||||||
is the name of the package.
|
|
||||||
|
|
||||||
Running ptest
|
|
||||||
-------------
|
|
||||||
|
|
||||||
The ``ptest-runner`` package installs a shell script that loops through
|
|
||||||
all installed ptest test suites and runs them in sequence. Consequently,
|
|
||||||
you might want to add this package to your image.
|
|
||||||
|
|
||||||
Getting Your Package Ready
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
In order to enable a recipe to run installed ptests on target hardware,
|
|
||||||
you need to prepare the recipes that build the packages you want to
|
|
||||||
test. Here is what you have to do for each recipe:
|
|
||||||
|
|
||||||
- *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
|
|
||||||
Include the following line in each recipe::
|
|
||||||
|
|
||||||
inherit ptest
|
|
||||||
|
|
||||||
- *Create run-ptest:* This script starts your test. Locate the
|
|
||||||
script where you will refer to it using
|
|
||||||
:term:`SRC_URI`. Here is an
|
|
||||||
example that starts a test for ``dbus``::
|
|
||||||
|
|
||||||
#!/bin/sh
|
|
||||||
cd test
|
|
||||||
make -k runtest-TESTS
|
|
||||||
|
|
||||||
- *Ensure dependencies are met:* If the test adds build or runtime
|
|
||||||
dependencies that normally do not exist for the package (such as
|
|
||||||
requiring "make" to run the test suite), use the
|
|
||||||
:term:`DEPENDS` and
|
|
||||||
:term:`RDEPENDS` variables in
|
|
||||||
your recipe in order for the package to meet the dependencies. Here
|
|
||||||
is an example where the package has a runtime dependency on "make"::
|
|
||||||
|
|
||||||
RDEPENDS:${PN}-ptest += "make"
|
|
||||||
|
|
||||||
- *Add a function to build the test suite:* Not many packages support
|
|
||||||
cross-compilation of their test suites. Consequently, you usually
|
|
||||||
need to add a cross-compilation function to the package.
|
|
||||||
|
|
||||||
Many packages based on Automake compile and run the test suite by
|
|
||||||
using a single command such as ``make check``. However, the host
|
|
||||||
``make check`` builds and runs on the same computer, while
|
|
||||||
cross-compiling requires that the package is built on the host but
|
|
||||||
executed for the target architecture (though often, as in the case
|
|
||||||
for ptest, the execution occurs on the host). The built version of
|
|
||||||
Automake that ships with the Yocto Project includes a patch that
|
|
||||||
separates building and execution. Consequently, packages that use the
|
|
||||||
unaltered, patched version of ``make check`` automatically
|
|
||||||
cross-compiles.
|
|
||||||
|
|
||||||
Regardless, you still must add a ``do_compile_ptest`` function to
|
|
||||||
build the test suite. Add a function similar to the following to your
|
|
||||||
recipe::
|
|
||||||
|
|
||||||
do_compile_ptest() {
|
|
||||||
oe_runmake buildtest-TESTS
|
|
||||||
}
|
|
||||||
|
|
||||||
- *Ensure special configurations are set:* If the package requires
|
|
||||||
special configurations prior to compiling the test code, you must
|
|
||||||
insert a ``do_configure_ptest`` function into the recipe.
|
|
||||||
|
|
||||||
- *Install the test suite:* The :ref:`ref-classes-ptest` class
|
|
||||||
automatically copies the file ``run-ptest`` to the target and then runs make
|
|
||||||
``install-ptest`` to run the tests. If this is not enough, you need
|
|
||||||
to create a ``do_install_ptest`` function and make sure it gets
|
|
||||||
called after the "make install-ptest" completes.
|
|
||||||
|
|
||||||
Creating Node Package Manager (NPM) Packages
|
Creating Node Package Manager (NPM) Packages
|
||||||
============================================
|
============================================
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ available. Follow these general steps to run QEMU:
|
|||||||
your :term:`Build Directory`.
|
your :term:`Build Directory`.
|
||||||
|
|
||||||
- If you have not built an image, you can go to the
|
- If you have not built an image, you can go to the
|
||||||
:yocto_dl:`machines/qemu </releases/yocto/yocto-&DISTRO;/machines/qemu/>` area and download a
|
:yocto_dl:`machines/qemu </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines/qemu/>` area and download a
|
||||||
pre-built image that matches your architecture and can be run on
|
pre-built image that matches your architecture and can be run on
|
||||||
QEMU.
|
QEMU.
|
||||||
|
|
||||||
@@ -280,12 +280,11 @@ present, the toolchain is also automatically used.
|
|||||||
networking.
|
networking.
|
||||||
|
|
||||||
- SSH servers are available in some QEMU images. The ``core-image-sato``
|
- SSH servers are available in some QEMU images. The ``core-image-sato``
|
||||||
QEMU image has a Dropbear secure shell (SSH) server that runs with
|
QEMU image has a Dropbear secure shell (SSH) server that runs with the
|
||||||
the root password disabled. The ``core-image-full-cmdline`` and
|
root password disabled. The ``core-image-full-cmdline`` QEMU image has
|
||||||
``core-image-lsb`` QEMU images have OpenSSH instead of Dropbear.
|
OpenSSH instead of Dropbear. Including these SSH servers allow you to use
|
||||||
Including these SSH servers allow you to use standard ``ssh`` and
|
standard ``ssh`` and ``scp`` commands. The ``core-image-minimal`` QEMU
|
||||||
``scp`` commands. The ``core-image-minimal`` QEMU image, however,
|
image, however, contains no SSH server.
|
||||||
contains no SSH server.
|
|
||||||
|
|
||||||
- You can use a provided, user-space NFS server to boot the QEMU
|
- You can use a provided, user-space NFS server to boot the QEMU
|
||||||
session using a local copy of the root filesystem on the host. In
|
session using a local copy of the root filesystem on the host. In
|
||||||
|
|||||||
@@ -615,7 +615,7 @@ Accessing Source Archives
|
|||||||
The Yocto Project also provides source archives of its releases, which
|
The Yocto Project also provides source archives of its releases, which
|
||||||
are available on :yocto_dl:`/releases/yocto/`. Then, choose the subdirectory
|
are available on :yocto_dl:`/releases/yocto/`. Then, choose the subdirectory
|
||||||
containing the release you wish to use, for example
|
containing the release you wish to use, for example
|
||||||
:yocto_dl:`yocto-&DISTRO; </releases/yocto/yocto-&DISTRO;/>`.
|
:yocto_dl:`&DISTRO_REL_LATEST_TAG; </releases/yocto/&DISTRO_REL_LATEST_TAG;/>`.
|
||||||
|
|
||||||
You will find there source archives of individual components (if you wish
|
You will find there source archives of individual components (if you wish
|
||||||
to use them individually), and of the corresponding Poky release bundling
|
to use them individually), and of the corresponding Poky release bundling
|
||||||
|
|||||||
@@ -66,37 +66,77 @@ found in ``build/tmp/deploy/cve``.
|
|||||||
|
|
||||||
For example the CVE check report for the ``flex-native`` recipe looks like::
|
For example the CVE check report for the ``flex-native`` recipe looks like::
|
||||||
|
|
||||||
$ cat poky/build/tmp/deploy/cve/flex-native
|
$ cat ./tmp/deploy/cve/flex-native_cve.json
|
||||||
LAYER: meta
|
{
|
||||||
PACKAGE NAME: flex-native
|
"version": "1",
|
||||||
PACKAGE VERSION: 2.6.4
|
"package": [
|
||||||
CVE: CVE-2016-6354
|
{
|
||||||
CVE STATUS: Patched
|
"name": "flex-native",
|
||||||
CVE SUMMARY: Heap-based buffer overflow in the yy_get_next_buffer function in Flex before 2.6.1 might allow context-dependent attackers to cause a denial of service or possibly execute arbitrary code via vectors involving num_to_read.
|
"layer": "meta",
|
||||||
CVSS v2 BASE SCORE: 7.5
|
"version": "2.6.4",
|
||||||
CVSS v3 BASE SCORE: 9.8
|
"products": [
|
||||||
VECTOR: NETWORK
|
{
|
||||||
MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2016-6354
|
"product": "flex",
|
||||||
|
"cvesInRecord": "No"
|
||||||
LAYER: meta
|
},
|
||||||
PACKAGE NAME: flex-native
|
{
|
||||||
PACKAGE VERSION: 2.6.4
|
"product": "flex",
|
||||||
CVE: CVE-2019-6293
|
"cvesInRecord": "Yes"
|
||||||
CVE STATUS: Ignored
|
}
|
||||||
CVE SUMMARY: An issue was discovered in the function mark_beginning_as_normal in nfa.c in flex 2.6.4. There is a stack exhaustion problem caused by the mark_beginning_as_normal function making recursive calls to itself in certain scenarios involving lots of '*' characters. Remote attackers could leverage this vulnerability to cause a denial-of-service.
|
],
|
||||||
CVSS v2 BASE SCORE: 4.3
|
"issue": [
|
||||||
CVSS v3 BASE SCORE: 5.5
|
{
|
||||||
VECTOR: NETWORK
|
"id": "CVE-2006-0459",
|
||||||
MORE INFORMATION: https://nvd.nist.gov/vuln/detail/CVE-2019-6293
|
"status": "Patched",
|
||||||
|
"link": "https://nvd.nist.gov/vuln/detail/CVE-2006-0459",
|
||||||
|
"summary": "flex.skl in Will Estes and John Millaway Fast Lexical Analyzer Generator (flex) before 2.5.33 does not allocate enough memory for grammars containing (1) REJECT statements or (2) trailing context rules, which causes flex to generate code that contains a buffer overflow that might allow context-dependent attackers to execute arbitrary code.",
|
||||||
|
"scorev2": "7.5",
|
||||||
|
"scorev3": "0.0",
|
||||||
|
"scorev4": "0.0",
|
||||||
|
"modified": "2024-11-21T00:06Z",
|
||||||
|
"vector": "NETWORK",
|
||||||
|
"vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P",
|
||||||
|
"detail": "version-not-in-range"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CVE-2016-6354",
|
||||||
|
"status": "Patched",
|
||||||
|
"link": "https://nvd.nist.gov/vuln/detail/CVE-2016-6354",
|
||||||
|
"summary": "Heap-based buffer overflow in the yy_get_next_buffer function in Flex before 2.6.1 might allow context-dependent attackers to cause a denial of service or possibly execute arbitrary code via vectors involving num_to_read.",
|
||||||
|
"scorev2": "7.5",
|
||||||
|
"scorev3": "9.8",
|
||||||
|
"scorev4": "0.0",
|
||||||
|
"modified": "2024-11-21T02:55Z",
|
||||||
|
"vector": "NETWORK",
|
||||||
|
"vectorString": "AV:N/AC:L/Au:N/C:P/I:P/A:P",
|
||||||
|
"detail": "version-not-in-range"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "CVE-2019-6293",
|
||||||
|
"status": "Ignored",
|
||||||
|
"link": "https://nvd.nist.gov/vuln/detail/CVE-2019-6293",
|
||||||
|
"summary": "An issue was discovered in the function mark_beginning_as_normal in nfa.c in flex 2.6.4. There is a stack exhaustion problem caused by the mark_beginning_as_normal function making recursive calls to itself in certain scenarios involving lots of '*' characters. Remote attackers could leverage this vulnerability to cause a denial-of-service.",
|
||||||
|
"scorev2": "4.3",
|
||||||
|
"scorev3": "5.5",
|
||||||
|
"scorev4": "0.0",
|
||||||
|
"modified": "2024-11-21T04:46Z",
|
||||||
|
"vector": "NETWORK",
|
||||||
|
"vectorString": "AV:N/AC:M/Au:N/C:N/I:N/A:P",
|
||||||
|
"detail": "upstream-wontfix",
|
||||||
|
"description": "there is stack exhaustion but no bug and it is building the parser, not running it, effectively similar to a compiler ICE. Upstream no plans to address this."
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
For images, a summary of all recipes included in the image and their CVEs is also
|
For images, a summary of all recipes included in the image and their CVEs is also
|
||||||
generated in textual and JSON formats. These ``.cve`` and ``.json`` reports can be found
|
generated in the JSON format. These ``.json`` reports can be found
|
||||||
in the ``tmp/deploy/images`` directory for each compiled image.
|
in the ``tmp/deploy/images`` directory for each compiled image.
|
||||||
|
|
||||||
At build time CVE check will also throw warnings about ``Unpatched`` CVEs::
|
At build time CVE check will also throw warnings about ``Unpatched`` CVEs::
|
||||||
|
|
||||||
WARNING: flex-2.6.4-r0 do_cve_check: Found unpatched CVE (CVE-2019-6293), for more information check /poky/build/tmp/work/core2-64-poky-linux/flex/2.6.4-r0/temp/cve.log
|
WARNING: qemu-native-9.2.0-r0 do_cve_check: Found unpatched CVE (CVE-2023-1386)
|
||||||
WARNING: libarchive-3.5.1-r0 do_cve_check: Found unpatched CVE (CVE-2021-36976), for more information check /poky/build/tmp/work/core2-64-poky-linux/libarchive/3.5.1-r0/temp/cve.log
|
|
||||||
|
|
||||||
It is also possible to check the CVE status of individual packages as follows::
|
It is also possible to check the CVE status of individual packages as follows::
|
||||||
|
|
||||||
@@ -115,10 +155,10 @@ upstream `NIST CVE database <https://nvd.nist.gov/>`__.
|
|||||||
|
|
||||||
The variable supports using vendor and product names like this::
|
The variable supports using vendor and product names like this::
|
||||||
|
|
||||||
CVE_PRODUCT = "flex_project:flex"
|
CVE_PRODUCT = "flex_project:flex westes:flex"
|
||||||
|
|
||||||
In this example the vendor name used in the CVE database is ``flex_project`` and the
|
In this example we have two possible vendors names, ``flex_project`` and ``westes``,
|
||||||
product is ``flex``. With this setting the ``flex`` recipe only maps to this specific
|
with the product name ``flex``. With this setting the ``flex`` recipe only maps to this specific
|
||||||
product and not products from other vendors with same name ``flex``.
|
product and not products from other vendors with same name ``flex``.
|
||||||
|
|
||||||
Similarly, when the recipe version :term:`PV` is not compatible with software versions used by
|
Similarly, when the recipe version :term:`PV` is not compatible with software versions used by
|
||||||
|
|||||||
@@ -513,7 +513,7 @@ or ::
|
|||||||
|
|
||||||
For more information on how to use the ``bmaptool``
|
For more information on how to use the ``bmaptool``
|
||||||
to flash a device with an image, see the
|
to flash a device with an image, see the
|
||||||
":ref:`dev-manual/bmaptool:flashing images using \`\`bmaptool\`\``"
|
":ref:`dev-manual/bmaptool:flashing images using \`bmaptool\``"
|
||||||
section.
|
section.
|
||||||
|
|
||||||
Using a Modified Kickstart File
|
Using a Modified Kickstart File
|
||||||
@@ -721,7 +721,7 @@ the existing kernel, and then inserts a new kernel:
|
|||||||
|
|
||||||
Once the new kernel is added back into the image, you can use the
|
Once the new kernel is added back into the image, you can use the
|
||||||
``dd`` command or :ref:`bmaptool
|
``dd`` command or :ref:`bmaptool
|
||||||
<dev-manual/bmaptool:flashing images using \`\`bmaptool\`\`>`
|
<dev-manual/bmaptool:flashing images using \`bmaptool\`>` commands
|
||||||
to flash your wic image onto an SD card or USB stick and test your
|
to flash your wic image onto an SD card or USB stick and test your
|
||||||
target.
|
target.
|
||||||
|
|
||||||
|
|||||||
@@ -1562,16 +1562,9 @@ Here are some basic steps you can use to work with your own sources:
|
|||||||
changed.
|
changed.
|
||||||
|
|
||||||
- :term:`PV`: The default :term:`PV`
|
- :term:`PV`: The default :term:`PV`
|
||||||
assignment is typically adequate. It combines the
|
assignment is typically adequate. It combines the value of
|
||||||
:term:`LINUX_VERSION` with the Source Control Manager (SCM) revision
|
:term:`LINUX_VERSION` and the value ``+git`` which adds source control
|
||||||
as derived from the :term:`SRCPV`
|
information to :term:`PKGV` later during the packaging phase.
|
||||||
variable. The combined results are a string with the following
|
|
||||||
form::
|
|
||||||
|
|
||||||
3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2
|
|
||||||
|
|
||||||
While lengthy, the extra verbosity in :term:`PV` helps ensure you are
|
|
||||||
using the exact sources from which you intend to build.
|
|
||||||
|
|
||||||
- :term:`COMPATIBLE_MACHINE`:
|
- :term:`COMPATIBLE_MACHINE`:
|
||||||
A list of the machines supported by your new recipe. This variable
|
A list of the machines supported by your new recipe. This variable
|
||||||
|
|||||||
@@ -248,8 +248,8 @@ A new automated image testing framework has been added through the
|
|||||||
framework replaces the older ``imagetest-qemu`` framework.
|
framework replaces the older ``imagetest-qemu`` framework.
|
||||||
|
|
||||||
You can learn more about performing automated image tests in the
|
You can learn more about performing automated image tests in the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
.. _migration-1.5-build-history:
|
.. _migration-1.5-build-history:
|
||||||
|
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ Package Test (ptest)
|
|||||||
|
|
||||||
Package Tests (ptest) are built but not installed by default. For
|
Package Tests (ptest) are built but not installed by default. For
|
||||||
information on using Package Tests, see the
|
information on using Package Tests, see the
|
||||||
":ref:`dev-manual/packages:testing packages with ptest`" section in the
|
":ref:`test-manual/ptest:testing packages with ptest`" section in the
|
||||||
Yocto Project Development Tasks Manual. See also the ":ref:`ref-classes-ptest`"
|
Yocto Project Development Tasks Manual. See also the ":ref:`ref-classes-ptest`"
|
||||||
section.
|
section.
|
||||||
|
|
||||||
|
|||||||
@@ -29,4 +29,6 @@ Release 4.0 (kirkstone)
|
|||||||
release-notes-4.0.20
|
release-notes-4.0.20
|
||||||
release-notes-4.0.21
|
release-notes-4.0.21
|
||||||
release-notes-4.0.22
|
release-notes-4.0.22
|
||||||
|
release-notes-4.0.23
|
||||||
|
release-notes-4.0.24
|
||||||
|
release-notes-4.0.25
|
||||||
|
|||||||
@@ -10,3 +10,8 @@ Release 5.0 (scarthgap)
|
|||||||
release-notes-5.0.1
|
release-notes-5.0.1
|
||||||
release-notes-5.0.2
|
release-notes-5.0.2
|
||||||
release-notes-5.0.3
|
release-notes-5.0.3
|
||||||
|
release-notes-5.0.4
|
||||||
|
release-notes-5.0.5
|
||||||
|
release-notes-5.0.6
|
||||||
|
release-notes-5.0.7
|
||||||
|
release-notes-5.0.8
|
||||||
|
|||||||
@@ -7,3 +7,7 @@ Release 5.1 (styhead)
|
|||||||
|
|
||||||
migration-5.1
|
migration-5.1
|
||||||
release-notes-5.1
|
release-notes-5.1
|
||||||
|
release-notes-5.1.1
|
||||||
|
release-notes-5.1.2
|
||||||
|
release-notes-5.1.3
|
||||||
|
release-notes-5.1.4
|
||||||
|
|||||||
209
documentation/migration-guides/release-notes-4.0.23.rst
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
Release notes for Yocto-4.0.23 (Kirkstone)
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-4.0.23
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- ``curl``: Fix :cve_nist:`2024-9681`
|
||||||
|
- ``expat``: Fix :cve_nist:`2024-50602`
|
||||||
|
- ``gcc``: Ignore :cve_nist:`2023-4039`
|
||||||
|
- ``ghostscript``: Fix :cve_nist:`2023-46361` and :cve_nist:`2024-29508`
|
||||||
|
- ``gstreamer1.0``: Ignore :cve_nist:`2024-0444`
|
||||||
|
- ``libarchive``: Fix :cve_nist:`2024-48957` and :cve_nist:`2024-48958`
|
||||||
|
- ``openssl``: Fix :cve_nist:`2024-9143`
|
||||||
|
- ``orc``: Fix :cve_nist:`2024-40897`
|
||||||
|
- ``python3``: Ignore :cve_nist:`2023-27043`, :cve_nist:`2024-6232` and :cve_nist:`2024-7592`
|
||||||
|
- ``qemu``: Fix :cve_nist:`2023-3019`
|
||||||
|
- ``vim``: Fix :cve_nist:`2024-43790`, :cve_nist:`2024-43802`, :cve_nist:`2024-45306` and :cve_nist:`2024-47814`
|
||||||
|
- ``zstd``: Fix :cve_nist:`2022-4899`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-4.0.23
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- at-spi2-core: backport a patch to fix build with gcc-14 on host
|
||||||
|
- bitbake: bitbake: doc/user-manual: Update the BB_HASHSERVE_UPSTREAM
|
||||||
|
- bitbake: codeparser: Fix handling of string AST nodes with older Python versions
|
||||||
|
- bitbake: fetch2/git: Use quote from shlex, not pipes
|
||||||
|
- bitbake: gitsm: Add call_process_submodules() to remove duplicated code
|
||||||
|
- bitbake: gitsm: Remove downloads/tmpdir when failed
|
||||||
|
- bitbake: tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab
|
||||||
|
- bitbake: tests/fetch: Use our own mirror of sysprof to decouple from gnome gitlab
|
||||||
|
- bmap-tools: update :term:`HOMEPAGE` and :term:`SRC_URI`
|
||||||
|
- build-appliance-image: Update to kirkstone head revision
|
||||||
|
- cmake: Fix sporadic issues when determining compiler internals
|
||||||
|
- cracklib: Modify patch to compile with GCC 14
|
||||||
|
- cve-check: add CVSS vector string to CVE database and reports
|
||||||
|
- cve-check: add support for cvss v4.0
|
||||||
|
- cve_check: Use a local copy of the database during builds
|
||||||
|
- dev-manual: document how to provide confs from layer.conf
|
||||||
|
- documentation: Makefile: add SPHINXLINTDOCS to specify subset to sphinx-lint
|
||||||
|
- documentation: Makefile: fix epub and latexpdf targets
|
||||||
|
- documentation: README: add instruction to run Vale on a subset
|
||||||
|
- documentation: brief-yoctoprojectqs: update BB_HASHSERVE_UPSTREAM for new infrastructure
|
||||||
|
- documentation: conf.py: add a bitbake_git extlink
|
||||||
|
- documentation: rename :cve: role to :cve_nist:
|
||||||
|
- documentation: styles: vocabularies: Yocto: add sstate
|
||||||
|
- documnetation: contributor-guide: Remove duplicated words
|
||||||
|
- gcc: restore a patch for Neoverse N2 core
|
||||||
|
- glib-2.0: patch regression of :cve_nist:`2023-32665`
|
||||||
|
- kmscube: create_framebuffer: backport modifier fix
|
||||||
|
- libffi: backport a fix to build libffi-native with gcc-14
|
||||||
|
- linux-firmware: Upgrade to 20240909
|
||||||
|
- local.conf.sample: update BB_HASHSERVE_UPSTREAM for new infrastructure
|
||||||
|
- migration-guide: add release notes for 4.0.22
|
||||||
|
- migration-guide: release-notes-4.0: update BB_HASHSERVE_UPSTREAM for new infrastructure
|
||||||
|
- nativesdk-intercept: Fix bad intercept chgrp/chown logic
|
||||||
|
- orc: Upgrade to 0.4.40
|
||||||
|
- overlayfs-etc: add option to skip creation of mount dirs
|
||||||
|
- overview-manual: concepts: add details on package splitting
|
||||||
|
- package: Switch debug source handling to use prefix map
|
||||||
|
- patch.py: Use shlex instead of deprecated pipe
|
||||||
|
- poky.conf: bump version for 4.0.23
|
||||||
|
- pseudo: Disable LFS on 32bit arches
|
||||||
|
- pseudo: Fix envp bug and add posix_spawn wrapper
|
||||||
|
- pseudo: Fix to work with glibc 2.40
|
||||||
|
- pseudo: Switch back to the master branch
|
||||||
|
- pseudo: Update to include logic fix
|
||||||
|
- pseudo: Update to include open symlink handling bugfix
|
||||||
|
- pseudo: Update to pull in fchmodat fix
|
||||||
|
- pseudo: Update to pull in fd leak fix
|
||||||
|
- pseudo: Update to pull in gcc14 fix and missing statvfs64 intercept
|
||||||
|
- pseudo: Update to pull in linux-libc-headers race fix
|
||||||
|
- pseudo: Update to pull in python 3.12+ fix
|
||||||
|
- pseudo: Update to pull in syncfs probe fix
|
||||||
|
- ref-manual: add description for the "sysroot" term
|
||||||
|
- ref-manual: add missing CVE_CHECK manifest variables
|
||||||
|
- ref-manual: add missing :term:`EXTERNAL_KERNEL_DEVICETREE` variable
|
||||||
|
- ref-manual: add missing :term:`OPKGBUILDCMD` variable
|
||||||
|
- ref-manual: devtool-reference: document missing commands
|
||||||
|
- ref-manual: devtool-reference: refresh example outputs
|
||||||
|
- ref-manual: introduce :term:`CVE_CHECK_REPORT_PATCHED` variable
|
||||||
|
- ref-manual: release-process: add a reference to the doc's release
|
||||||
|
- ref-manual: release-process: refresh the current LTS releases
|
||||||
|
- ref-manual: release-process: update releases.svg
|
||||||
|
- ref-manual: release-process: update releases.svg with month after "Current"
|
||||||
|
- ref-manual: structure.rst: document missing tmp/ dirs
|
||||||
|
- ref-manual: variables: add SIGGEN_LOCKEDSIGS* variables
|
||||||
|
- syslinux: Disable error on implicit-function-declaration
|
||||||
|
- util-linux: Define pidfd_* function signatures
|
||||||
|
- vala: add -Wno-error=incompatible-pointer-types work around
|
||||||
|
- vim: Upgrade to 9.1.0764
|
||||||
|
- xmlto: backport a patch to fix build with gcc-14 on host
|
||||||
|
- zip: Fix build with gcc-14
|
||||||
|
- zip: Make configure checks to be more robust
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-4.0.23
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
-N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-4.0.23
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexandre Belloni
|
||||||
|
- Antoine Lubineau
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Ashish Sharma
|
||||||
|
- Baruch Siach
|
||||||
|
- Eilís 'pidge' Ní Fhlannagáin
|
||||||
|
- Jose Quaresma
|
||||||
|
- Julien Stephan
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Macpaul Lin
|
||||||
|
- Martin Jansa
|
||||||
|
- Michael Opdenacker
|
||||||
|
- Ola x Nilsson
|
||||||
|
- Peter Marko
|
||||||
|
- Philip Lorenz
|
||||||
|
- Randolph Sapp
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Rohini Sangam
|
||||||
|
- Ruiqiang Hao
|
||||||
|
- Siddharth Doshi
|
||||||
|
- Steve Sakoman
|
||||||
|
- Talel BELHAJSALEM
|
||||||
|
- Wang Mingyu
|
||||||
|
- Yogita Urade
|
||||||
|
- Zoltan Boszormenyi
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-4.0.23
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
|
||||||
|
- Tag: :yocto_git:`yocto-4.0.23 </poky/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :yocto_git:`8e092852b63e998d990b8f8e1aa91297dec4430f </poky/commit/?id=8e092852b63e998d990b8f8e1aa91297dec4430f>`
|
||||||
|
- Release Artefact: poky-8e092852b63e998d990b8f8e1aa91297dec4430f
|
||||||
|
- sha: 339d34d8432070dac948449e732ebf06a888eeb27ff548958b2395c9446b029d
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.23/poky-8e092852b63e998d990b8f8e1aa91297dec4430f.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.23/poky-8e092852b63e998d990b8f8e1aa91297dec4430f.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.23 </openembedded-core/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :oe_git:`fb45c5cf8c2b663af293acb069d446610f77ff1a </openembedded-core/commit/?id=fb45c5cf8c2b663af293acb069d446610f77ff1a>`
|
||||||
|
- Release Artefact: oecore-fb45c5cf8c2b663af293acb069d446610f77ff1a
|
||||||
|
- sha: 1d394370ea7d43fb885ab8a952d6d1e43f1a850745a5152d5ead5565a283a0f5
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.23/oecore-fb45c5cf8c2b663af293acb069d446610f77ff1a.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.23/oecore-fb45c5cf8c2b663af293acb069d446610f77ff1a.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.23 </meta-mingw/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
|
||||||
|
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
|
||||||
|
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.23/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.23/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.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.23 </meta-gplv2/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
|
||||||
|
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
|
||||||
|
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.23/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.23/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.23 </bitbake/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :oe_git:`fb73c495c45d1d4107cfd60b67a5b4f11a99647b </bitbake/commit/?id=fb73c495c45d1d4107cfd60b67a5b4f11a99647b>`
|
||||||
|
- Release Artefact: bitbake-fb73c495c45d1d4107cfd60b67a5b4f11a99647b
|
||||||
|
- sha: 5cd271299951f25912a2e8d4de6d8769a4c0bb3bbcfc90815be41f23fd299a0b
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.23/bitbake-fb73c495c45d1d4107cfd60b67a5b4f11a99647b.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.23/bitbake-fb73c495c45d1d4107cfd60b67a5b4f11a99647b.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.23 </yocto-docs/log/?h=yocto-4.0.23>`
|
||||||
|
- Git Revision: :yocto_git:`TBD </yocto-docs/commit/?id=TBD>`
|
||||||
|
|
||||||
|
|
||||||
383
documentation/migration-guides/release-notes-4.0.24.rst
Normal file
@@ -0,0 +1,383 @@
|
|||||||
|
Release notes for Yocto-4.0.24 (Kirkstone)
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-4.0.24
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- coreutils: Fix :cve_nist:`2024-0684`
|
||||||
|
- cpio: Ignore :cve_nist:`2023-7216`
|
||||||
|
- diffoscope: Fix :cve_nist:`2024-25711`
|
||||||
|
- ffmpeg: fix :cve_mitre:`2023-47342`, :cve_nist:`2023-50007`, :cve_nist:`2023-50008`,
|
||||||
|
:cve_nist:`2023-51793`, :cve_nist:`2023-51794`, :cve_nist:`2023-51796`, :cve_nist:`2023-51798`,
|
||||||
|
:cve_nist:`2024-7055`, :cve_nist:`2024-31578`, :cve_nist:`2024-31582`, :cve_nist:`2024-32230`,
|
||||||
|
:cve_nist:`2024-35366`, :cve_nist:`2024-35367` and :cve_nist:`2024-35368`
|
||||||
|
- ghostscript: Fix :cve_nist:`2024-46951`, :cve_nist:`2024-46952`, :cve_nist:`2024-46953`,
|
||||||
|
:cve_nist:`2024-46955` and :cve_nist:`2024-46956`
|
||||||
|
- ghostscript: Ignore :cve_nist:`2024-46954`
|
||||||
|
- glib-2.0: Fix :cve_nist:`2024-52533`
|
||||||
|
- gnupg: Ignore :cve_nist:`2022-3515`
|
||||||
|
- grub: Ignore :cve_nist:`2024-1048` and :cve_nist:`2023-4001`
|
||||||
|
- gstreame1.0: Ignore :cve_nist:`2023-40474`, :cve_nist:`2023-40475`, :cve_nist:`2023-40476`,
|
||||||
|
:cve_nist:`2023-44429`, :cve_nist:`2023-44446`, :cve_nist:`2023-50186` and :cve_nist:`2024-0444`
|
||||||
|
- gstreamer1.0-plugins-base: Fix :cve_nist:`2024-47538`, :cve_nist:`2024-47541`,
|
||||||
|
:cve_nist:`2024-47542`, :cve_nist:`2024-47600`, :cve_nist:`2024-47607`, :cve_nist:`2024-47615`
|
||||||
|
and :cve_nist:`2024-47835`
|
||||||
|
- gstreamer1.0-plugins-good: Fix :cve_nist:`2024-47537`, :cve_nist:`2024-47539`,
|
||||||
|
:cve_nist:`2024-47540`, :cve_nist:`2024-47543`, :cve_nist:`2024-47544`, :cve_nist:`2024-47545`,
|
||||||
|
:cve_nist:`2024-47546`, :cve_nist:`2024-47596`, :cve_nist:`2024-47597`, :cve_nist:`2024-47598`,
|
||||||
|
:cve_nist:`2024-47599`, :cve_nist:`2024-47601`, :cve_nist:`2024-47602`, :cve_nist:`2024-47603`,
|
||||||
|
:cve_nist:`2024-47606`, :cve_nist:`2024-47613`, :cve_nist:`2024-47774`, :cve_nist:`2024-47775`,
|
||||||
|
:cve_nist:`2024-47776`, :cve_nist:`2024-47777`, :cve_nist:`2024-47778` and :cve_nist:`2024-47834`
|
||||||
|
- gstreamer1.0: Fix :cve_nist:`2024-47606`
|
||||||
|
- libarchive: Fix :cve_nist:`2024-20696`
|
||||||
|
- libpam: Fix :cve_nist:`2024-10041`
|
||||||
|
- libsdl2: Ignore :cve_nist:`2020-14409` and :cve_nist:`2020-14410`
|
||||||
|
- libsndfile1: Fix :cve_nist:`2022-33065` and :cve_nist:`2024-50612`
|
||||||
|
- libsoup-2.4: Fix :cve_nist:`2024-52530`, :cve_nist:`2024-52531` and :cve_nist:`2024-52532`
|
||||||
|
- libsoup: Fix :cve_nist:`2024-52530`, :cve_nist:`2024-52531` and :cve_nist:`2024-52532`
|
||||||
|
- linux-yocto/5.10: Fix :cve_nist:`2023-52889`, :cve_nist:`2023-52917`, :cve_nist:`2023-52918`,
|
||||||
|
:cve_nist:`2024-41011`, :cve_nist:`2024-42259`, :cve_nist:`2024-42271`, :cve_nist:`2024-42272`,
|
||||||
|
:cve_nist:`2024-42280`, :cve_nist:`2024-42283`, :cve_nist:`2024-42284`, :cve_nist:`2024-42285`,
|
||||||
|
:cve_nist:`2024-42286`, :cve_nist:`2024-42287`, :cve_nist:`2024-42288`, :cve_nist:`2024-42289`,
|
||||||
|
:cve_nist:`2024-42301`, :cve_nist:`2024-42302`, :cve_nist:`2024-42309`, :cve_nist:`2024-42310`,
|
||||||
|
:cve_nist:`2024-42311`, :cve_nist:`2024-42313`, :cve_nist:`2024-43828`, :cve_nist:`2024-43856`,
|
||||||
|
:cve_nist:`2024-43858`, :cve_nist:`2024-43860`, :cve_nist:`2024-43861`, :cve_nist:`2024-43871`,
|
||||||
|
:cve_nist:`2024-43882`, :cve_nist:`2024-43889`, :cve_nist:`2024-43890`, :cve_nist:`2024-43893`,
|
||||||
|
:cve_nist:`2024-43894`, :cve_nist:`2024-43907`, :cve_nist:`2024-43908`, :cve_nist:`2024-43914`,
|
||||||
|
:cve_nist:`2024-44935`, :cve_nist:`2024-44944`, :cve_nist:`2024-44947`, :cve_nist:`2024-44954`,
|
||||||
|
:cve_nist:`2024-44960`, :cve_nist:`2024-44965`, :cve_nist:`2024-44969`, :cve_nist:`2024-44971`,
|
||||||
|
:cve_nist:`2024-44987`, :cve_nist:`2024-44988`, :cve_nist:`2024-44989`, :cve_nist:`2024-44990`,
|
||||||
|
:cve_nist:`2024-44995`, :cve_nist:`2024-44998`, :cve_nist:`2024-44999`, :cve_nist:`2024-45003`,
|
||||||
|
:cve_nist:`2024-45006`, :cve_nist:`2024-45016`, :cve_nist:`2024-45018`, :cve_nist:`2024-45021`,
|
||||||
|
:cve_nist:`2024-45025`, :cve_nist:`2024-45026`, :cve_nist:`2024-45028`, :cve_nist:`2024-46673`,
|
||||||
|
:cve_nist:`2024-46674`, :cve_nist:`2024-46675`, :cve_nist:`2024-46676`, :cve_nist:`2024-46677`,
|
||||||
|
:cve_nist:`2024-46679`, :cve_nist:`2024-46685`, :cve_nist:`2024-46689`, :cve_nist:`2024-46702`,
|
||||||
|
:cve_nist:`2024-46707`, :cve_nist:`2024-46714`, :cve_nist:`2024-46719`, :cve_nist:`2024-46721`,
|
||||||
|
:cve_nist:`2024-46722`, :cve_nist:`2024-46723`, :cve_nist:`2024-46724`, :cve_nist:`2024-46725`,
|
||||||
|
:cve_nist:`2024-46731`, :cve_nist:`2024-46737`, :cve_nist:`2024-46738`, :cve_nist:`2024-46739`,
|
||||||
|
:cve_nist:`2024-46740`, :cve_nist:`2024-46743`, :cve_nist:`2024-46744`, :cve_nist:`2024-46747`,
|
||||||
|
:cve_nist:`2024-46750`, :cve_nist:`2024-46755`, :cve_nist:`2024-46759`, :cve_nist:`2024-46761`,
|
||||||
|
:cve_nist:`2024-46763`, :cve_nist:`2024-46771`, :cve_nist:`2024-46777`, :cve_nist:`2024-46780`,
|
||||||
|
:cve_nist:`2024-46781`, :cve_nist:`2024-46782`, :cve_nist:`2024-46783`, :cve_nist:`2024-46791`,
|
||||||
|
:cve_nist:`2024-46798`, :cve_nist:`2024-46800`, :cve_nist:`2024-46804`, :cve_nist:`2024-46814`,
|
||||||
|
:cve_nist:`2024-46815`, :cve_nist:`2024-46817`, :cve_nist:`2024-46818`, :cve_nist:`2024-46819`,
|
||||||
|
:cve_nist:`2024-46822`, :cve_nist:`2024-46828`, :cve_nist:`2024-46829`, :cve_nist:`2024-46832`,
|
||||||
|
:cve_nist:`2024-46840`, :cve_nist:`2024-46844`, :cve_nist:`2024-47659`, :cve_nist:`2024-47660`,
|
||||||
|
:cve_nist:`2024-47663`, :cve_nist:`2024-47667`, :cve_nist:`2024-47668`, :cve_nist:`2024-47669`,
|
||||||
|
:cve_nist:`2024-47679`, :cve_nist:`2024-47684`, :cve_nist:`2024-47685`, :cve_nist:`2024-47692`,
|
||||||
|
:cve_nist:`2024-47697`, :cve_nist:`2024-47698`, :cve_nist:`2024-47699`, :cve_nist:`2024-47701`,
|
||||||
|
:cve_nist:`2024-47705`, :cve_nist:`2024-47706`, :cve_nist:`2024-47710`, :cve_nist:`2024-47712`,
|
||||||
|
:cve_nist:`2024-47713`, :cve_nist:`2024-47718`, :cve_nist:`2024-47723`, :cve_nist:`2024-47735`,
|
||||||
|
:cve_nist:`2024-47737`, :cve_nist:`2024-47739`, :cve_nist:`2024-47742`, :cve_nist:`2024-47747`,
|
||||||
|
:cve_nist:`2024-47748`, :cve_nist:`2024-47749`, :cve_nist:`2024-47757`, :cve_nist:`2024-49851`,
|
||||||
|
:cve_nist:`2024-49858`, :cve_nist:`2024-49860`, :cve_nist:`2024-49863`, :cve_nist:`2024-49867`,
|
||||||
|
:cve_nist:`2024-49868`, :cve_nist:`2024-49875`, :cve_nist:`2024-49877`, :cve_nist:`2024-49878`,
|
||||||
|
:cve_nist:`2024-49879`, :cve_nist:`2024-49881`, :cve_nist:`2024-49882`, :cve_nist:`2024-49883`,
|
||||||
|
:cve_nist:`2024-49884`, :cve_nist:`2024-49889`, :cve_nist:`2024-49890`, :cve_nist:`2024-49892`,
|
||||||
|
:cve_nist:`2024-49894`, :cve_nist:`2024-49895`, :cve_nist:`2024-49896`, :cve_nist:`2024-49900`,
|
||||||
|
:cve_nist:`2024-49902`, :cve_nist:`2024-49903`, :cve_nist:`2024-49907`, :cve_nist:`2024-49913`,
|
||||||
|
:cve_nist:`2024-49924`, :cve_nist:`2024-49930`, :cve_nist:`2024-49933`, :cve_nist:`2024-49936`,
|
||||||
|
:cve_nist:`2024-49938`, :cve_nist:`2024-49944`, :cve_nist:`2024-49948`, :cve_nist:`2024-49949`,
|
||||||
|
:cve_nist:`2024-49952`, :cve_nist:`2024-49955`, :cve_nist:`2024-49957`, :cve_nist:`2024-49958`,
|
||||||
|
:cve_nist:`2024-49959`, :cve_nist:`2024-49962`, :cve_nist:`2024-49963`, :cve_nist:`2024-49965`,
|
||||||
|
:cve_nist:`2024-49966`, :cve_nist:`2024-49969`, :cve_nist:`2024-49973`, :cve_nist:`2024-49975`,
|
||||||
|
:cve_nist:`2024-49977`, :cve_nist:`2024-49981`, :cve_nist:`2024-49982`, :cve_nist:`2024-49983`,
|
||||||
|
:cve_nist:`2024-49985`, :cve_nist:`2024-49995`, :cve_nist:`2024-49997`, :cve_nist:`2024-50001`,
|
||||||
|
:cve_nist:`2024-50006`, :cve_nist:`2024-50007`, :cve_nist:`2024-50008`, :cve_nist:`2024-50013`,
|
||||||
|
:cve_nist:`2024-50015`, :cve_nist:`2024-50024`, :cve_nist:`2024-50033`, :cve_nist:`2024-50035`,
|
||||||
|
:cve_nist:`2024-50039`, :cve_nist:`2024-50040`, :cve_nist:`2024-50044`, :cve_nist:`2024-50045`,
|
||||||
|
:cve_nist:`2024-50046`, :cve_nist:`2024-50049`, :cve_nist:`2024-50059`, :cve_nist:`2024-50095`,
|
||||||
|
:cve_nist:`2024-50096`, :cve_nist:`2024-50179`, :cve_nist:`2024-50180`, :cve_nist:`2024-50181`,
|
||||||
|
:cve_nist:`2024-50184` and :cve_nist:`2024-50188`
|
||||||
|
- linux-yocto/5.15: Fix :cve_nist:`2022-48695`, :cve_nist:`2023-52530`, :cve_nist:`2023-52917`,
|
||||||
|
:cve_nist:`2024-45009`, :cve_nist:`2024-46714`, :cve_nist:`2024-46719`, :cve_nist:`2024-46721`,
|
||||||
|
:cve_nist:`2024-46722`, :cve_nist:`2024-46723`, :cve_nist:`2024-46724`, :cve_nist:`2024-46725`,
|
||||||
|
:cve_nist:`2024-46731`, :cve_nist:`2024-46732`, :cve_nist:`2024-46737`, :cve_nist:`2024-46738`,
|
||||||
|
:cve_nist:`2024-46739`, :cve_nist:`2024-46740`, :cve_nist:`2024-46743`, :cve_nist:`2024-46744`,
|
||||||
|
:cve_nist:`2024-46746`, :cve_nist:`2024-46747`, :cve_nist:`2024-46750`, :cve_nist:`2024-46755`,
|
||||||
|
:cve_nist:`2024-46759`, :cve_nist:`2024-46761`, :cve_nist:`2024-46763`, :cve_nist:`2024-46771`,
|
||||||
|
:cve_nist:`2024-46777`, :cve_nist:`2024-46780`, :cve_nist:`2024-46781`, :cve_nist:`2024-46782`,
|
||||||
|
:cve_nist:`2024-46783`, :cve_nist:`2024-46791`, :cve_nist:`2024-46795`, :cve_nist:`2024-46798`,
|
||||||
|
:cve_nist:`2024-46800`, :cve_nist:`2024-46804`, :cve_nist:`2024-46805`, :cve_nist:`2024-46807`,
|
||||||
|
:cve_nist:`2024-46810`, :cve_nist:`2024-46814`, :cve_nist:`2024-46815`, :cve_nist:`2024-46817`,
|
||||||
|
:cve_nist:`2024-46818`, :cve_nist:`2024-46819`, :cve_nist:`2024-46822`, :cve_nist:`2024-46828`,
|
||||||
|
:cve_nist:`2024-46829`, :cve_nist:`2024-46832`, :cve_nist:`2024-46840`, :cve_nist:`2024-46844`,
|
||||||
|
:cve_nist:`2024-47659`, :cve_nist:`2024-47660`, :cve_nist:`2024-47663`, :cve_nist:`2024-47665`,
|
||||||
|
:cve_nist:`2024-47667`, :cve_nist:`2024-47668`, :cve_nist:`2024-47669`, :cve_nist:`2024-47674`,
|
||||||
|
:cve_nist:`2024-47679`, :cve_nist:`2024-47684`, :cve_nist:`2024-47685`, :cve_nist:`2024-47690`,
|
||||||
|
:cve_nist:`2024-47692`, :cve_nist:`2024-47693`, :cve_nist:`2024-47695`, :cve_nist:`2024-47696`,
|
||||||
|
:cve_nist:`2024-47697`, :cve_nist:`2024-47698`, :cve_nist:`2024-47699`, :cve_nist:`2024-47701`,
|
||||||
|
:cve_nist:`2024-47705`, :cve_nist:`2024-47706`, :cve_nist:`2024-47710`, :cve_nist:`2024-47712`,
|
||||||
|
:cve_nist:`2024-47713`, :cve_nist:`2024-47718`, :cve_nist:`2024-47720`, :cve_nist:`2024-47723`,
|
||||||
|
:cve_nist:`2024-47734`, :cve_nist:`2024-47735`, :cve_nist:`2024-47737`, :cve_nist:`2024-47739`,
|
||||||
|
:cve_nist:`2024-47742`, :cve_nist:`2024-47747`, :cve_nist:`2024-47748`, :cve_nist:`2024-47749`,
|
||||||
|
:cve_nist:`2024-47757`, :cve_nist:`2024-49851`, :cve_nist:`2024-49852`, :cve_nist:`2024-49854`,
|
||||||
|
:cve_nist:`2024-49856`, :cve_nist:`2024-49858`, :cve_nist:`2024-49860`, :cve_nist:`2024-49863`,
|
||||||
|
:cve_nist:`2024-49866`, :cve_nist:`2024-49867`, :cve_nist:`2024-49868`, :cve_nist:`2024-49871`,
|
||||||
|
:cve_nist:`2024-49875`, :cve_nist:`2024-49877`, :cve_nist:`2024-49878`, :cve_nist:`2024-49879`,
|
||||||
|
:cve_nist:`2024-49881`, :cve_nist:`2024-49882`, :cve_nist:`2024-49883`, :cve_nist:`2024-49884`,
|
||||||
|
:cve_nist:`2024-49886`, :cve_nist:`2024-49889`, :cve_nist:`2024-49890`, :cve_nist:`2024-49892`,
|
||||||
|
:cve_nist:`2024-49894`, :cve_nist:`2024-49895`, :cve_nist:`2024-49896`, :cve_nist:`2024-49900`,
|
||||||
|
:cve_nist:`2024-49902`, :cve_nist:`2024-49903`, :cve_nist:`2024-49907`, :cve_nist:`2024-49913`,
|
||||||
|
:cve_nist:`2024-49924`, :cve_nist:`2024-49927`, :cve_nist:`2024-49930`, :cve_nist:`2024-49933`,
|
||||||
|
:cve_nist:`2024-49935`, :cve_nist:`2024-49936`, :cve_nist:`2024-49938`, :cve_nist:`2024-49944`,
|
||||||
|
:cve_nist:`2024-49946`, :cve_nist:`2024-49948`, :cve_nist:`2024-49949`, :cve_nist:`2024-49952`,
|
||||||
|
:cve_nist:`2024-49954`, :cve_nist:`2024-49955`, :cve_nist:`2024-49957`, :cve_nist:`2024-49958`,
|
||||||
|
:cve_nist:`2024-49959`, :cve_nist:`2024-49962`, :cve_nist:`2024-49963`, :cve_nist:`2024-49965`,
|
||||||
|
:cve_nist:`2024-49966`, :cve_nist:`2024-49969`, :cve_nist:`2024-49973`, :cve_nist:`2024-49975`,
|
||||||
|
:cve_nist:`2024-49977`, :cve_nist:`2024-49981`, :cve_nist:`2024-49982`, :cve_nist:`2024-49983`,
|
||||||
|
:cve_nist:`2024-49985`, :cve_nist:`2024-49995`, :cve_nist:`2024-49997`, :cve_nist:`2024-50000`,
|
||||||
|
:cve_nist:`2024-50001`, :cve_nist:`2024-50002`, :cve_nist:`2024-50003`, :cve_nist:`2024-50006`,
|
||||||
|
:cve_nist:`2024-50007`, :cve_nist:`2024-50008`, :cve_nist:`2024-50013`, :cve_nist:`2024-50015`,
|
||||||
|
:cve_nist:`2024-50019`, :cve_nist:`2024-50024`, :cve_nist:`2024-50031`, :cve_nist:`2024-50033`,
|
||||||
|
:cve_nist:`2024-50035`, :cve_nist:`2024-50038`, :cve_nist:`2024-50039`, :cve_nist:`2024-50040`,
|
||||||
|
:cve_nist:`2024-50041`, :cve_nist:`2024-50044`, :cve_nist:`2024-50045`, :cve_nist:`2024-50046`,
|
||||||
|
:cve_nist:`2024-50049`, :cve_nist:`2024-50059`, :cve_nist:`2024-50062`, :cve_nist:`2024-50074`,
|
||||||
|
:cve_nist:`2024-50082`, :cve_nist:`2024-50083`, :cve_nist:`2024-50093`, :cve_nist:`2024-50095`,
|
||||||
|
:cve_nist:`2024-50096`, :cve_nist:`2024-50099`, :cve_nist:`2024-50101`, :cve_nist:`2024-50103`,
|
||||||
|
:cve_nist:`2024-50110`, :cve_nist:`2024-50115`, :cve_nist:`2024-50116`, :cve_nist:`2024-50117`,
|
||||||
|
:cve_nist:`2024-50127`, :cve_nist:`2024-50128`, :cve_nist:`2024-50131`, :cve_nist:`2024-50134`,
|
||||||
|
:cve_nist:`2024-50141`, :cve_nist:`2024-50142`, :cve_nist:`2024-50143`, :cve_nist:`2024-50148`,
|
||||||
|
:cve_nist:`2024-50150`, :cve_nist:`2024-50151`, :cve_nist:`2024-50153`, :cve_nist:`2024-50154`,
|
||||||
|
:cve_nist:`2024-50156`, :cve_nist:`2024-50160`, :cve_nist:`2024-50162`, :cve_nist:`2024-50163`,
|
||||||
|
:cve_nist:`2024-50167`, :cve_nist:`2024-50168`, :cve_nist:`2024-50171`, :cve_nist:`2024-50179`,
|
||||||
|
:cve_nist:`2024-50180`, :cve_nist:`2024-50181`, :cve_nist:`2024-50182`, :cve_nist:`2024-50184`,
|
||||||
|
:cve_nist:`2024-50185`, :cve_nist:`2024-50186`, :cve_nist:`2024-50188`, :cve_nist:`2024-50189`,
|
||||||
|
:cve_nist:`2024-50191`, :cve_nist:`2024-50192`, :cve_nist:`2024-50193`, :cve_nist:`2024-50194`,
|
||||||
|
:cve_nist:`2024-50195`, :cve_nist:`2024-50196`, :cve_nist:`2024-50198`, :cve_nist:`2024-50201`,
|
||||||
|
:cve_nist:`2024-50202`, :cve_nist:`2024-50205`, :cve_nist:`2024-50208`, :cve_nist:`2024-50209`,
|
||||||
|
:cve_nist:`2024-50229`, :cve_nist:`2024-50230`, :cve_nist:`2024-50232`, :cve_nist:`2024-50233`,
|
||||||
|
:cve_nist:`2024-50234`, :cve_nist:`2024-50236`, :cve_nist:`2024-50237`, :cve_nist:`2024-50244`,
|
||||||
|
:cve_nist:`2024-50245`, :cve_nist:`2024-50247`, :cve_nist:`2024-50251`, :cve_nist:`2024-50257`,
|
||||||
|
:cve_nist:`2024-50259`, :cve_nist:`2024-50262`, :cve_nist:`2024-50264`, :cve_nist:`2024-50265`,
|
||||||
|
:cve_nist:`2024-50267`, :cve_nist:`2024-50268`, :cve_nist:`2024-50269`, :cve_nist:`2024-50273`,
|
||||||
|
:cve_nist:`2024-50278`, :cve_nist:`2024-50279`, :cve_nist:`2024-50282`, :cve_nist:`2024-50287`,
|
||||||
|
:cve_nist:`2024-50292`, :cve_nist:`2024-50296`, :cve_nist:`2024-50299`, :cve_nist:`2024-50301`,
|
||||||
|
:cve_nist:`2024-50302`, :cve_nist:`2024-53052`, :cve_nist:`2024-53055`, :cve_nist:`2024-53057`,
|
||||||
|
:cve_nist:`2024-53058`, :cve_nist:`2024-53059`, :cve_nist:`2024-53060`, :cve_nist:`2024-53061`,
|
||||||
|
:cve_nist:`2024-53063`, :cve_nist:`2024-53066`, :cve_nist:`2024-53088`, :cve_nist:`2024-53096`,
|
||||||
|
:cve_nist:`2024-53101`, :cve_nist:`2024-53103`, :cve_nist:`2024-53145`, :cve_nist:`2024-53146`,
|
||||||
|
:cve_nist:`2024-53150`, :cve_nist:`2024-53151`, :cve_nist:`2024-53155`, :cve_nist:`2024-53156`,
|
||||||
|
:cve_nist:`2024-53157`, :cve_nist:`2024-53165`, :cve_nist:`2024-53171`, :cve_nist:`2024-53173`,
|
||||||
|
:cve_nist:`2024-53226`, :cve_nist:`2024-53227`, :cve_nist:`2024-53237`, :cve_nist:`2024-56567`,
|
||||||
|
:cve_nist:`2024-56572`, :cve_nist:`2024-56574`, :cve_nist:`2024-56578`, :cve_nist:`2024-56581`,
|
||||||
|
:cve_nist:`2024-56593`, :cve_nist:`2024-56600`, :cve_nist:`2024-56601`, :cve_nist:`2024-56602`,
|
||||||
|
:cve_nist:`2024-56603`, :cve_nist:`2024-56605`, :cve_nist:`2024-56606`, :cve_nist:`2024-56614`,
|
||||||
|
:cve_nist:`2024-56622`, :cve_nist:`2024-56623`, :cve_nist:`2024-56629`, :cve_nist:`2024-56634`,
|
||||||
|
:cve_nist:`2024-56640`, :cve_nist:`2024-56642`, :cve_nist:`2024-56643`, :cve_nist:`2024-56648`,
|
||||||
|
:cve_nist:`2024-56650`, :cve_nist:`2024-56659`, :cve_nist:`2024-56662`, :cve_nist:`2024-56670`,
|
||||||
|
:cve_nist:`2024-56688`, :cve_nist:`2024-56694`, :cve_nist:`2024-56704`, :cve_nist:`2024-56708`,
|
||||||
|
:cve_nist:`2024-56720`, :cve_nist:`2024-56723`, :cve_nist:`2024-56724`, :cve_nist:`2024-56726`,
|
||||||
|
:cve_nist:`2024-56728`, :cve_nist:`2024-56739`, :cve_nist:`2024-56741`, :cve_nist:`2024-56745`,
|
||||||
|
:cve_nist:`2024-56746`, :cve_nist:`2024-56747`, :cve_nist:`2024-56748`, :cve_nist:`2024-56754`,
|
||||||
|
:cve_nist:`2024-56756`, :cve_nist:`2024-56770`, :cve_nist:`2024-56774`, :cve_nist:`2024-56776`,
|
||||||
|
:cve_nist:`2024-56777`, :cve_nist:`2024-56778`, :cve_nist:`2024-56779`, :cve_nist:`2024-56780`,
|
||||||
|
:cve_nist:`2024-56781`, :cve_nist:`2024-56785` and :cve_nist:`2024-56787`
|
||||||
|
- ovmf: Fix :cve_nist:`2022-36763`, :cve_nist:`2022-36764`, :cve_nist:`2022-36765`,
|
||||||
|
:cve_nist:`2023-45229`, :cve_nist:`2023-45230`, :cve_nist:`2023-45231`, :cve_nist:`2023-45232`,
|
||||||
|
:cve_nist:`2023-45233`, :cve_nist:`2023-45234`, :cve_nist:`2023-45235`, :cve_nist:`2023-45236`,
|
||||||
|
:cve_nist:`2023-45237`, :cve_nist:`2024-1298` and :cve_nist:`2024-38796`
|
||||||
|
- pixman: Ignore :cve_nist:`2023-37769`
|
||||||
|
- python3: Fix :cve_nist:`2024-9287`, :cve_nist:`2024-11168` and :cve_nist:`2024-50602`
|
||||||
|
- python3-pip: Fix :cve_nist:`2023-5752`
|
||||||
|
- python3-requests: Fix :cve_nist:`2024-35195`
|
||||||
|
- python3-zipp: Fix :cve_nist:`2024-5569`
|
||||||
|
- qemu: Fix :cve_nist:`2024-3446`, :cve_nist:`2024-3447` and :cve_nist:`2024-6505`
|
||||||
|
- qemu: Ignore :cve_nist:`2022-36648`
|
||||||
|
- subversion: Fix :cve_nist:`2024-46901`
|
||||||
|
- tiff: Fix :cve_nist:`2023-3164`
|
||||||
|
- tiff: Ignore :cve_nist:`2023-2731`
|
||||||
|
- webkitgtk: Fix :cve_nist:`2024-40776` and :cve_nist:`2024-40780`
|
||||||
|
- xserver-xorg: Fix :cve_nist:`2024-9632`
|
||||||
|
- xwayland: Fix :cve_nist:`2023-5380` and :cve_nist:`2024-0229`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-4.0.24
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- base-passwd: Add the sgx group
|
||||||
|
- base-passwd: Regenerate the patches
|
||||||
|
- base-passwd: Update the status for two patches
|
||||||
|
- base-passwd: Update to 3.5.52
|
||||||
|
- base-passwd: add the wheel group
|
||||||
|
- base-passwd: fix patchreview warning
|
||||||
|
- bitbake: fetch2: use persist_data context managers
|
||||||
|
- bitbake: fetch/wget: Increase timeout to 100s from 30s
|
||||||
|
- bitbake: persist_data: close connection in SQLTable __exit__
|
||||||
|
- build-appliance-image: Update to kirkstone head revision
|
||||||
|
- builder: set :term:`CVE_PRODUCT`
|
||||||
|
- contributor-guide: submit-changes.rst: suggest to remove the git signature
|
||||||
|
- cve-update-nvd2-native: Tweak to work better with NFS :term:`DL_DIR`
|
||||||
|
- dbus: disable assertions and enable only modular tests
|
||||||
|
- do_package/sstate/sstatesig: Change timestamp clamping to hash output only
|
||||||
|
- docs: Gather dependencies in poky.yaml.in
|
||||||
|
- docs: standards.md: add a section on admonitions
|
||||||
|
- gstreamer1.0: improve test reliability
|
||||||
|
- linux-yocto/5.10: update to v5.10.227
|
||||||
|
- linux-yocto/5.15: update to v5.15.175
|
||||||
|
- llvm: reduce size of -dbg package
|
||||||
|
- lttng-modules: fix build error after kernel update to 5.15.171
|
||||||
|
- migration-guides: add release notes for 4.0.23
|
||||||
|
- ninja: fix build with python 3.13
|
||||||
|
- oeqa/utils/gitarchive: Return tag name and improve exclude handling
|
||||||
|
- ovmf-native: remove .pyc files from install
|
||||||
|
- package.bbclass: Use shlex instead of deprecated pipes
|
||||||
|
- package_rpm: restrict rpm to 4 threads
|
||||||
|
- package_rpm: use zstd's default compression level
|
||||||
|
- poky.conf: add new tested distros
|
||||||
|
- poky.conf: bump version for 4.0.24
|
||||||
|
- poky.yaml.in: add missing locales dependency
|
||||||
|
- python3: upgrade to 3.10.16
|
||||||
|
- ref-manual: SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication
|
||||||
|
- ref-manual: classes: fix bin_package description
|
||||||
|
- ref-manual: devtool-reference: add warning note on deploy-target and shared objects
|
||||||
|
- ref-manual: move runtime-testing section to the test-manual
|
||||||
|
- ref-manual: packages: move ptest section to the test-manual
|
||||||
|
- ref-manual: system-requirements: update list of supported distros
|
||||||
|
- ref-manual: use standardized method accross both ubuntu and debian for locale install
|
||||||
|
- resulttool: Add --logfile-archive option to store mode
|
||||||
|
- resulttool: Allow store to filter to specific revisions
|
||||||
|
- resulttool: Clean up repoducible build logs
|
||||||
|
- resulttool: Fix passthrough of --all files in store mode
|
||||||
|
- resulttool: Handle ltp rawlogs as well as ptest
|
||||||
|
- resulttool: Improve repo layout for oeselftest results
|
||||||
|
- resulttool: Trim the precision of duration information
|
||||||
|
- resulttool: Use single space indentation in json output
|
||||||
|
- rootfs-postcommands.bbclass: make opkg status reproducible
|
||||||
|
- rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
|
||||||
|
- sanity: check for working user namespaces
|
||||||
|
- scripts/install-buildtools: Update to 4.0.22
|
||||||
|
- selftest/reproducible: Clean up pathnames
|
||||||
|
- selftest/reproducible: Drop rawlogs
|
||||||
|
- test-manual: reproducible-builds.rst: document :term:`OEQA_REPRODUCIBLE_TEST_TARGET` and
|
||||||
|
:term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS`
|
||||||
|
- test-manual: reproducible-builds.rst: show how to build a single package
|
||||||
|
- toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
|
||||||
|
- tzdata & tzcode-native: upgrade 2024b
|
||||||
|
- udev-extraconf: fix network.sh script did not configure hotplugged interfaces
|
||||||
|
- unzip: Fix configure tests to use modern C
|
||||||
|
- webkitgtk: Fix build on 32bit arm
|
||||||
|
- webkitgtk: fix perl-native dependency
|
||||||
|
- webkitgtk: reduce size of -dbg package
|
||||||
|
- wireless-regdb: upgrade to 2024.10.07
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-4.0.24
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
Contributors to Yocto-4.0.24
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alex Kiernan
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Alexandre Belloni
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Changqing Li
|
||||||
|
- Chen Qi
|
||||||
|
- Chris Laplante
|
||||||
|
- Divya Chellam
|
||||||
|
- Ernst Persson
|
||||||
|
- Guénaël Muller
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Hongxu Jia
|
||||||
|
- Jiaying Song
|
||||||
|
- Jinfeng Wang
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Liyin Zhang
|
||||||
|
- Louis Rannou
|
||||||
|
- Markus Volk
|
||||||
|
- Mikko Rapeli
|
||||||
|
- Ovidiu Panait
|
||||||
|
- Peter Kjellerstedt
|
||||||
|
- Peter Marko
|
||||||
|
- Regis Dargent
|
||||||
|
- Richard Purdie
|
||||||
|
- Rohini Sangam
|
||||||
|
- Ross Burton
|
||||||
|
- Soumya Sambu
|
||||||
|
- Steve Sakoman
|
||||||
|
- Trevor Gamblin
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Yogita Urade
|
||||||
|
- Zahir Hussain
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-4.0.24
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
|
||||||
|
- Tag: :yocto_git:`yocto-4.0.24 </poky/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :yocto_git:`f50532593651dff82bc952288d786c55038c2c86 </poky/commit/?id=f50532593651dff82bc952288d786c55038c2c86>`
|
||||||
|
- Release Artefact: poky-f50532593651dff82bc952288d786c55038c2c86
|
||||||
|
- sha: 0aa062d19510394748db9a2d6ded2d764f435383296d9c94fb6b25755280556e
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.24/poky-f50532593651dff82bc952288d786c55038c2c86.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.24/poky-f50532593651dff82bc952288d786c55038c2c86.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.24 </openembedded-core/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :oe_git:`a270d4c957259761bcc7382fcc54642a02f9fc7d </openembedded-core/commit/?id=a270d4c957259761bcc7382fcc54642a02f9fc7d>`
|
||||||
|
- Release Artefact: oecore-a270d4c957259761bcc7382fcc54642a02f9fc7d
|
||||||
|
- sha: b08b9b16c8ffa587d521ad28e24e38c79d757a6f0839d18165ebac3081a34b68
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.24/oecore-a270d4c957259761bcc7382fcc54642a02f9fc7d.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.24/oecore-a270d4c957259761bcc7382fcc54642a02f9fc7d.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.24 </meta-mingw/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
|
||||||
|
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
|
||||||
|
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.24/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.24/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.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.24 </meta-gplv2/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
|
||||||
|
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
|
||||||
|
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.24/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.24/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.24 </bitbake/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :oe_git:`3f88b005244a0afb5d5c7260e54a94a453ec9b3e </bitbake/commit/?id=3f88b005244a0afb5d5c7260e54a94a453ec9b3e>`
|
||||||
|
- Release Artefact: bitbake-3f88b005244a0afb5d5c7260e54a94a453ec9b3e
|
||||||
|
- sha: 31f442b72ec7d81ca75509b1a7179c3fe3942528b1e31c823b21a413244bd15b
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.24/bitbake-3f88b005244a0afb5d5c7260e54a94a453ec9b3e.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.24/bitbake-3f88b005244a0afb5d5c7260e54a94a453ec9b3e.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.24 </yocto-docs/log/?h=yocto-4.0.24>`
|
||||||
|
- Git Revision: :yocto_git:`3128bf149f40928e6c2a3e264590a0c6c9778c6a </yocto-docs/commit/?id=3128bf149f40928e6c2a3e264590a0c6c9778c6a>`
|
||||||
|
|
||||||
167
documentation/migration-guides/release-notes-4.0.25.rst
Normal file
@@ -0,0 +1,167 @@
|
|||||||
|
Release notes for Yocto-4.0.25 (Kirkstone)
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-4.0.25
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- avahi: Fix :cve_nist:`2024-52616`
|
||||||
|
- binutils: Fix :cve_nist:`2024-53589`
|
||||||
|
- gdb: Fix :cve_nist:`2024-53589`
|
||||||
|
- go: Fix :cve_nist:`2024-34155`, :cve_nist:`2024-34156`, :cve_nist:`2024-34158` and
|
||||||
|
:cve_nist:`2024-45336`
|
||||||
|
- gstreamer1.0: Ignore :cve_nist:`2024-47537`, :cve_nist:`2024-47539`, :cve_nist:`2024-47540`,
|
||||||
|
:cve_nist:`2024-47543`, :cve_nist:`2024-47544`, :cve_nist:`2024-47545`, :cve_nist:`2024-47538`,
|
||||||
|
:cve_nist:`2024-47541`, :cve_nist:`2024-47542`, :cve_nist:`2024-47600`, :cve_nist:`2024-47607`,
|
||||||
|
:cve_nist:`2024-47615`, :cve_nist:`2024-47835`, :cve_nist:`2024-47546`, :cve_nist:`2024-47596`,
|
||||||
|
:cve_nist:`2024-47597`, :cve_nist:`2024-47598`, :cve_nist:`2024-47599`, :cve_nist:`2024-47601`,
|
||||||
|
:cve_nist:`2024-47777`, :cve_nist:`2024-47778`, :cve_nist:`2024-47834`, :cve_nist:`2024-47602`,
|
||||||
|
:cve_nist:`2024-47603`, :cve_nist:`2024-47613`, :cve_nist:`2024-47774`, :cve_nist:`2024-47775`
|
||||||
|
and :cve_nist:`2024-47776`
|
||||||
|
- linux-yocto/5.15: Fix :cve_nist:`2024-36476`, :cve_nist:`2024-55916`, :cve_nist:`2024-56369`,
|
||||||
|
:cve_nist:`2024-56626`, :cve_nist:`2024-56627`, :cve_nist:`2024-56715`, :cve_nist:`2024-56716`,
|
||||||
|
:cve_nist:`2024-57802`, :cve_nist:`2024-57807`, :cve_nist:`2024-57841`, :cve_nist:`2024-57890`,
|
||||||
|
:cve_nist:`2024-57896`, :cve_nist:`2024-57900`, :cve_nist:`2024-57910`, :cve_nist:`2024-57911`,
|
||||||
|
:cve_nist:`2024-57938`, :cve_nist:`2024-57951`, :cve_nist:`2025-21631`, :cve_nist:`2025-21665`,
|
||||||
|
:cve_nist:`2025-21666`, :cve_nist:`2025-21669`, :cve_nist:`2025-21680`, :cve_nist:`2025-21683`,
|
||||||
|
:cve_nist:`2025-21694`, :cve_nist:`2025-21697` and :cve_nist:`2025-21699`
|
||||||
|
- ofono: Fix :cve_nist:`2024-7539`, :cve_nist:`2024-7540`, :cve_nist:`2024-7541`,
|
||||||
|
:cve_nist:`2024-7542`, :cve_nist:`2024-7543`, :cve_nist:`2024-7544`, :cve_nist:`2024-7545`,
|
||||||
|
:cve_nist:`2024-7546` and :cve_nist:`2024-7547`
|
||||||
|
- openssl: Fix :cve_nist:`2024-13176`
|
||||||
|
- rsync: Fix :cve_nist:`2024-12084`, :cve_nist:`2024-12085`, :cve_nist:`2024-12086`,
|
||||||
|
:cve_nist:`2024-12087`, :cve_nist:`2024-12088` and :cve_nist:`2024-12747`
|
||||||
|
- ruby: Fix :cve_nist:`2024-49761`
|
||||||
|
- socat: Fix :cve_nist:`2024-54661`
|
||||||
|
- vte: Fix :cve_nist:`2024-37535`
|
||||||
|
- wget: Fix :cve_nist:`2024-10524`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-4.0.25
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48
|
||||||
|
- build-appliance-image: Update to kirkstone head revision
|
||||||
|
- classes-global/insane: Look up all runtime providers for file-rdeps
|
||||||
|
- classes/nativesdk: also override :term:`TUNE_PKGARCH`
|
||||||
|
- classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture
|
||||||
|
- cmake: apply parallel build settings to ptest tasks
|
||||||
|
- dev-manual/building: document the initramfs-framework recipe
|
||||||
|
- docs: Update autobuilder URLs to valkyrie
|
||||||
|
- documentation: Fix typo in standards.md
|
||||||
|
- glibc: Suppress GCC -Os warning on user2netname for sunrpc
|
||||||
|
- glibc: stable 2.35 branch updates
|
||||||
|
- lib/packagedata.py: Add API to iterate over rprovides
|
||||||
|
- linux-yocto/5.15: upgrade to v5.15.178
|
||||||
|
- migration-guides: add release notes for 4.0.24
|
||||||
|
- openssl: upgrade to 3.0.16
|
||||||
|
- poky.conf: bump version for 4.0.25
|
||||||
|
- python3: Treat UID/GID overflow as failure
|
||||||
|
- rsync: Delete pedantic errors re-ordering patch
|
||||||
|
- rsync: upgrade to 3.2.7
|
||||||
|
- rust-common.bbclass: soft assignment for RUSTLIB path
|
||||||
|
- scripts/install-buildtools: Update to 4.0.23
|
||||||
|
- test-manual/reproducible-builds: fix reproducible links
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-4.0.25
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-4.0.25
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Deepesh Varatharajan
|
||||||
|
- Divya Chellam
|
||||||
|
- Joshua Watt
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Nikhil R
|
||||||
|
- Pedro Ferreira
|
||||||
|
- Peter Marko
|
||||||
|
- Praveen Kumar
|
||||||
|
- Richard Purdie
|
||||||
|
- Ross Burton
|
||||||
|
- Simon A. Eugster
|
||||||
|
- Steve Sakoman
|
||||||
|
- Yash Shinde
|
||||||
|
- Yogita Urade
|
||||||
|
- Zhang Peng
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-4.0.25
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
|
||||||
|
- Tag: :yocto_git:`yocto-4.0.25 </poky/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :yocto_git:`b5aa03f336c121269551f9e7baed4c677c76bb39 </poky/commit/?id=b5aa03f336c121269551f9e7baed4c677c76bb39>`
|
||||||
|
- Release Artefact: poky-b5aa03f336c121269551f9e7baed4c677c76bb39
|
||||||
|
- sha: 7afbcb25f0dd89a4fb6dd4c5945061705ef9ce79a6863806278603273c2b3b4a
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.25/poky-b5aa03f336c121269551f9e7baed4c677c76bb39.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.25/poky-b5aa03f336c121269551f9e7baed4c677c76bb39.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.25 </openembedded-core/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :oe_git:`5a794fd244f7fdeb426bd5e3def6b4effc0e8c62 </openembedded-core/commit/?id=5a794fd244f7fdeb426bd5e3def6b4effc0e8c62>`
|
||||||
|
- Release Artefact: oecore-5a794fd244f7fdeb426bd5e3def6b4effc0e8c62
|
||||||
|
- sha: 8fc93109693e5f4702b3fe0633b6be833605291b3d595dc8bdeb6379f40cd2de
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.25/oecore-5a794fd244f7fdeb426bd5e3def6b4effc0e8c62.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.25/oecore-5a794fd244f7fdeb426bd5e3def6b4effc0e8c62.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.25 </meta-mingw/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :yocto_git:`87c22abb1f11be430caf4372e6b833dc7d77564e </meta-mingw/commit/?id=87c22abb1f11be430caf4372e6b833dc7d77564e>`
|
||||||
|
- Release Artefact: meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e
|
||||||
|
- sha: f0bc4873e2e0319fb9d6d6ab9b98eb3f89664d4339a167d2db6a787dd12bc1a8
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.25/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.25/meta-mingw-87c22abb1f11be430caf4372e6b833dc7d77564e.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.25 </meta-gplv2/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
|
||||||
|
- Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
|
||||||
|
- sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.25/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.25/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.25 </bitbake/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :oe_git:`e71f1ce53cf3b8320caa481ae62d1ce2900c4670 </bitbake/commit/?id=e71f1ce53cf3b8320caa481ae62d1ce2900c4670>`
|
||||||
|
- Release Artefact: bitbake-e71f1ce53cf3b8320caa481ae62d1ce2900c4670
|
||||||
|
- sha: 007eef35174586c85b233f4ec91578956fe21e0236f7ca2c3f90f9d034f94b5b
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-4.0.25/bitbake-e71f1ce53cf3b8320caa481ae62d1ce2900c4670.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-4.0.25/bitbake-e71f1ce53cf3b8320caa481ae62d1ce2900c4670.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.25 </yocto-docs/log/?h=yocto-4.0.25>`
|
||||||
|
- Git Revision: :yocto_git:`c6dce0c77481dee7b0a0fcdc803f755ceccef234 </yocto-docs/commit/?id=c6dce0c77481dee7b0a0fcdc803f755ceccef234>`
|
||||||
|
|
||||||
212
documentation/migration-guides/release-notes-5.0.4.rst
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
Release notes for Yocto-5.0.4 (Scarthgap)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.0.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- apr: Fix :cve_nist:`2023-49582`
|
||||||
|
- curl: Ignore :cve_nist:`2024-32928`
|
||||||
|
- curl: Fix :cve_nist:`2024-7264`
|
||||||
|
- expat: Fix :cve_nist:`2024-45490`, :cve_nist:`2024-45491` and :cve_nist:`2024-45492`
|
||||||
|
- ffmpeg: Fix :cve_nist:`2023-50008` and :cve_nist:`2024-32230`
|
||||||
|
- libpcap: Fix :cve_nist:`2023-7256` and :cve_nist:`2024-8006`
|
||||||
|
- libyaml: Ignore :cve_nist:`2024-35325` and :cve_nist:`2024-35326`
|
||||||
|
- openssl: Fix :cve_nist:`2024-5535` and :cve_nist:`2024-6119`
|
||||||
|
- python3-certifi: Fix :cve_nist:`2024-39689`
|
||||||
|
- python3-setuptools: Fix :cve_nist:`2024-6345`
|
||||||
|
- python3: Fix :cve_nist:`2024-6232`, :cve_nist:`2024-7592`, :cve_nist:`2024-8088` and :cve_nist:`2024-27034`
|
||||||
|
- qemu: Fix :cve_nist:`2024-4467` and :cve_nist:`2024-7409`
|
||||||
|
- ruby: Fix :cve_nist:`2024-27282`
|
||||||
|
- tiff: Fix :cve_nist:`2024-7006`
|
||||||
|
- vim: Fix :cve_nist:`2024-41957`, :cve_nist:`2024-41965`, :cve_nist:`2024-43374`, :cve_nist:`2024-43790` and :cve_nist:`2024-43802`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.0.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- apr: drop 0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch
|
||||||
|
- apr: upgrade to 1.7.5
|
||||||
|
- bind: Fix build with the `httpstats` package config enabled
|
||||||
|
- bitbake: data_smart: Improve performance for VariableHistory
|
||||||
|
- bluez5: remove redundant patch for MAX_INPUT
|
||||||
|
- build-appliance-image: Update to scarthgap head revision
|
||||||
|
- buildhistory: Fix intermittent package file list creation
|
||||||
|
- buildhistory: Restoring files from preserve list
|
||||||
|
- buildhistory: Simplify intercept call sites and drop SSTATEPOSTINSTFUNC usage
|
||||||
|
- busybox: Fix cut with "-s" flag
|
||||||
|
- create-sdpx-2.2.bbclass: Switch from exists to isfile checking debugsrc
|
||||||
|
- cups: upgrade to 2.4.10
|
||||||
|
- dejagnu: Fix :term:`LICENSE` (change to GPL-3.0-only)
|
||||||
|
- doc: features: describe distribution feature pni-name
|
||||||
|
- doc: features: remove duplicate word in distribution feature ext2
|
||||||
|
- expat: upgrade to 2.6.3
|
||||||
|
- expect-native: fix do_compile failure with gcc-14
|
||||||
|
- gcc: Fix spurious '/' in GLIBC_DYNAMIC_LINKER on microblaze
|
||||||
|
- gcr: Fix :term:`LICENSE` (change to LGPL-2.0-only)
|
||||||
|
- glibc: fix fortran header file conflict for arm
|
||||||
|
- go: upgrade to 1.22.6
|
||||||
|
- gstreamer1.0: disable flaky baseparser tests
|
||||||
|
- image_types.bbclass: Use --force also with lz4,lzop
|
||||||
|
- initramfs-framework: fix typos
|
||||||
|
- iw: Fix :term:`LICENSE` (change to ISC)
|
||||||
|
- libadwaita: upgrade to 1.5.2
|
||||||
|
- libcap-ng: update :term:`SRC_URI`
|
||||||
|
- libdnf: upgrade to 0.73.2
|
||||||
|
- libedit: Make docs generation deterministic
|
||||||
|
- libgfortran.inc: fix nativesdk-libgfortran dependencies
|
||||||
|
- librsvg: don't try to run target code at build time
|
||||||
|
- linux-firmware: add a package for ath12k firmware
|
||||||
|
- llvm: Enable libllvm for native build
|
||||||
|
- maintainers.inc: add maintainer for python(-setuptools, -smmap, -subunit, -testtools)
|
||||||
|
- mc: fix source URL
|
||||||
|
- migration-guide: add release notes for 4.0.20 and 5.0.3
|
||||||
|
- oeqa/postactions: fix exception handling
|
||||||
|
- oeqa/runtime/ssh: In case of failure, show exit code and handle -15 (SIGTERM)
|
||||||
|
- oeqa/runtime/ssh: add retry logic and sleeps to allow for slower systems
|
||||||
|
- oeqa/runtime/ssh: check for all errors at the end
|
||||||
|
- oeqa/runtime/ssh: increase the number of attempts
|
||||||
|
- oeqa/selftest/reproducibile: Explicitly list virtual targets
|
||||||
|
- oeqa/utils/postactions: transfer whole archive over ssh instead of doing individual copies
|
||||||
|
- openssh: add backported header file include
|
||||||
|
- openssl: upgrade to 3.2.3
|
||||||
|
- os-release: Fix VERSION_CODENAME in case it is empty
|
||||||
|
- poky.conf: bump version for 5.0.4
|
||||||
|
- populate_sdk_ext.bclass: make sure OECORE_NATIVE_SYSROOT is exported.
|
||||||
|
- python3-maturin: Fix cross compilation issue for armv7l, mips64, ppc
|
||||||
|
- python3-pycryptodome(x): use python_setuptools_build_meta build class
|
||||||
|
- python3: upgrade to 3.12.6
|
||||||
|
- python3: skip readline limited history tests
|
||||||
|
- qemu: backport patches to fix riscv64 build failure
|
||||||
|
- qemuboot: Trigger write_qemuboot_conf task on changes of kernel image realpath
|
||||||
|
- ref-manual: fix typo and move :term:`SYSROOT_DIRS` example
|
||||||
|
- ruby: Make docs generation deterministic
|
||||||
|
- systemd: Mitigate /var/log type mismatch issue
|
||||||
|
- systemd: Mitigate /var/tmp type mismatch issue
|
||||||
|
- tiff: Fix :term:`LICENSE` (change to libtiff)
|
||||||
|
- u-boot.inc: Refactor do_* steps into functions that can be overridden
|
||||||
|
- udev-extraconf: Add collect flag to mount
|
||||||
|
- unzip: Fix :term:`LICENSE` (change to Info-ZIP)
|
||||||
|
- util-linux: Add :term:`PACKAGECONFIG` option (libmount-mountfd-support) to mitigate rootfs remount error
|
||||||
|
- vim: upgrade to 9.1.0698
|
||||||
|
- weston-init: fix weston not starting when xwayland is enabled
|
||||||
|
- wireless-regdb: upgrade to 2024.07.04
|
||||||
|
- wpa-supplicant: upgrade to 2.11
|
||||||
|
- xserver-xorg: mark :cve_nist:`2023-5574` as unpatched when xvfb enabled
|
||||||
|
- yocto-uninative: Update to 4.6 for glibc 2.40
|
||||||
|
- zip: Fix :term:`LICENSE` (change to Info-ZIP)
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.0.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-5.0.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Alban Bedel
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Alexis Lothoré
|
||||||
|
- Archana Polampalli
|
||||||
|
- Ashish Sharma
|
||||||
|
- Bartosz Golaszewski
|
||||||
|
- Benjamin Szőke
|
||||||
|
- Changqing Li
|
||||||
|
- Chen Qi
|
||||||
|
- Colin McAllister
|
||||||
|
- Daniel Semkowicz
|
||||||
|
- Dmitry Baryshkov
|
||||||
|
- Gauthier HADERER
|
||||||
|
- Guðni Már Gilbert
|
||||||
|
- Jon Mason
|
||||||
|
- Jose Quaresma
|
||||||
|
- Jörg Sommer
|
||||||
|
- Kai Kang
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Mark Hatle
|
||||||
|
- Martin Jansa
|
||||||
|
- Matthias Pritschet
|
||||||
|
- Michael Halstead
|
||||||
|
- Mingli Yu
|
||||||
|
- Niko Mauno
|
||||||
|
- Pedro Ferreira
|
||||||
|
- Peter Marko
|
||||||
|
- Quentin Schulz
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Ross Burton
|
||||||
|
- Ryan Eatmon
|
||||||
|
- Siddharth Doshi
|
||||||
|
- Simone Weiß
|
||||||
|
- Soumya Sambu
|
||||||
|
- Steve Sakoman
|
||||||
|
- Trevor Gamblin
|
||||||
|
- Ulrich Ölmann
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Weisser, Pascal.ext
|
||||||
|
- Yogita Urade
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.0.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.4 </poky/log/?h=yocto-5.0.4>`
|
||||||
|
- Git Revision: :yocto_git:`2034fc38eb4e63984d9bd6b260aa1bf95ce562e4 </poky/commit/?id=2034fc38eb4e63984d9bd6b260aa1bf95ce562e4>`
|
||||||
|
- Release Artefact: poky-2034fc38eb4e63984d9bd6b260aa1bf95ce562e4
|
||||||
|
- sha: 697ed099793d6c86d5ffe590e96f99689bd28dcb2d4451dc4585496fa4a20400
|
||||||
|
- Download Locations:
|
||||||
|
http://downloads.yoctoproject.org/releases/yocto/yocto-5.0.4/poky-2034fc38eb4e63984d9bd6b260aa1bf95ce562e4.tar.bz2
|
||||||
|
http://mirrors.kernel.org/yocto/yocto/yocto-5.0.4/poky-2034fc38eb4e63984d9bd6b260aa1bf95ce562e4.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.4 </openembedded-core/log/?h=yocto-5.0.4>`
|
||||||
|
- Git Revision: :oe_git:`f888dd911529a828820799a7a1b75dfd3a44847c </openembedded-core/commit/?id=f888dd911529a828820799a7a1b75dfd3a44847c>`
|
||||||
|
- Release Artefact: oecore-f888dd911529a828820799a7a1b75dfd3a44847c
|
||||||
|
- sha: 93cb4c3c8e0f77edab20814d155847dc3452c6b083e3dd9c7a801e80a7e4d228
|
||||||
|
- Download Locations:
|
||||||
|
http://downloads.yoctoproject.org/releases/yocto/yocto-5.0.4/oecore-f888dd911529a828820799a7a1b75dfd3a44847c.tar.bz2
|
||||||
|
http://mirrors.kernel.org/yocto/yocto/yocto-5.0.4/oecore-f888dd911529a828820799a7a1b75dfd3a44847c.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.4 </meta-mingw/log/?h=yocto-5.0.4>`
|
||||||
|
- Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>`
|
||||||
|
- Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852
|
||||||
|
- sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c
|
||||||
|
- Download Locations:
|
||||||
|
http://downloads.yoctoproject.org/releases/yocto/yocto-5.0.4/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
http://mirrors.kernel.org/yocto/yocto/yocto-5.0.4/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.4 </bitbake/log/?h=yocto-5.0.4>`
|
||||||
|
- Git Revision: :oe_git:`d251668d9a7a8dd25bd8767efb30d6d9ff8b1ad3 </bitbake/commit/?id=d251668d9a7a8dd25bd8767efb30d6d9ff8b1ad3>`
|
||||||
|
- Release Artefact: bitbake-d251668d9a7a8dd25bd8767efb30d6d9ff8b1ad3
|
||||||
|
- sha: d873f4d3a471d26680dc39200d8f3851a6863f15daa9bed978ba31b930f9a1c1
|
||||||
|
- Download Locations:
|
||||||
|
http://downloads.yoctoproject.org/releases/yocto/yocto-5.0.4/bitbake-d251668d9a7a8dd25bd8767efb30d6d9ff8b1ad3.tar.bz2
|
||||||
|
http://mirrors.kernel.org/yocto/yocto/yocto-5.0.4/bitbake-d251668d9a7a8dd25bd8767efb30d6d9ff8b1ad3.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.4 </yocto-docs/log/?h=yocto-5.0.4>`
|
||||||
|
- Git Revision: :yocto_git:`d71081dd14a9d75ace4d1c62472374f37b4a888d </yocto-docs/commit/?id=d71081dd14a9d75ace4d1c62472374f37b4a888d>`
|
||||||
|
|
||||||
227
documentation/migration-guides/release-notes-5.0.5.rst
Normal file
@@ -0,0 +1,227 @@
|
|||||||
|
Release notes for Yocto-5.0.5 (Scarthgap)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.0.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- ``cups``: Fix :cve_nist:`2024-47175`
|
||||||
|
- ``curl``: Fix :cve_nist:`2024-8096`
|
||||||
|
- ``gnupg``: Ignore :cve_nist:`2022-3219` (wont-fix)
|
||||||
|
- ``libarchive``: Fix :cve_nist:`2024-48957` and :cve_nist:`2024-48958`
|
||||||
|
- ``openssh``: Ignore :cve_nist:`2023-51767` (wont-fix)
|
||||||
|
- ``openssl``: Fix :cve_nist:`2024-9143`
|
||||||
|
- ``ruby``: Fix :cve_nist:`2024-41123` and :cve_mitre:`2024-41496`
|
||||||
|
- ``rust-llvm``: Fix :cve_nist:`2024-0151`
|
||||||
|
- ``rust``, ``libstd-rs``: Ignore :cve_nist:`2024-43402`
|
||||||
|
- ``wpa-supplicant``: Patch SAE H2E and incomplete downgrade protection for group negotiation
|
||||||
|
- ``wpa-supplicant``: Fix :cve_nist:`2024-3596`
|
||||||
|
- ``wpa-supplicant``: Ignore :cve_nist:`2024-5290`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.0.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: stable 2.42 branch updates
|
||||||
|
- bitbake.conf: Add truncate to :term:`HOSTTOOLS`
|
||||||
|
- bitbake: asyncrpc: Use client timeout for websocket open timeout
|
||||||
|
- bitbake: bitbake: doc/user-manual: Update the :term:`BB_HASHSERVE_UPSTREAM`
|
||||||
|
- bitbake: gitsm: Add call_process_submodules() to remove duplicated code
|
||||||
|
- bitbake: gitsm: Remove downloads/tmpdir when failed
|
||||||
|
- bitbake: tests/fetch: Use our own mirror of mobile-broadband-provider to decouple from gnome gitlab
|
||||||
|
- bitbake: tests/fetch: Use our own mirror of sysprof to decouple from gnome gitlab
|
||||||
|
- build-appliance-image: Update to scarthgap head revision
|
||||||
|
- cryptodev: upgrade to 1.14
|
||||||
|
- cve-check: add support for cvss v4.0
|
||||||
|
- cve_check: Use a local copy of the database during builds
|
||||||
|
- dev-manual: add bblock documentation
|
||||||
|
- documentation: conf.py: rename :cve: role to :cve_nist:
|
||||||
|
- documentation: README: add instruction to run Vale on a subset
|
||||||
|
- documentation: Makefile: add SPHINXLINTDOCS to specify subset to sphinx-lint
|
||||||
|
- e2fsprogs: removed 'sed -u' option
|
||||||
|
- ffmpeg: Add "libswresample libavcodec" to :term:`CVE_PRODUCT`
|
||||||
|
- glibc: stable 2.39 branch updates.
|
||||||
|
- go: upgrade to 1.22.8
|
||||||
|
- icu: update patch Upstream-Status
|
||||||
|
- image.bbclass: Drop support for ImageQAFailed exceptions in image_qa
|
||||||
|
- image_qa: fix error handling
|
||||||
|
- install-buildtools: fix "test installation" step
|
||||||
|
- install-buildtools: remove md5 checksum validation
|
||||||
|
- install-buildtools: update base-url, release and installer version
|
||||||
|
- kernel-devsrc: remove 64 bit vdso cmd files
|
||||||
|
- kernel-fitimage: fix external dtb check
|
||||||
|
- kernel-fitimage: fix intentation
|
||||||
|
- lib/oe/package-manager: skip processing installed-pkgs with empty globs
|
||||||
|
- liba52: fix do_fetch error
|
||||||
|
- libpcre2: Update base uri PhilipHazel -> PCRE2Project
|
||||||
|
- libsdl2: Fix non-deterministic configure option for libsamplerate
|
||||||
|
- license: Fix directory layout issues
|
||||||
|
- linux-firmware: upgrade to 20240909
|
||||||
|
- linux-yocto/6.6: fix genericarm64 config warning
|
||||||
|
- linux-yocto/6.6: upgrade to v6.6.54
|
||||||
|
- lsb-release: fix Distro Codename shell escaping
|
||||||
|
- makedevs: Fix issue when rootdir of / is given
|
||||||
|
- makedevs: Fix matching uid/gid
|
||||||
|
- meta-ide-support: Mark recipe as MACHINE-specific
|
||||||
|
- meta-world-pkgdata: Inherit nopackages
|
||||||
|
- migration-guide: add release notes for 4.0.21, 4.0.22 and 5.0.4
|
||||||
|
- migration-guide: release-notes-4.0: update :term:`BB_HASHSERVE_UPSTREAM` for new infrastructure
|
||||||
|
- migration-guide: release-notes-5.0.rst: update NO_OUTPUT -> NO_COLOR
|
||||||
|
- orc: upgrade to 0.4.40
|
||||||
|
- overview-manual: concepts: add details on package splitting
|
||||||
|
- poky.conf: bump version for 5.0.5
|
||||||
|
- populate_sdk_base: inherit nopackages
|
||||||
|
- ptest-runner: upgrade to 2.4.5
|
||||||
|
- pulseaudio: correct freedesktop.org -> www.freedesktop.org :term:`SRC_URI`
|
||||||
|
- desktop-file-utils: correct freedesktop.org -> www.freedesktop.org :term:`SRC_URI`
|
||||||
|
- python3-lxml: upgrade to v5.0.2
|
||||||
|
- python3-setuptools: Add "python:setuptools" to :term:`CVE_PRODUCT`
|
||||||
|
- recipes-bsp: usbutils: Fix usb-devices command using busybox
|
||||||
|
- ref-manual: add missing CVE_CHECK manifest variables
|
||||||
|
- ref-manual: add missing :term:`EXTERNAL_KERNEL_DEVICETREE` variable
|
||||||
|
- ref-manual: add missing :term:`OPKGBUILDCMD` variable
|
||||||
|
- ref-manual: add missing :term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
|
||||||
|
- ref-manual: devtool-reference: document missing commands
|
||||||
|
- ref-manual: devtool-reference: refresh example outputs
|
||||||
|
- ref-manual: faq: add q&a on class appends
|
||||||
|
- ref-manual: introduce :term:`CVE_CHECK_REPORT_PATCHED` variable
|
||||||
|
- ref-manual: merge patch-status-* to patch-status
|
||||||
|
- ref-manual: release-process: add a reference to the doc's release
|
||||||
|
- ref-manual: release-process: refresh the current LTS releases
|
||||||
|
- ref-manual: release-process: update releases.svg
|
||||||
|
- ref-manual: release-process: update releases.svg with month after "Current"
|
||||||
|
- ref-manual: structure.rst: document missing tmp/ dirs
|
||||||
|
- ref-manual: variables: add SIGGEN_LOCKEDSIGS* variables
|
||||||
|
- rootfs-postcommands.bbclass: make opkg status reproducible
|
||||||
|
- rpm: fix expansion of %_libdir in macros
|
||||||
|
- ruby: upgrade to 3.3.5
|
||||||
|
- runqemu: Fix detection of -serial parameter
|
||||||
|
- runqemu: keep generating tap devices
|
||||||
|
- scripts/install-buildtools: Update to 5.0.3
|
||||||
|
- sqlite3: upgrade to 3.45.3
|
||||||
|
- styles: vocabularies: Yocto: add sstate
|
||||||
|
- systemtap: fix systemtap-native build error on Fedora 40
|
||||||
|
- sysvinit: take release tarballs from github
|
||||||
|
- testexport: fallback for empty :term:`IMAGE_LINK_NAME`
|
||||||
|
- testimage: fallback for empty :term:`IMAGE_LINK_NAME`
|
||||||
|
- uboot-sign: fix counters in do_uboot_assemble_fitimage
|
||||||
|
- vim: upgrade to 9.1.0764
|
||||||
|
- virglrenderer: Add patch to fix -int-conversion build issue
|
||||||
|
- webkitgtk: upgrade to 2.44.3
|
||||||
|
- weston: backport patch to allow neatvnc < v0.9.0
|
||||||
|
- wpa-supplicant: Patch security advisory 2024-2
|
||||||
|
- xserver-xorg: upgrade to 21.1.14
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.0.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- ``oeqa/runtime``: the ``beaglebone-yocto`` target fails the parselogs runtime test due to unexpected kernel error messages in the log (see :yocto_bugs:`bug 15624 </show_bug.cgi?id=15624>` on Bugzilla).
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-5.0.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Aditya Tayade
|
||||||
|
- Adrian Freihofer
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Antonin Godard
|
||||||
|
- Anuj Mittal
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Claus Stovgaard
|
||||||
|
- Deepesh Varatharajan
|
||||||
|
- Deepthi Hemraj
|
||||||
|
- Hiago De Franco
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Jaeyoon Jung
|
||||||
|
- Jiaying Song
|
||||||
|
- Jonas Gorski
|
||||||
|
- Jose Quaresma
|
||||||
|
- Joshua Watt
|
||||||
|
- Julien Stephan
|
||||||
|
- Jörg Sommer
|
||||||
|
- Khem Raj
|
||||||
|
- Konrad Weihmann
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Louis Rannou
|
||||||
|
- Macpaul Lin
|
||||||
|
- Martin Jansa
|
||||||
|
- Paul Barker
|
||||||
|
- Paul Gerber
|
||||||
|
- Peter Kjellerstedt
|
||||||
|
- Peter Marko
|
||||||
|
- Purushottam Choudhary
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Rohini Sangam
|
||||||
|
- Ross Burton
|
||||||
|
- Sergei Zhmylev
|
||||||
|
- Shunsuke Tokumoto
|
||||||
|
- Steve Sakoman
|
||||||
|
- Teresa Remmet
|
||||||
|
- Victor Kamensky
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Yi Zhao
|
||||||
|
- Yogita Urade
|
||||||
|
- Zahir Hussain
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.0.5
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.5 </poky/log/?h=yocto-5.0.5>`
|
||||||
|
- Git Revision: :yocto_git:`dce4163d42f7036ea216b52b9135968d51bec4c1 </poky/commit/?id=dce4163d42f7036ea216b52b9135968d51bec4c1>`
|
||||||
|
- Release Artefact: poky-dce4163d42f7036ea216b52b9135968d51bec4c1
|
||||||
|
- sha: ad35a965a284490a962f6854ace536b8795f96514e14bf5c79f91f6d76ac25d3
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.5/poky-dce4163d42f7036ea216b52b9135968d51bec4c1.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.5/poky-dce4163d42f7036ea216b52b9135968d51bec4c1.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.5 </openembedded-core/log/?h=yocto-5.0.5>`
|
||||||
|
- Git Revision: :oe_git:`a051a066da2874b95680d0353dfa18c1d56b2670 </openembedded-core/commit/?id=a051a066da2874b95680d0353dfa18c1d56b2670>`
|
||||||
|
- Release Artefact: oecore-a051a066da2874b95680d0353dfa18c1d56b2670
|
||||||
|
- sha: 16d252aade00161ade2692f41b2da3effeb1f41816a66db843bb1c5495125e93
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.5/oecore-a051a066da2874b95680d0353dfa18c1d56b2670.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.5/oecore-a051a066da2874b95680d0353dfa18c1d56b2670.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.5 </meta-mingw/log/?h=yocto-5.0.5>`
|
||||||
|
- Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>`
|
||||||
|
- Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852
|
||||||
|
- sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.5/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.5/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :bitbake_git:`/`
|
||||||
|
- Branch: :bitbake_git:`2.8 </log/?h=2.8>`
|
||||||
|
- Tag: :bitbake_git:`yocto-5.0.5 </log/?h=yocto-5.0.5>`
|
||||||
|
- Git Revision: :bitbake_git:`377eba2361850adfb8ce7e761ef9c76be287f88c </commit/?id=377eba2361850adfb8ce7e761ef9c76be287f88c>`
|
||||||
|
- Release Artefact: bitbake-377eba2361850adfb8ce7e761ef9c76be287f88c
|
||||||
|
- sha: 4a5a35098eec719bbb879706d50e552a2b709295db4055c8050ae7dda1eb2994
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.5/bitbake-377eba2361850adfb8ce7e761ef9c76be287f88c.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.5/bitbake-377eba2361850adfb8ce7e761ef9c76be287f88c.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.5 </yocto-docs/log/?h=yocto-5.0.5>`
|
||||||
|
- Git Revision: :yocto_git:`e882cb3e5816d081eb05cb83488f286cca70e0c6 </yocto-docs/commit/?id=e882cb3e5816d081eb05cb83488f286cca70e0c6>`
|
||||||
|
|
||||||
223
documentation/migration-guides/release-notes-5.0.6.rst
Normal file
@@ -0,0 +1,223 @@
|
|||||||
|
Release notes for Yocto-5.0.6 (Scarthgap)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.0.6
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- acpica: Fix :cve_nist:`2024-24856`
|
||||||
|
- curl: Fix :cve_nist:`2024-9681`
|
||||||
|
- dropbear: Fix :cve_nist:`2023-48795`
|
||||||
|
- expat: Fix :cve_nist:`2024-50602`
|
||||||
|
- ffmpeg: Fix :cve_nist:`2023-49501`, :cve_nist:`2023-49528`, :cve_nist:`2023-50007`,
|
||||||
|
:cve_nist:`2024-7055` and :cve_mitre:`2024-28661`
|
||||||
|
- glib-2.0: Fix :cve_nist:`2024-52533`
|
||||||
|
- ghostscript: Fix :cve_nist:`2024-46951`, :cve_nist:`2024-46952`, :cve_nist:`2024-46953`,
|
||||||
|
:cve_nist:`2024-46954`, :cve_nist:`2024-46955` and :cve_nist:`2024-46956`
|
||||||
|
- gstreamer1.0: Ignore :cve_nist:`2024-0444`
|
||||||
|
- libpam: Fix :cve_nist:`2024-10041`
|
||||||
|
- libsndfile: Fix :cve_nist:`2024-50612`
|
||||||
|
- libsoup: Fix :cve_nist:`2024-52530`, :cve_nist:`2024-52531` and :cve_nist:`2024-52532`
|
||||||
|
- ovmf: Fix :cve_nist:`2024-1298` and :cve_nist:`2024-38796`
|
||||||
|
- python3-zipp: Fix :cve_nist:`2024-5569`
|
||||||
|
- qemu: Fix :cve_nist:`2024-4693`, :cve_nist:`2024-6505` and :cve_nist:`2024-7730`
|
||||||
|
- qemu: Ignore :cve_nist:`2024-6505`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.0.6
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: Add missing perl modules to :term:`RDEPENDS` for nativesdk variant
|
||||||
|
- binutils: stable 2.42 branch update
|
||||||
|
- bitbake: Remove custom exception backtrace formatting
|
||||||
|
- bitbake: fetch2/git: Use quote from shlex, not pipes
|
||||||
|
- bitbake: fetch2: use persist_data context managers
|
||||||
|
- bitbake: fetch/wget: Increase timeout to 100s from 30s
|
||||||
|
- bitbake: persist_data: close connection in SQLTable __exit__
|
||||||
|
- bitbake: runqueue: Fix performance of multiconfigs with large overlap
|
||||||
|
- bitbake: runqueue: Fix scenetask processing performance issue
|
||||||
|
- bitbake: runqueue: Optimise setscene loop processing
|
||||||
|
- build-appliance-image: Update to scarthgap head revision
|
||||||
|
- builder: set :term:`CVE_PRODUCT`
|
||||||
|
- cmake: Fix sporadic issues when determining compiler internals
|
||||||
|
- cml1: do_diffconfig: Don't override .config with .config.orig
|
||||||
|
- contributor-guide: Remove duplicated words
|
||||||
|
- dev-manual: bblock: use warning block instead of attention
|
||||||
|
- dev-manual: document how to provide confs from layer.conf
|
||||||
|
- dnf: drop python3-iniparse from :term:`DEPENDS` and :term:`RDEPENDS`
|
||||||
|
- do_package/sstate/sstatesig: Change timestamp clamping to hash output only
|
||||||
|
- doc: Makefile: add support for xelatex
|
||||||
|
- doc: Makefile: publish pdf and epub versions too
|
||||||
|
- doc: Makefile: remove inkscape, replace by rsvg-convert
|
||||||
|
- doc: add a download page for epub and pdf
|
||||||
|
- doc: conf.py: add a bitbake_git extlink
|
||||||
|
- doc: standards.md: add a section on admonitions
|
||||||
|
- doc: sphinx-static: switchers.js.in: do not refer to URL_ROOT anymore
|
||||||
|
- dropbear: backport fix for concurrent channel open/close
|
||||||
|
- enchant2: fix do_fetch error
|
||||||
|
- expat: upgrade to 2.6.4
|
||||||
|
- gcc: backport patch to fix an issue with tzdata 2024b
|
||||||
|
- ghostscript: upgrade to 10.04.0
|
||||||
|
- glibc: stable 2.39 branch updates
|
||||||
|
- groff: fix rare build race in hdtbl
|
||||||
|
- libgcrypt: Fix building error with '-O2' in sysroot path
|
||||||
|
- libpam: drop cracklib from :term:`DEPENDS`
|
||||||
|
- libxml-parser-perl: fix do_fetch error
|
||||||
|
- llvm: reduce size of -dbg package
|
||||||
|
- lttng-ust: backport patch to fix cmake-multiple-shared-libraries build error
|
||||||
|
- migration-guides: add release notes for 4.0.23 and 5.0.5
|
||||||
|
- ninja: fix build with python 3.13
|
||||||
|
- oeqa/runtime/ssh: Fix incorrect timeout fix
|
||||||
|
- oeqa/runtime/ssh: Rework ssh timeout
|
||||||
|
- oeqa/utils/gitarchive: Return tag name and improve exclude handling
|
||||||
|
- package_rpm: Check if file exists before open()
|
||||||
|
- package_rpm: restrict rpm to 4 threads
|
||||||
|
- package_rpm: use zstd's default compression level
|
||||||
|
- poky.conf: bump version for 5.0.6
|
||||||
|
- pseudo: Fix envp bug and add posix_spawn wrapper
|
||||||
|
- python3-poetry-core: drop python3-six from :term:`RDEPENDS`
|
||||||
|
- python3-requests: upgrade to 2.32.2
|
||||||
|
- python3-urllib3: upgrade to 2.2.2
|
||||||
|
- qemu: upgrade to 8.2.7
|
||||||
|
- qemurunner: Clean up serial_lock handling
|
||||||
|
- ref-manual: classes: fix bin_package description
|
||||||
|
- resulttool: Add --logfile-archive option to store mode
|
||||||
|
- resulttool: Allow store to filter to specific revisions
|
||||||
|
- resulttool: Clean up repoducible build logs
|
||||||
|
- resulttool: Fix passthrough of --all files in store mode
|
||||||
|
- resulttool: Handle ltp rawlogs as well as ptest
|
||||||
|
- resulttool: Improve repo layout for oeselftest results
|
||||||
|
- resulttool: Trim the precision of duration information
|
||||||
|
- resulttool: Use single space indentation in json output
|
||||||
|
- rootfs: Ensure run-postinsts is not uninstalled for read-only-rootfs-delayed-postinsts
|
||||||
|
- rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
|
||||||
|
- sanity: check for working user namespaces
|
||||||
|
- scripts/install-buildtools: Update to 5.0.5
|
||||||
|
- selftest/reproducible: Clean up pathnames
|
||||||
|
- selftest/reproducible: Drop rawlogs
|
||||||
|
- shared-mime-info: drop itstool-native from :term:`DEPENDS`
|
||||||
|
- strace: download release tarballs from GitHub
|
||||||
|
- systemd-boot: drop intltool-native from :term:`DEPENDS`
|
||||||
|
- systemd: drop intltool-native from :term:`DEPENDS`
|
||||||
|
- systemd: upgrade to 255.13
|
||||||
|
- sysvinit: backport patch for fixing one issue of pidof
|
||||||
|
- tcl: skip io-13.6 test case
|
||||||
|
- toolchain-shar-extract.sh: exit when post-relocate-setup.sh fails
|
||||||
|
- tune-cortexa32: set tune feature as armv8a
|
||||||
|
- tzcode-native: upgrade to 2024b
|
||||||
|
- tzdata: upgrade to 2024b
|
||||||
|
- uboot-sign: fix concat_dtb arguments
|
||||||
|
- udev-extraconf: fix network.sh script did not configure hotplugged interfaces
|
||||||
|
- webkitgtk: fix erroneous use of unsuported DEBUG_LEVELFLAG variable
|
||||||
|
- wireless-regdb: upgrade to 2024.10.07
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.0.6
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-5.0.6
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Bin Lan
|
||||||
|
- Changqing Li
|
||||||
|
- Chen Qi
|
||||||
|
- Chris Laplante
|
||||||
|
- Clayton Casciato
|
||||||
|
- Deepthi Hemraj
|
||||||
|
- Divya Chellam
|
||||||
|
- Florian Kreutzer
|
||||||
|
- Gassner, Tobias.ext
|
||||||
|
- Guðni Már Gilbert
|
||||||
|
- Harish Sadineni
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Hongxu Jia
|
||||||
|
- Jagadeesh Krishnanjanappa
|
||||||
|
- Jiaying Song
|
||||||
|
- Jinfeng Wang
|
||||||
|
- Joshua Watt
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Markus Volk
|
||||||
|
- Michael Opdenacker
|
||||||
|
- Pavel Zhukov
|
||||||
|
- Peter Marko
|
||||||
|
- Philip Lorenz
|
||||||
|
- Randy MacLeod
|
||||||
|
- Regis Dargent
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Ross Burton
|
||||||
|
- Soumya Sambu
|
||||||
|
- Steve Sakoman
|
||||||
|
- Talel BELHAJSALEM
|
||||||
|
- Trevor Gamblin
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Yogita Urade
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.0.6
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.6 </poky/log/?h=yocto-5.0.6>`
|
||||||
|
- Git Revision: :yocto_git:`2541a8171f91812a4b16e7dc4da0d77d2318a256 </poky/commit/?id=2541a8171f91812a4b16e7dc4da0d77d2318a256>`
|
||||||
|
- Release Artefact: poky-2541a8171f91812a4b16e7dc4da0d77d2318a256
|
||||||
|
- sha: b77157596ae75d163387a08a317397a57ab8fa6cf4725f28e344fae3f69cca4d
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/poky-2541a8171f91812a4b16e7dc4da0d77d2318a256.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/poky-2541a8171f91812a4b16e7dc4da0d77d2318a256.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.6 </openembedded-core/log/?h=yocto-5.0.6>`
|
||||||
|
- Git Revision: :oe_git:`336eec6808710f260a5336ca8ca98139a80ccb14 </openembedded-core/commit/?id=336eec6808710f260a5336ca8ca98139a80ccb14>`
|
||||||
|
- Release Artefact: oecore-336eec6808710f260a5336ca8ca98139a80ccb14
|
||||||
|
- sha: 38c4fa7e7e88c28361c012dd5baabe373e2ec3c8aba6194146768b146192cceb
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/oecore-336eec6808710f260a5336ca8ca98139a80ccb14.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/oecore-336eec6808710f260a5336ca8ca98139a80ccb14.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.6 </meta-mingw/log/?h=yocto-5.0.6>`
|
||||||
|
- Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>`
|
||||||
|
- Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852
|
||||||
|
- sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.6 </bitbake/log/?h=yocto-5.0.6>`
|
||||||
|
- Git Revision: :oe_git:`f40a3a477d5241b697bf2fb030dd804c1ff5839f </bitbake/commit/?id=f40a3a477d5241b697bf2fb030dd804c1ff5839f>`
|
||||||
|
- Release Artefact: bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f
|
||||||
|
- sha: dbfc056c7408a5547f624799621ab1261a05685112e0922a88007723b1edbc87
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.6/bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.6/bitbake-f40a3a477d5241b697bf2fb030dd804c1ff5839f.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.6 </yocto-docs/log/?h=yocto-5.0.6>`
|
||||||
|
- Git Revision: :yocto_git:`TBD </yocto-docs/commit/?id=TBD>`
|
||||||
|
|
||||||
331
documentation/migration-guides/release-notes-5.0.7.rst
Normal file
@@ -0,0 +1,331 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
Release notes for Yocto-5.0.7 (Scarthgap)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.0.7
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- avahi: Fix :cve_nist:`2024-52616`
|
||||||
|
- binutils: Fix :cve_nist:`2024-53589`
|
||||||
|
- ffmpeg: Fix :cve_nist:`2024-35366`, :cve_nist:`2024-35367` and :cve_nist:`2024-35368`
|
||||||
|
- gstreamer1.0-plugins-base: Fix :cve_nist:`2024-47538`, :cve_nist:`2024-47541`,
|
||||||
|
:cve_nist:`2024-47542`, :cve_nist:`2024-47600`, :cve_nist:`2024-47607`, :cve_nist:`2024-47615`
|
||||||
|
and :cve_nist:`2024-47835`
|
||||||
|
- gstreamer1.0-plugins-good: Fix :cve_nist:`2024-47537`, :cve_nist:`2024-47539`,
|
||||||
|
:cve_nist:`2024-47540`, :cve_nist:`2024-47543`, :cve_nist:`2024-47544`, :cve_nist:`2024-47545`,
|
||||||
|
:cve_nist:`2024-47546`, :cve_nist:`2024-47596`, :cve_nist:`2024-47597`, :cve_nist:`2024-47598`,
|
||||||
|
:cve_nist:`2024-47599`, :cve_nist:`2024-47601`, :cve_nist:`2024-47602`, :cve_nist:`2024-47603`,
|
||||||
|
:cve_nist:`2024-47606`, :cve_nist:`2024-47613`, :cve_nist:`2024-47774`, :cve_nist:`2024-47775`,
|
||||||
|
:cve_nist:`2024-47776`, :cve_nist:`2024-47777`, :cve_nist:`2024-47778` and :cve_nist:`2024-47834`
|
||||||
|
- gstreamer1.0: Ignore :cve_nist:`2024-47537`, :cve_nist:`2024-47539`, :cve_nist:`2024-47540`,
|
||||||
|
:cve_nist:`2024-47543`, :cve_nist:`2024-47544`, :cve_nist:`2024-47545`, :cve_nist:`2024-47538`,
|
||||||
|
:cve_nist:`2024-47541`, :cve_nist:`2024-47542`, :cve_nist:`2024-47600`, :cve_nist:`2024-47607`,
|
||||||
|
:cve_nist:`2024-47615`, :cve_nist:`2024-47835`, :cve_nist:`2024-47546`, :cve_nist:`2024-47596`,
|
||||||
|
:cve_nist:`2024-47597`, :cve_nist:`2024-47598`, :cve_nist:`2024-47599`, :cve_nist:`2024-47601`,
|
||||||
|
:cve_nist:`2024-47602`, :cve_nist:`2024-47603`, :cve_nist:`2024-47613`, :cve_nist:`2024-47774`,
|
||||||
|
:cve_nist:`2024-47775`, :cve_nist:`2024-47776`, :cve_nist:`2024-47777`, :cve_nist:`2024-47778`
|
||||||
|
and :cve_nist:`2024-47834`
|
||||||
|
- libarchive: Fix :cve_nist:`2024-20696`
|
||||||
|
- libxml2: Fix :cve_nist:`2024-40896`
|
||||||
|
- linux-yocto/6.6: Fix :cve_nist:`2024-27059`, :cve_nist:`2024-43098`, :cve_nist:`2024-45828`,
|
||||||
|
:cve_nist:`2024-47141`, :cve_nist:`2024-47143`, :cve_nist:`2024-47704`, :cve_nist:`2024-47809`,
|
||||||
|
:cve_nist:`2024-48873`, :cve_nist:`2024-48875`, :cve_nist:`2024-48881`, :cve_nist:`2024-49863`,
|
||||||
|
:cve_nist:`2024-49864`, :cve_nist:`2024-49866`, :cve_nist:`2024-49867`, :cve_nist:`2024-49868`,
|
||||||
|
:cve_nist:`2024-49870`, :cve_nist:`2024-49871`, :cve_nist:`2024-49874`, :cve_nist:`2024-49875`,
|
||||||
|
:cve_nist:`2024-49877`, :cve_nist:`2024-49878`, :cve_nist:`2024-49879`, :cve_nist:`2024-49881`,
|
||||||
|
:cve_nist:`2024-49882`, :cve_nist:`2024-49883`, :cve_nist:`2024-49884`, :cve_nist:`2024-49886`,
|
||||||
|
:cve_nist:`2024-49889`, :cve_nist:`2024-49890`, :cve_nist:`2024-49892`, :cve_nist:`2024-49894`,
|
||||||
|
:cve_nist:`2024-49895`, :cve_nist:`2024-49896`, :cve_nist:`2024-49900`, :cve_nist:`2024-49901`,
|
||||||
|
:cve_nist:`2024-49902`, :cve_nist:`2024-49903`, :cve_nist:`2024-49905`, :cve_nist:`2024-49907`,
|
||||||
|
:cve_nist:`2024-49912`, :cve_nist:`2024-49913`, :cve_nist:`2024-49924`, :cve_nist:`2024-49925`,
|
||||||
|
:cve_nist:`2024-49927`, :cve_nist:`2024-49929`, :cve_nist:`2024-49930`, :cve_nist:`2024-49931`,
|
||||||
|
:cve_nist:`2024-49933`, :cve_nist:`2024-49935`, :cve_nist:`2024-49936`, :cve_nist:`2024-49937`,
|
||||||
|
:cve_nist:`2024-49938`, :cve_nist:`2024-49939`, :cve_nist:`2024-49944`, :cve_nist:`2024-49946`,
|
||||||
|
:cve_nist:`2024-49947`, :cve_nist:`2024-49948`, :cve_nist:`2024-49949`, :cve_nist:`2024-49950`,
|
||||||
|
:cve_nist:`2024-49951`, :cve_nist:`2024-49952`, :cve_nist:`2024-49953`, :cve_nist:`2024-49954`,
|
||||||
|
:cve_nist:`2024-49955`, :cve_nist:`2024-49957`, :cve_nist:`2024-49958`, :cve_nist:`2024-49959`,
|
||||||
|
:cve_nist:`2024-49960`, :cve_nist:`2024-49961`, :cve_nist:`2024-49962`, :cve_nist:`2024-49963`,
|
||||||
|
:cve_nist:`2024-49965`, :cve_nist:`2024-49966`, :cve_nist:`2024-49969`, :cve_nist:`2024-49973`,
|
||||||
|
:cve_nist:`2024-49975`, :cve_nist:`2024-49976`, :cve_nist:`2024-49977`, :cve_nist:`2024-49978`,
|
||||||
|
:cve_nist:`2024-49980`, :cve_nist:`2024-49981`, :cve_nist:`2024-49982`, :cve_nist:`2024-49983`,
|
||||||
|
:cve_nist:`2024-49985`, :cve_nist:`2024-49986`, :cve_nist:`2024-49987`, :cve_nist:`2024-49988`,
|
||||||
|
:cve_nist:`2024-49989`, :cve_nist:`2024-49991`, :cve_nist:`2024-49992`, :cve_nist:`2024-49995`,
|
||||||
|
:cve_nist:`2024-49996`, :cve_nist:`2024-49997`, :cve_nist:`2024-50000`, :cve_nist:`2024-50001`,
|
||||||
|
:cve_nist:`2024-50002`, :cve_nist:`2024-50003`, :cve_nist:`2024-50005`, :cve_nist:`2024-50006`,
|
||||||
|
:cve_nist:`2024-50007`, :cve_nist:`2024-50008`, :cve_nist:`2024-50012`, :cve_nist:`2024-50013`,
|
||||||
|
:cve_nist:`2024-50015`, :cve_nist:`2024-50016`, :cve_nist:`2024-50019`, :cve_nist:`2024-50022`,
|
||||||
|
:cve_nist:`2024-50023`, :cve_nist:`2024-50024`, :cve_nist:`2024-50026`, :cve_nist:`2024-50029`,
|
||||||
|
:cve_nist:`2024-50031`, :cve_nist:`2024-50032`, :cve_nist:`2024-50033`, :cve_nist:`2024-50035`,
|
||||||
|
:cve_nist:`2024-50036`, :cve_nist:`2024-50038`, :cve_nist:`2024-50039`, :cve_nist:`2024-50040`,
|
||||||
|
:cve_nist:`2024-50041`, :cve_nist:`2024-50044`, :cve_nist:`2024-50045`, :cve_nist:`2024-50046`,
|
||||||
|
:cve_nist:`2024-50047`, :cve_nist:`2024-50048`, :cve_nist:`2024-50049`, :cve_nist:`2024-50051`,
|
||||||
|
:cve_nist:`2024-50055`, :cve_nist:`2024-50057`, :cve_nist:`2024-50058`, :cve_nist:`2024-50059`,
|
||||||
|
:cve_nist:`2024-50060`, :cve_nist:`2024-50061`, :cve_nist:`2024-50062`, :cve_nist:`2024-50063`,
|
||||||
|
:cve_nist:`2024-50064`, :cve_nist:`2024-50065`, :cve_nist:`2024-50066`, :cve_nist:`2024-50069`,
|
||||||
|
:cve_nist:`2024-50070`, :cve_nist:`2024-50072`, :cve_nist:`2024-50073`, :cve_nist:`2024-50074`,
|
||||||
|
:cve_nist:`2024-50075`, :cve_nist:`2024-50076`, :cve_nist:`2024-50077`, :cve_nist:`2024-50078`,
|
||||||
|
:cve_nist:`2024-50080`, :cve_nist:`2024-50082`, :cve_nist:`2024-50083`, :cve_nist:`2024-50084`,
|
||||||
|
:cve_nist:`2024-50085`, :cve_nist:`2024-50086`, :cve_nist:`2024-50087`, :cve_nist:`2024-50088`,
|
||||||
|
:cve_nist:`2024-50093`, :cve_nist:`2024-50095`, :cve_nist:`2024-50096`, :cve_nist:`2024-50098`,
|
||||||
|
:cve_nist:`2024-50099`, :cve_nist:`2024-50101`, :cve_nist:`2024-50103`, :cve_nist:`2024-50108`,
|
||||||
|
:cve_nist:`2024-50110`, :cve_nist:`2024-50111`, :cve_nist:`2024-50112`, :cve_nist:`2024-50115`,
|
||||||
|
:cve_nist:`2024-50116`, :cve_nist:`2024-50117`, :cve_nist:`2024-50120`, :cve_nist:`2024-50121`,
|
||||||
|
:cve_nist:`2024-50124`, :cve_nist:`2024-50125`, :cve_nist:`2024-50126`, :cve_nist:`2024-50127`,
|
||||||
|
:cve_nist:`2024-50128`, :cve_nist:`2024-50130`, :cve_nist:`2024-50131`, :cve_nist:`2024-50133`,
|
||||||
|
:cve_nist:`2024-50134`, :cve_nist:`2024-50135`, :cve_nist:`2024-50136`, :cve_nist:`2024-50139`,
|
||||||
|
:cve_nist:`2024-50140`, :cve_nist:`2024-50141`, :cve_nist:`2024-50142`, :cve_nist:`2024-50143`,
|
||||||
|
:cve_nist:`2024-50145`, :cve_nist:`2024-50147`, :cve_nist:`2024-50148`, :cve_nist:`2024-50150`,
|
||||||
|
:cve_nist:`2024-50151`, :cve_nist:`2024-50152`, :cve_nist:`2024-50153`, :cve_nist:`2024-50154`,
|
||||||
|
:cve_nist:`2024-50155`, :cve_nist:`2024-50156`, :cve_nist:`2024-50158`, :cve_nist:`2024-50159`,
|
||||||
|
:cve_nist:`2024-50160`, :cve_nist:`2024-50162`, :cve_nist:`2024-50163`, :cve_nist:`2024-50164`,
|
||||||
|
:cve_nist:`2024-50166`, :cve_nist:`2024-50167`, :cve_nist:`2024-50168`, :cve_nist:`2024-50169`,
|
||||||
|
:cve_nist:`2024-50170`, :cve_nist:`2024-50171`, :cve_nist:`2024-50172`, :cve_nist:`2024-50175`,
|
||||||
|
:cve_nist:`2024-50176`, :cve_nist:`2024-50179`, :cve_nist:`2024-50180`, :cve_nist:`2024-50181`,
|
||||||
|
:cve_nist:`2024-50182`, :cve_nist:`2024-50183`, :cve_nist:`2024-50184`, :cve_nist:`2024-50185`,
|
||||||
|
:cve_nist:`2024-50186`, :cve_nist:`2024-50187`, :cve_nist:`2024-50188`, :cve_nist:`2024-50189`,
|
||||||
|
:cve_nist:`2024-50191`, :cve_nist:`2024-50192`, :cve_nist:`2024-50193`, :cve_nist:`2024-50194`,
|
||||||
|
:cve_nist:`2024-50195`, :cve_nist:`2024-50196`, :cve_nist:`2024-50198`, :cve_nist:`2024-50201`,
|
||||||
|
:cve_nist:`2024-50202`, :cve_nist:`2024-50205`, :cve_nist:`2024-50208`, :cve_nist:`2024-50209`,
|
||||||
|
:cve_nist:`2024-50211`, :cve_nist:`2024-50215`, :cve_nist:`2024-50222`, :cve_nist:`2024-50223`,
|
||||||
|
:cve_nist:`2024-50224`, :cve_nist:`2024-50226`, :cve_nist:`2024-50229`, :cve_nist:`2024-50230`,
|
||||||
|
:cve_nist:`2024-50231`, :cve_nist:`2024-50232`, :cve_nist:`2024-50233`, :cve_nist:`2024-50234`,
|
||||||
|
:cve_nist:`2024-50235`, :cve_nist:`2024-50236`, :cve_nist:`2024-50237`, :cve_nist:`2024-50239`,
|
||||||
|
:cve_nist:`2024-50240`, :cve_nist:`2024-50242`, :cve_nist:`2024-50243`, :cve_nist:`2024-50244`,
|
||||||
|
:cve_nist:`2024-50245`, :cve_nist:`2024-50246`, :cve_nist:`2024-50247`, :cve_nist:`2024-50248`,
|
||||||
|
:cve_nist:`2024-50249`, :cve_nist:`2024-50250`, :cve_nist:`2024-50251`, :cve_nist:`2024-50252`,
|
||||||
|
:cve_nist:`2024-50255`, :cve_nist:`2024-50256`, :cve_nist:`2024-50257`, :cve_nist:`2024-50258`,
|
||||||
|
:cve_nist:`2024-50259`, :cve_nist:`2024-50261`, :cve_nist:`2024-50262`, :cve_nist:`2024-50264`,
|
||||||
|
:cve_nist:`2024-50265`, :cve_nist:`2024-50267`, :cve_nist:`2024-50268`, :cve_nist:`2024-50269`,
|
||||||
|
:cve_nist:`2024-50271`, :cve_nist:`2024-50272`, :cve_nist:`2024-50273`, :cve_nist:`2024-50275`,
|
||||||
|
:cve_nist:`2024-50276`, :cve_nist:`2024-50278`, :cve_nist:`2024-50279`, :cve_nist:`2024-50282`,
|
||||||
|
:cve_nist:`2024-50283`, :cve_nist:`2024-50284`, :cve_nist:`2024-50285`, :cve_nist:`2024-50286`,
|
||||||
|
:cve_nist:`2024-50287`, :cve_nist:`2024-50292`, :cve_nist:`2024-50296`, :cve_nist:`2024-50298`,
|
||||||
|
:cve_nist:`2024-50299`, :cve_nist:`2024-50300`, :cve_nist:`2024-50301`, :cve_nist:`2024-50302`,
|
||||||
|
:cve_nist:`2024-53042`, :cve_nist:`2024-53043`, :cve_nist:`2024-53046`, :cve_nist:`2024-53047`,
|
||||||
|
:cve_nist:`2024-53052`, :cve_nist:`2024-53055`, :cve_nist:`2024-53057`, :cve_nist:`2024-53058`,
|
||||||
|
:cve_nist:`2024-53059`, :cve_nist:`2024-53060`, :cve_nist:`2024-53061`, :cve_nist:`2024-53063`,
|
||||||
|
:cve_nist:`2024-53066`, :cve_nist:`2024-53068`, :cve_nist:`2024-53072`, :cve_nist:`2024-53076`,
|
||||||
|
:cve_nist:`2024-53079`, :cve_nist:`2024-53081`, :cve_nist:`2024-53082`, :cve_nist:`2024-53083`,
|
||||||
|
:cve_nist:`2024-53088`, :cve_nist:`2024-53091`, :cve_nist:`2024-53093`, :cve_nist:`2024-53094`,
|
||||||
|
:cve_nist:`2024-53096`, :cve_nist:`2024-53099`, :cve_nist:`2024-53100`, :cve_nist:`2024-53101`,
|
||||||
|
:cve_nist:`2024-53103`, :cve_nist:`2024-53108`, :cve_nist:`2024-53109`, :cve_nist:`2024-53110`,
|
||||||
|
:cve_nist:`2024-53112`, :cve_nist:`2024-53113`, :cve_nist:`2024-53119`, :cve_nist:`2024-53120`,
|
||||||
|
:cve_nist:`2024-53121`, :cve_nist:`2024-53122`, :cve_nist:`2024-53123`, :cve_nist:`2024-53126`,
|
||||||
|
:cve_nist:`2024-53127`, :cve_nist:`2024-53129`, :cve_nist:`2024-53130`, :cve_nist:`2024-53131`,
|
||||||
|
:cve_nist:`2024-53134`, :cve_nist:`2024-53135`, :cve_nist:`2024-53138`, :cve_nist:`2024-53139`,
|
||||||
|
:cve_nist:`2024-53140`, :cve_nist:`2024-53141`, :cve_nist:`2024-53142`, :cve_nist:`2024-53145`,
|
||||||
|
:cve_nist:`2024-53146`, :cve_nist:`2024-53150`, :cve_nist:`2024-53151`, :cve_nist:`2024-53154`,
|
||||||
|
:cve_nist:`2024-53155`, :cve_nist:`2024-53156`, :cve_nist:`2024-53157`, :cve_nist:`2024-53161`,
|
||||||
|
:cve_nist:`2024-53165`, :cve_nist:`2024-53166`, :cve_nist:`2024-53168`, :cve_nist:`2024-53171`,
|
||||||
|
:cve_nist:`2024-53173`, :cve_nist:`2024-53175`, :cve_nist:`2024-53180`, :cve_nist:`2024-53188`,
|
||||||
|
:cve_nist:`2024-53191`, :cve_nist:`2024-53200`, :cve_nist:`2024-53202`, :cve_nist:`2024-53208`,
|
||||||
|
:cve_nist:`2024-53210`, :cve_nist:`2024-53213`, :cve_nist:`2024-53215`, :cve_nist:`2024-53217`,
|
||||||
|
:cve_nist:`2024-53224`, :cve_nist:`2024-53226`, :cve_nist:`2024-53227`, :cve_nist:`2024-53230`,
|
||||||
|
:cve_nist:`2024-53231`, :cve_nist:`2024-53237`, :cve_nist:`2024-53239`, :cve_nist:`2024-54683`,
|
||||||
|
:cve_nist:`2024-55916`, :cve_nist:`2024-56369`, :cve_nist:`2024-56538`, :cve_nist:`2024-56551`,
|
||||||
|
:cve_nist:`2024-56567`, :cve_nist:`2024-56568`, :cve_nist:`2024-56569`, :cve_nist:`2024-56572`,
|
||||||
|
:cve_nist:`2024-56574`, :cve_nist:`2024-56575`, :cve_nist:`2024-56577`, :cve_nist:`2024-56578`,
|
||||||
|
:cve_nist:`2024-56579`, :cve_nist:`2024-56581`, :cve_nist:`2024-56587`, :cve_nist:`2024-56593`,
|
||||||
|
:cve_nist:`2024-56595`, :cve_nist:`2024-56596`, :cve_nist:`2024-56598`, :cve_nist:`2024-56600`,
|
||||||
|
:cve_nist:`2024-56601`, :cve_nist:`2024-56602`, :cve_nist:`2024-56603`, :cve_nist:`2024-56604`,
|
||||||
|
:cve_nist:`2024-56605`, :cve_nist:`2024-56606`, :cve_nist:`2024-56611`, :cve_nist:`2024-56613`,
|
||||||
|
:cve_nist:`2024-56614`, :cve_nist:`2024-56615`, :cve_nist:`2024-56617`, :cve_nist:`2024-56622`,
|
||||||
|
:cve_nist:`2024-56623`, :cve_nist:`2024-56626`, :cve_nist:`2024-56627`, :cve_nist:`2024-56629`,
|
||||||
|
:cve_nist:`2024-56631`, :cve_nist:`2024-56634`, :cve_nist:`2024-56635`, :cve_nist:`2024-56640`,
|
||||||
|
:cve_nist:`2024-56642`, :cve_nist:`2024-56643`, :cve_nist:`2024-56648`, :cve_nist:`2024-56649`,
|
||||||
|
:cve_nist:`2024-56650`, :cve_nist:`2024-56651`, :cve_nist:`2024-56653`, :cve_nist:`2024-56654`,
|
||||||
|
:cve_nist:`2024-56657`, :cve_nist:`2024-56658`, :cve_nist:`2024-56659`, :cve_nist:`2024-56660`,
|
||||||
|
:cve_nist:`2024-56662`, :cve_nist:`2024-56663`, :cve_nist:`2024-56664`, :cve_nist:`2024-56667`,
|
||||||
|
:cve_nist:`2024-56670`, :cve_nist:`2024-56672`, :cve_nist:`2024-56675`, :cve_nist:`2024-56687`,
|
||||||
|
:cve_nist:`2024-56688`, :cve_nist:`2024-56689`, :cve_nist:`2024-56692`, :cve_nist:`2024-56694`,
|
||||||
|
:cve_nist:`2024-56698`, :cve_nist:`2024-56704`, :cve_nist:`2024-56708`, :cve_nist:`2024-56710`,
|
||||||
|
:cve_nist:`2024-56715`, :cve_nist:`2024-56716`, :cve_nist:`2024-56717`, :cve_nist:`2024-56718`,
|
||||||
|
:cve_nist:`2024-56720`, :cve_nist:`2024-56722`, :cve_nist:`2024-56723`, :cve_nist:`2024-56724`,
|
||||||
|
:cve_nist:`2024-56725`, :cve_nist:`2024-56726`, :cve_nist:`2024-56727`, :cve_nist:`2024-56728`,
|
||||||
|
:cve_nist:`2024-56729`, :cve_nist:`2024-56739`, :cve_nist:`2024-56741`, :cve_nist:`2024-56744`,
|
||||||
|
:cve_nist:`2024-56745`, :cve_nist:`2024-56746`, :cve_nist:`2024-56747`, :cve_nist:`2024-56748`,
|
||||||
|
:cve_nist:`2024-56751`, :cve_nist:`2024-56752`, :cve_nist:`2024-56754`, :cve_nist:`2024-56755`,
|
||||||
|
:cve_nist:`2024-56756`, :cve_nist:`2024-56760`, :cve_nist:`2024-56763`, :cve_nist:`2024-56765`,
|
||||||
|
:cve_nist:`2024-56767`, :cve_nist:`2024-56769`, :cve_nist:`2024-56770`, :cve_nist:`2024-56774`,
|
||||||
|
:cve_nist:`2024-56776`, :cve_nist:`2024-56777`, :cve_nist:`2024-56778`, :cve_nist:`2024-56779`,
|
||||||
|
:cve_nist:`2024-56780`, :cve_nist:`2024-56781`, :cve_nist:`2024-56783`, :cve_nist:`2024-56785`,
|
||||||
|
:cve_nist:`2024-56786`, :cve_nist:`2024-56787`, :cve_nist:`2024-57798`, :cve_nist:`2024-57807`
|
||||||
|
and :cve_nist:`2024-57874`
|
||||||
|
- ofono: Fix :cve_nist:`2023-4232`, :cve_nist:`2023-4235`, :cve_nist:`2024-7539`,
|
||||||
|
:cve_nist:`2024-7540`, :cve_nist:`2024-7541`, :cve_nist:`2024-7542`, :cve_nist:`2024-7543`,
|
||||||
|
:cve_nist:`2024-7544`, :cve_nist:`2024-7545`, :cve_nist:`2024-7546` and :cve_nist:`2024-7547`
|
||||||
|
- rsync: Fix :cve_nist:`2024-12084`, :cve_nist:`2024-12085`, :cve_nist:`2024-12086`,
|
||||||
|
:cve_nist:`2024-12087`, :cve_nist:`2024-12088` and :cve_nist:`2024-12747`
|
||||||
|
- socat: Fix :cve_nist:`2024-54661`
|
||||||
|
- subversion: Fix :cve_nist:`2024-46901`
|
||||||
|
- wget: Fix :cve_nist:`2024-10524`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.0.7
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc
|
||||||
|
- bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48
|
||||||
|
- bitbake: ui/knotty: print log paths for failed tasks in summary
|
||||||
|
- bitbake: ui/knotty: respect NO_COLOR & check for tty; rename print_hyperlink => format_hyperlink
|
||||||
|
- bluez5: Revert "bluez5: remove configuration files from install task"
|
||||||
|
- bluez5: backport patch to fix address type when loading keys
|
||||||
|
- boost: fix do_fetch error
|
||||||
|
- build-appliance-image: Update to scarthgap head revision
|
||||||
|
- classes/nativesdk: also override :term:`TUNE_PKGARCH`
|
||||||
|
- classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture
|
||||||
|
- contributor-guide/submit-changes.rst: suggest to remove the git signature
|
||||||
|
- cve-update-nvd2-native: Handle :term:`BB_NO_NETWORK` and missing db
|
||||||
|
- cve-update-nvd2-native: Tweak to work better with NFS :term:`DL_DIR`
|
||||||
|
- dev-manual/bmaptool.rst: correct command for bmaptool-native
|
||||||
|
- dev-manual/bmaptool.rst: simplify and fix instructions
|
||||||
|
- dev-manual: fix styling of references to bmaptool
|
||||||
|
- docs: Gather dependencies in poky.yaml.in
|
||||||
|
- docs: Update autobuilder URLs to valkyrie
|
||||||
|
- docs: Update the documentation for :term:`SRCPV`
|
||||||
|
- gcc: Fix c++: tweak for Wrange-loop-construct
|
||||||
|
- groff: Fix race issues for parallel build
|
||||||
|
- libgfortran: fix buildpath QA issue
|
||||||
|
- libxml2: Upgrade to 2.12.9
|
||||||
|
- linux-yocto/6.6: bsp/genericarm64: disable ARM64_SME
|
||||||
|
- linux-yocto/6.6: genericarm64.cfg: enable CONFIG_DMA_CMA
|
||||||
|
- linux-yocto/6.6: update to v6.6.69
|
||||||
|
- lttng-modules: fix sched_stat_runtime changed in Linux 6.6.66
|
||||||
|
- migration-guides: add release notes for 5.0.6
|
||||||
|
- oeqa/ssh: allow to retrieve raw, unformatted ouput
|
||||||
|
- ovmf-native: remove .pyc files from install
|
||||||
|
- poky.conf: add new tested distros
|
||||||
|
- poky.conf: bump version for 5.0.7
|
||||||
|
- poky.yaml.in: add missing locales dependency
|
||||||
|
- poky.yaml.in: replace inkscape dependency by librsvg2-bin
|
||||||
|
- populate_sdk_ext: write_local_conf add shutil import
|
||||||
|
- pulseaudio: fix webrtc audio depdency
|
||||||
|
- python3-requests: upgrade to 2.32.3
|
||||||
|
- python3: Drop empty patch
|
||||||
|
- python3: add dependency on -compression to -core
|
||||||
|
- python3: upgrade to 3.12.7
|
||||||
|
- ref-manual: move runtime-testing section to the test-manual
|
||||||
|
- ref-manual: use standardized method accross both ubuntu and debian for locale install
|
||||||
|
- ref-manual: SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication
|
||||||
|
- reproducible-builds.rst: show how to build a single package
|
||||||
|
- rust-target-config: Fix TARGET_C_INT_WIDTH with correct size
|
||||||
|
- rust: Revert "rust: Add new varaible RUST_ENABLE_EXTRA_TOOLS"
|
||||||
|
- rust: add reproducibility patch to eliminate host leakage
|
||||||
|
- rust: build the default set of tools
|
||||||
|
- rust: correctly link rust-snapshot into build/stage0
|
||||||
|
- rust: use rust-snapshot binaries only in rust-native
|
||||||
|
- sanity.bbclass: skip check_userns for non-local uid
|
||||||
|
- scripts/install-buildtools: Update to 5.0.6
|
||||||
|
- system-requirements.rst: add dependencies for pdf builds
|
||||||
|
- system-requirements: add fedora 39 to supported distros
|
||||||
|
- system-requirements: update list of supported distros
|
||||||
|
- systemd: enable create-log-dirs
|
||||||
|
- test-manual/reproducible-builds: fix reproducible links
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.0.7
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
Contributors to Yocto-5.0.7
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Alexis Lothoré
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Catalin Popescu
|
||||||
|
- Changqing Li
|
||||||
|
- Chen Qi
|
||||||
|
- Chris Laplante
|
||||||
|
- Divya Chellam
|
||||||
|
- Esben Haabendal
|
||||||
|
- Guénaël Muller
|
||||||
|
- Guðni Már Gilbert
|
||||||
|
- Harish Sadineni
|
||||||
|
- Hiago De Franco
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Jiaying Song
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Mark Hatle
|
||||||
|
- Michael Opdenacker
|
||||||
|
- Mikko Rapeli
|
||||||
|
- Peter Marko
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Ross Burton
|
||||||
|
- Soumya Sambu
|
||||||
|
- Steve Sakoman
|
||||||
|
- Sunil Dora
|
||||||
|
- Trevor Gamblin
|
||||||
|
- Xiangyu Chen
|
||||||
|
- Yash Shinde
|
||||||
|
- Zhang Peng
|
||||||
|
- Zahir Hussain
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.0.7
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.7 </poky/log/?h=yocto-5.0.7>`
|
||||||
|
- Git Revision: :yocto_git:`7dad83c7e5e9637c0ff5d5712409611fd4a14946 </poky/commit/?id=7dad83c7e5e9637c0ff5d5712409611fd4a14946>`
|
||||||
|
- Release Artefact: poky-7dad83c7e5e9637c0ff5d5712409611fd4a14946
|
||||||
|
- sha: ae688031b19b88582bb4a76d0525e3704b981ad1d21eb38a0873cd01dd9a4652
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.7/poky-7dad83c7e5e9637c0ff5d5712409611fd4a14946.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.7/poky-7dad83c7e5e9637c0ff5d5712409611fd4a14946.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.7 </openembedded-core/log/?h=yocto-5.0.7>`
|
||||||
|
- Git Revision: :oe_git:`62cb12967391db709315820d48853ffa4c6b4740 </openembedded-core/commit/?id=62cb12967391db709315820d48853ffa4c6b4740>`
|
||||||
|
- Release Artefact: oecore-62cb12967391db709315820d48853ffa4c6b4740
|
||||||
|
- sha: bc45429df1805445b678f1b0ed6ce017edfac38c7226dce92ce393b3ef311f95
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.7/oecore-62cb12967391db709315820d48853ffa4c6b4740.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.7/oecore-62cb12967391db709315820d48853ffa4c6b4740.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.7 </meta-mingw/log/?h=yocto-5.0.7>`
|
||||||
|
- Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>`
|
||||||
|
- Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852
|
||||||
|
- sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.7/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.7/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.7 </bitbake/log/?h=yocto-5.0.7>`
|
||||||
|
- Git Revision: :oe_git:`aa0e540fc31a1c26839efd2c7785a751ce24ebfb </bitbake/commit/?id=aa0e540fc31a1c26839efd2c7785a751ce24ebfb>`
|
||||||
|
- Release Artefact: bitbake-aa0e540fc31a1c26839efd2c7785a751ce24ebfb
|
||||||
|
- sha: 169b68ed7d5e55015b1c35a82d35efaa25c87cba4722c85e66514a15d31e1d28
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.7/bitbake-aa0e540fc31a1c26839efd2c7785a751ce24ebfb.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.7/bitbake-aa0e540fc31a1c26839efd2c7785a751ce24ebfb.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.7 </yocto-docs/log/?h=yocto-5.0.7>`
|
||||||
|
- Git Revision: :yocto_git:`bb9e018adcc10c642f87d0b95432783b5eb8057b </yocto-docs/commit/?id=bb9e018adcc10c642f87d0b95432783b5eb8057b>`
|
||||||
|
|
||||||
226
documentation/migration-guides/release-notes-5.0.8.rst
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
Release notes for Yocto-5.0.8 (Scarthgap)
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.0.8
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: Fix :cve_nist:`2025-0840`
|
||||||
|
- curl: Ignore :cve_nist:`2025-0725`
|
||||||
|
- elfutils: Fix :cve_nist:`2025-1352`, :cve_nist:`2025-1365` and :cve_nist:`2025-1372`
|
||||||
|
- ffmpeg: Fix :cve_nist:`2024-35365`, :cve_nist:`2024-35369`, :cve_nist:`2024-36613`,
|
||||||
|
:cve_nist:`2024-36616`, :cve_nist:`2024-36617`, :cve_nist:`2024-36618`, :cve_nist:`2024-36619`,
|
||||||
|
:cve_nist:`2025-0518`, :cve_nist:`2025-22919`, :cve_nist:`2025-22921` and :cve_nist:`2025-25473`
|
||||||
|
- glibc: Fix :cve_nist:`2025-0395`
|
||||||
|
- gnutls: Fix :cve_nist:`2024-12243`
|
||||||
|
- go: Fix :cve_nist:`2024-45336`, :cve_nist:`2024-45341` and :cve_nist:`2025-22866`
|
||||||
|
- gstreamer1.0-rtsp-server: Fix :cve_nist:`2024-44331`
|
||||||
|
- libcap: Fix :cve_nist:`2025-1390`
|
||||||
|
- libtasn1: Fix :cve_nist:`2024-12133`
|
||||||
|
- libxml2: Fix :cve_nist:`2024-56171` and :cve_nist:`2025-24928`
|
||||||
|
- linux-yocto/6.6: Fix :cve_nist:`2024-36476`, :cve_nist:`2024-53179`, :cve_nist:`2024-56582`,
|
||||||
|
:cve_nist:`2024-56703`, :cve_nist:`2024-57801`, :cve_nist:`2024-57802`, :cve_nist:`2024-57841`,
|
||||||
|
:cve_nist:`2024-57882`, :cve_nist:`2024-57887`, :cve_nist:`2024-57890`, :cve_nist:`2024-57892`,
|
||||||
|
:cve_nist:`2024-57895`, :cve_nist:`2024-57896`, :cve_nist:`2024-57900`, :cve_nist:`2024-57901`,
|
||||||
|
:cve_nist:`2024-57902`, :cve_nist:`2024-57906`, :cve_nist:`2024-57907`, :cve_nist:`2024-57908`,
|
||||||
|
:cve_nist:`2024-57910`, :cve_nist:`2024-57911`, :cve_nist:`2024-57912`, :cve_nist:`2024-57913`,
|
||||||
|
:cve_nist:`2024-57916`, :cve_nist:`2024-57922`, :cve_nist:`2024-57925`, :cve_nist:`2024-57926`,
|
||||||
|
:cve_nist:`2024-57933`, :cve_nist:`2024-57938`, :cve_nist:`2024-57939`, :cve_nist:`2024-57940`,
|
||||||
|
:cve_nist:`2024-57949`, :cve_nist:`2024-57951`, :cve_nist:`2025-21631`, :cve_nist:`2025-21636`,
|
||||||
|
:cve_nist:`2025-21637`, :cve_nist:`2025-21638`, :cve_nist:`2025-21639`, :cve_nist:`2025-21640`,
|
||||||
|
:cve_nist:`2025-21642`, :cve_nist:`2025-21652`, :cve_nist:`2025-21658`, :cve_nist:`2025-21665`,
|
||||||
|
:cve_nist:`2025-21666`, :cve_nist:`2025-21667`, :cve_nist:`2025-21669`, :cve_nist:`2025-21670`,
|
||||||
|
:cve_nist:`2025-21671`, :cve_nist:`2025-21673`, :cve_nist:`2025-21674`, :cve_nist:`2025-21675`,
|
||||||
|
:cve_nist:`2025-21676`, :cve_nist:`2025-21680`, :cve_nist:`2025-21681`, :cve_nist:`2025-21683`,
|
||||||
|
:cve_nist:`2025-21684`, :cve_nist:`2025-21687`, :cve_nist:`2025-21689`, :cve_nist:`2025-21690`,
|
||||||
|
:cve_nist:`2025-21692`, :cve_nist:`2025-21694`, :cve_nist:`2025-21697` and :cve_nist:`2025-21699`
|
||||||
|
- openssh: Fix :cve_nist:`2025-26466`
|
||||||
|
- openssl: Fix :cve_nist:`2024-9143`, :cve_nist:`2024-12797` and :cve_nist:`2024-13176`
|
||||||
|
- pyhton3: Fix :cve_nist:`2024-12254` and :cve_nist:`2025-0938`
|
||||||
|
- subversion: Ignore :cve_nist:`2024-45720`
|
||||||
|
- u-boot: Fix :cve_nist:`2024-57254`, :cve_nist:`2024-57255`, :cve_nist:`2024-57256`,
|
||||||
|
:cve_nist:`2024-57257`, :cve_nist:`2024-57258` and :cve_nist:`2024-57259`
|
||||||
|
- vim: Fix :cve_nist:`2025-22134` and :cve_nist:`2025-24014`
|
||||||
|
- xwayland: Fix :cve_nist:`2024-9632`, :cve_nist:`2025-26594`, :cve_nist:`2025-26595`,
|
||||||
|
:cve_nist:`2025-26596`, :cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`,
|
||||||
|
:cve_nist:`2025-26600` and :cve_nist:`2025-26601`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.0.8
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- base-files: Drop /bin/sh dependency
|
||||||
|
- bind: upgrade to 9.18.33
|
||||||
|
- binutils: File name too long causing failure to open temporary head file in dlltool
|
||||||
|
- binutils: stable 2.42 branch update
|
||||||
|
- bitbake: bblayers/query: Fix using "removeprefix" string method
|
||||||
|
- bitbake: bitbake-diffsigs: fix handling when finding only a single sigfile
|
||||||
|
- bitbake: data_smart.py: clear expand_cache in _setvar_update_overridevars
|
||||||
|
- bitbake: data_smart.py: remove unnecessary ? from __expand_var_regexp__
|
||||||
|
- bitbake: data_smart.py: simple clean up
|
||||||
|
- build-appliance-image: Update to scarthgap head revision
|
||||||
|
- ccache.conf: Add include_file_ctime to sloppiness
|
||||||
|
- cmake: apply parallel build settings to ptest tasks
|
||||||
|
- contributor-guide/submit-changes: add policy on AI generated code
|
||||||
|
- dev-manual/building: document the initramfs-framework recipe
|
||||||
|
- devtool: ide-sdk recommend :term:`DEBUG_BUILD`
|
||||||
|
- devtool: ide-sdk remove the plugin from eSDK installer
|
||||||
|
- devtool: ide-sdk sort cmake preset
|
||||||
|
- devtool: modify support debug-builds
|
||||||
|
- docs: Add favicon for the documentation html
|
||||||
|
- docs: Fix typo in standards.md
|
||||||
|
- docs: Remove all mention of core-image-lsb
|
||||||
|
- docs: vulnerabilities/classes: remove references to cve-check text format
|
||||||
|
- files: Amend overlayfs unit descriptions with path information
|
||||||
|
- files: overlayfs-create-dirs: Improve mount unit dependency
|
||||||
|
- glibc: stable 2.39 branch updates
|
||||||
|
- gnupg: upgrade to 2.4.5
|
||||||
|
- go: upgrade 1.22.12
|
||||||
|
- icu: remove host references in nativesdk to fix reproducibility
|
||||||
|
- libtasn1: upgrade to 4.20.0
|
||||||
|
- libxml2: upgrade to 2.12.10
|
||||||
|
- linux-yocto/6.6: upgrade to v6.6.75
|
||||||
|
- meta: Enable '-o pipefail' for the SDK installer
|
||||||
|
- migration-guides: add release notes for 4.0.24, 4.0.25 and 5.0.7
|
||||||
|
- oe-selftest: devtool ide-sdk use modify debug-build
|
||||||
|
- oeqa/sdk/context: fix for gtk3 test failure during do_testsdk
|
||||||
|
- oeqa/selftest/rust: skip on all MIPS platforms
|
||||||
|
- openssl: upgrade to 3.2.4
|
||||||
|
- pkg-config-native: pick additional search paths from $EXTRA_NATIVE_PKGCONFIG_PATH
|
||||||
|
- poky.conf: add ubuntu2404 to :term:`SANITY_TESTED_DISTROS`
|
||||||
|
- poky.conf: bump version for 5.0.8
|
||||||
|
- ppp: Revert lock path to /var/lock
|
||||||
|
- python3-setuptools-scm: respect GIT_CEILING_DIRECTORIES
|
||||||
|
- python3: upgrade to 3.12.9
|
||||||
|
- qemu: Do not define sched_attr with glibc >= 2.41
|
||||||
|
- ref-manual/faq: add q&a on systemd as default
|
||||||
|
- ref-manual: Add missing variable :term:`IMAGE_ROOTFS_MAXSIZE`
|
||||||
|
- ref-manual: don't refer to poky-lsb
|
||||||
|
- ref-manual: remove OE_IMPORTS
|
||||||
|
- rust-common.bbclass: soft assignment for RUSTLIB path
|
||||||
|
- rust: fix for rust multilib sdk configuration
|
||||||
|
- rust: remove redundant cargo config file
|
||||||
|
- scripts/install-buildtools: Update to 5.0.7
|
||||||
|
- sdk-manual: extensible.rst: devtool ide-sdk improve
|
||||||
|
- sdk-manual: extensible.rst: update devtool ide-sdk
|
||||||
|
- selftest/rust: correctly form the PATH environment variable
|
||||||
|
- systemd: add libpcre2 as :term:`RRECOMMENDS` if pcre2 is enabled
|
||||||
|
- systemd: upgrade to 255.17
|
||||||
|
- test-manual/ptest: link to common framework ptest classes
|
||||||
|
- tzcode-native: Fix compiler setting from 2023d version
|
||||||
|
- tzdata/tzcode-native: upgrade to 2025a
|
||||||
|
- u-boot: kernel-fitimage: Fix dependency loop if :term:`UBOOT_SIGN_ENABLE` and UBOOT_ENV enabled
|
||||||
|
- u-boot: kernel-fitimage: Restore FIT_SIGN_INDIVIDUAL="1" behavior
|
||||||
|
- uboot-config: fix devtool modify with kernel-fitimage
|
||||||
|
- vim: upgrade to 9.1.1043
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.0.8
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
Contributors to Yocto-5.0.8
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Adrian Freihofer
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alessio Cascone
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Alexis Cellier
|
||||||
|
- Antonin Godard
|
||||||
|
- Archana Polampalli
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Chen Qi
|
||||||
|
- Deepesh Varatharajan
|
||||||
|
- Divya Chellam
|
||||||
|
- Enrico Jörns
|
||||||
|
- Esben Haabendal
|
||||||
|
- Etienne Cordonnier
|
||||||
|
- Fabio Berton
|
||||||
|
- Guðni Már Gilbert
|
||||||
|
- Harish Sadineni
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Hongxu Jia
|
||||||
|
- Jiaying Song
|
||||||
|
- Joerg Schmidt
|
||||||
|
- Johannes Schneider
|
||||||
|
- Khem Raj
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Marek Vasut
|
||||||
|
- Marta Rybczynska
|
||||||
|
- Moritz Haase
|
||||||
|
- Oleksandr Hnatiuk
|
||||||
|
- Pedro Ferreira
|
||||||
|
- Peter Marko
|
||||||
|
- Poonam Jadhav
|
||||||
|
- Priyal Doshi
|
||||||
|
- Ross Burton
|
||||||
|
- Simon A. Eugster
|
||||||
|
- Steve Sakoman
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Weisser, Pascal
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.0.8
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.8 </poky/log/?h=yocto-5.0.8>`
|
||||||
|
- Git Revision: :yocto_git:`dc4827b3660bc1a03a2bc3b0672615b50e9137ff </poky/commit/?id=dc4827b3660bc1a03a2bc3b0672615b50e9137ff>`
|
||||||
|
- Release Artefact: poky-dc4827b3660bc1a03a2bc3b0672615b50e9137ff
|
||||||
|
- sha: ace7264e16e18ed02ef0ad2935fa10b5fad2c4de38b2356f4192b38ef2184504
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.8/poky-dc4827b3660bc1a03a2bc3b0672615b50e9137ff.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.8/poky-dc4827b3660bc1a03a2bc3b0672615b50e9137ff.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.8 </openembedded-core/log/?h=yocto-5.0.8>`
|
||||||
|
- Git Revision: :oe_git:`cd2b6080a4c0f2ed2c9939ec0b87763aef595048 </openembedded-core/commit/?id=cd2b6080a4c0f2ed2c9939ec0b87763aef595048>`
|
||||||
|
- Release Artefact: oecore-cd2b6080a4c0f2ed2c9939ec0b87763aef595048
|
||||||
|
- sha: 14c7cd5c62a96ceb9c2141164ea0f087fdbaed99ca3e9a722977a3f12d6381f6
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.8/oecore-cd2b6080a4c0f2ed2c9939ec0b87763aef595048.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.8/oecore-cd2b6080a4c0f2ed2c9939ec0b87763aef595048.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.8 </meta-mingw/log/?h=yocto-5.0.8>`
|
||||||
|
- Git Revision: :yocto_git:`bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f </meta-mingw/commit/?id=bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f>`
|
||||||
|
- Release Artefact: meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f
|
||||||
|
- sha: ab073def6487f237ac125d239b3739bf02415270959546b6b287778664f0ae65
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.8/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.8/meta-mingw-bd9fef71ec005be3c3a6d7f8b99d8116daf70c4f.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>`
|
||||||
|
- Tag: :oe_git:`yocto-5.0.8 </bitbake/log/?h=yocto-5.0.8>`
|
||||||
|
- Git Revision: :oe_git:`7375d32e8c1af20c51abec4eb3b072b4ca58b239 </bitbake/commit/?id=7375d32e8c1af20c51abec4eb3b072b4ca58b239>`
|
||||||
|
- Release Artefact: bitbake-7375d32e8c1af20c51abec4eb3b072b4ca58b239
|
||||||
|
- sha: 13dffbc162c5b6e2c95fa72936a430b9a542d52d81d502a5d0afc592fbf4a16b
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.0.8/bitbake-7375d32e8c1af20c51abec4eb3b072b4ca58b239.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.0.8/bitbake-7375d32e8c1af20c51abec4eb3b072b4ca58b239.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.0.8 </yocto-docs/log/?h=yocto-5.0.8>`
|
||||||
|
- Git Revision: :yocto_git:`7d3cce5b962ca9f73b29affceb7ebc6710627739 </yocto-docs/commit/?id=7d3cce5b962ca9f73b29affceb7ebc6710627739>`
|
||||||
|
|
||||||
289
documentation/migration-guides/release-notes-5.1.1.rst
Normal file
312
documentation/migration-guides/release-notes-5.1.2.rst
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
Release notes for Yocto-5.1.2 (Styhead)
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.1.2
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: Fix :cve_nist:`2024-53589`
|
||||||
|
- curl: Fix :cve_nist:`2024-9681`
|
||||||
|
- ghostscript: Fix :cve_nist:`2024-46951`, :cve_nist:`2024-46952`, :cve_nist:`2024-46953`,
|
||||||
|
:cve_nist:`2024-46954`, :cve_nist:`2024-46955` and :cve_nist:`2024-46956`
|
||||||
|
- gstreamer1.0: Fix :cve_nist:`2024-47606`
|
||||||
|
- gstreamer1.0-plugins-base: Fix :cve_nist:`2024-47538`, :cve_nist:`2024-47541`,
|
||||||
|
:cve_nist:`2024-47542`, :cve_nist:`2024-47600`, :cve_nist:`2024-47607`, :cve_nist:`2024-47615`
|
||||||
|
and :cve_nist:`2024-47835`
|
||||||
|
- gstreamer1.0-plugins-good: Fix :cve_nist:`2024-47537`, :cve_nist:`2024-47539`,
|
||||||
|
:cve_nist:`2024-47540`, :cve_nist:`2024-47543`, :cve_nist:`2024-47544`, :cve_nist:`2024-47545`,
|
||||||
|
:cve_nist:`2024-47546`, :cve_nist:`2024-47596`, :cve_nist:`2024-47597`, :cve_nist:`2024-47598`,
|
||||||
|
:cve_nist:`2024-47599`, :cve_nist:`2024-47601`, :cve_nist:`2024-47602`, :cve_nist:`2024-47603`,
|
||||||
|
:cve_nist:`2024-47606`, :cve_nist:`2024-47613`, :cve_nist:`2024-47774`, :cve_nist:`2024-47775`,
|
||||||
|
:cve_nist:`2024-47776`, :cve_nist:`2024-47777`, :cve_nist:`2024-47778` and :cve_nist:`2024-47834`
|
||||||
|
- gstreamer1.0-rtsp-server: Fix :cve_nist:`2024-44331`
|
||||||
|
- libarchive: Fix :cve_nist:`2024-48957` and :cve_nist:`2024-48958`
|
||||||
|
- libexpat: Fix :cve_nist:`2024-50602`
|
||||||
|
- libsndfile1: Fix :cve_nist:`2024-50612`
|
||||||
|
- linux-yocto/6.6: Fix :cve_nist:`2024-27059`, :cve_nist:`2024-47704`, :cve_nist:`2024-49863`,
|
||||||
|
:cve_nist:`2024-49864`, :cve_nist:`2024-49866`, :cve_nist:`2024-49867`, :cve_nist:`2024-49868`,
|
||||||
|
:cve_nist:`2024-49870`, :cve_nist:`2024-49871`, :cve_nist:`2024-49874`, :cve_nist:`2024-49875`,
|
||||||
|
:cve_nist:`2024-49877`, :cve_nist:`2024-49878`, :cve_nist:`2024-49879`, :cve_nist:`2024-49881`,
|
||||||
|
:cve_nist:`2024-49882`, :cve_nist:`2024-49883`, :cve_nist:`2024-49884`, :cve_nist:`2024-49886`,
|
||||||
|
:cve_nist:`2024-49889`, :cve_nist:`2024-49890`, :cve_nist:`2024-49892`, :cve_nist:`2024-49894`,
|
||||||
|
:cve_nist:`2024-49895`, :cve_nist:`2024-49896`, :cve_nist:`2024-49900`, :cve_nist:`2024-49901`,
|
||||||
|
:cve_nist:`2024-49902`, :cve_nist:`2024-49903`, :cve_nist:`2024-49905`, :cve_nist:`2024-49907`,
|
||||||
|
:cve_nist:`2024-49912`, :cve_nist:`2024-49913`, :cve_nist:`2024-49924`, :cve_nist:`2024-49925`,
|
||||||
|
:cve_nist:`2024-49927`, :cve_nist:`2024-49929`, :cve_nist:`2024-49930`, :cve_nist:`2024-49931`,
|
||||||
|
:cve_nist:`2024-49933`, :cve_nist:`2024-49935`, :cve_nist:`2024-49936`, :cve_nist:`2024-49937`,
|
||||||
|
:cve_nist:`2024-49938`, :cve_nist:`2024-49939`, :cve_nist:`2024-49944`, :cve_nist:`2024-49946`,
|
||||||
|
:cve_nist:`2024-49947`, :cve_nist:`2024-49948`, :cve_nist:`2024-49949`, :cve_nist:`2024-49950`,
|
||||||
|
:cve_nist:`2024-49951`, :cve_nist:`2024-49952`, :cve_nist:`2024-49953`, :cve_nist:`2024-49954`,
|
||||||
|
:cve_nist:`2024-49955`, :cve_nist:`2024-49957`, :cve_nist:`2024-49958`, :cve_nist:`2024-49959`,
|
||||||
|
:cve_nist:`2024-49960`, :cve_nist:`2024-49961`, :cve_nist:`2024-49962`, :cve_nist:`2024-49963`,
|
||||||
|
:cve_nist:`2024-49965`, :cve_nist:`2024-49966`, :cve_nist:`2024-49969`, :cve_nist:`2024-49973`,
|
||||||
|
:cve_nist:`2024-49975`, :cve_nist:`2024-49976`, :cve_nist:`2024-49977`, :cve_nist:`2024-49978`,
|
||||||
|
:cve_nist:`2024-49980`, :cve_nist:`2024-49981`, :cve_nist:`2024-49982`, :cve_nist:`2024-49983`,
|
||||||
|
:cve_nist:`2024-49985`, :cve_nist:`2024-49986`, :cve_nist:`2024-49987`, :cve_nist:`2024-49988`,
|
||||||
|
:cve_nist:`2024-49989`, :cve_nist:`2024-49991`, :cve_nist:`2024-49992`, :cve_nist:`2024-49995`,
|
||||||
|
:cve_nist:`2024-49996`, :cve_nist:`2024-49997`, :cve_nist:`2024-50000`, :cve_nist:`2024-50001`,
|
||||||
|
:cve_nist:`2024-50002`, :cve_nist:`2024-50003`, :cve_nist:`2024-50005`, :cve_nist:`2024-50006`,
|
||||||
|
:cve_nist:`2024-50007`, :cve_nist:`2024-50008`, :cve_nist:`2024-50012`, :cve_nist:`2024-50013`,
|
||||||
|
:cve_nist:`2024-50015`, :cve_nist:`2024-50016`, :cve_nist:`2024-50019`, :cve_nist:`2024-50022`,
|
||||||
|
:cve_nist:`2024-50023`, :cve_nist:`2024-50024`, :cve_nist:`2024-50026`, :cve_nist:`2024-50029`,
|
||||||
|
:cve_nist:`2024-50031`, :cve_nist:`2024-50032`, :cve_nist:`2024-50033`, :cve_nist:`2024-50035`,
|
||||||
|
:cve_nist:`2024-50036`, :cve_nist:`2024-50038`, :cve_nist:`2024-50039`, :cve_nist:`2024-50040`,
|
||||||
|
:cve_nist:`2024-50041`, :cve_nist:`2024-50044`, :cve_nist:`2024-50045`, :cve_nist:`2024-50046`,
|
||||||
|
:cve_nist:`2024-50047`, :cve_nist:`2024-50048`, :cve_nist:`2024-50049`, :cve_nist:`2024-50055`,
|
||||||
|
:cve_nist:`2024-50057`, :cve_nist:`2024-50058`, :cve_nist:`2024-50059`, :cve_nist:`2024-50060`,
|
||||||
|
:cve_nist:`2024-50061`, :cve_nist:`2024-50062`, :cve_nist:`2024-50063`, :cve_nist:`2024-50064`,
|
||||||
|
:cve_nist:`2024-50065`, :cve_nist:`2024-50066`, :cve_nist:`2024-50069`, :cve_nist:`2024-50070`,
|
||||||
|
:cve_nist:`2024-50072`, :cve_nist:`2024-50073`, :cve_nist:`2024-50074`, :cve_nist:`2024-50075`,
|
||||||
|
:cve_nist:`2024-50076`, :cve_nist:`2024-50077`, :cve_nist:`2024-50078`, :cve_nist:`2024-50080`,
|
||||||
|
:cve_nist:`2024-50082`, :cve_nist:`2024-50083`, :cve_nist:`2024-50084`, :cve_nist:`2024-50085`,
|
||||||
|
:cve_nist:`2024-50086`, :cve_nist:`2024-50087`, :cve_nist:`2024-50088`, :cve_nist:`2024-50093`,
|
||||||
|
:cve_nist:`2024-50095`, :cve_nist:`2024-50096`, :cve_nist:`2024-50098`, :cve_nist:`2024-50099`,
|
||||||
|
:cve_nist:`2024-50101`, :cve_nist:`2024-50103`, :cve_nist:`2024-50108`, :cve_nist:`2024-50110`,
|
||||||
|
:cve_nist:`2024-50111`, :cve_nist:`2024-50112`, :cve_nist:`2024-50115`, :cve_nist:`2024-50116`,
|
||||||
|
:cve_nist:`2024-50117`, :cve_nist:`2024-50120`, :cve_nist:`2024-50121`, :cve_nist:`2024-50124`,
|
||||||
|
:cve_nist:`2024-50125`, :cve_nist:`2024-50126`, :cve_nist:`2024-50127`, :cve_nist:`2024-50128`,
|
||||||
|
:cve_nist:`2024-50130`, :cve_nist:`2024-50131`, :cve_nist:`2024-50133`, :cve_nist:`2024-50134`,
|
||||||
|
:cve_nist:`2024-50135`, :cve_nist:`2024-50136`, :cve_nist:`2024-50139`, :cve_nist:`2024-50140`,
|
||||||
|
:cve_nist:`2024-50141`, :cve_nist:`2024-50142`, :cve_nist:`2024-50143`, :cve_nist:`2024-50145`,
|
||||||
|
:cve_nist:`2024-50147`, :cve_nist:`2024-50148`, :cve_nist:`2024-50150`, :cve_nist:`2024-50151`,
|
||||||
|
:cve_nist:`2024-50152`, :cve_nist:`2024-50153`, :cve_nist:`2024-50154`, :cve_nist:`2024-50155`,
|
||||||
|
:cve_nist:`2024-50156`, :cve_nist:`2024-50158`, :cve_nist:`2024-50159`, :cve_nist:`2024-50160`,
|
||||||
|
:cve_nist:`2024-50162`, :cve_nist:`2024-50163`, :cve_nist:`2024-50164`, :cve_nist:`2024-50166`,
|
||||||
|
:cve_nist:`2024-50167`, :cve_nist:`2024-50168`, :cve_nist:`2024-50169`, :cve_nist:`2024-50170`,
|
||||||
|
:cve_nist:`2024-50171`, :cve_nist:`2024-50172`, :cve_nist:`2024-50175`, :cve_nist:`2024-50176`,
|
||||||
|
:cve_nist:`2024-50179`, :cve_nist:`2024-50180`, :cve_nist:`2024-50181`, :cve_nist:`2024-50182`,
|
||||||
|
:cve_nist:`2024-50183`, :cve_nist:`2024-50184`, :cve_nist:`2024-50185`, :cve_nist:`2024-50186`,
|
||||||
|
:cve_nist:`2024-50187`, :cve_nist:`2024-50188`, :cve_nist:`2024-50189`, :cve_nist:`2024-50191`,
|
||||||
|
:cve_nist:`2024-50192`, :cve_nist:`2024-50193`, :cve_nist:`2024-50194`, :cve_nist:`2024-50195`,
|
||||||
|
:cve_nist:`2024-50196`, :cve_nist:`2024-50198`, :cve_nist:`2024-50201`, :cve_nist:`2024-50202`,
|
||||||
|
:cve_nist:`2024-50205`, :cve_nist:`2024-50208`, :cve_nist:`2024-50209`, :cve_nist:`2024-50211`,
|
||||||
|
:cve_nist:`2024-50215`, :cve_nist:`2024-50222`, :cve_nist:`2024-50223`, :cve_nist:`2024-50224`,
|
||||||
|
:cve_nist:`2024-50226`, :cve_nist:`2024-50229`, :cve_nist:`2024-50230`, :cve_nist:`2024-50231`,
|
||||||
|
:cve_nist:`2024-50232`, :cve_nist:`2024-50233`, :cve_nist:`2024-50234`, :cve_nist:`2024-50235`,
|
||||||
|
:cve_nist:`2024-50236`, :cve_nist:`2024-50237`, :cve_nist:`2024-50239`, :cve_nist:`2024-50240`,
|
||||||
|
:cve_nist:`2024-50242`, :cve_nist:`2024-50243`, :cve_nist:`2024-50244`, :cve_nist:`2024-50245`,
|
||||||
|
:cve_nist:`2024-50246`, :cve_nist:`2024-50247`, :cve_nist:`2024-50248`, :cve_nist:`2024-50249`,
|
||||||
|
:cve_nist:`2024-50250`, :cve_nist:`2024-50251`, :cve_nist:`2024-50252`, :cve_nist:`2024-50255`,
|
||||||
|
:cve_nist:`2024-50256`, :cve_nist:`2024-50257`, :cve_nist:`2024-50258`, :cve_nist:`2024-50259`,
|
||||||
|
:cve_nist:`2024-50261`, :cve_nist:`2024-50262`, :cve_nist:`2024-50264`, :cve_nist:`2024-50265`,
|
||||||
|
:cve_nist:`2024-50267`, :cve_nist:`2024-50268`, :cve_nist:`2024-50269`, :cve_nist:`2024-50271`,
|
||||||
|
:cve_nist:`2024-50272`, :cve_nist:`2024-50273`, :cve_nist:`2024-50275`, :cve_nist:`2024-50276`,
|
||||||
|
:cve_nist:`2024-50278`, :cve_nist:`2024-50279`, :cve_nist:`2024-50282`, :cve_nist:`2024-50283`,
|
||||||
|
:cve_nist:`2024-50284`, :cve_nist:`2024-50285`, :cve_nist:`2024-50286`, :cve_nist:`2024-50287`,
|
||||||
|
:cve_nist:`2024-50292`, :cve_nist:`2024-50296`, :cve_nist:`2024-50298`, :cve_nist:`2024-50299`,
|
||||||
|
:cve_nist:`2024-50300`, :cve_nist:`2024-50301`, :cve_nist:`2024-50302`, :cve_nist:`2024-53042`,
|
||||||
|
:cve_nist:`2024-53043`, :cve_nist:`2024-53046`, :cve_nist:`2024-53047`, :cve_nist:`2024-53052`,
|
||||||
|
:cve_nist:`2024-53055`, :cve_nist:`2024-53057`, :cve_nist:`2024-53058`, :cve_nist:`2024-53059`,
|
||||||
|
:cve_nist:`2024-53060`, :cve_nist:`2024-53061`, :cve_nist:`2024-53063`, :cve_nist:`2024-53066`,
|
||||||
|
:cve_nist:`2024-53068`, :cve_nist:`2024-53072`, :cve_nist:`2024-53076`, :cve_nist:`2024-53079`,
|
||||||
|
:cve_nist:`2024-53081`, :cve_nist:`2024-53082`, :cve_nist:`2024-53083`, :cve_nist:`2024-53088`,
|
||||||
|
:cve_nist:`2024-53091`, :cve_nist:`2024-53093`, :cve_nist:`2024-53094`, :cve_nist:`2024-53096`,
|
||||||
|
:cve_nist:`2024-53099`, :cve_nist:`2024-53100`, :cve_nist:`2024-53101`, :cve_nist:`2024-53103`,
|
||||||
|
:cve_nist:`2024-53108`, :cve_nist:`2024-53109`, :cve_nist:`2024-53110`, :cve_nist:`2024-53112`,
|
||||||
|
:cve_nist:`2024-53113`, :cve_nist:`2024-53119`, :cve_nist:`2024-53120`, :cve_nist:`2024-53121`,
|
||||||
|
:cve_nist:`2024-53122`, :cve_nist:`2024-53123`, :cve_nist:`2024-53126`, :cve_nist:`2024-53127`,
|
||||||
|
:cve_nist:`2024-53129`, :cve_nist:`2024-53130`, :cve_nist:`2024-53131`, :cve_nist:`2024-53134`,
|
||||||
|
:cve_nist:`2024-53135`, :cve_nist:`2024-53138`, :cve_nist:`2024-53139`, :cve_nist:`2024-53140`,
|
||||||
|
:cve_nist:`2024-53141`, :cve_nist:`2024-53142`, :cve_nist:`2024-53145`, :cve_nist:`2024-53146`,
|
||||||
|
:cve_nist:`2024-53150`, :cve_nist:`2024-53151`, :cve_nist:`2024-53154`, :cve_nist:`2024-53155`,
|
||||||
|
:cve_nist:`2024-53156`, :cve_nist:`2024-53157`, :cve_nist:`2024-53165`, :cve_nist:`2024-53166`,
|
||||||
|
:cve_nist:`2024-53171`, :cve_nist:`2024-53173`, :cve_nist:`2024-53180`, :cve_nist:`2024-53188`,
|
||||||
|
:cve_nist:`2024-53200`, :cve_nist:`2024-53202`, :cve_nist:`2024-53208`, :cve_nist:`2024-53210`,
|
||||||
|
:cve_nist:`2024-53213`, :cve_nist:`2024-53226`, :cve_nist:`2024-53227`, :cve_nist:`2024-53230`,
|
||||||
|
:cve_nist:`2024-53231`, :cve_nist:`2024-53237`, :cve_nist:`2024-54683`, :cve_nist:`2024-55916`,
|
||||||
|
:cve_nist:`2024-56369`, :cve_nist:`2024-56538`, :cve_nist:`2024-56551`, :cve_nist:`2024-56567`,
|
||||||
|
:cve_nist:`2024-56572`, :cve_nist:`2024-56574`, :cve_nist:`2024-56577`, :cve_nist:`2024-56578`,
|
||||||
|
:cve_nist:`2024-56579`, :cve_nist:`2024-56581`, :cve_nist:`2024-56593`, :cve_nist:`2024-56595`,
|
||||||
|
:cve_nist:`2024-56596`, :cve_nist:`2024-56598`, :cve_nist:`2024-56600`, :cve_nist:`2024-56601`,
|
||||||
|
:cve_nist:`2024-56602`, :cve_nist:`2024-56603`, :cve_nist:`2024-56604`, :cve_nist:`2024-56605`,
|
||||||
|
:cve_nist:`2024-56606`, :cve_nist:`2024-56611`, :cve_nist:`2024-56613`, :cve_nist:`2024-56614`,
|
||||||
|
:cve_nist:`2024-56615`, :cve_nist:`2024-56617`, :cve_nist:`2024-56622`, :cve_nist:`2024-56623`,
|
||||||
|
:cve_nist:`2024-56626`, :cve_nist:`2024-56627`, :cve_nist:`2024-56629`, :cve_nist:`2024-56631`,
|
||||||
|
:cve_nist:`2024-56634`, :cve_nist:`2024-56640`, :cve_nist:`2024-56642`, :cve_nist:`2024-56643`,
|
||||||
|
:cve_nist:`2024-56648`, :cve_nist:`2024-56649`, :cve_nist:`2024-56650`, :cve_nist:`2024-56651`,
|
||||||
|
:cve_nist:`2024-56653`, :cve_nist:`2024-56654`, :cve_nist:`2024-56657`, :cve_nist:`2024-56658`,
|
||||||
|
:cve_nist:`2024-56659`, :cve_nist:`2024-56660`, :cve_nist:`2024-56662`, :cve_nist:`2024-56663`,
|
||||||
|
:cve_nist:`2024-56664`, :cve_nist:`2024-56667`, :cve_nist:`2024-56670`, :cve_nist:`2024-56672`,
|
||||||
|
:cve_nist:`2024-56675`, :cve_nist:`2024-56688`, :cve_nist:`2024-56689`, :cve_nist:`2024-56692`,
|
||||||
|
:cve_nist:`2024-56694`, :cve_nist:`2024-56704`, :cve_nist:`2024-56708`, :cve_nist:`2024-56710`,
|
||||||
|
:cve_nist:`2024-56715`, :cve_nist:`2024-56716`, :cve_nist:`2024-56717`, :cve_nist:`2024-56718`,
|
||||||
|
:cve_nist:`2024-56720`, :cve_nist:`2024-56722`, :cve_nist:`2024-56723`, :cve_nist:`2024-56724`,
|
||||||
|
:cve_nist:`2024-56725`, :cve_nist:`2024-56726`, :cve_nist:`2024-56727`, :cve_nist:`2024-56728`,
|
||||||
|
:cve_nist:`2024-56729`, :cve_nist:`2024-56739`, :cve_nist:`2024-56741`, :cve_nist:`2024-56744`,
|
||||||
|
:cve_nist:`2024-56745`, :cve_nist:`2024-56746`, :cve_nist:`2024-56747`, :cve_nist:`2024-56748`,
|
||||||
|
:cve_nist:`2024-56751`, :cve_nist:`2024-56752`, :cve_nist:`2024-56754`, :cve_nist:`2024-56755`,
|
||||||
|
:cve_nist:`2024-56756`, :cve_nist:`2024-56760`, :cve_nist:`2024-56763`, :cve_nist:`2024-56765`,
|
||||||
|
:cve_nist:`2024-56767`, :cve_nist:`2024-56769`, :cve_nist:`2024-56770`, :cve_nist:`2024-56774`,
|
||||||
|
:cve_nist:`2024-56776`, :cve_nist:`2024-56777`, :cve_nist:`2024-56778`, :cve_nist:`2024-56779`,
|
||||||
|
:cve_nist:`2024-56780`, :cve_nist:`2024-56781`, :cve_nist:`2024-56783`, :cve_nist:`2024-56785`,
|
||||||
|
:cve_nist:`2024-56786`, :cve_nist:`2024-56787` and :cve_nist:`2024-57807`
|
||||||
|
- qemu: Fix :cve_nist:`2024-6505`
|
||||||
|
- rust: Ignore :cve_nist:`2024-43402`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.1.2
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: stable 2.43.1 branch update
|
||||||
|
- bitbake: runqueue: Fix performance of multiconfigs with large overlap
|
||||||
|
- bitbake: runqueue: Fix scenetask processing performance issue
|
||||||
|
- bitbake: runqueue: Optimise setscene loop processing
|
||||||
|
- build-appliance-image: Update to styhead head revision
|
||||||
|
- builder: set :term:`CVE_PRODUCT`
|
||||||
|
- buildtools-docs-tarball: Add rsvg so we can handle svg files in docs
|
||||||
|
- connman: Fix restart script
|
||||||
|
- contributor-guide: submit-changes.rst: suggest to remove the git signature
|
||||||
|
- cve-update-nvd2-native: Handle :term:`BB_NO_NETWORK` and missing db
|
||||||
|
- cve-update-nvd2-native: Tweak to work better with NFS :term:`DL_DIR`
|
||||||
|
- dev-manual: bmaptool.rst: correct command for bmaptool-native
|
||||||
|
- dev-manual: bmaptool.rst: simplify and fix instructions
|
||||||
|
- dev-manual: fix styling of references to bmaptool
|
||||||
|
- dnf: drop python3-iniparse from :term:`DEPENDS` and :term:`RDEPENDS`
|
||||||
|
- do_package/sstate/sstatesig: Change timestamp clamping to hash output only
|
||||||
|
- docs: Gather dependencies in poky.yaml.in
|
||||||
|
- docs: Update the documentation for :term:`SRCPV`
|
||||||
|
- docs: standards.md: add a section on admonitions
|
||||||
|
- docs: update current releases
|
||||||
|
- expat: upgrade to 2.6.4
|
||||||
|
- gcc: Fix c++: tweak for Wrange-loop-construct
|
||||||
|
- ghostscript: upgrade 10.04.0
|
||||||
|
- glibc: stable 2.40 branch updates.
|
||||||
|
- groff: Fix race issues for parallel build
|
||||||
|
- gstreamer1.0-libav: explicitly disable documentation
|
||||||
|
- gstreamer1.0: run ptests in parallel
|
||||||
|
- gstreamer1.0: upgrade to 1.24.10
|
||||||
|
- linux-yocto/6.6: bsp/genericarm64: disable ARM64_SME
|
||||||
|
- linux-yocto/6.6: genericarm64.cfg: enable CONFIG_DMA_CMA
|
||||||
|
- linux-yocto/6.6: update to v6.6.69
|
||||||
|
- lttng-modules: fix sched_stat_runtime changed in Linux 6.6.66
|
||||||
|
- migration-guides: add release notes for 4.0.23, 5.0.4, 5.0.5 and 5.1.1
|
||||||
|
- oeqa/ssh: Improve performance and log sizes
|
||||||
|
- oeqa/utils/gitarchive: Return tag name and improve exclude handling
|
||||||
|
- poky.conf: add new tested distros
|
||||||
|
- poky.conf: bump version for 5.1.2
|
||||||
|
- poky.yaml.in: add missing locales dependency
|
||||||
|
- poky.yaml.in: replace inkscape dependency by librsvg2-bin
|
||||||
|
- populate_sdk_ext: write_local_conf add shutil import
|
||||||
|
- python3-poetry-core: drop python3-six from :term:`RDEPENDS`
|
||||||
|
- python3: upgrade to 3.12.8
|
||||||
|
- ref-manual: SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication
|
||||||
|
- ref-manual: classes: fix bin_package description
|
||||||
|
- ref-manual: devtool-reference: add warning note on deploy-target and shared objects
|
||||||
|
- ref-manual: merge two separate descriptions of :term:`RECIPE_UPGRADE_EXTRA_TASKS`
|
||||||
|
- ref-manual: move runtime-testing section to the test-manual
|
||||||
|
- ref-manual: packages: move ptest section to the test-manual
|
||||||
|
- ref-manual: qa-checks: remove patch-status-core/patch-status-noncore
|
||||||
|
- ref-manual: use standardized method accross both ubuntu and debian for locale install
|
||||||
|
- reproducible-builds.rst: show how to build a single package
|
||||||
|
- resulttool: Add --logfile-archive option to store mode
|
||||||
|
- resulttool: Allow store to filter to specific revisions
|
||||||
|
- resulttool: Clean up repoducible build logs
|
||||||
|
- resulttool: Fix passthrough of --all files in store mode
|
||||||
|
- resulttool: Handle ltp rawlogs as well as ptest
|
||||||
|
- resulttool: Improve repo layout for oeselftest results
|
||||||
|
- resulttool: Trim the precision of duration information
|
||||||
|
- resulttool: Use single space indentation in json output
|
||||||
|
- rxvt-unicode.inc: disable the terminfo installation by setting TIC to :
|
||||||
|
- selftest/reproducible: Clean up pathnames
|
||||||
|
- selftest/reproducible: Drop rawlogs
|
||||||
|
- shadow: use update-alternatives to handle su.1 and nologin.8
|
||||||
|
- system-requirements.rst: add dependencies for pdf builds
|
||||||
|
- system-requirements: add fedora 39 to supported distros
|
||||||
|
- system-requirements: update list of supported distros
|
||||||
|
- systemd-boot: drop intltool-native from :term:`DEPENDS`
|
||||||
|
- systemd: drop intltool-native from :term:`DEPENDS`
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.1.2
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-5.1.2
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Antonin Godard
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Changqing Li
|
||||||
|
- Deepthi Hemraj
|
||||||
|
- Guénaël Muller
|
||||||
|
- Guðni Már Gilbert
|
||||||
|
- Hitendra Prajapati
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Mark Hatle
|
||||||
|
- Michael Nazzareno Trimarchi
|
||||||
|
- Michael Opdenacker
|
||||||
|
- Peter Marko
|
||||||
|
- Richard Purdie
|
||||||
|
- Robert Yang
|
||||||
|
- Ross Burton
|
||||||
|
- Sid-Ali
|
||||||
|
- Steve Sakoman
|
||||||
|
- Sunil Dora
|
||||||
|
- Trevor Gamblin
|
||||||
|
- Wang Mingyu
|
||||||
|
- Xiangyu Chen
|
||||||
|
- Yash Shinde
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.1.2
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`styhead </poky/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.2 </poky/log/?h=yocto-5.1.2>`
|
||||||
|
- Git Revision: :yocto_git:`ff9ca74e170480578fcdb1f7bcd897f0e69e46a5 </poky/commit/?id=ff9ca74e170480578fcdb1f7bcd897f0e69e46a5>`
|
||||||
|
- Release Artefact: poky-ff9ca74e170480578fcdb1f7bcd897f0e69e46a5
|
||||||
|
- sha: 3c8d5504ebc988a6427e31d3a9e84e74f16f84b7e9b0884f77be6bd6231b7fef
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.2/poky-ff9ca74e170480578fcdb1f7bcd897f0e69e46a5.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.2/poky-ff9ca74e170480578fcdb1f7bcd897f0e69e46a5.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`styhead </openembedded-core/log/?h=styhead>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.2 </openembedded-core/log/?h=yocto-5.1.2>`
|
||||||
|
- Git Revision: :oe_git:`62dfe689246d648f9970a5476716e486b1a33765 </openembedded-core/commit/?id=62dfe689246d648f9970a5476716e486b1a33765>`
|
||||||
|
- Release Artefact: oecore-62dfe689246d648f9970a5476716e486b1a33765
|
||||||
|
- sha: 8118c0260e673dbf9f3d7cd0a6d8364fc337f3e8ff75f0c449be88d2157e78fb
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.2/oecore-62dfe689246d648f9970a5476716e486b1a33765.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.2/oecore-62dfe689246d648f9970a5476716e486b1a33765.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`styhead </meta-mingw/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.2 </meta-mingw/log/?h=yocto-5.1.2>`
|
||||||
|
- Git Revision: :yocto_git:`77fe18d4f8ec34501045c5d92ce7e13b1bd129e9 </meta-mingw/commit/?id=77fe18d4f8ec34501045c5d92ce7e13b1bd129e9>`
|
||||||
|
- Release Artefact: meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9
|
||||||
|
- sha: 4c7f8100a3675d9863e51825def3df5b263ffc81cd57bae26eedbc156d771534
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.2/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.2/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.10 </bitbake/log/?h=2.10>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.2 </bitbake/log/?h=yocto-5.1.2>`
|
||||||
|
- Git Revision: :oe_git:`1452e74cc4ddfaadc6537a049877a66cec253c8d </bitbake/commit/?id=1452e74cc4ddfaadc6537a049877a66cec253c8d>`
|
||||||
|
- Release Artefact: bitbake-1452e74cc4ddfaadc6537a049877a66cec253c8d
|
||||||
|
- sha: 26538d0b8ab907d962623707697bfc6826615239a724b1805e0c3acbd74fdcaa
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.2/bitbake-1452e74cc4ddfaadc6537a049877a66cec253c8d.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.2/bitbake-1452e74cc4ddfaadc6537a049877a66cec253c8d.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`styhead </yocto-docs/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.2 </yocto-docs/log/?h=yocto-5.1.2>`
|
||||||
|
- Git Revision: :yocto_git:`8ac3e2eb1dd4149b24af03666813dc6d94df466d </yocto-docs/commit/?id=8ac3e2eb1dd4149b24af03666813dc6d94df466d>`
|
||||||
|
|
||||||
160
documentation/migration-guides/release-notes-5.1.3.rst
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
Release notes for Yocto-5.1.3 (Styhead)
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.1.3
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- go: Fix :cve_nist:`2024-45336`, :cve_nist:`2024-45341` and :cve_nist:`2025-22866`
|
||||||
|
- linux-yocto/6.6: Fix :cve_nist:`2024-36476`, :cve_nist:`2024-53179`, :cve_nist:`2024-56582`,
|
||||||
|
:cve_nist:`2024-56703`, :cve_nist:`2024-57801`, :cve_nist:`2024-57802`, :cve_nist:`2024-57841`,
|
||||||
|
:cve_nist:`2024-57882`, :cve_nist:`2024-57887`, :cve_nist:`2024-57890`, :cve_nist:`2024-57892`,
|
||||||
|
:cve_nist:`2024-57895`, :cve_nist:`2024-57896`, :cve_nist:`2024-57900`, :cve_nist:`2024-57901`,
|
||||||
|
:cve_nist:`2024-57902`, :cve_nist:`2024-57906`, :cve_nist:`2024-57907`, :cve_nist:`2024-57908`,
|
||||||
|
:cve_nist:`2024-57910`, :cve_nist:`2024-57911`, :cve_nist:`2024-57912`, :cve_nist:`2024-57913`,
|
||||||
|
:cve_nist:`2024-57916`, :cve_nist:`2024-57922`, :cve_nist:`2024-57925`, :cve_nist:`2024-57926`,
|
||||||
|
:cve_nist:`2024-57933`, :cve_nist:`2024-57938`, :cve_nist:`2024-57939`, :cve_nist:`2024-57940`,
|
||||||
|
:cve_nist:`2024-57949`, :cve_nist:`2024-57951`, :cve_nist:`2025-21631`, :cve_nist:`2025-21636`,
|
||||||
|
:cve_nist:`2025-21637`, :cve_nist:`2025-21638`, :cve_nist:`2025-21639`, :cve_nist:`2025-21640`,
|
||||||
|
:cve_nist:`2025-21642`, :cve_nist:`2025-21652`, :cve_nist:`2025-21658`, :cve_nist:`2025-21665`,
|
||||||
|
:cve_nist:`2025-21666`, :cve_nist:`2025-21667`, :cve_nist:`2025-21669`, :cve_nist:`2025-21670`,
|
||||||
|
:cve_nist:`2025-21671`, :cve_nist:`2025-21673`, :cve_nist:`2025-21674`, :cve_nist:`2025-21675`,
|
||||||
|
:cve_nist:`2025-21676`, :cve_nist:`2025-21680`, :cve_nist:`2025-21681`, :cve_nist:`2025-21683`,
|
||||||
|
:cve_nist:`2025-21684`, :cve_nist:`2025-21687`, :cve_nist:`2025-21689`, :cve_nist:`2025-21690`,
|
||||||
|
:cve_nist:`2025-21692`, :cve_nist:`2025-21694`, :cve_nist:`2025-21697` and :cve_nist:`2025-21699`
|
||||||
|
- pyhton3: Fix CVE-2024-12254, :cve_nist:`2025-0938` and 3 other vulnerabilities (gh-80222, gh-119511
|
||||||
|
and gh-126108).
|
||||||
|
- socat: Fix :cve_nist:`2024-54661`
|
||||||
|
- vim: Fix :cve_nist:`2025-22134` and :cve_nist:`2025-24014`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.1.3
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- bitbake: bblayers/query: Fix using "removeprefix" string method
|
||||||
|
- bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc
|
||||||
|
- bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48
|
||||||
|
- boost: fix do_fetch error
|
||||||
|
- build-appliance-image: Update to styhead head revision
|
||||||
|
- classes/nativesdk: also override :term:`TUNE_PKGARCH`
|
||||||
|
- classes/qemu: use tune to select QEMU_EXTRAOPTIONS, not package architecture
|
||||||
|
- cmake: apply parallel build settings to ptest tasks
|
||||||
|
- contributor-guide/submit-changes: add policy on AI generated code
|
||||||
|
- cve-check: fix cvesInRecord
|
||||||
|
- cve-check: restore :term:`CVE_CHECK_SHOW_WARNINGS` functionality
|
||||||
|
- dev-manual/building: document the initramfs-framework recipe
|
||||||
|
- devtool: ide-sdk recommend :term:`DEBUG_BUILD`
|
||||||
|
- devtool: ide-sdk remove the plugin from eSDK installer
|
||||||
|
- devtool: ide-sdk sort cmake preset
|
||||||
|
- devtool: modify support debug-builds
|
||||||
|
- docs: Add favicon for the documentation html
|
||||||
|
- docs: Fix typo in standards.md
|
||||||
|
- docs: Update autobuilder URLs to valkyrie
|
||||||
|
- enchant2: correct :term:`SRC_URI` and other uris
|
||||||
|
- go: upgrade to 1.22.12
|
||||||
|
- libnsl2: set :term:`CVE_PRODUCT`
|
||||||
|
- libxml-parser-perl: correct :term:`SRC_URI`
|
||||||
|
- linux-yocto/6.6: update to v6.6.75
|
||||||
|
- linux: Modify kernel configuration to fix runqlat issue
|
||||||
|
- lrzsz: update :term:`SRC_URI` to avoid redirect
|
||||||
|
- migration-guides: add release notes for 4.0.24, 5.0.6, 5.0.7 and 5.1.2
|
||||||
|
- oe-selftest: devtool ide-sdk use modify debug-build
|
||||||
|
- oeqa/gitarchive: Fix syntax warning
|
||||||
|
- poky.conf: bump version for 5.1.3
|
||||||
|
- python3: upgrade 3.12.9
|
||||||
|
- ref-manual/faq: add q&a on systemd as default
|
||||||
|
- resulttool/store: Fix permissions of logarchive
|
||||||
|
- rust-target-config: Fix TARGET_C_INT_WIDTH with correct size
|
||||||
|
- scripts/install-buildtools: Update to 5.1.2
|
||||||
|
- sdk-manual: extensible.rst: devtool ide-sdk improve
|
||||||
|
- sdk-manual: extensible.rst: update devtool ide-sdk
|
||||||
|
- systemd: set :term:`CVE_PRODUCT`
|
||||||
|
- test-manual/ptest: link to common framework ptest classes
|
||||||
|
- test-manual/reproducible-builds: fix reproducible links
|
||||||
|
- vim: Upgrade 9.1.1043
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.1.3
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- N/A
|
||||||
|
|
||||||
|
|
||||||
|
Contributors to Yocto-5.1.3
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Adrian Freihofer
|
||||||
|
- Aleksandar Nikolic
|
||||||
|
- Alexander Kanavin
|
||||||
|
- Antonin Godard
|
||||||
|
- Bruce Ashfield
|
||||||
|
- Chris Laplante
|
||||||
|
- Divya Chellam
|
||||||
|
- Harish Sadineni
|
||||||
|
- Jiaying Song
|
||||||
|
- Joerg Schmidt
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Mikko Rapeli
|
||||||
|
- Peter Marko
|
||||||
|
- Richard Purdie
|
||||||
|
- Ross Burton
|
||||||
|
- Simon A. Eugster
|
||||||
|
- Steve Sakoman
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.1.3
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`styhead </poky/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.3 </poky/log/?h=yocto-5.1.3>`
|
||||||
|
- Git Revision: :yocto_git:`11a8dec6e29ac0b2fd942c0fc00dd7fc30658841 </poky/commit/?id=11a8dec6e29ac0b2fd942c0fc00dd7fc30658841>`
|
||||||
|
- Release Artefact: poky-11a8dec6e29ac0b2fd942c0fc00dd7fc30658841
|
||||||
|
- sha: 9ebcacaab53058fd97b06134e06b5883df3c7ddb25dae43a2f3809c4f65d24b5
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.3/poky-11a8dec6e29ac0b2fd942c0fc00dd7fc30658841.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.3/poky-11a8dec6e29ac0b2fd942c0fc00dd7fc30658841.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`styhead </openembedded-core/log/?h=styhead>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.3 </openembedded-core/log/?h=yocto-5.1.3>`
|
||||||
|
- Git Revision: :oe_git:`35ffa0ed523ba95f069dff5b7df3f819ef031015 </openembedded-core/commit/?id=35ffa0ed523ba95f069dff5b7df3f819ef031015>`
|
||||||
|
- Release Artefact: oecore-35ffa0ed523ba95f069dff5b7df3f819ef031015
|
||||||
|
- sha: 67efedf0afa9ac9e4664f02923a4c5c2429f2f1be697e39f9cbffb9e3f2d9d2c
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.3/oecore-35ffa0ed523ba95f069dff5b7df3f819ef031015.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.3/oecore-35ffa0ed523ba95f069dff5b7df3f819ef031015.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`styhead </meta-mingw/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.3 </meta-mingw/log/?h=yocto-5.1.3>`
|
||||||
|
- Git Revision: :yocto_git:`77fe18d4f8ec34501045c5d92ce7e13b1bd129e9 </meta-mingw/commit/?id=77fe18d4f8ec34501045c5d92ce7e13b1bd129e9>`
|
||||||
|
- Release Artefact: meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9
|
||||||
|
- sha: 4c7f8100a3675d9863e51825def3df5b263ffc81cd57bae26eedbc156d771534
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.3/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.3/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.10 </bitbake/log/?h=2.10>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.3 </bitbake/log/?h=yocto-5.1.3>`
|
||||||
|
- Git Revision: :oe_git:`58e5c70a0572ff5994dc181694e05cd5d3ddaf66 </bitbake/commit/?id=58e5c70a0572ff5994dc181694e05cd5d3ddaf66>`
|
||||||
|
- Release Artefact: bitbake-58e5c70a0572ff5994dc181694e05cd5d3ddaf66
|
||||||
|
- sha: 8b1d8aa3de6ca8c520f1b528e342e06de0cff918a11d77862c499185a9ba8fec
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.3/bitbake-58e5c70a0572ff5994dc181694e05cd5d3ddaf66.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.3/bitbake-58e5c70a0572ff5994dc181694e05cd5d3ddaf66.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`styhead </yocto-docs/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.3 </yocto-docs/log/?h=yocto-5.1.3>`
|
||||||
|
- Git Revision: :yocto_git:`fd9c744d6e73a5719e61a3c0063b1602ca386e91 </yocto-docs/commit/?id=fd9c744d6e73a5719e61a3c0063b1602ca386e91>`
|
||||||
|
|
||||||
137
documentation/migration-guides/release-notes-5.1.4.rst
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
Release notes for Yocto-5.1.4 (Styhead)
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
|
Security Fixes in Yocto-5.1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- binutils: Fix :cve_nist:`2025-0840`
|
||||||
|
- grub: Fix :cve_nist:`2024-45774`, :cve_nist:`2024-45775`, :cve_nist:`2024-45776`,
|
||||||
|
:cve_nist:`2024-45777`, :cve_nist:`2024-45778`, :cve_nist:`2024-45779`, :cve_nist:`2024-45780`,
|
||||||
|
:cve_nist:`2024-45781`, :cve_nist:`2024-45782`, :cve_nist:`2024-45783`, :cve_nist:`2024-56737`,
|
||||||
|
:cve_nist:`2025-0622`, :cve_nist:`2025-0624`, :cve_nist:`2025-0677`, :cve_nist:`2025-0678`,
|
||||||
|
:cve_nist:`2025-0684`, :cve_nist:`2025-0685`, :cve_nist:`2025-0686`, :cve_nist:`2025-0689`,
|
||||||
|
:cve_nist:`2025-0690`, :cve_nist:`2025-1118` and :cve_nist:`2025-1125`
|
||||||
|
- libtasn1: fix :cve_nist:`2024-12133`
|
||||||
|
- libxml2: fix :cve_nist:`2024-56171`, :cve_nist:`2025-24928` and :cve_nist:`2025-27113`
|
||||||
|
- openssh: Fix :cve_nist:`2025-26465` and :cve_nist:`2025-26466`
|
||||||
|
- puzzles: Ignore :cve_nist:`2024-13769`, :cve_nist:`2024-13770` and :cve_nist:`2025-0837`
|
||||||
|
- subversion: Ignore :cve_nist:`2024-45720`
|
||||||
|
- xserver-xorg: Fix :cve_nist:`2025-26594`, :cve_nist:`2025-26595`, :cve_nist:`2025-26596`,
|
||||||
|
:cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`, :cve_nist:`2025-26600`
|
||||||
|
and :cve_nist:`2025-26601`
|
||||||
|
- xwayland: Fix :cve_nist:`2025-26594`, :cve_nist:`2025-26595`, :cve_nist:`2025-26596`,
|
||||||
|
:cve_nist:`2025-26597`, :cve_nist:`2025-26598`, :cve_nist:`2025-26599`, :cve_nist:`2025-26600`
|
||||||
|
and :cve_nist:`2025-26601`
|
||||||
|
|
||||||
|
|
||||||
|
Fixes in Yocto-5.1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events
|
||||||
|
- bitbake: utils: Add signal blocking for lock_timeout
|
||||||
|
- bitbake: utils: Print information about lock issue before exiting
|
||||||
|
- bitbake: utils: Tweak lock_timeout logic
|
||||||
|
- build-appliance-image: Update to styhead head revision
|
||||||
|
- docs: Remove all mention of core-image-lsb
|
||||||
|
- grub: backport strlcpy function
|
||||||
|
- grub: drop obsolete CVE statuses
|
||||||
|
- icu: Adjust ICU_DATA_DIR path on big endian targets
|
||||||
|
- libtasn1: upgrade to 4.20.0
|
||||||
|
- libxml2: upgrade to 2.13.6
|
||||||
|
- migration-guides: add release notes for 4.0.25 and 5.1.3
|
||||||
|
- poky.conf: bump version for 5.1.4
|
||||||
|
- ref-manual: Add missing variable :term:`IMAGE_ROOTFS_MAXSIZE`
|
||||||
|
- ref-manual: don't refer to poky-lsb
|
||||||
|
- ref-manual: remove OE_IMPORTS
|
||||||
|
- tzcode-native: Fix compiler setting from 2023d version
|
||||||
|
- tzdata/tzcode-native: upgrade to 2025a
|
||||||
|
- vulnerabilities/classes: remove references to cve-check text format
|
||||||
|
- xserver-xf86-config: add a configuration fragment to disable screen blanking
|
||||||
|
- xserver-xf86-config: remove obsolete configuration files
|
||||||
|
- xserver-xorg: upgrade to 21.1.16
|
||||||
|
- xwayland: upgrade to 21.1.6
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues in Yocto-5.1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- NA
|
||||||
|
|
||||||
|
Contributors to Yocto-5.1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
Thanks to the following people who contributed to this release:
|
||||||
|
|
||||||
|
- Alessio Cascone
|
||||||
|
- Lee Chee Yang
|
||||||
|
- Makarios Christakis
|
||||||
|
- Marta Rybczynska
|
||||||
|
- Peter Marko
|
||||||
|
- Priyal Doshi
|
||||||
|
- Richard Purdie
|
||||||
|
- Ross Burton
|
||||||
|
- Steve Sakoman
|
||||||
|
- Vijay Anusuri
|
||||||
|
- Wang Mingyu
|
||||||
|
- Weisser, Pascal
|
||||||
|
|
||||||
|
|
||||||
|
Repositories / Downloads for Yocto-5.1.4
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
poky
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/poky`
|
||||||
|
- Branch: :yocto_git:`styhead </poky/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.4 </poky/log/?h=yocto-5.1.4>`
|
||||||
|
- Git Revision: :yocto_git:`70dc28ac287bf35541270cae1d99130a0f6b7b5f </poky/commit/?id=70dc28ac287bf35541270cae1d99130a0f6b7b5f>`
|
||||||
|
- Release Artefact: poky-70dc28ac287bf35541270cae1d99130a0f6b7b5f
|
||||||
|
- sha: 63f1d3d47a28bd9b41c89db6e1f2657c04233a00d10210795e766c0bc265d766
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.4/poky-70dc28ac287bf35541270cae1d99130a0f6b7b5f.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.4/poky-70dc28ac287bf35541270cae1d99130a0f6b7b5f.tar.bz2
|
||||||
|
|
||||||
|
openembedded-core
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/openembedded-core`
|
||||||
|
- Branch: :oe_git:`styhead </openembedded-core/log/?h=styhead>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.4 </openembedded-core/log/?h=yocto-5.1.4>`
|
||||||
|
- Git Revision: :oe_git:`2d94f4b8a852dc761f89e5106347e239382df5fb </openembedded-core/commit/?id=2d94f4b8a852dc761f89e5106347e239382df5fb>`
|
||||||
|
- Release Artefact: oecore-2d94f4b8a852dc761f89e5106347e239382df5fb
|
||||||
|
- sha: 344ac23f814c049d69b06cee42c43b7b422506ce84397406caef09becb2555bf
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.4/oecore-2d94f4b8a852dc761f89e5106347e239382df5fb.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.4/oecore-2d94f4b8a852dc761f89e5106347e239382df5fb.tar.bz2
|
||||||
|
|
||||||
|
meta-mingw
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/meta-mingw`
|
||||||
|
- Branch: :yocto_git:`styhead </meta-mingw/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.4 </meta-mingw/log/?h=yocto-5.1.4>`
|
||||||
|
- Git Revision: :yocto_git:`77fe18d4f8ec34501045c5d92ce7e13b1bd129e9 </meta-mingw/commit/?id=77fe18d4f8ec34501045c5d92ce7e13b1bd129e9>`
|
||||||
|
- Release Artefact: meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9
|
||||||
|
- sha: 4c7f8100a3675d9863e51825def3df5b263ffc81cd57bae26eedbc156d771534
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.4/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.4/meta-mingw-77fe18d4f8ec34501045c5d92ce7e13b1bd129e9.tar.bz2
|
||||||
|
|
||||||
|
bitbake
|
||||||
|
|
||||||
|
- Repository Location: :oe_git:`/bitbake`
|
||||||
|
- Branch: :oe_git:`2.10 </bitbake/log/?h=2.10>`
|
||||||
|
- Tag: :oe_git:`yocto-5.1.4 </bitbake/log/?h=yocto-5.1.4>`
|
||||||
|
- Git Revision: :oe_git:`82b9f42126983579da03bdbb4e3ebf07346118a7 </bitbake/commit/?id=82b9f42126983579da03bdbb4e3ebf07346118a7>`
|
||||||
|
- Release Artefact: bitbake-82b9f42126983579da03bdbb4e3ebf07346118a7
|
||||||
|
- sha: 209d62c5262f2287af60e7fe2343c29ab25b5088de4da71de89016e75900285a
|
||||||
|
- Download Locations:
|
||||||
|
https://downloads.yoctoproject.org/releases/yocto/yocto-5.1.4/bitbake-82b9f42126983579da03bdbb4e3ebf07346118a7.tar.bz2
|
||||||
|
https://mirrors.kernel.org/yocto/yocto/yocto-5.1.4/bitbake-82b9f42126983579da03bdbb4e3ebf07346118a7.tar.bz2
|
||||||
|
|
||||||
|
yocto-docs
|
||||||
|
|
||||||
|
- Repository Location: :yocto_git:`/yocto-docs`
|
||||||
|
- Branch: :yocto_git:`styhead </yocto-docs/log/?h=styhead>`
|
||||||
|
- Tag: :yocto_git:`yocto-5.1.4 </yocto-docs/log/?h=yocto-5.1.4>`
|
||||||
|
- Git Revision: :yocto_git:`f0324b8f14881227336f84325cdebd0518e17796 </yocto-docs/commit/?id=f0324b8f14881227336f84325cdebd0518e17796>`
|
||||||
|
|
||||||
@@ -683,7 +683,7 @@ Source Fetching
|
|||||||
The first stages of building a recipe are to fetch and unpack the source
|
The first stages of building a recipe are to fetch and unpack the source
|
||||||
code:
|
code:
|
||||||
|
|
||||||
.. image:: figures/source-fetching.png
|
.. image:: svg/source-fetching.*
|
||||||
:width: 100%
|
:width: 100%
|
||||||
|
|
||||||
The :ref:`ref-tasks-fetch` and :ref:`ref-tasks-unpack` tasks fetch
|
The :ref:`ref-tasks-fetch` and :ref:`ref-tasks-unpack` tasks fetch
|
||||||
@@ -704,10 +704,10 @@ a defined structure. For additional general information on the
|
|||||||
the Yocto Project Reference Manual.
|
the Yocto Project Reference Manual.
|
||||||
|
|
||||||
Each recipe has an area in the :term:`Build Directory` where the unpacked
|
Each recipe has an area in the :term:`Build Directory` where the unpacked
|
||||||
source code resides. The :term:`S` variable points to this area for a recipe's
|
source code resides. The :term:`UNPACKDIR` variable points to this area for a
|
||||||
unpacked source code. The name of that directory for any given recipe is
|
recipe's unpacked source code, and has the default ``sources-unpack`` name. The
|
||||||
defined from several different variables. The preceding figure and the
|
preceding figure and the following list describe the :term:`Build Directory`'s
|
||||||
following list describe the :term:`Build Directory`'s hierarchy:
|
hierarchy:
|
||||||
|
|
||||||
- :term:`TMPDIR`: The base directory
|
- :term:`TMPDIR`: The base directory
|
||||||
where the OpenEmbedded build system performs all its work during the
|
where the OpenEmbedded build system performs all its work during the
|
||||||
@@ -736,11 +736,11 @@ following list describe the :term:`Build Directory`'s hierarchy:
|
|||||||
- :term:`PV`: The version of the
|
- :term:`PV`: The version of the
|
||||||
recipe used to build the package.
|
recipe used to build the package.
|
||||||
|
|
||||||
- :term:`PR`: The revision of the
|
- :term:`UNPACKDIR`: Contains the unpacked source files for a given recipe.
|
||||||
recipe used to build the package.
|
|
||||||
|
|
||||||
- :term:`S`: Contains the unpacked source
|
- :term:`S`: Contains the final location of the source code.
|
||||||
files for a given recipe.
|
|
||||||
|
The default value for :term:`BP` is ``${BPN}-${PV}`` where:
|
||||||
|
|
||||||
- :term:`BPN`: The name of the recipe
|
- :term:`BPN`: The name of the recipe
|
||||||
used to build the package. The :term:`BPN` variable is a version of
|
used to build the package. The :term:`BPN` variable is a version of
|
||||||
@@ -764,7 +764,7 @@ Patching
|
|||||||
Once source code is fetched and unpacked, BitBake locates patch files
|
Once source code is fetched and unpacked, BitBake locates patch files
|
||||||
and applies them to the source files:
|
and applies them to the source files:
|
||||||
|
|
||||||
.. image:: figures/patching.png
|
.. image:: svg/patching.*
|
||||||
:width: 100%
|
:width: 100%
|
||||||
|
|
||||||
The :ref:`ref-tasks-patch` task uses a
|
The :ref:`ref-tasks-patch` task uses a
|
||||||
@@ -805,7 +805,7 @@ After source code is patched, BitBake executes tasks that configure and
|
|||||||
compile the source code. Once compilation occurs, the files are copied
|
compile the source code. Once compilation occurs, the files are copied
|
||||||
to a holding area (staged) in preparation for packaging:
|
to a holding area (staged) in preparation for packaging:
|
||||||
|
|
||||||
.. image:: figures/configuration-compile-autoreconf.png
|
.. image:: svg/configuration-compile-autoreconf.*
|
||||||
:width: 100%
|
:width: 100%
|
||||||
|
|
||||||
This step in the build process consists of the following tasks:
|
This step in the build process consists of the following tasks:
|
||||||
@@ -861,7 +861,7 @@ Package Splitting
|
|||||||
After source code is configured, compiled, and staged, the build system
|
After source code is configured, compiled, and staged, the build system
|
||||||
analyzes the results and splits the output into packages:
|
analyzes the results and splits the output into packages:
|
||||||
|
|
||||||
.. image:: figures/analysis-for-package-splitting.png
|
.. image:: svg/analysis-for-package-splitting.*
|
||||||
:width: 100%
|
:width: 100%
|
||||||
|
|
||||||
The :ref:`ref-tasks-package` and
|
The :ref:`ref-tasks-package` and
|
||||||
@@ -2204,7 +2204,7 @@ require root privileges, the fact that some earlier steps ran in a fake
|
|||||||
root environment does not cause problems.
|
root environment does not cause problems.
|
||||||
|
|
||||||
The capability to run tasks in a fake root environment is known as
|
The capability to run tasks in a fake root environment is known as
|
||||||
"`fakeroot <http://man.he.net/man1/fakeroot>`__", which is derived from
|
":manpage:`fakeroot <fakeroot(1)>`", which is derived from
|
||||||
the BitBake keyword/variable flag that requests a fake root environment
|
the BitBake keyword/variable flag that requests a fake root environment
|
||||||
for a task.
|
for a task.
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 46 KiB |
1862
documentation/overview-manual/svg/analysis-for-package-splitting.svg
Normal file
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 80 KiB |
1224
documentation/overview-manual/svg/patching.svg
Normal file
|
After Width: | Height: | Size: 63 KiB |
1094
documentation/overview-manual/svg/source-fetching.svg
Normal file
|
After Width: | Height: | Size: 54 KiB |
@@ -400,7 +400,7 @@ Yocto Project:
|
|||||||
Autobuilder :doc:`here </test-manual/understand-autobuilder>`.
|
Autobuilder :doc:`here </test-manual/understand-autobuilder>`.
|
||||||
|
|
||||||
- *Pseudo:* Pseudo is the Yocto Project implementation of
|
- *Pseudo:* Pseudo is the Yocto Project implementation of
|
||||||
`fakeroot <http://man.he.net/man1/fakeroot>`__, which is used to run
|
:manpage:`fakeroot <fakeroot(1)>`, which is used to run
|
||||||
commands in an environment that seemingly has root privileges.
|
commands in an environment that seemingly has root privileges.
|
||||||
|
|
||||||
During a build, it can be necessary to perform operations that
|
During a build, it can be necessary to perform operations that
|
||||||
|
|||||||
@@ -1,41 +1,27 @@
|
|||||||
DISTRO : "5.0"
|
#
|
||||||
DISTRO_NAME_NO_CAP : "scarthgap"
|
# Macros used in the documentation
|
||||||
DISTRO_NAME : "Scarthgap"
|
#
|
||||||
DISTRO_NAME_NO_CAP_MINUS_ONE : "nanbield"
|
|
||||||
|
# The DISTRO variable represents the current docs version. It should be used
|
||||||
|
# when referring to the current docs version. See also DISTRO_LATEST_TAG.
|
||||||
|
DISTRO : "5.1"
|
||||||
|
# The DISTRO_LATEST_TAG represents the latest tag on the current branch. It
|
||||||
|
# should be used in HTTP link referring to the current docs version. In these
|
||||||
|
# cases, the DISTRO may point to A.B.999 which does not exist (just used to
|
||||||
|
# represent the latest HEAD revision on the branch). DISTRO_LATEST_TAG should
|
||||||
|
# always point to an existing tag.
|
||||||
|
DISTRO_LATEST_TAG : "5.1"
|
||||||
|
DISTRO_NAME_NO_CAP : "styhead"
|
||||||
|
DISTRO_NAME : "Styhead"
|
||||||
|
DISTRO_NAME_NO_CAP_MINUS_ONE : "scarthgap"
|
||||||
DISTRO_NAME_NO_CAP_LTS : "scarthgap"
|
DISTRO_NAME_NO_CAP_LTS : "scarthgap"
|
||||||
YOCTO_DOC_VERSION : "5.0"
|
YOCTO_DOC_VERSION : "5.1"
|
||||||
DISTRO_REL_TAG : "yocto-5.0"
|
DISTRO_REL_TAG : "yocto-$DISTRO;"
|
||||||
|
DISTRO_REL_LATEST_TAG : "yocto-&DISTRO_LATEST_TAG;"
|
||||||
DOCCONF_VERSION : "dev"
|
DOCCONF_VERSION : "dev"
|
||||||
BITBAKE_SERIES : ""
|
BITBAKE_SERIES : ""
|
||||||
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
|
YOCTO_DL_URL : "https://downloads.yoctoproject.org"
|
||||||
YOCTO_AB_URL : "https://autobuilder.yoctoproject.org"
|
|
||||||
YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
|
YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
|
||||||
UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
|
|
||||||
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
|
|
||||||
xz-utils debianutils iputils-ping python3-git python3-jinja2 \
|
|
||||||
python3-subunit zstd liblz4-tool file locales libacl1
|
|
||||||
\n\ $ sudo locale-gen en_US.UTF-8"
|
|
||||||
FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
|
|
||||||
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
|
|
||||||
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
|
|
||||||
python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
|
|
||||||
python3-jinja2 rpcgen perl-FindBin perl-File-Compare \
|
|
||||||
perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl"
|
|
||||||
OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
|
|
||||||
diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
|
|
||||||
python3-pexpect xz which python3-Jinja2 rpcgen \
|
|
||||||
zstd lz4 bzip2 gzip hostname libacl1
|
|
||||||
\n\ $ sudo pip3 install GitPython"
|
|
||||||
ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release
|
|
||||||
\n\ $ sudo yum install dnf-plugins-core
|
|
||||||
\n\ $ sudo dnf config-manager --set-enabled crb
|
|
||||||
\n\ $ sudo dnf makecache
|
|
||||||
\n\ $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \
|
|
||||||
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
|
|
||||||
socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
|
|
||||||
python3-GitPython python3-jinja2 python3-pexpect xz which \
|
|
||||||
rpcgen zstd lz4 cpio glibc-langpack-en libacl"
|
|
||||||
PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
|
|
||||||
MIN_PYTHON_VERSION : "3.8.0"
|
MIN_PYTHON_VERSION : "3.8.0"
|
||||||
MIN_TAR_VERSION : "1.28"
|
MIN_TAR_VERSION : "1.28"
|
||||||
MIN_GIT_VERSION : "1.8.3.1"
|
MIN_GIT_VERSION : "1.8.3.1"
|
||||||
@@ -47,3 +33,237 @@ MIN_DISK_SPACE : "90"
|
|||||||
MIN_DISK_SPACE_RM_WORK : "40"
|
MIN_DISK_SPACE_RM_WORK : "40"
|
||||||
# RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system
|
# RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system
|
||||||
MIN_RAM : "8"
|
MIN_RAM : "8"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Dependencies
|
||||||
|
#
|
||||||
|
|
||||||
|
# Shared between distros
|
||||||
|
PIP3_HOST_PACKAGES_DOC: sphinx sphinx_rtd_theme pyyaml
|
||||||
|
|
||||||
|
UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL: >-
|
||||||
|
build-essential
|
||||||
|
chrpath
|
||||||
|
cpio
|
||||||
|
debianutils
|
||||||
|
diffstat
|
||||||
|
file
|
||||||
|
gawk
|
||||||
|
gcc
|
||||||
|
git
|
||||||
|
iputils-ping
|
||||||
|
libacl1
|
||||||
|
liblz4-tool
|
||||||
|
locales
|
||||||
|
python3
|
||||||
|
python3-git
|
||||||
|
python3-jinja2
|
||||||
|
python3-pexpect
|
||||||
|
python3-pip
|
||||||
|
python3-subunit
|
||||||
|
socat
|
||||||
|
texinfo
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
xz-utils
|
||||||
|
zstd
|
||||||
|
|
||||||
|
UBUNTU_DEBIAN_HOST_PACKAGES_DOC: >-
|
||||||
|
git
|
||||||
|
librsvg2-bin
|
||||||
|
locales
|
||||||
|
make
|
||||||
|
python3-saneyaml
|
||||||
|
python3-sphinx-rtd-theme
|
||||||
|
sphinx
|
||||||
|
|
||||||
|
UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF: >-
|
||||||
|
fonts-freefont-otf
|
||||||
|
latexmk
|
||||||
|
tex-gyre
|
||||||
|
texlive-fonts-extra
|
||||||
|
texlive-fonts-recommended
|
||||||
|
texlive-lang-all
|
||||||
|
texlive-latex-extra
|
||||||
|
texlive-latex-recommended
|
||||||
|
texlive-xetex
|
||||||
|
|
||||||
|
FEDORA_HOST_PACKAGES_ESSENTIAL: >-
|
||||||
|
bzip2
|
||||||
|
ccache
|
||||||
|
chrpath
|
||||||
|
cpio
|
||||||
|
cpp
|
||||||
|
diffstat
|
||||||
|
diffutils
|
||||||
|
file
|
||||||
|
findutils
|
||||||
|
gawk
|
||||||
|
gcc
|
||||||
|
gcc-c++
|
||||||
|
git
|
||||||
|
glibc-devel
|
||||||
|
glibc-langpack-en
|
||||||
|
gzip
|
||||||
|
hostname
|
||||||
|
libacl
|
||||||
|
lz4
|
||||||
|
make
|
||||||
|
patch
|
||||||
|
perl
|
||||||
|
perl-Data-Dumper
|
||||||
|
perl-File-Compare
|
||||||
|
perl-File-Copy
|
||||||
|
perl-FindBin
|
||||||
|
perl-Text-ParseWords
|
||||||
|
perl-Thread-Queue
|
||||||
|
perl-bignum
|
||||||
|
perl-locale
|
||||||
|
python
|
||||||
|
python3
|
||||||
|
python3-GitPython
|
||||||
|
python3-jinja2
|
||||||
|
python3-pexpect
|
||||||
|
python3-pip
|
||||||
|
rpcgen
|
||||||
|
socat
|
||||||
|
tar
|
||||||
|
texinfo
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
xz
|
||||||
|
zstd
|
||||||
|
|
||||||
|
FEDORA_HOST_PACKAGES_DOC: >-
|
||||||
|
git
|
||||||
|
glibc-locale-source
|
||||||
|
librsvg2-tools
|
||||||
|
make
|
||||||
|
python3-pip
|
||||||
|
which
|
||||||
|
|
||||||
|
FEDORA_HOST_PACKAGES_DOC_PDF: >-
|
||||||
|
'texlive-collection-lang*'
|
||||||
|
latexmk
|
||||||
|
texlive-collection-fontsextra
|
||||||
|
texlive-collection-fontsrecommended
|
||||||
|
texlive-collection-latex
|
||||||
|
texlive-collection-latexextra
|
||||||
|
texlive-collection-latexrecommended
|
||||||
|
texlive-collection-xetex
|
||||||
|
texlive-fncychap
|
||||||
|
texlive-gnu-freefont
|
||||||
|
texlive-tex-gyre
|
||||||
|
texlive-xetex
|
||||||
|
|
||||||
|
OPENSUSE_HOST_PACKAGES_ESSENTIAL: >-
|
||||||
|
bzip2
|
||||||
|
chrpath
|
||||||
|
diffstat
|
||||||
|
gcc
|
||||||
|
gcc-c++
|
||||||
|
git
|
||||||
|
gzip
|
||||||
|
hostname
|
||||||
|
libacl1
|
||||||
|
lz4
|
||||||
|
make
|
||||||
|
makeinfo
|
||||||
|
patch
|
||||||
|
python
|
||||||
|
python-curses
|
||||||
|
python-xml
|
||||||
|
python3
|
||||||
|
python3-Jinja2
|
||||||
|
python3-curses
|
||||||
|
python3-pexpect
|
||||||
|
python3-pip
|
||||||
|
rpcgen
|
||||||
|
socat
|
||||||
|
tar
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
xz
|
||||||
|
zstd
|
||||||
|
|
||||||
|
OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL: GitPython
|
||||||
|
|
||||||
|
OPENSUSE_HOST_PACKAGES_DOC: >-
|
||||||
|
git
|
||||||
|
glibc-i18ndata
|
||||||
|
make
|
||||||
|
python3-pip
|
||||||
|
rsvg-convert
|
||||||
|
which
|
||||||
|
|
||||||
|
OPENSUSE_HOST_PACKAGES_DOC_PDF: >-
|
||||||
|
'texlive-collection-lang*'
|
||||||
|
texlive-collection-fontsextra
|
||||||
|
texlive-collection-fontsrecommended
|
||||||
|
texlive-collection-latex
|
||||||
|
texlive-collection-latexextra
|
||||||
|
texlive-collection-latexrecommended
|
||||||
|
texlive-collection-xetex
|
||||||
|
texlive-fncychap
|
||||||
|
texlive-gnu-freefont
|
||||||
|
texlive-latexmk
|
||||||
|
texlive-tex-gyre
|
||||||
|
texlive-xetex
|
||||||
|
|
||||||
|
ALMALINUX_HOST_PACKAGES_ESSENTIAL: >-
|
||||||
|
bzip2
|
||||||
|
ccache
|
||||||
|
chrpath
|
||||||
|
cpio
|
||||||
|
cpp
|
||||||
|
diffstat
|
||||||
|
diffutils
|
||||||
|
gawk
|
||||||
|
gcc
|
||||||
|
gcc-c++
|
||||||
|
git
|
||||||
|
glibc-devel
|
||||||
|
glibc-langpack-en
|
||||||
|
gzip
|
||||||
|
libacl
|
||||||
|
lz4
|
||||||
|
make
|
||||||
|
patch
|
||||||
|
perl
|
||||||
|
perl-Data-Dumper
|
||||||
|
perl-Text-ParseWords
|
||||||
|
perl-Thread-Queue
|
||||||
|
python3
|
||||||
|
python3-GitPython
|
||||||
|
python3-jinja2
|
||||||
|
python3-pexpect
|
||||||
|
python3-pip
|
||||||
|
rpcgen
|
||||||
|
socat
|
||||||
|
tar
|
||||||
|
texinfo
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
xz
|
||||||
|
zstd
|
||||||
|
|
||||||
|
ALMALINUX_HOST_PACKAGES_DOC: >-
|
||||||
|
git
|
||||||
|
glibc-locale-source
|
||||||
|
librsvg2-tools
|
||||||
|
make
|
||||||
|
python3-pip
|
||||||
|
which
|
||||||
|
|
||||||
|
ALMALINUX_HOST_PACKAGES_DOC_PDF: >-
|
||||||
|
latexmk
|
||||||
|
texlive-collection-fontsrecommended
|
||||||
|
texlive-collection-latex
|
||||||
|
texlive-collection-latexrecommended
|
||||||
|
texlive-collection-xetex
|
||||||
|
texlive-fncychap
|
||||||
|
texlive-gnu-freefont
|
||||||
|
texlive-tex-gyre
|
||||||
|
texlive-xetex
|
||||||
|
|||||||
@@ -159,27 +159,38 @@ software that includes bash-completion data.
|
|||||||
``bin_package``
|
``bin_package``
|
||||||
===============
|
===============
|
||||||
|
|
||||||
The :ref:`ref-classes-bin-package` class is a helper class for recipes that extract the
|
The :ref:`ref-classes-bin-package` class is a helper class for recipes, that
|
||||||
contents of a binary package (e.g. an RPM) and install those contents
|
disables the :ref:`ref-tasks-configure` and :ref:`ref-tasks-compile` tasks and
|
||||||
rather than building the binary from source. The binary package is
|
copies the content of the :term:`S` directory into the :term:`D` directory. This
|
||||||
extracted and new packages in the configured output package format are
|
is useful for installing binary packages (e.g. RPM packages) by passing the
|
||||||
created. Extraction and installation of proprietary binaries is a good
|
package in the :term:`SRC_URI` variable and inheriting this class.
|
||||||
example use for this class.
|
|
||||||
|
For RPMs and other packages that do not contain a subdirectory, you should set
|
||||||
|
the :term:`SRC_URI` option ``subdir`` to :term:`BP` so that the contents are
|
||||||
|
extracted to the directory expected by the default value of :term:`S`. For
|
||||||
|
example::
|
||||||
|
|
||||||
|
SRC_URI = "https://example.com/downloads/somepackage.rpm;subdir=${BP}"
|
||||||
|
|
||||||
|
This class can also be used for tarballs. For example::
|
||||||
|
|
||||||
|
SRC_URI = "file://somepackage.tar.xz;subdir=${BP}"
|
||||||
|
|
||||||
|
The :ref:`ref-classes-bin-package` class will copy the extracted content of the
|
||||||
|
tarball from :term:`S` to :term:`D`.
|
||||||
|
|
||||||
|
This class assumes that the content of the package as installed in :term:`S`
|
||||||
|
mirrors the expected layout once installed on the target, which is generally the
|
||||||
|
case for binary packages. For example, an RPM package for a library would
|
||||||
|
usually contain the ``usr/lib`` directory, and should be extracted to
|
||||||
|
``${S}/usr/lib/<library>.so.<version>`` to be installed in :term:`D` correctly.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For RPMs and other packages that do not contain a subdirectory, you
|
The extraction of the package passed in :term:`SRC_URI` is not handled by the
|
||||||
should specify an appropriate fetcher parameter to point to the
|
:ref:`ref-classes-bin-package` class, but rather by the appropriate
|
||||||
subdirectory. For example, if BitBake is using the Git fetcher (``git://``),
|
:ref:`fetcher <bitbake-user-manual/bitbake-user-manual-fetching:fetchers>`
|
||||||
the "subpath" parameter limits the checkout to a specific subpath
|
depending on the file extension.
|
||||||
of the tree. Here is an example where ``${BP}`` is used so that the files
|
|
||||||
are extracted into the subdirectory expected by the default value of
|
|
||||||
:term:`S`::
|
|
||||||
|
|
||||||
SRC_URI = "git://example.com/downloads/somepackage.rpm;branch=main;subpath=${BP}"
|
|
||||||
|
|
||||||
See the ":ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers`" section in the BitBake User Manual for
|
|
||||||
more information on supported BitBake Fetchers.
|
|
||||||
|
|
||||||
.. _ref-classes-binconfig:
|
.. _ref-classes-binconfig:
|
||||||
|
|
||||||
@@ -552,7 +563,7 @@ You can also look for vulnerabilities in specific packages by passing
|
|||||||
``-c cve_check`` to BitBake.
|
``-c cve_check`` to BitBake.
|
||||||
|
|
||||||
After building the software with Bitbake, CVE check output reports are available in ``tmp/deploy/cve``
|
After building the software with Bitbake, CVE check output reports are available in ``tmp/deploy/cve``
|
||||||
and image specific summaries in ``tmp/deploy/images/*.cve`` or ``tmp/deploy/images/*.json`` files.
|
and image specific summaries in ``tmp/deploy/images/*.json`` files.
|
||||||
|
|
||||||
When building, the CVE checker will emit build time warnings for any detected
|
When building, the CVE checker will emit build time warnings for any detected
|
||||||
issues which are in the state ``Unpatched``, meaning that CVE issue seems to affect the software component
|
issues which are in the state ``Unpatched``, meaning that CVE issue seems to affect the software component
|
||||||
@@ -2615,7 +2626,7 @@ runtime tests for recipes that build software that provides these tests.
|
|||||||
This class is intended to be inherited by individual recipes. However,
|
This class is intended to be inherited by individual recipes. However,
|
||||||
the class' functionality is largely disabled unless "ptest" appears in
|
the class' functionality is largely disabled unless "ptest" appears in
|
||||||
:term:`DISTRO_FEATURES`. See the
|
:term:`DISTRO_FEATURES`. See the
|
||||||
":ref:`dev-manual/packages:testing packages with ptest`"
|
":ref:`test-manual/ptest:testing packages with ptest`"
|
||||||
section in the Yocto Project Development Tasks Manual for more information
|
section in the Yocto Project Development Tasks Manual for more information
|
||||||
on ptest.
|
on ptest.
|
||||||
|
|
||||||
@@ -2639,7 +2650,7 @@ Enables package tests (ptests) specifically for GNOME packages, which
|
|||||||
have tests intended to be executed with ``gnome-desktop-testing``.
|
have tests intended to be executed with ``gnome-desktop-testing``.
|
||||||
|
|
||||||
For information on setting up and running ptests, see the
|
For information on setting up and running ptests, see the
|
||||||
":ref:`dev-manual/packages:testing packages with ptest`"
|
":ref:`test-manual/ptest:testing packages with ptest`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Development Tasks Manual.
|
||||||
|
|
||||||
.. _ref-classes-python3-dir:
|
.. _ref-classes-python3-dir:
|
||||||
@@ -3220,8 +3231,8 @@ after it is built, you can set :term:`TESTIMAGE_AUTO`::
|
|||||||
TESTIMAGE_AUTO = "1"
|
TESTIMAGE_AUTO = "1"
|
||||||
|
|
||||||
For information on how to enable, run, and create new tests, see the
|
For information on how to enable, run, and create new tests, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
.. _ref-classes-testsdk:
|
.. _ref-classes-testsdk:
|
||||||
|
|
||||||
|
|||||||
@@ -553,6 +553,26 @@ the packages are already on the target. Consequently, when a runtime
|
|||||||
call is made in the application for a dependent function (e.g. a library
|
call is made in the application for a dependent function (e.g. a library
|
||||||
call), the function cannot be found.
|
call), the function cannot be found.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Runtime dependencies can be explicitly listed in the :term:`RDEPENDS`
|
||||||
|
variable, but may also be the result of a :term:`DEPENDS` assignment in your
|
||||||
|
application's recipe. This is usually the case when your application depends
|
||||||
|
on libraries for compilation: these libraries are listed as build-time
|
||||||
|
dependencies in the :term:`DEPENDS` variable in your application's recipe.
|
||||||
|
However these may also be runtime dependencies if they install shared objects
|
||||||
|
on which your application will dynamically link to at runtime (e.g. shared
|
||||||
|
libraries ending with ``.so``).
|
||||||
|
|
||||||
|
These runtime dependencies are automatically resolved by the
|
||||||
|
:term:`OpenEmbedded Build System` during the packaging phase. Since
|
||||||
|
``devtool`` ignores packaging dependencies, they will not be installed
|
||||||
|
automatically with ``devtool deploy-target``.
|
||||||
|
|
||||||
|
For more information on how the :term:`OpenEmbedded Build System` handles
|
||||||
|
packaging, see the :ref:`overview-manual/concepts:Automatically Added Runtime
|
||||||
|
Dependencies` section of the Yocto Project Overview and Concepts Manual.
|
||||||
|
|
||||||
To be sure you have all the dependencies local to the target, you need
|
To be sure you have all the dependencies local to the target, you need
|
||||||
to be sure that the packages are pre-deployed (installed) on the target
|
to be sure that the packages are pre-deployed (installed) on the target
|
||||||
before attempting to run your application.
|
before attempting to run your application.
|
||||||
|
|||||||
@@ -45,6 +45,28 @@ See :yocto_wiki:`Products that use the Yocto Project
|
|||||||
Wiki. Don't hesitate to contribute to this page if you know other such
|
Wiki. Don't hesitate to contribute to this page if you know other such
|
||||||
products.
|
products.
|
||||||
|
|
||||||
|
Why isn't systemd the default init system for OpenEmbedded-Core/Yocto Project or in Poky?
|
||||||
|
-----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
`systemd <https://systemd.io/>`__ is a desktop Linux init system with a specific
|
||||||
|
focus that is not entirely aligned with a customisable "embedded" build
|
||||||
|
system/environment.
|
||||||
|
|
||||||
|
It understandably mandates certain layouts and configurations which may
|
||||||
|
or may not align with what the objectives and direction :term:`OpenEmbedded-Core
|
||||||
|
(OE-Core)` or Yocto Project want to take. It doesn't support all of our targets.
|
||||||
|
For example `musl <https://www.musl-libc.org/>`__ support in systemd is
|
||||||
|
problematic.
|
||||||
|
|
||||||
|
If it were our default, we would have to align with all their choices
|
||||||
|
and this doesn't make sense. It is therefore a configuration option and
|
||||||
|
available to anyone where the design goals align. But we are clear it
|
||||||
|
is not the only way to handle init.
|
||||||
|
|
||||||
|
Our automated testing includes it through the ``poky-altcfg`` :term:`DISTRO` and
|
||||||
|
we don't really need it to be the default: it is tested, it works, and people
|
||||||
|
can choose to use it.
|
||||||
|
|
||||||
Building environment
|
Building environment
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Features provide a mechanism for working out which packages should be
|
|||||||
included in the generated images. Distributions can select which
|
included in the generated images. Distributions can select which
|
||||||
features they want to support through the :term:`DISTRO_FEATURES` variable,
|
features they want to support through the :term:`DISTRO_FEATURES` variable,
|
||||||
which is set or appended to in a distribution's configuration file such
|
which is set or appended to in a distribution's configuration file such
|
||||||
as ``poky.conf``, ``poky-tiny.conf``, ``poky-lsb.conf`` and so forth.
|
as ``poky.conf``, ``poky-tiny.conf``, ``poky-altcfg.conf`` and so forth.
|
||||||
Machine features are set in the :term:`MACHINE_FEATURES` variable, which is
|
Machine features are set in the :term:`MACHINE_FEATURES` variable, which is
|
||||||
set in the machine configuration file and specifies the hardware
|
set in the machine configuration file and specifies the hardware
|
||||||
features for a given machine.
|
features for a given machine.
|
||||||
@@ -207,7 +207,7 @@ metadata, as extra layers can define their own:
|
|||||||
|
|
||||||
- *ptest:* Enables building the package tests where supported by
|
- *ptest:* Enables building the package tests where supported by
|
||||||
individual recipes. For more information on package tests, see the
|
individual recipes. For more information on package tests, see the
|
||||||
":ref:`dev-manual/packages:testing packages with ptest`" section
|
":ref:`test-manual/ptest:testing packages with ptest`" section
|
||||||
in the Yocto Project Development Tasks Manual.
|
in the Yocto Project Development Tasks Manual.
|
||||||
|
|
||||||
- *pulseaudio:* Include support for
|
- *pulseaudio:* Include support for
|
||||||
|
|||||||
@@ -51,27 +51,6 @@ Here is a list of supported recipes:
|
|||||||
- ``core-image-full-cmdline``: A console-only image with more
|
- ``core-image-full-cmdline``: A console-only image with more
|
||||||
full-featured Linux system functionality installed.
|
full-featured Linux system functionality installed.
|
||||||
|
|
||||||
- ``core-image-lsb``: An image that conforms to the Linux Standard Base
|
|
||||||
(LSB) specification. This image requires a distribution configuration
|
|
||||||
that enables LSB compliance (e.g. ``poky-lsb``). If you build
|
|
||||||
``core-image-lsb`` without that configuration, the image will not be
|
|
||||||
LSB-compliant.
|
|
||||||
|
|
||||||
- ``core-image-lsb-dev``: A ``core-image-lsb`` image that is suitable
|
|
||||||
for development work using the host. The image includes headers and
|
|
||||||
libraries you can use in a host development environment. This image
|
|
||||||
requires a distribution configuration that enables LSB compliance
|
|
||||||
(e.g. ``poky-lsb``). If you build ``core-image-lsb-dev`` without that
|
|
||||||
configuration, the image will not be LSB-compliant.
|
|
||||||
|
|
||||||
- ``core-image-lsb-sdk``: A ``core-image-lsb`` that includes everything
|
|
||||||
in the cross-toolchain but also includes development headers and
|
|
||||||
libraries to form a complete standalone SDK. This image requires a
|
|
||||||
distribution configuration that enables LSB compliance (e.g.
|
|
||||||
``poky-lsb``). If you build ``core-image-lsb-sdk`` without that
|
|
||||||
configuration, the image will not be LSB-compliant. This image is
|
|
||||||
suitable for development using the target.
|
|
||||||
|
|
||||||
- ``core-image-minimal``: A small image just capable of allowing a
|
- ``core-image-minimal``: A small image just capable of allowing a
|
||||||
device to boot.
|
device to boot.
|
||||||
|
|
||||||
@@ -119,8 +98,8 @@ Here is a list of supported recipes:
|
|||||||
deployed to a separate partition so that you can boot into it and use
|
deployed to a separate partition so that you can boot into it and use
|
||||||
it to deploy a second image to be tested. You can find more
|
it to deploy a second image to be tested. You can find more
|
||||||
information about runtime testing in the
|
information about runtime testing in the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
- ``core-image-testmaster-initramfs``: A RAM-based Initial Root
|
- ``core-image-testmaster-initramfs``: A RAM-based Initial Root
|
||||||
Filesystem (:term:`Initramfs`) image tailored for use with the
|
Filesystem (:term:`Initramfs`) image tailored for use with the
|
||||||
|
|||||||
@@ -752,21 +752,17 @@ Errors and Warnings
|
|||||||
|
|
||||||
.. _qa-check-patch-status:
|
.. _qa-check-patch-status:
|
||||||
|
|
||||||
- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status-core/patch-status-noncore]``
|
- ``Missing Upstream-Status in patch <patchfile> Please add according to <url> [patch-status]``
|
||||||
|
|
||||||
The ``Upstream-Status`` value is missing in the specified patch file's header.
|
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
|
This value is intended to track whether or not the patch has been sent
|
||||||
upstream, whether or not it has been merged, etc.
|
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, see the
|
For more information, see the
|
||||||
":ref:`contributor-guide/recipe-style-guide:patch upstream status`"
|
":ref:`contributor-guide/recipe-style-guide:patch upstream status`"
|
||||||
section in the Yocto Project and OpenEmbedded Contributor Guide.
|
section in the Yocto Project and OpenEmbedded Contributor Guide.
|
||||||
|
|
||||||
- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status-core/patch-status-noncore]``
|
- ``Malformed Upstream-Status in patch <patchfile> Please correct according to <url> [patch-status]``
|
||||||
|
|
||||||
The ``Upstream-Status`` value in the specified patch file's header is invalid -
|
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
|
it must be a specific format. See the "Missing Upstream-Status" entry above
|
||||||
@@ -795,7 +791,7 @@ Errors and Warnings
|
|||||||
|
|
||||||
This check will detect if the source of the package contains some
|
This check will detect if the source of the package contains some
|
||||||
upstream-provided tests and, if so, that ptests are implemented for this
|
upstream-provided tests and, if so, that ptests are implemented for this
|
||||||
recipe. See the ":ref:`dev-manual/packages:testing packages with ptest`"
|
recipe. See the ":ref:`test-manual/ptest:testing packages with ptest`"
|
||||||
section in the Yocto Project Development Tasks Manual. See also the
|
section in the Yocto Project Development Tasks Manual. See also the
|
||||||
":ref:`ref-classes-ptest`" section.
|
":ref:`ref-classes-ptest`" section.
|
||||||
|
|
||||||
|
|||||||
@@ -148,8 +148,8 @@ Additionally, because the test strategies are visible to you as a
|
|||||||
developer, you can validate your projects. This section overviews the
|
developer, you can validate your projects. This section overviews the
|
||||||
available test infrastructure used in the Yocto Project. For information
|
available test infrastructure used in the Yocto Project. For information
|
||||||
on how to run available tests on your projects, see the
|
on how to run available tests on your projects, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
The QA/testing infrastructure is woven into the project to the point
|
The QA/testing infrastructure is woven into the project to the point
|
||||||
where core developers take some of it for granted. The infrastructure
|
where core developers take some of it for granted. The infrastructure
|
||||||
@@ -175,7 +175,7 @@ consists of the following pieces:
|
|||||||
operation and functions. However, the test can also use the IP
|
operation and functions. However, the test can also use the IP
|
||||||
address of a machine to test.
|
address of a machine to test.
|
||||||
|
|
||||||
- :ref:`ptest <dev-manual/packages:testing packages with ptest>`:
|
- :ref:`ptest <test-manual/ptest:testing packages with ptest>`:
|
||||||
Runs tests against packages produced during the build for a given
|
Runs tests against packages produced during the build for a given
|
||||||
piece of software. The test allows the packages to be run within a
|
piece of software. The test allows the packages to be run within a
|
||||||
target image.
|
target image.
|
||||||
@@ -190,7 +190,7 @@ effort has been made to automate the tests so that more people can use
|
|||||||
them and the Yocto Project development team can run them faster and more
|
them and the Yocto Project development team can run them faster and more
|
||||||
efficiently.
|
efficiently.
|
||||||
|
|
||||||
The Yocto Project's main Autobuilder (&YOCTO_AB_URL;) publicly tests each Yocto
|
The Yocto Project's main :yocto_ab:`Autobuilder <>` publicly tests each Yocto
|
||||||
Project release's code in the :oe_git:`openembedded-core </openembedded-core>`,
|
Project release's code in the :oe_git:`openembedded-core </openembedded-core>`,
|
||||||
:yocto_git:`poky </poky>` and :oe_git:`bitbake </bitbake>` repositories. The
|
:yocto_git:`poky </poky>` and :oe_git:`bitbake </bitbake>` repositories. The
|
||||||
testing occurs for both the current state of the "master" branch and also for
|
testing occurs for both the current state of the "master" branch and also for
|
||||||
|
|||||||
@@ -62,8 +62,14 @@ supported on the following distributions:
|
|||||||
|
|
||||||
- Ubuntu 22.04 (LTS)
|
- Ubuntu 22.04 (LTS)
|
||||||
|
|
||||||
|
- Ubuntu 24.04 (LTS)
|
||||||
|
|
||||||
- Fedora 38
|
- Fedora 38
|
||||||
|
|
||||||
|
- Fedora 39
|
||||||
|
|
||||||
|
- Fedora 40
|
||||||
|
|
||||||
- CentOS Stream 8
|
- CentOS Stream 8
|
||||||
|
|
||||||
- Debian GNU/Linux 11 (Bullseye)
|
- Debian GNU/Linux 11 (Bullseye)
|
||||||
@@ -72,6 +78,10 @@ supported on the following distributions:
|
|||||||
|
|
||||||
- OpenSUSE Leap 15.4
|
- OpenSUSE Leap 15.4
|
||||||
|
|
||||||
|
- OpenSUSE Leap 15.5
|
||||||
|
|
||||||
|
- OpenSUSE Leap 15.6
|
||||||
|
|
||||||
- AlmaLinux 8
|
- AlmaLinux 8
|
||||||
|
|
||||||
- AlmaLinux 9
|
- AlmaLinux 9
|
||||||
@@ -150,10 +160,27 @@ Ubuntu and Debian
|
|||||||
Here are the packages needed to build an image on a headless system
|
Here are the packages needed to build an image on a headless system
|
||||||
with a supported Ubuntu or Debian Linux distribution::
|
with a supported Ubuntu or Debian Linux distribution::
|
||||||
|
|
||||||
$ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
|
$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
|
||||||
|
You also need to ensure you have the ``en_US.UTF-8`` locale enabled::
|
||||||
|
|
||||||
|
$ locale --all-locales | grep en_US.utf8
|
||||||
|
|
||||||
|
If this is not the case, you can reconfigure the ``locales`` package to add it
|
||||||
|
(requires an interactive shell)::
|
||||||
|
|
||||||
|
$ sudo dpkg-reconfigure locales
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
- If you are not in an interactive shell, ``dpkg-reconfigure`` will
|
||||||
|
not work as expected. To add the locale you will need to edit
|
||||||
|
``/etc/locale.gen`` file to add/uncomment the ``en_US.UTF-8`` locale.
|
||||||
|
A naive way to do this as root is::
|
||||||
|
|
||||||
|
$ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||||
|
$ locale-gen
|
||||||
|
|
||||||
- If your build system has the ``oss4-dev`` package installed, you
|
- If your build system has the ``oss4-dev`` package installed, you
|
||||||
might experience QEMU build failures due to the package installing
|
might experience QEMU build failures due to the package installing
|
||||||
its own custom ``/usr/include/linux/soundcard.h`` on the Debian
|
its own custom ``/usr/include/linux/soundcard.h`` on the Debian
|
||||||
@@ -164,8 +191,12 @@ with a supported Ubuntu or Debian Linux distribution::
|
|||||||
|
|
||||||
Here are the packages needed to build Project documentation manuals::
|
Here are the packages needed to build Project documentation manuals::
|
||||||
|
|
||||||
$ sudo apt install git make inkscape texlive-latex-extra
|
$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC;
|
||||||
$ sudo apt install sphinx python3-saneyaml python3-sphinx-rtd-theme
|
|
||||||
|
In addition to the previous packages, here are the packages needed to build the
|
||||||
|
documentation in PDF format::
|
||||||
|
|
||||||
|
$ sudo apt install &UBUNTU_DEBIAN_HOST_PACKAGES_DOC_PDF;
|
||||||
|
|
||||||
Fedora Packages
|
Fedora Packages
|
||||||
---------------
|
---------------
|
||||||
@@ -177,8 +208,13 @@ with a supported Fedora Linux distribution::
|
|||||||
|
|
||||||
Here are the packages needed to build Project documentation manuals::
|
Here are the packages needed to build Project documentation manuals::
|
||||||
|
|
||||||
$ sudo dnf install git make python3-pip which inkscape texlive-fncychap
|
$ sudo dnf install &FEDORA_HOST_PACKAGES_DOC;
|
||||||
&PIP3_HOST_PACKAGES_DOC;
|
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
|
||||||
|
|
||||||
|
In addition to the previous packages, here are the packages needed to build the
|
||||||
|
documentation in PDF format::
|
||||||
|
|
||||||
|
$ sudo dnf install &FEDORA_HOST_PACKAGES_DOC_PDF;
|
||||||
|
|
||||||
openSUSE Packages
|
openSUSE Packages
|
||||||
-----------------
|
-----------------
|
||||||
@@ -187,11 +223,17 @@ Here are the packages needed to build an image on a headless system
|
|||||||
with a supported openSUSE distribution::
|
with a supported openSUSE distribution::
|
||||||
|
|
||||||
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
|
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
$ sudo pip3 install &OPENSUSE_PIP3_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
|
||||||
Here are the packages needed to build Project documentation manuals::
|
Here are the packages needed to build Project documentation manuals::
|
||||||
|
|
||||||
$ sudo zypper install git make python3-pip which inkscape texlive-fncychap
|
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC;
|
||||||
&PIP3_HOST_PACKAGES_DOC;
|
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
|
||||||
|
|
||||||
|
In addition to the previous packages, here are the packages needed to build the
|
||||||
|
documentation in PDF format::
|
||||||
|
|
||||||
|
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_DOC_PDF;
|
||||||
|
|
||||||
|
|
||||||
AlmaLinux Packages
|
AlmaLinux Packages
|
||||||
@@ -200,6 +242,10 @@ AlmaLinux Packages
|
|||||||
Here are the packages needed to build an image on a headless system
|
Here are the packages needed to build an image on a headless system
|
||||||
with a supported AlmaLinux distribution::
|
with a supported AlmaLinux distribution::
|
||||||
|
|
||||||
|
$ sudo dnf install -y epel-release
|
||||||
|
$ sudo yum install dnf-plugins-core
|
||||||
|
$ sudo dnf config-manager --set-enabled crb
|
||||||
|
$ sudo dnf makecache
|
||||||
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
|
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
@@ -217,8 +263,20 @@ with a supported AlmaLinux distribution::
|
|||||||
|
|
||||||
Here are the packages needed to build Project documentation manuals::
|
Here are the packages needed to build Project documentation manuals::
|
||||||
|
|
||||||
$ sudo dnf install git make python3-pip which inkscape texlive-fncychap
|
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC;
|
||||||
&PIP3_HOST_PACKAGES_DOC;
|
$ sudo pip3 install &PIP3_HOST_PACKAGES_DOC;
|
||||||
|
|
||||||
|
In addition to the previous packages, here are the packages needed to build the
|
||||||
|
documentation in PDF format::
|
||||||
|
|
||||||
|
$ sudo dnf install &ALMALINUX_HOST_PACKAGES_DOC_PDF;
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Unlike Fedora or OpenSUSE, AlmaLinux does not provide the packages
|
||||||
|
``texlive-collection-fontsextra``, ``texlive-collection-lang*`` and
|
||||||
|
``texlive-collection-latexextra``, so you may run into issues. These may be
|
||||||
|
installed using `tlmgr <https://tug.org/texlive/tlmgr.html>`_.
|
||||||
|
|
||||||
.. _system-requirements-buildtools:
|
.. _system-requirements-buildtools:
|
||||||
|
|
||||||
@@ -319,7 +377,7 @@ If you would prefer not to use the ``install-buildtools`` script, you can instea
|
|||||||
download and run a pre-built :term:`buildtools` installer yourself with the following
|
download and run a pre-built :term:`buildtools` installer yourself with the following
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
|
#. Go to :yocto_dl:`/releases/yocto/&DISTRO_REL_LATEST_TAG;/buildtools/`, locate and
|
||||||
download the ``.sh`` file corresponding to your host architecture
|
download the ``.sh`` file corresponding to your host architecture
|
||||||
and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
|
and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
|
||||||
|
|
||||||
|
|||||||
@@ -615,8 +615,8 @@ information on how the root filesystem is created.
|
|||||||
|
|
||||||
Boots an image and performs runtime tests within the image. For
|
Boots an image and performs runtime tests within the image. For
|
||||||
information on automatically testing images, see the
|
information on automatically testing images, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
.. _ref-tasks-testimage_auto:
|
.. _ref-tasks-testimage_auto:
|
||||||
|
|
||||||
@@ -628,8 +628,8 @@ after it has been built. This task is enabled when you set
|
|||||||
:term:`TESTIMAGE_AUTO` equal to "1".
|
:term:`TESTIMAGE_AUTO` equal to "1".
|
||||||
|
|
||||||
For information on automatically testing images, see the
|
For information on automatically testing images, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
Kernel-Related Tasks
|
Kernel-Related Tasks
|
||||||
====================
|
====================
|
||||||
|
|||||||
@@ -452,7 +452,7 @@ universal, the list includes them just in case:
|
|||||||
the Source Directory, if you do, the top-level directory name of the
|
the Source Directory, if you do, the top-level directory name of the
|
||||||
Source Directory is derived from the Yocto Project release tarball.
|
Source Directory is derived from the Yocto Project release tarball.
|
||||||
For example, downloading and unpacking poky tarballs from
|
For example, downloading and unpacking poky tarballs from
|
||||||
:yocto_dl:`/releases/yocto/&DISTRO_REL_TAG;/`
|
:yocto_dl:`/releases/yocto/&DISTRO_REL_LATEST_TAG;/`
|
||||||
results in a Source Directory whose root folder is named poky.
|
results in a Source Directory whose root folder is named poky.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ system and gives an overview of their function and contents.
|
|||||||
information on how this variable is used.
|
information on how this variable is used.
|
||||||
|
|
||||||
:term:`AR`
|
:term:`AR`
|
||||||
The minimal command and arguments used to run ``ar``.
|
The minimal command and arguments used to run :manpage:`ar <ar(1)>`.
|
||||||
|
|
||||||
:term:`ARCHIVER_MODE`
|
:term:`ARCHIVER_MODE`
|
||||||
When used with the :ref:`ref-classes-archiver` class,
|
When used with the :ref:`ref-classes-archiver` class,
|
||||||
@@ -165,7 +165,8 @@ system and gives an overview of their function and contents.
|
|||||||
``meta/classes/archiver.bbclass`` file in the :term:`Source Directory`.
|
``meta/classes/archiver.bbclass`` file in the :term:`Source Directory`.
|
||||||
|
|
||||||
:term:`AS`
|
:term:`AS`
|
||||||
Minimal command and arguments needed to run the assembler.
|
Minimal command and arguments needed to run the :manpage:`assembler
|
||||||
|
<as(1)>`.
|
||||||
|
|
||||||
:term:`ASSUME_PROVIDED`
|
:term:`ASSUME_PROVIDED`
|
||||||
Lists recipe names (:term:`PN` values) BitBake does not
|
Lists recipe names (:term:`PN` values) BitBake does not
|
||||||
@@ -209,12 +210,11 @@ system and gives an overview of their function and contents.
|
|||||||
SRCREV = "${AUTOREV}"
|
SRCREV = "${AUTOREV}"
|
||||||
|
|
||||||
If you use the previous statement to retrieve the latest version of
|
If you use the previous statement to retrieve the latest version of
|
||||||
software, you need to be sure :term:`PV` contains
|
software, you need to make sure :term:`PV` contains the ``+`` sign so
|
||||||
``${``\ :term:`SRCPV`\ ``}``. For example, suppose you have a kernel
|
:term:`bitbake` includes source control information to :term:`PKGV` when
|
||||||
recipe that inherits the :ref:`ref-classes-kernel` class and you
|
packaging the recipe. For example::
|
||||||
use the previous statement. In this example, ``${SRCPV}`` does not
|
|
||||||
automatically get into :term:`PV`. Consequently, you need to change
|
PV = "6.10.y+git"
|
||||||
:term:`PV` in your recipe so that it does contain ``${SRCPV}``.
|
|
||||||
|
|
||||||
For more information see the
|
For more information see the
|
||||||
":ref:`dev-manual/packages:automatically incrementing a package version number`"
|
":ref:`dev-manual/packages:automatically incrementing a package version number`"
|
||||||
@@ -225,6 +225,12 @@ system and gives an overview of their function and contents.
|
|||||||
must set this variable in your recipe. The
|
must set this variable in your recipe. The
|
||||||
:ref:`ref-classes-syslinux` class checks this variable.
|
:ref:`ref-classes-syslinux` class checks this variable.
|
||||||
|
|
||||||
|
:term:`AUTOTOOLS_SCRIPT_PATH`
|
||||||
|
When using the :ref:`ref-classes-autotools` class, the
|
||||||
|
:term:`AUTOTOOLS_SCRIPT_PATH` variable stores the location of the
|
||||||
|
different scripts used by the Autotools build system. The default
|
||||||
|
value for this variable is :term:`S`.
|
||||||
|
|
||||||
:term:`AVAILTUNES`
|
:term:`AVAILTUNES`
|
||||||
The list of defined CPU and Application Binary Interface (ABI)
|
The list of defined CPU and Application Binary Interface (ABI)
|
||||||
tunings (i.e. "tunes") available for use by the OpenEmbedded build
|
tunings (i.e. "tunes") available for use by the OpenEmbedded build
|
||||||
@@ -972,55 +978,165 @@ system and gives an overview of their function and contents.
|
|||||||
variable is a useful pointer in case a bug in the software being
|
variable is a useful pointer in case a bug in the software being
|
||||||
built needs to be manually reported.
|
built needs to be manually reported.
|
||||||
|
|
||||||
|
:term:`BUILD_AR`
|
||||||
|
Specifies the architecture-specific :manpage:`archiver <ar(1)>` for the
|
||||||
|
build host, and its default definition is derived in part from
|
||||||
|
:term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_AR = "${BUILD_PREFIX}ar"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`AR` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_AR` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`AR` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the :manpage:`archiver <ar(1)>` from the build
|
||||||
|
host at some point during the build.
|
||||||
|
|
||||||
:term:`BUILD_ARCH`
|
:term:`BUILD_ARCH`
|
||||||
Specifies the architecture of the build host (e.g. ``i686``). The
|
Specifies the architecture of the build host (e.g. ``i686``). The
|
||||||
OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the
|
OpenEmbedded build system sets the value of :term:`BUILD_ARCH` from the
|
||||||
machine name reported by the ``uname`` command.
|
machine name reported by the ``uname`` command.
|
||||||
|
|
||||||
|
:term:`BUILD_AS`
|
||||||
|
Specifies the architecture-specific :manpage:`assembler <as(1)>` for the
|
||||||
|
build host, and its default definition is derived in part from
|
||||||
|
:term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`AS` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_AS` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`AS` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the :manpage:`assembler <as(1)>` from the build
|
||||||
|
host at some point during the build.
|
||||||
|
|
||||||
:term:`BUILD_AS_ARCH`
|
:term:`BUILD_AS_ARCH`
|
||||||
Specifies the architecture-specific assembler flags for the build
|
Specifies the architecture-specific assembler flags for the build
|
||||||
host. By default, the value of :term:`BUILD_AS_ARCH` is empty.
|
host. By default, the value of :term:`BUILD_AS_ARCH` is empty.
|
||||||
|
|
||||||
|
:term:`BUILD_CC`
|
||||||
|
Specifies the architecture-specific C compiler for the build host,
|
||||||
|
and its default definition is derived in part from :term:`BUILD_PREFIX`
|
||||||
|
and :term:`BUILD_CC_ARCH`::
|
||||||
|
|
||||||
|
BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`CC` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_CC` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`CC` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the compiler from the build host at some point
|
||||||
|
during the build.
|
||||||
|
|
||||||
:term:`BUILD_CC_ARCH`
|
:term:`BUILD_CC_ARCH`
|
||||||
Specifies the architecture-specific C compiler flags for the build
|
Specifies the architecture-specific C compiler flags for the build
|
||||||
host. By default, the value of :term:`BUILD_CC_ARCH` is empty.
|
host. By default, the value of :term:`BUILD_CC_ARCH` is empty.
|
||||||
|
|
||||||
:term:`BUILD_CCLD`
|
:term:`BUILD_CCLD`
|
||||||
Specifies the linker command to be used for the build host when the C
|
Specifies the :manpage:`linker <ld(1)>` command to be used for the build
|
||||||
compiler is being used as the linker. By default, :term:`BUILD_CCLD`
|
host when the C compiler is being used as the linker, and its default
|
||||||
points to GCC and passes as arguments the value of
|
definition is derived in part from :term:`BUILD_PREFIX` and
|
||||||
:term:`BUILD_CC_ARCH`, assuming
|
:term:`BUILD_CC_ARCH`::
|
||||||
:term:`BUILD_CC_ARCH` is set.
|
|
||||||
|
BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`CCLD` is set to
|
||||||
|
the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_CCLD` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`CCLD` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the :manpage:`linker <ld(1)>` from the build host
|
||||||
|
at some point during the build.
|
||||||
|
|
||||||
:term:`BUILD_CFLAGS`
|
:term:`BUILD_CFLAGS`
|
||||||
Specifies the flags to pass to the C compiler when building for the
|
Specifies the flags to pass to the C compiler when building for the
|
||||||
build host. When building in the ``-native`` context,
|
build host. When building a :ref:`ref-classes-native` recipe,
|
||||||
:term:`CFLAGS` is set to the value of this variable by
|
:term:`CFLAGS` is set to the value of this variable by
|
||||||
default.
|
default.
|
||||||
|
|
||||||
|
:term:`BUILD_CPP`
|
||||||
|
Specifies the C preprocessor command (to both the C and the C++ compilers)
|
||||||
|
when building for the build host, and its default definition is derived in
|
||||||
|
part from :term:`BUILD_PREFIX` and :term:`BUILD_CC_ARCH`::
|
||||||
|
|
||||||
|
BUILD_CPP = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH} -E"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`CPP` is set to
|
||||||
|
the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_CPP` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`CPP` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the preprocessor from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_CPPFLAGS`
|
:term:`BUILD_CPPFLAGS`
|
||||||
Specifies the flags to pass to the C preprocessor (i.e. to both the C
|
Specifies the flags to pass to the C preprocessor (i.e. to both the C
|
||||||
and the C++ compilers) when building for the build host. When
|
and the C++ compilers) when building for the build host. When
|
||||||
building in the ``-native`` context, :term:`CPPFLAGS`
|
building in the ``-native`` context, :term:`CPPFLAGS`
|
||||||
is set to the value of this variable by default.
|
is set to the value of this variable by default.
|
||||||
|
|
||||||
|
:term:`BUILD_CXX`
|
||||||
|
Specifies the architecture-specific C++ compiler for the build host,
|
||||||
|
and its default definition is derived in part from :term:`BUILD_PREFIX`
|
||||||
|
and :term:`BUILD_CC_ARCH`::
|
||||||
|
|
||||||
|
BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`CXX` is set to
|
||||||
|
the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_CXX` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`CXX` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the C++ compiler from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_CXXFLAGS`
|
:term:`BUILD_CXXFLAGS`
|
||||||
Specifies the flags to pass to the C++ compiler when building for the
|
Specifies the flags to pass to the C++ compiler when building for the
|
||||||
build host. When building in the ``-native`` context,
|
build host. When building a :ref:`ref-classes-native` recipe,
|
||||||
:term:`CXXFLAGS` is set to the value of this variable
|
:term:`CXXFLAGS` is set to the value of this variable
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
:term:`BUILD_FC`
|
:term:`BUILD_FC`
|
||||||
Specifies the Fortran compiler command for the build host. By
|
Specifies the Fortran compiler command for the build host, and its default
|
||||||
default, :term:`BUILD_FC` points to Gfortran and passes as arguments the
|
definition is derived in part from :term:`BUILD_PREFIX` and
|
||||||
value of :term:`BUILD_CC_ARCH`, assuming
|
:term:`BUILD_CC_ARCH`::
|
||||||
:term:`BUILD_CC_ARCH` is set.
|
|
||||||
|
BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`FC` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_FC` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`FC` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the Fortran compiler from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_LD`
|
:term:`BUILD_LD`
|
||||||
Specifies the linker command for the build host. By default,
|
Specifies the linker command for the build host, and its default
|
||||||
:term:`BUILD_LD` points to the GNU linker (ld) and passes as arguments
|
definition is derived in part from :term:`BUILD_PREFIX` and
|
||||||
the value of :term:`BUILD_LD_ARCH`, assuming
|
:term:`BUILD_LD_ARCH`::
|
||||||
:term:`BUILD_LD_ARCH` is set.
|
|
||||||
|
BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`LD` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_LD` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`LD` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the linker from the build host at some point
|
||||||
|
during the build.
|
||||||
|
|
||||||
:term:`BUILD_LD_ARCH`
|
:term:`BUILD_LD_ARCH`
|
||||||
Specifies architecture-specific linker flags for the build host. By
|
Specifies architecture-specific linker flags for the build host. By
|
||||||
@@ -1028,10 +1144,58 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
:term:`BUILD_LDFLAGS`
|
:term:`BUILD_LDFLAGS`
|
||||||
Specifies the flags to pass to the linker when building for the build
|
Specifies the flags to pass to the linker when building for the build
|
||||||
host. When building in the ``-native`` context,
|
host. When building a :ref:`ref-classes-native` recipe,
|
||||||
:term:`LDFLAGS` is set to the value of this variable
|
:term:`LDFLAGS` is set to the value of this variable
|
||||||
by default.
|
by default.
|
||||||
|
|
||||||
|
:term:`BUILD_NM`
|
||||||
|
Specifies the architecture-specific utility to list symbols from object
|
||||||
|
files for the build host, and its default definition is derived in part
|
||||||
|
from :term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_NM = "${BUILD_PREFIX}nm"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`NM` is set to the
|
||||||
|
value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_NM` variable should not be set manually, and is rarely
|
||||||
|
used in recipes as :term:`NM` contains the appropriate value depending on
|
||||||
|
the context (native or target recipes). Exception be made for target
|
||||||
|
recipes that need to use the utility from the build host at some point
|
||||||
|
during the build.
|
||||||
|
|
||||||
|
:term:`BUILD_OBJCOPY`
|
||||||
|
Specifies the architecture-specific utility to copy object files for the
|
||||||
|
build host, and its default definition is derived in part from
|
||||||
|
:term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_OBJCOPY = "${BUILD_PREFIX}objcopy"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`OBJCOPY` is set
|
||||||
|
to the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_OBJCOPY` variable should not be set manually, and is
|
||||||
|
rarely used in recipes as :term:`OBJCOPY` contains the appropriate value
|
||||||
|
depending on the context (native or target recipes). Exception be made for
|
||||||
|
target recipes that need to use the utility from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
|
:term:`BUILD_OBJDUMP`
|
||||||
|
Specifies the architecture-specific utility to display object files
|
||||||
|
information for the build host, and its default definition is derived in
|
||||||
|
part from :term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_OBJDUMP = "${BUILD_PREFIX}objdump"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`OBJDUMP` is set
|
||||||
|
to the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_OBJDUMP` variable should not be set manually, and is
|
||||||
|
rarely used in recipes as :term:`OBJDUMP` contains the appropriate value
|
||||||
|
depending on the context (native or target recipes). Exception be made for
|
||||||
|
target recipes that need to use the utility from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_OPTIMIZATION`
|
:term:`BUILD_OPTIMIZATION`
|
||||||
Specifies the optimization flags passed to the C compiler when
|
Specifies the optimization flags passed to the C compiler when
|
||||||
building for the build host or the SDK. The flags are passed through
|
building for the build host or the SDK. The flags are passed through
|
||||||
@@ -1052,11 +1216,53 @@ system and gives an overview of their function and contents.
|
|||||||
build system uses the :term:`BUILD_PREFIX` value to set the
|
build system uses the :term:`BUILD_PREFIX` value to set the
|
||||||
:term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes.
|
:term:`TARGET_PREFIX` when building for :ref:`ref-classes-native` recipes.
|
||||||
|
|
||||||
|
:term:`BUILD_RANLIB`
|
||||||
|
Specifies the architecture-specific utility to generate indexes for
|
||||||
|
archives for the build host, and its default definition is derived in part
|
||||||
|
from :term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_RANLIB = "${BUILD_PREFIX}ranlib -D"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`RANLIB` is set to
|
||||||
|
the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_RANLIB` variable should not be set manually, and is
|
||||||
|
rarely used in recipes as :term:`RANLIB` contains the appropriate value
|
||||||
|
depending on the context (native or target recipes). Exception be made for
|
||||||
|
target recipes that need to use the utility from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
|
:term:`BUILD_READELF`
|
||||||
|
Specifies the architecture-specific utility to display information about
|
||||||
|
ELF files for the build host, and its default definition is derived in
|
||||||
|
part from :term:`BUILD_PREFIX`::
|
||||||
|
|
||||||
|
BUILD_READELF = "${BUILD_PREFIX}readelf"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`READELF` is set
|
||||||
|
to the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_READELF` variable should not be set manually, and is
|
||||||
|
rarely used in recipes as :term:`READELF` contains the appropriate value
|
||||||
|
depending on the context (native or target recipes). Exception be made for
|
||||||
|
target recipes that need to use the utility from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_STRIP`
|
:term:`BUILD_STRIP`
|
||||||
Specifies the command to be used to strip debugging symbols from
|
Specifies the command to be used to strip debugging symbols from binaries
|
||||||
binaries produced for the build host. By default, :term:`BUILD_STRIP`
|
produced for the build host, and its default definition is derived in part
|
||||||
points to
|
from :term:`BUILD_PREFIX`::
|
||||||
``${``\ :term:`BUILD_PREFIX`\ ``}strip``.
|
|
||||||
|
BUILD_STRIP = "${BUILD_PREFIX}strip"
|
||||||
|
|
||||||
|
When building a :ref:`ref-classes-native` recipe, :term:`STRIP` is set to
|
||||||
|
the value of this variable by default.
|
||||||
|
|
||||||
|
The :term:`BUILD_STRIP` variable should not be set manually, and is
|
||||||
|
rarely used in recipes as :term:`STRIP` contains the appropriate value
|
||||||
|
depending on the context (native or target recipes). Exception be made for
|
||||||
|
target recipes that need to use the utility from the build host at some
|
||||||
|
point during the build.
|
||||||
|
|
||||||
:term:`BUILD_SYS`
|
:term:`BUILD_SYS`
|
||||||
Specifies the system, including the architecture and the operating
|
Specifies the system, including the architecture and the operating
|
||||||
@@ -1252,6 +1458,10 @@ system and gives an overview of their function and contents.
|
|||||||
:term:`CC`
|
:term:`CC`
|
||||||
The minimal command and arguments used to run the C compiler.
|
The minimal command and arguments used to run the C compiler.
|
||||||
|
|
||||||
|
:term:`CCLD`
|
||||||
|
The minimal command and arguments used to run the linker when the C
|
||||||
|
compiler is being used as the linker.
|
||||||
|
|
||||||
:term:`CFLAGS`
|
:term:`CFLAGS`
|
||||||
Specifies the flags to pass to the C compiler. This variable is
|
Specifies the flags to pass to the C compiler. This variable is
|
||||||
exported to an environment variable and thus made visible to the
|
exported to an environment variable and thus made visible to the
|
||||||
@@ -1495,6 +1705,17 @@ system and gives an overview of their function and contents.
|
|||||||
:term:`CONFIGURE_FLAGS`
|
:term:`CONFIGURE_FLAGS`
|
||||||
The minimal arguments for GNU configure.
|
The minimal arguments for GNU configure.
|
||||||
|
|
||||||
|
:term:`CONFIGURE_SCRIPT`
|
||||||
|
When using the :ref:`ref-classes-autotools` class, the
|
||||||
|
:term:`CONFIGURE_SCRIPT` variable stores the location of the ``configure``
|
||||||
|
script for the Autotools build system. The default definition for this
|
||||||
|
variable is::
|
||||||
|
|
||||||
|
CONFIGURE_SCRIPT ?= "${AUTOTOOLS_SCRIPT_PATH}/configure"
|
||||||
|
|
||||||
|
Where :term:`AUTOTOOLS_SCRIPT_PATH` is the location of the of the
|
||||||
|
Autotools build system scripts, which defaults to :term:`S`.
|
||||||
|
|
||||||
:term:`CONFLICT_DISTRO_FEATURES`
|
:term:`CONFLICT_DISTRO_FEATURES`
|
||||||
When inheriting the :ref:`ref-classes-features_check`
|
When inheriting the :ref:`ref-classes-features_check`
|
||||||
class, this variable identifies distribution features that would be
|
class, this variable identifies distribution features that would be
|
||||||
@@ -2776,6 +2997,9 @@ system and gives an overview of their function and contents.
|
|||||||
:term:`FAKEROOTNOENV`
|
:term:`FAKEROOTNOENV`
|
||||||
See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual.
|
See :term:`bitbake:FAKEROOTNOENV` in the BitBake manual.
|
||||||
|
|
||||||
|
:term:`FC`
|
||||||
|
The minimal command and arguments used to run the Fortran compiler.
|
||||||
|
|
||||||
:term:`FEATURE_PACKAGES`
|
:term:`FEATURE_PACKAGES`
|
||||||
Defines one or more packages to include in an image when a specific
|
Defines one or more packages to include in an image when a specific
|
||||||
item is included in :term:`IMAGE_FEATURES`.
|
item is included in :term:`IMAGE_FEATURES`.
|
||||||
@@ -3361,6 +3585,20 @@ system and gives an overview of their function and contents.
|
|||||||
- mips
|
- mips
|
||||||
- mipsel
|
- mipsel
|
||||||
|
|
||||||
|
:term:`HOST_AS_ARCH`
|
||||||
|
Specifies architecture-specific assembler flags.
|
||||||
|
|
||||||
|
Default initialization for :term:`HOST_AS_ARCH` varies depending on what
|
||||||
|
is being built:
|
||||||
|
|
||||||
|
- :term:`TARGET_AS_ARCH` when building for the
|
||||||
|
target
|
||||||
|
|
||||||
|
- :term:`BUILD_AS_ARCH` when building for the build host (i.e.
|
||||||
|
``-native``)
|
||||||
|
|
||||||
|
- :term:`SDK_AS_ARCH` when building for an SDK (i.e. ``nativesdk-``)
|
||||||
|
|
||||||
:term:`HOST_CC_ARCH`
|
:term:`HOST_CC_ARCH`
|
||||||
Specifies architecture-specific compiler flags that are passed to the
|
Specifies architecture-specific compiler flags that are passed to the
|
||||||
C compiler.
|
C compiler.
|
||||||
@@ -3374,8 +3612,20 @@ system and gives an overview of their function and contents.
|
|||||||
- :term:`BUILD_CC_ARCH` when building for the build host (i.e.
|
- :term:`BUILD_CC_ARCH` when building for the build host (i.e.
|
||||||
``-native``)
|
``-native``)
|
||||||
|
|
||||||
- ``BUILDSDK_CC_ARCH`` when building for an SDK (i.e.
|
- :term:`SDK_CC_ARCH` when building for an SDK (i.e. ``nativesdk-``)
|
||||||
``nativesdk-``)
|
|
||||||
|
:term:`HOST_LD_ARCH`
|
||||||
|
Specifies architecture-specific linker flags.
|
||||||
|
|
||||||
|
Default initialization for :term:`HOST_LD_ARCH` varies depending on what
|
||||||
|
is being built:
|
||||||
|
|
||||||
|
- :term:`TARGET_LD_ARCH` when building for the target
|
||||||
|
|
||||||
|
- :term:`BUILD_LD_ARCH` when building for the build host (i.e.
|
||||||
|
``-native``)
|
||||||
|
|
||||||
|
- :term:`SDK_LD_ARCH` when building for an SDK (i.e. ``nativesdk-``)
|
||||||
|
|
||||||
:term:`HOST_OS`
|
:term:`HOST_OS`
|
||||||
Specifies the name of the target operating system, which is normally
|
Specifies the name of the target operating system, which is normally
|
||||||
@@ -3935,6 +4185,12 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
|
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
|
||||||
|
|
||||||
|
:term:`IMAGE_ROOTFS_MAXSIZE`
|
||||||
|
Defines the maximum size in Kbytes for the generated image. If the
|
||||||
|
generated image size is above that, the build will fail. It's a good
|
||||||
|
idea to set this variable for images that need to fit on a limited
|
||||||
|
space (e.g. SD card, a fixed-size partition, ...).
|
||||||
|
|
||||||
:term:`IMAGE_ROOTFS_SIZE`
|
:term:`IMAGE_ROOTFS_SIZE`
|
||||||
Defines the size in Kbytes for the generated image. The OpenEmbedded
|
Defines the size in Kbytes for the generated image. The OpenEmbedded
|
||||||
build system determines the final size for the generated image using
|
build system determines the final size for the generated image using
|
||||||
@@ -4404,8 +4660,7 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
The value in :term:`INITSCRIPT_PARAMS` is passed through to the
|
The value in :term:`INITSCRIPT_PARAMS` is passed through to the
|
||||||
``update-rc.d`` command. For more information on valid parameters,
|
``update-rc.d`` command. For more information on valid parameters,
|
||||||
please see the ``update-rc.d`` manual page at
|
please see the manual page: :manpage:`update-rc.d <update-rc.d(8)>`.
|
||||||
https://manpages.debian.org/buster/init-system-helpers/update-rc.d.8.en.html
|
|
||||||
|
|
||||||
:term:`INSANE_SKIP`
|
:term:`INSANE_SKIP`
|
||||||
Specifies the QA checks to skip for a specific package within a
|
Specifies the QA checks to skip for a specific package within a
|
||||||
@@ -4974,7 +5229,8 @@ system and gives an overview of their function and contents.
|
|||||||
``LAYERVERSION_mylayer``).
|
``LAYERVERSION_mylayer``).
|
||||||
|
|
||||||
:term:`LD`
|
:term:`LD`
|
||||||
The minimal command and arguments used to run the linker.
|
The minimal command and arguments used to run the :manpage:`linker
|
||||||
|
<ld(1)>`.
|
||||||
|
|
||||||
:term:`LDFLAGS`
|
:term:`LDFLAGS`
|
||||||
Specifies the flags to pass to the linker. This variable is exported
|
Specifies the flags to pass to the linker. This variable is exported
|
||||||
@@ -5152,7 +5408,7 @@ system and gives an overview of their function and contents.
|
|||||||
The :term:`LINUX_VERSION` variable is used to define :term:`PV`
|
The :term:`LINUX_VERSION` variable is used to define :term:`PV`
|
||||||
for the recipe::
|
for the recipe::
|
||||||
|
|
||||||
PV = "${LINUX_VERSION}+git${SRCPV}"
|
PV = "${LINUX_VERSION}+git"
|
||||||
|
|
||||||
:term:`LINUX_VERSION_EXTENSION`
|
:term:`LINUX_VERSION_EXTENSION`
|
||||||
A string extension compiled into the version string of the Linux
|
A string extension compiled into the version string of the Linux
|
||||||
@@ -5580,7 +5836,7 @@ system and gives an overview of their function and contents.
|
|||||||
variable is set.
|
variable is set.
|
||||||
|
|
||||||
:term:`NM`
|
:term:`NM`
|
||||||
The minimal command and arguments to run ``nm``.
|
The minimal command and arguments to run :manpage:`nm <nm(1)>`.
|
||||||
|
|
||||||
:term:`NO_GENERIC_LICENSE`
|
:term:`NO_GENERIC_LICENSE`
|
||||||
Avoids QA errors when you use a non-common, non-CLOSED license in a
|
Avoids QA errors when you use a non-common, non-CLOSED license in a
|
||||||
@@ -5669,10 +5925,10 @@ system and gives an overview of their function and contents.
|
|||||||
NVDCVE_API_KEY = "fe753&7a2-1427-347d-23ff-b2e2b7ca5f3"
|
NVDCVE_API_KEY = "fe753&7a2-1427-347d-23ff-b2e2b7ca5f3"
|
||||||
|
|
||||||
:term:`OBJCOPY`
|
:term:`OBJCOPY`
|
||||||
The minimal command and arguments to run ``objcopy``.
|
The minimal command and arguments to run :manpage:`objcopy <objcopy(1)>`.
|
||||||
|
|
||||||
:term:`OBJDUMP`
|
:term:`OBJDUMP`
|
||||||
The minimal command and arguments to run ``objdump``.
|
The minimal command and arguments to run :manpage:`objdump <objdump(1)>`.
|
||||||
|
|
||||||
:term:`OE_BINCONFIG_EXTRA_MANGLE`
|
:term:`OE_BINCONFIG_EXTRA_MANGLE`
|
||||||
When inheriting the :ref:`ref-classes-binconfig` class,
|
When inheriting the :ref:`ref-classes-binconfig` class,
|
||||||
@@ -5697,14 +5953,6 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
OECMAKE_GENERATOR = "Unix Makefiles"
|
OECMAKE_GENERATOR = "Unix Makefiles"
|
||||||
|
|
||||||
:term:`OE_IMPORTS`
|
|
||||||
An internal variable used to tell the OpenEmbedded build system what
|
|
||||||
Python modules to import for every Python function run by the system.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
Do not set this variable. It is for internal use only.
|
|
||||||
|
|
||||||
:term:`OE_INIT_ENV_SCRIPT`
|
:term:`OE_INIT_ENV_SCRIPT`
|
||||||
The name of the build environment setup script for the purposes of
|
The name of the build environment setup script for the purposes of
|
||||||
setting up the environment within the extensible SDK. The default
|
setting up the environment within the extensible SDK. The default
|
||||||
@@ -6581,6 +6829,23 @@ system and gives an overview of their function and contents.
|
|||||||
The version of the package(s) built by the recipe. By default,
|
The version of the package(s) built by the recipe. By default,
|
||||||
:term:`PKGV` is set to :term:`PV`.
|
:term:`PKGV` is set to :term:`PV`.
|
||||||
|
|
||||||
|
If :term:`PV` contains the ``+`` sign, source control information will be
|
||||||
|
included in :term:`PKGV` later in the packaging phase. For more
|
||||||
|
information, see the :doc:`/dev-manual/external-scm` section of the Yocto
|
||||||
|
Project Development Tasks Manual.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Since source control information is included in a late stage by the
|
||||||
|
:ref:`ref-classes-package` class, it cannot be seen from the BitBake
|
||||||
|
environment with ``bitbake -e`` or ``bitbake-getvar``. Instead, after
|
||||||
|
the package is built, the version information can be retrieved with
|
||||||
|
``oe-pkgdata-util package-info <package name>``. See the
|
||||||
|
:ref:`dev-manual/debugging:Viewing Package Information with
|
||||||
|
\`\`oe-pkgdata-util\`\`` section of the Yocto Project Development Tasks
|
||||||
|
Manual for more information on ``oe-pkgdata-util``.
|
||||||
|
|
||||||
|
|
||||||
:term:`PN`
|
:term:`PN`
|
||||||
This variable can have two separate functions depending on the
|
This variable can have two separate functions depending on the
|
||||||
context: a recipe name or a resulting package name.
|
context: a recipe name or a resulting package name.
|
||||||
@@ -6715,22 +6980,14 @@ system and gives an overview of their function and contents.
|
|||||||
string. You cannot use the wildcard character in any other
|
string. You cannot use the wildcard character in any other
|
||||||
location of the string.
|
location of the string.
|
||||||
|
|
||||||
The specified version is matched against :term:`PV`, which
|
The specified version is matched against :term:`PV`, which does not
|
||||||
does not necessarily match the version part of the recipe's filename.
|
necessarily match the version part of the recipe's filename.
|
||||||
For example, consider two recipes ``foo_1.2.bb`` and ``foo_git.bb``
|
|
||||||
where ``foo_git.bb`` contains the following assignment::
|
|
||||||
|
|
||||||
PV = "1.1+git${SRCPV}"
|
If you want to select a recipe named ``foo_git.bb`` which has :term:`PV`
|
||||||
|
set to ``1.2.3+git``, you can do so by setting ```PREFERRED_VERSION_foo``
|
||||||
In this case, the correct way to select
|
to ``1.2.3%`` (i.e. simply setting ``PREFERRED_VERSION_foo`` to ``git``
|
||||||
``foo_git.bb`` is by using an assignment such as the following::
|
will not work as the name of the recipe isn't used, but rather its
|
||||||
|
:term:`PV` definition).
|
||||||
PREFERRED_VERSION_foo = "1.1+git%"
|
|
||||||
|
|
||||||
Compare that previous example
|
|
||||||
against the following incorrect example, which does not work::
|
|
||||||
|
|
||||||
PREFERRED_VERSION_foo = "git"
|
|
||||||
|
|
||||||
Sometimes the :term:`PREFERRED_VERSION` variable can be set by
|
Sometimes the :term:`PREFERRED_VERSION` variable can be set by
|
||||||
configuration files in a way that is hard to change. You can use
|
configuration files in a way that is hard to change. You can use
|
||||||
@@ -6900,7 +7157,7 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
:term:`PTEST_ENABLED`
|
:term:`PTEST_ENABLED`
|
||||||
Specifies whether or not :ref:`Package
|
Specifies whether or not :ref:`Package
|
||||||
Test <dev-manual/packages:testing packages with ptest>` (ptest)
|
Test <test-manual/ptest:testing packages with ptest>` (ptest)
|
||||||
functionality is enabled when building a recipe. You should not set
|
functionality is enabled when building a recipe. You should not set
|
||||||
this variable directly. Enabling and disabling building Package Tests
|
this variable directly. Enabling and disabling building Package Tests
|
||||||
at build time should be done by adding "ptest" to (or removing it
|
at build time should be done by adding "ptest" to (or removing it
|
||||||
@@ -6970,7 +7227,7 @@ system and gives an overview of their function and contents.
|
|||||||
QA_EMPTY_DIRS_RECOMMENDATION:/dev = "but all devices must be created at runtime"
|
QA_EMPTY_DIRS_RECOMMENDATION:/dev = "but all devices must be created at runtime"
|
||||||
|
|
||||||
:term:`RANLIB`
|
:term:`RANLIB`
|
||||||
The minimal command and arguments to run ``ranlib``.
|
The minimal command and arguments to run :manpage:`ranlib <ranlib(1)>`.
|
||||||
|
|
||||||
:term:`RCONFLICTS`
|
:term:`RCONFLICTS`
|
||||||
The list of packages that conflict with packages. Note that packages
|
The list of packages that conflict with packages. Note that packages
|
||||||
@@ -7107,6 +7364,9 @@ system and gives an overview of their function and contents.
|
|||||||
":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the
|
":ref:`bitbake-user-manual/bitbake-user-manual-execution:dependencies`" sections in the
|
||||||
BitBake User Manual for additional information on tasks and dependencies.
|
BitBake User Manual for additional information on tasks and dependencies.
|
||||||
|
|
||||||
|
:term:`READELF`
|
||||||
|
The minimal command and arguments to run :manpage:`readelf <readelf(1)>`.
|
||||||
|
|
||||||
:term:`RECIPE_MAINTAINER`
|
:term:`RECIPE_MAINTAINER`
|
||||||
This variable defines the name and e-mail address of the maintainer of a
|
This variable defines the name and e-mail address of the maintainer of a
|
||||||
recipe. Such information can be used by human users submitted changes,
|
recipe. Such information can be used by human users submitted changes,
|
||||||
@@ -7130,11 +7390,6 @@ system and gives an overview of their function and contents.
|
|||||||
in the ":ref:`ref-manual/devtool-reference:checking on the upgrade status of a recipe`"
|
in the ":ref:`ref-manual/devtool-reference:checking on the upgrade status of a recipe`"
|
||||||
section.
|
section.
|
||||||
|
|
||||||
:term:`RECIPE_UPGRADE_EXTRA_TASKS`
|
|
||||||
When upgrading a recipe with ``devtool upgrade``, the variable
|
|
||||||
:term:`RECIPE_UPGRADE_EXTRA_TASKS` specifies a space-delimited list of
|
|
||||||
tasks to run after the new sources have been unpacked.
|
|
||||||
|
|
||||||
:term:`RECIPE_SYSROOT`
|
:term:`RECIPE_SYSROOT`
|
||||||
This variable points to the directory that holds all files populated from
|
This variable points to the directory that holds all files populated from
|
||||||
recipes specified in :term:`DEPENDS`. As the name indicates,
|
recipes specified in :term:`DEPENDS`. As the name indicates,
|
||||||
@@ -7165,7 +7420,11 @@ system and gives an overview of their function and contents.
|
|||||||
The default value is ``"${WORKDIR}/recipe-sysroot-native"``.
|
The default value is ``"${WORKDIR}/recipe-sysroot-native"``.
|
||||||
Do not modify it.
|
Do not modify it.
|
||||||
|
|
||||||
:term:`RECIPE_UPDATE_EXTRA_TASKS`
|
:term:`RECIPE_UPGRADE_EXTRA_TASKS`
|
||||||
|
When upgrading a recipe with ``devtool upgrade``, the variable
|
||||||
|
:term:`RECIPE_UPGRADE_EXTRA_TASKS` specifies a space-delimited list of
|
||||||
|
tasks to run after the new sources have been unpacked.
|
||||||
|
|
||||||
For some recipes, after the new source has been unpacked, additional tasks
|
For some recipes, after the new source has been unpacked, additional tasks
|
||||||
may need to be run during an upgrade. A good example of this is recipes
|
may need to be run during an upgrade. A good example of this is recipes
|
||||||
which inherit :ref:`ref-classes-cargo-update-recipe-crates`, where the
|
which inherit :ref:`ref-classes-cargo-update-recipe-crates`, where the
|
||||||
@@ -7503,11 +7762,21 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
Only one archive type can be specified.
|
Only one archive type can be specified.
|
||||||
|
|
||||||
|
:term:`SDK_AS_ARCH`
|
||||||
|
Specifies architecture-specific assembler flags when building
|
||||||
|
:ref:`ref-classes-nativesdk` recipes. By default, the value of
|
||||||
|
:term:`SDK_AS_ARCH` equals the one of :term:`BUILD_AS_ARCH`.
|
||||||
|
|
||||||
:term:`SDK_BUILDINFO_FILE`
|
:term:`SDK_BUILDINFO_FILE`
|
||||||
When using the :ref:`ref-classes-image-buildinfo` class,
|
When using the :ref:`ref-classes-image-buildinfo` class,
|
||||||
specifies the file in the SDK to write the build information into. The
|
specifies the file in the SDK to write the build information into. The
|
||||||
default value is "``/buildinfo``".
|
default value is "``/buildinfo``".
|
||||||
|
|
||||||
|
:term:`SDK_CC_ARCH`
|
||||||
|
Specifies the architecture-specific C compiler flags when building
|
||||||
|
:ref:`ref-classes-nativesdk` recipes. By default, the value of
|
||||||
|
:term:`SDK_CC_ARCH` equals the one of :term:`BUILD_CC_ARCH`.
|
||||||
|
|
||||||
:term:`SDK_CUSTOM_TEMPLATECONF`
|
:term:`SDK_CUSTOM_TEMPLATECONF`
|
||||||
When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to
|
When building the extensible SDK, if :term:`SDK_CUSTOM_TEMPLATECONF` is set to
|
||||||
"1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory`
|
"1" and a ``conf/templateconf.cfg`` file exists in the :term:`Build Directory`
|
||||||
@@ -7589,6 +7858,11 @@ system and gives an overview of their function and contents.
|
|||||||
:term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if
|
:term:`SDK_EXT_TYPE` is set to "minimal", and defaults to "1" if
|
||||||
:term:`SDK_EXT_TYPE` is set to "full".
|
:term:`SDK_EXT_TYPE` is set to "full".
|
||||||
|
|
||||||
|
:term:`SDK_LD_ARCH`
|
||||||
|
Specifies architecture-specific linker flags when building
|
||||||
|
:ref:`ref-classes-nativesdk` recipes. By default, the value of
|
||||||
|
:term:`SDK_LD_ARCH` equals the one of :term:`BUILD_LD_ARCH`.
|
||||||
|
|
||||||
:term:`SDK_NAME`
|
:term:`SDK_NAME`
|
||||||
The base name for SDK output files. The default value (as set in
|
The base name for SDK output files. The default value (as set in
|
||||||
``meta-poky/conf/distro/poky.conf``) is derived from the
|
``meta-poky/conf/distro/poky.conf``) is derived from the
|
||||||
@@ -8037,6 +8311,31 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
You can specify only a single URL in :term:`SOURCE_MIRROR_URL`.
|
You can specify only a single URL in :term:`SOURCE_MIRROR_URL`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If the mirror is protected behind a username and password, the
|
||||||
|
:term:`build host` needs to be configured so the :term:`build system
|
||||||
|
<OpenEmbedded Build System>` is able to fetch from the mirror.
|
||||||
|
|
||||||
|
The recommended way to do that is by setting the following parameters
|
||||||
|
in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
|
||||||
|
directory)::
|
||||||
|
|
||||||
|
machine example.com
|
||||||
|
login <user>
|
||||||
|
password <password>
|
||||||
|
|
||||||
|
This file requires permissions set to ``400`` or ``600`` to prevent
|
||||||
|
other users from reading the file::
|
||||||
|
|
||||||
|
chmod 600 "$HOME/.netrc"
|
||||||
|
|
||||||
|
Another method to configure the username and password is from the URL
|
||||||
|
in :term:`SOURCE_MIRROR_URL` directly, with the ``user`` and ``pswd``
|
||||||
|
parameters::
|
||||||
|
|
||||||
|
SOURCE_MIRROR_URL = "http://example.com/my_source_mirror;user=<user>;pswd=<password>"
|
||||||
|
|
||||||
:term:`SPDX_ARCHIVE_PACKAGED`
|
:term:`SPDX_ARCHIVE_PACKAGED`
|
||||||
This option allows to add to :term:`SPDX` output compressed archives
|
This option allows to add to :term:`SPDX` output compressed archives
|
||||||
of the files in the generated target packages.
|
of the files in the generated target packages.
|
||||||
@@ -8317,21 +8616,23 @@ system and gives an overview of their function and contents.
|
|||||||
(SCM).
|
(SCM).
|
||||||
|
|
||||||
:term:`SRCPV`
|
:term:`SRCPV`
|
||||||
Returns the version string of the current package. This string is
|
The variable :term:`SRCPV` is deprecated. It was previously used to
|
||||||
used to help define the value of :term:`PV`.
|
include source control information in :term:`PV` for :term:`bitbake` to
|
||||||
|
work correctly but this is no longer a requirement. Source control
|
||||||
|
information will be automatically included by :term:`bitbake` in the
|
||||||
|
variable :term:`PKGV` during packaging if the ``+`` sign is present in
|
||||||
|
:term:`PV`.
|
||||||
|
|
||||||
The :term:`SRCPV` variable is defined in the ``meta/conf/bitbake.conf``
|
.. note::
|
||||||
configuration file in the :term:`Source Directory` as
|
|
||||||
follows::
|
|
||||||
|
|
||||||
SRCPV = "${@bb.fetch2.get_srcrev(d)}"
|
The :term:`SRCPV` variable used to be defined in the
|
||||||
|
``meta/conf/bitbake.conf`` configuration file in the :term:`Source
|
||||||
|
Directory` as follows::
|
||||||
|
|
||||||
Recipes that need to define :term:`PV` do so with the help of the
|
SRCPV = "${@bb.fetch2.get_srcrev(d)}"
|
||||||
:term:`SRCPV`. For example, the ``ofono`` recipe (``ofono_git.bb``)
|
|
||||||
located in ``meta/recipes-connectivity`` in the Source Directory
|
|
||||||
defines :term:`PV` as follows::
|
|
||||||
|
|
||||||
PV = "0.12-git${SRCPV}"
|
The ``get_srcrev`` function can still be used to include source control
|
||||||
|
information in variables manually.
|
||||||
|
|
||||||
:term:`SRCREV`
|
:term:`SRCREV`
|
||||||
The revision of the source code used to build the package. This
|
The revision of the source code used to build the package. This
|
||||||
@@ -8442,6 +8743,34 @@ system and gives an overview of their function and contents.
|
|||||||
file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
|
file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \
|
||||||
file://.* file:///some-local-dir/sstate/PATH"
|
file://.* file:///some-local-dir/sstate/PATH"
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If the mirror is protected behind a username and password, the
|
||||||
|
:term:`build host` needs to be configured so the :term:`build system
|
||||||
|
<OpenEmbedded Build System>` is able to download the sstate cache using
|
||||||
|
authentication.
|
||||||
|
|
||||||
|
The recommended way to do that is by setting the following parameters
|
||||||
|
in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home
|
||||||
|
directory)::
|
||||||
|
|
||||||
|
machine someserver.tld
|
||||||
|
login <user>
|
||||||
|
password <password>
|
||||||
|
|
||||||
|
This file requires permissions set to ``400`` or ``600`` to prevent
|
||||||
|
other users from reading the file::
|
||||||
|
|
||||||
|
chmod 600 "$HOME/.netrc"
|
||||||
|
|
||||||
|
Another method to configure the username and password is from the
|
||||||
|
URL in :term:`SSTATE_MIRRORS` directly, with the ``user`` and ``pswd``
|
||||||
|
parameters::
|
||||||
|
|
||||||
|
SSTATE_MIRRORS ?= "\
|
||||||
|
file://.* https://someserver.tld/share/sstate/PATH;user=<user>;pswd=<password>;downloadfilename=PATH \
|
||||||
|
"
|
||||||
|
|
||||||
The Yocto Project actually shares the cache data objects built by its
|
The Yocto Project actually shares the cache data objects built by its
|
||||||
autobuilder::
|
autobuilder::
|
||||||
|
|
||||||
@@ -8659,8 +8988,8 @@ system and gives an overview of their function and contents.
|
|||||||
places stamps. The default directory is ``${TMPDIR}/stamps``.
|
places stamps. The default directory is ``${TMPDIR}/stamps``.
|
||||||
|
|
||||||
:term:`STRIP`
|
:term:`STRIP`
|
||||||
The minimal command and arguments to run ``strip``, which is used to
|
The minimal command and arguments to run :manpage:`strip <strip(1)>`,
|
||||||
strip symbols.
|
which is used to strip symbols.
|
||||||
|
|
||||||
:term:`SUMMARY`
|
:term:`SUMMARY`
|
||||||
The short (72 characters or less) summary of the binary package for
|
The short (72 characters or less) summary of the binary package for
|
||||||
@@ -9207,8 +9536,8 @@ system and gives an overview of their function and contents.
|
|||||||
file.
|
file.
|
||||||
|
|
||||||
For more information on testing images, see the
|
For more information on testing images, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
:term:`TEST_SERIALCONTROL_CMD`
|
:term:`TEST_SERIALCONTROL_CMD`
|
||||||
For automated hardware testing, specifies the command to use to
|
For automated hardware testing, specifies the command to use to
|
||||||
@@ -9279,8 +9608,8 @@ system and gives an overview of their function and contents.
|
|||||||
TEST_SUITES = "test_A test_B"
|
TEST_SUITES = "test_A test_B"
|
||||||
|
|
||||||
For more information on testing images, see the
|
For more information on testing images, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
:term:`TEST_TARGET`
|
:term:`TEST_TARGET`
|
||||||
Specifies the target controller to use when running tests against a
|
Specifies the target controller to use when running tests against a
|
||||||
@@ -9298,8 +9627,8 @@ system and gives an overview of their function and contents.
|
|||||||
You can provide the following arguments with :term:`TEST_TARGET`:
|
You can provide the following arguments with :term:`TEST_TARGET`:
|
||||||
|
|
||||||
- *"qemu":* Boots a QEMU image and runs the tests. See the
|
- *"qemu":* Boots a QEMU image and runs the tests. See the
|
||||||
":ref:`dev-manual/runtime-testing:enabling runtime tests on qemu`" section
|
":ref:`test-manual/runtime-testing:enabling runtime tests on qemu`" section
|
||||||
in the Yocto Project Development Tasks Manual for more
|
in the Yocto Project Test Environment Manual for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
- *"simpleremote":* Runs the tests on target hardware that is
|
- *"simpleremote":* Runs the tests on target hardware that is
|
||||||
@@ -9314,8 +9643,8 @@ system and gives an overview of their function and contents.
|
|||||||
``meta/lib/oeqa/controllers/simpleremote.py``.
|
``meta/lib/oeqa/controllers/simpleremote.py``.
|
||||||
|
|
||||||
For information on running tests on hardware, see the
|
For information on running tests on hardware, see the
|
||||||
":ref:`dev-manual/runtime-testing:enabling runtime tests on hardware`"
|
":ref:`test-manual/runtime-testing:enabling runtime tests on hardware`"
|
||||||
section in the Yocto Project Development Tasks Manual.
|
section in the Yocto Project Test Environment Manual.
|
||||||
|
|
||||||
:term:`TEST_TARGET_IP`
|
:term:`TEST_TARGET_IP`
|
||||||
The IP address of your hardware under test. The :term:`TEST_TARGET_IP`
|
The IP address of your hardware under test. The :term:`TEST_TARGET_IP`
|
||||||
@@ -9351,8 +9680,8 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
For more information
|
For more information
|
||||||
on enabling, running, and writing these tests, see the
|
on enabling, running, and writing these tests, see the
|
||||||
":ref:`dev-manual/runtime-testing:performing automated runtime testing`"
|
":ref:`test-manual/runtime-testing:performing automated runtime testing`"
|
||||||
section in the Yocto Project Development Tasks Manual and the
|
section in the Yocto Project Test Environment Manual and the
|
||||||
":ref:`ref-classes-testimage`" section.
|
":ref:`ref-classes-testimage`" section.
|
||||||
|
|
||||||
:term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
|
:term:`TESTIMAGE_FAILED_QA_ARTIFACTS`
|
||||||
@@ -10136,8 +10465,8 @@ system and gives an overview of their function and contents.
|
|||||||
":ref:`ref-classes-insane`" section.
|
":ref:`ref-classes-insane`" section.
|
||||||
|
|
||||||
:term:`WATCHDOG_TIMEOUT`
|
:term:`WATCHDOG_TIMEOUT`
|
||||||
Specifies the timeout in seconds used by the ``watchdog`` recipe and
|
Specifies the timeout in seconds used by the ``watchdog-config`` recipe
|
||||||
also by ``systemd`` during reboot. The default is 60 seconds.
|
and also by ``systemd`` during reboot. The default is 60 seconds.
|
||||||
|
|
||||||
:term:`WIRELESS_DAEMON`
|
:term:`WIRELESS_DAEMON`
|
||||||
For ``connman`` and ``packagegroup-base``, specifies the wireless
|
For ``connman`` and ``packagegroup-base``, specifies the wireless
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ and then run the script to hand-install the toolchain.
|
|||||||
Follow these steps to locate and hand-install the toolchain:
|
Follow these steps to locate and hand-install the toolchain:
|
||||||
|
|
||||||
#. *Go to the Installers Directory:* Go to
|
#. *Go to the Installers Directory:* Go to
|
||||||
:yocto_dl:`/releases/yocto/yocto-&DISTRO;/toolchain/`
|
:yocto_dl:`/releases/yocto/&DISTRO_REL_LATEST_TAG;/toolchain/`
|
||||||
|
|
||||||
#. *Open the Folder for Your Build Host:* Open the folder that matches
|
#. *Open the Folder for Your Build Host:* Open the folder that matches
|
||||||
your :term:`Build Host` (i.e.
|
your :term:`Build Host` (i.e.
|
||||||
@@ -201,7 +201,7 @@ Follow these steps to extract the root filesystem:
|
|||||||
Image File:* You need to find and download the root filesystem image
|
Image File:* You need to find and download the root filesystem image
|
||||||
file that is appropriate for your target system. These files are kept
|
file that is appropriate for your target system. These files are kept
|
||||||
in machine-specific folders in the
|
in machine-specific folders in the
|
||||||
:yocto_dl:`Index of Releases </releases/yocto/yocto-&DISTRO;/machines/>`
|
:yocto_dl:`Index of Releases </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines/>`
|
||||||
in the "machines" directory.
|
in the "machines" directory.
|
||||||
|
|
||||||
The machine-specific folders of the "machines" directory contain
|
The machine-specific folders of the "machines" directory contain
|
||||||
@@ -245,7 +245,7 @@ Follow these steps to extract the root filesystem:
|
|||||||
|
|
||||||
Here is an example command that extracts the root filesystem
|
Here is an example command that extracts the root filesystem
|
||||||
from a previously built root filesystem image that was downloaded
|
from a previously built root filesystem image that was downloaded
|
||||||
from the :yocto_dl:`Index of Releases </releases/yocto/yocto-&DISTRO;/machines/>`.
|
from the :yocto_dl:`Index of Releases </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines/>`.
|
||||||
This command extracts the root filesystem into the ``core2-64-sato``
|
This command extracts the root filesystem into the ``core2-64-sato``
|
||||||
directory::
|
directory::
|
||||||
|
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ Host` by running the ``*.sh`` installation script.
|
|||||||
You can download a tarball installer, which includes the pre-built
|
You can download a tarball installer, which includes the pre-built
|
||||||
toolchain, the ``runqemu`` script, the internal build system,
|
toolchain, the ``runqemu`` script, the internal build system,
|
||||||
``devtool``, and support files from the appropriate
|
``devtool``, and support files from the appropriate
|
||||||
:yocto_dl:`toolchain </releases/yocto/yocto-&DISTRO;/toolchain/>` directory within the Index of
|
:yocto_dl:`toolchain </releases/yocto/&DISTRO_REL_LATEST_TAG;/toolchain/>` directory within the Index of
|
||||||
Releases. Toolchains are available for several 32-bit and 64-bit
|
Releases. Toolchains are available for several 32-bit and 64-bit
|
||||||
architectures with the ``x86_64`` directories, respectively. The
|
architectures with the ``x86_64`` directories, respectively. The
|
||||||
toolchains the Yocto Project provides are based off the
|
toolchains the Yocto Project provides are based off the
|
||||||
@@ -178,7 +178,7 @@ Running the Extensible SDK Environment Setup Script
|
|||||||
Once you have the SDK installed, you must run the SDK environment setup
|
Once you have the SDK installed, you must run the SDK environment setup
|
||||||
script before you can actually use the SDK.
|
script before you can actually use the SDK.
|
||||||
|
|
||||||
When using a SDK directly in a Yocto build, you will find the script in
|
When using an SDK directly in a Yocto build, you will find the script in
|
||||||
``tmp/deploy/images/qemux86-64/`` in your :term:`Build Directory`.
|
``tmp/deploy/images/qemux86-64/`` in your :term:`Build Directory`.
|
||||||
|
|
||||||
When using a standalone SDK installer, this setup script resides in
|
When using a standalone SDK installer, this setup script resides in
|
||||||
@@ -622,28 +622,91 @@ command:
|
|||||||
decide you do not want to proceed with your work. If you do use this
|
decide you do not want to proceed with your work. If you do use this
|
||||||
command, realize that the source tree is preserved.
|
command, realize that the source tree is preserved.
|
||||||
|
|
||||||
``devtool ide-sdk`` configures IDEs for the extensible SDK
|
``devtool ide-sdk`` configures IDEs and bootstraps SDKs
|
||||||
----------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
``devtool ide-sdk`` automatically configures IDEs to use the extensible SDK.
|
The ``devtool ide-sdk`` command can provide an IDE configuration for IDEs when
|
||||||
To make sure that all parts of the extensible SDK required by the generated
|
working on the source code of one or more recipes.
|
||||||
IDE configuration are available, ``devtool ide-sdk`` uses BitBake in the
|
Depending on the programming language, and the build system used by the recipe,
|
||||||
background to bootstrap the extensible SDK.
|
the tools required for cross-development and remote debugging are different.
|
||||||
|
For example:
|
||||||
|
|
||||||
The extensible SDK supports two different development modes.
|
- A C/C++ project usually uses CMake or Meson.
|
||||||
``devtool ide-sdk`` supports both of them:
|
|
||||||
|
- A Python project uses setuptools or one of its successors.
|
||||||
|
|
||||||
|
- A Rust project uses Cargo.
|
||||||
|
|
||||||
|
Also, the IDE plugins needed for the integration of a build system with the
|
||||||
|
IDE and the corresponding settings are usually specific to these build-systems.
|
||||||
|
To hide all these details from the user, ``devtool ide-sdk`` does two things:
|
||||||
|
|
||||||
|
- It generates any kind of SDK needed for cross-development and remote
|
||||||
|
debugging of the specified recipes.
|
||||||
|
|
||||||
|
- It generates the configuration for the IDE (and the IDE plugins) for using
|
||||||
|
the cross-toolchain and remote debugging tools provided by the SDK directly
|
||||||
|
from the IDE.
|
||||||
|
|
||||||
|
For supported build systems the configurations generated by ``devtool ide-sdk``
|
||||||
|
combine the advantages of the ``devtool modify`` based workflow
|
||||||
|
(see :ref:`using_devtool`) with the advantages of the simple Environment Setup
|
||||||
|
script based workflow (see :ref:`running_the_ext_sdk_env`) provided by Yocto's
|
||||||
|
SDK or eSDK:
|
||||||
|
|
||||||
|
- The source code of the recipe is in the workspace created by
|
||||||
|
``devtool modify`` or ``devtool add``.
|
||||||
|
Using ``devtool build``, ``devtool build-image``,
|
||||||
|
``devtool deploy-target`` or ``bitbake`` is possible.
|
||||||
|
Also ``devtool ide-sdk`` can be used to update the SDK and the IDE
|
||||||
|
configuration at any time.
|
||||||
|
|
||||||
|
- ``devtool ide-sdk`` aims to support multiple programming languages and
|
||||||
|
multiple IDEs natively. "Natively" means that the IDE is configured to call
|
||||||
|
the build tool (e.g. ``cmake`` or ``meson``) directly. This has several
|
||||||
|
advantages.
|
||||||
|
First of all, it is usually much faster to call for example ``cmake`` than
|
||||||
|
``devtool build``.
|
||||||
|
It also allows to benefit from the very good integration that IDEs like
|
||||||
|
VSCode offer for tools like CMake or GDB.
|
||||||
|
|
||||||
|
However, supporting many programming languages and multiple
|
||||||
|
IDEs is quite an elaborate and constantly evolving thing. Support for IDEs
|
||||||
|
is therefore implemented as plugins. Plugins can also be provided by
|
||||||
|
optional layers.
|
||||||
|
|
||||||
|
So much about the introduction to the default mode of ``devtool sdk-ide`` which
|
||||||
|
is called the "modified" mode because it uses the workspace created by
|
||||||
|
``devtool modify`` and the per recipe :term:`Sysroots <Sysroot>` of BitBake.
|
||||||
|
|
||||||
|
For some recipes and use cases, this default behavior of ``devtool ide-sdk``
|
||||||
|
with full ``devtool`` and ``bitbake`` integration might not be suitable.
|
||||||
|
To offer full feature parity with the SDK and the eSDK, ``devtool ide-sdk`` has
|
||||||
|
a second mode called "shared" mode.
|
||||||
|
If ``devtool ide-sdk`` is called with the ``--mode=shared`` option, it
|
||||||
|
bootstraps an SDK directly from the BitBake environment, which offers the same
|
||||||
|
Environment Setup script as described in :ref:`running_the_ext_sdk_env`.
|
||||||
|
In addition to the (e)SDK installer-based setup, the IDE gets configured
|
||||||
|
to use the shared :term:`Sysroots <Sysroot>` and the tools from the SDK.
|
||||||
|
``devtool ide-sdk --mode=shared`` is basically a wrapper for the setup of the
|
||||||
|
extensible SDK as described in :ref:`setting_up_ext_sdk_in_build`.
|
||||||
|
|
||||||
|
The use of ``devtool ide-sdk`` is an alternative to using one of the SDK
|
||||||
|
installers.
|
||||||
|
``devtool ide-sdk`` allows the creation of SDKs that offer all the
|
||||||
|
functionality of the SDK and the eSDK installers. Compared to the installers,
|
||||||
|
however, the SDK created with ``devtool ide-sdk`` is much more flexible.
|
||||||
|
For example, it is very easy to change the :term:`MACHINE` in the
|
||||||
|
``local.conf`` file, update the layer meta data and then regenerate the SDK.
|
||||||
|
|
||||||
|
Let's take a look at an example of how to use ``devtool ide-sdk`` in each of
|
||||||
|
the two modes:
|
||||||
|
|
||||||
#. *Modified mode*:
|
#. *Modified mode*:
|
||||||
|
|
||||||
By default ``devtool ide-sdk`` generates IDE configurations for recipes in
|
In order to use the ``devtool ide-sdk``, a few settings are needed. As a
|
||||||
workspaces created by ``devtool modify`` or ``devtool add`` as described in
|
starting example, the following lines of code can be added to the
|
||||||
:ref:`using_devtool`. This mode creates IDE configurations with support for
|
``local.conf`` file::
|
||||||
advanced features, such as deploying the binaries to the remote target
|
|
||||||
device and performing remote debugging sessions. The generated IDE
|
|
||||||
configurations use the per recipe sysroots as Bitbake does internally.
|
|
||||||
|
|
||||||
In order to use the tool, a few settings are needed. As a starting example,
|
|
||||||
the following lines of code can be added to the ``local.conf`` file::
|
|
||||||
|
|
||||||
# Build the companion debug file system
|
# Build the companion debug file system
|
||||||
IMAGE_GEN_DEBUGFS = "1"
|
IMAGE_GEN_DEBUGFS = "1"
|
||||||
@@ -666,15 +729,20 @@ The extensible SDK supports two different development modes.
|
|||||||
IMAGE_INSTALL:append = " my-recipe"
|
IMAGE_INSTALL:append = " my-recipe"
|
||||||
|
|
||||||
Assuming the BitBake environment is set up correctly and a workspace has
|
Assuming the BitBake environment is set up correctly and a workspace has
|
||||||
been created for the recipe using ``devtool modify my-recipe``, the
|
been created for the recipe using ``devtool modify my-recipe`` or probably
|
||||||
|
even better by using ``devtool modify my-recipe --debug-build``, the
|
||||||
following command can create the SDK and the configuration for VSCode in
|
following command can create the SDK and the configuration for VSCode in
|
||||||
the recipe workspace::
|
the recipe workspace::
|
||||||
|
|
||||||
$ devtool ide-sdk my-recipe core-image-minimal --target root@192.168.7.2
|
$ devtool ide-sdk my-recipe core-image-minimal --target root@192.168.7.2
|
||||||
|
|
||||||
The command requires an image recipe (``core-image-minimal`` for this example)
|
The command requires an image recipe (``core-image-minimal`` for this
|
||||||
that is used to create the SDK. This firmware image should also be installed
|
example) that is used to create the SDK.
|
||||||
on the target device. It is possible to pass multiple package recipes.
|
This firmware image should also be installed on the target device.
|
||||||
|
It is possible to pass multiple package recipes::
|
||||||
|
|
||||||
|
$ devtool ide-sdk my-recipe-1 my-recipe-2 core-image-minimal --target root@192.168.7.2
|
||||||
|
|
||||||
``devtool ide-sdk`` tries to create an IDE configuration for all package
|
``devtool ide-sdk`` tries to create an IDE configuration for all package
|
||||||
recipes.
|
recipes.
|
||||||
|
|
||||||
@@ -684,9 +752,9 @@ The extensible SDK supports two different development modes.
|
|||||||
|
|
||||||
For example, a CMake preset is created for a recipe that inherits
|
For example, a CMake preset is created for a recipe that inherits
|
||||||
:ref:`ref-classes-cmake`. In the case of VSCode, CMake presets are supported
|
:ref:`ref-classes-cmake`. In the case of VSCode, CMake presets are supported
|
||||||
by the CMake Tools plugin. This is an example of how the build
|
by the CMake Tools plugin. This is an example of how the build configuration
|
||||||
configuration used by ``bitbake`` is exported to an IDE configuration that
|
used by ``bitbake`` is exported to an IDE configuration that gives exactly
|
||||||
gives exactly the same build results.
|
the same build results.
|
||||||
|
|
||||||
Support for remote debugging with seamless integration into the IDE is
|
Support for remote debugging with seamless integration into the IDE is
|
||||||
important for a cross-SDK. ``devtool ide-sdk`` automatically generates the
|
important for a cross-SDK. ``devtool ide-sdk`` automatically generates the
|
||||||
@@ -699,23 +767,54 @@ The extensible SDK supports two different development modes.
|
|||||||
running on the target device, it is essential that the image built by
|
running on the target device, it is essential that the image built by
|
||||||
``devtool ide-sdk`` is running on the target device.
|
``devtool ide-sdk`` is running on the target device.
|
||||||
|
|
||||||
``devtool ide-sdk`` aims to support multiple programming languages and
|
|
||||||
multiple IDEs natively. "Natively" means that the IDE is configured to call
|
|
||||||
the build tool (e.g. CMake or Meson) directly. This has several advantages.
|
|
||||||
First of all, it is much faster than ``devtool build``, but it also allows
|
|
||||||
to use the very good integration of tools like CMake or GDB in VSCode and
|
|
||||||
other IDEs. However, supporting many programming languages and multiple
|
|
||||||
IDEs is quite an elaborate and constantly evolving thing. Support for IDEs
|
|
||||||
is therefore implemented as plugins. Plugins can also be provided by
|
|
||||||
optional layers.
|
|
||||||
|
|
||||||
The default IDE is VSCode. Some hints about using VSCode:
|
The default IDE is VSCode. Some hints about using VSCode:
|
||||||
|
|
||||||
- To work on the source code of a recipe an instance of VSCode is started in
|
- VSCode can be used to work on the BitBake recipes or the application
|
||||||
the recipe's workspace. Example::
|
source code.
|
||||||
|
Usually there is one instance of VSCode running in the folder where the
|
||||||
|
BitBake recipes are. This instance has the
|
||||||
|
`Yocto Project BitBake plugin <https://marketplace.visualstudio.com/items?itemName=yocto-project.yocto-bitbake>`_
|
||||||
|
running.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Some VSCode plugins (Python, BitBake and others) need a reasonable
|
||||||
|
configuration to work as expected. Otherwise, some plugins try to
|
||||||
|
index the build directory of BitBake, which keeps your system quite
|
||||||
|
busy until an out of memory exception stops this nonsense.
|
||||||
|
Other plugins, such as the BitBake plugin, do not behave as expected.
|
||||||
|
|
||||||
|
To work around such issues, the ``oe-init-build-env`` script creates
|
||||||
|
an initial ``.vscode/settings.json`` file if ``code`` can be found
|
||||||
|
and the ``.vscode`` folder does not yet exist.
|
||||||
|
It is best to run ``oe-init-build-env`` once before starting VSCode.
|
||||||
|
An alternative approach is to use a build folder outside the layers,
|
||||||
|
e.g. ``oe-init-build-env ../build``.
|
||||||
|
|
||||||
|
The BitBake plugin also offers to create devtool workspaces and run
|
||||||
|
``devtool ide-sdk`` with a few mouse clicks.
|
||||||
|
Of course, issuing commands in the terminal works as well.
|
||||||
|
|
||||||
|
- To work on the source code of a recipe another instance of VSCode is
|
||||||
|
started in the recipe's workspace. Example::
|
||||||
|
|
||||||
code build/workspace/sources/my-recipe
|
code build/workspace/sources/my-recipe
|
||||||
|
|
||||||
|
This instance of VSCode uses plugins that are useful for the development
|
||||||
|
of the application. ``devtool ide-sdk`` generates the necessary
|
||||||
|
``extensions.json``, ``settings.json``, ``tasks.json``and ``launch.json``
|
||||||
|
configuration files for all the involved plugins.
|
||||||
|
|
||||||
|
When the source code folder present in the workspace folder is opened in
|
||||||
|
VSCode for the first time, a pop-up message recommends installing the
|
||||||
|
required plugins.
|
||||||
|
After accepting the installation of the plugins, working with the source
|
||||||
|
code or some debugging tasks should work as usual with VSCode.
|
||||||
|
|
||||||
|
Starting the VSCode instances in the recipe workspace folders can also be
|
||||||
|
done by a mouse click on the recipe workspaces in the first VSCode
|
||||||
|
instance.
|
||||||
|
|
||||||
- To work with CMake press ``Ctrl + Shift + p``, type ``cmake``. This will
|
- To work with CMake press ``Ctrl + Shift + p``, type ``cmake``. This will
|
||||||
show some possible commands like selecting a CMake preset, compiling or
|
show some possible commands like selecting a CMake preset, compiling or
|
||||||
running CTest.
|
running CTest.
|
||||||
@@ -728,10 +827,9 @@ The extensible SDK supports two different development modes.
|
|||||||
show some possible commands like compiling or executing the unit tests.
|
show some possible commands like compiling or executing the unit tests.
|
||||||
|
|
||||||
A note on running cross-compiled unit tests on the host: Meson enables
|
A note on running cross-compiled unit tests on the host: Meson enables
|
||||||
support for QEMU user-mode by default. It is expected that the execution
|
support for QEMU user mode by default. It is expected that the execution
|
||||||
of the unit tests from the IDE will work easily without any additional
|
of the unit tests from the IDE will work without any additional steps,
|
||||||
steps, provided that the code is suitable for execution on the host
|
given that the code is suitable for the execution on the host machine.
|
||||||
machine.
|
|
||||||
|
|
||||||
- For the deployment to the target device, just press ``Ctrl + Shift + p``,
|
- For the deployment to the target device, just press ``Ctrl + Shift + p``,
|
||||||
type ``task``. Select ``install && deploy-target``.
|
type ``task``. Select ``install && deploy-target``.
|
||||||
@@ -742,23 +840,23 @@ The extensible SDK supports two different development modes.
|
|||||||
selected. After selecting one of the generated configurations, press the
|
selected. After selecting one of the generated configurations, press the
|
||||||
"play" button.
|
"play" button.
|
||||||
|
|
||||||
Starting a remote debugging session automatically initiates the deployment
|
Starting a remote debugging session automatically initiates the
|
||||||
to the target device. If this is not desired, the
|
deployment to the target device. If this is not desired, the
|
||||||
``"dependsOn": ["install && deploy-target...]`` parameter of the tasks
|
``"dependsOn": ["install && deploy-target...]`` parameter of the tasks
|
||||||
with ``"label": "gdbserver start...`` can be removed from the
|
with ``"label": "gdbserver start...`` can be removed from the
|
||||||
``tasks.json`` file.
|
``tasks.json`` file.
|
||||||
|
|
||||||
VSCode supports GDB with many different setups and configurations for many
|
VSCode supports GDB with many different setups and configurations for
|
||||||
different use cases. However, most of these setups have some limitations
|
many different use cases. However, most of these setups have some
|
||||||
when it comes to cross-development, support only a few target
|
limitations when it comes to cross-development, support only a few target
|
||||||
architectures or require a high performance target device. Therefore
|
architectures or require a high performance target device. Therefore
|
||||||
``devtool ide-sdk`` supports the classic, generic setup with GDB on the
|
``devtool ide-sdk`` supports the classic, generic setup with GDB on the
|
||||||
development host and gdbserver on the target device.
|
development host and gdbserver on the target device.
|
||||||
|
|
||||||
Roughly summarized, this means:
|
Roughly summarized, this means:
|
||||||
|
|
||||||
- The binaries are copied via SSH to the remote target device by a script
|
- The binaries are copied via SSH to the remote target device by a
|
||||||
referred by ``tasks.json``.
|
script referred by ``tasks.json``.
|
||||||
|
|
||||||
- gdbserver is started on the remote target device via SSH by a script
|
- gdbserver is started on the remote target device via SSH by a script
|
||||||
referred by ``tasks.json``.
|
referred by ``tasks.json``.
|
||||||
@@ -783,8 +881,8 @@ The extensible SDK supports two different development modes.
|
|||||||
.. code-block:: sh
|
.. code-block:: sh
|
||||||
|
|
||||||
# Create the SDK
|
# Create the SDK
|
||||||
devtool modify cmake-example
|
devtool modify cmake-example --debug-build
|
||||||
devtool ide-sdk cmake-example core-image-minimal -c --debug-build-config --ide=none
|
devtool ide-sdk cmake-example core-image-minimal -c --ide=none
|
||||||
|
|
||||||
# Install the firmware on a target device or start QEMU
|
# Install the firmware on a target device or start QEMU
|
||||||
runqemu
|
runqemu
|
||||||
@@ -860,16 +958,9 @@ The extensible SDK supports two different development modes.
|
|||||||
|
|
||||||
#. *Shared sysroots mode*
|
#. *Shared sysroots mode*
|
||||||
|
|
||||||
For some recipes and use cases a per-recipe sysroot based SDK is not
|
Creating an SDK with shared :term:`Sysroots <Sysroot>` that contains all the
|
||||||
suitable. Optionally ``devtool ide-sdk`` configures the IDE to use the
|
dependencies needed to work with ``my-recipe`` is possible with the following
|
||||||
toolchain provided by the extensible SDK as described in
|
example command::
|
||||||
:ref:`running_the_ext_sdk_env`. ``devtool ide-sdk --mode=shared`` is
|
|
||||||
basically a wrapper for the setup of the extensible SDK as described in
|
|
||||||
:ref:`setting_up_ext_sdk_in_build`. The IDE gets a configuration to use the
|
|
||||||
shared sysroots.
|
|
||||||
|
|
||||||
Creating a SDK with shared sysroots that contains all the dependencies needed
|
|
||||||
to work with ``my-recipe`` is possible with the following example command::
|
|
||||||
|
|
||||||
$ devtool ide-sdk --mode=shared my-recipe
|
$ devtool ide-sdk --mode=shared my-recipe
|
||||||
|
|
||||||
@@ -883,12 +974,14 @@ The extensible SDK supports two different development modes.
|
|||||||
echo "project(foo VERSION 1.0)" > kit-test/CMakeLists.txt
|
echo "project(foo VERSION 1.0)" > kit-test/CMakeLists.txt
|
||||||
code kit-test
|
code kit-test
|
||||||
|
|
||||||
If there is a CMake project in the workspace, cross-compilation is supported:
|
If there is a CMake project in the workspace, cross-compilation is
|
||||||
|
supported:
|
||||||
|
|
||||||
- Press ``Ctrl + Shift + P``, type ``CMake: Scan for Kits``
|
- Press ``Ctrl + Shift + P``, type ``CMake: Scan for Kits``
|
||||||
- Press ``Ctrl + Shift + P``, type ``CMake: Select a Kit``
|
- Press ``Ctrl + Shift + P``, type ``CMake: Select a Kit``
|
||||||
|
|
||||||
Finally most of the features provided by CMake and the IDE should be available.
|
Finally most of the features provided by CMake and the IDE should be
|
||||||
|
available.
|
||||||
|
|
||||||
Other IDEs than VSCode are supported as well. However,
|
Other IDEs than VSCode are supported as well. However,
|
||||||
``devtool ide-sdk --mode=shared --ide=none my-recipe`` is currently
|
``devtool ide-sdk --mode=shared --ide=none my-recipe`` is currently
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ You just need to follow these general steps:
|
|||||||
root filesystem images.
|
root filesystem images.
|
||||||
|
|
||||||
If you are going to develop your application on hardware, go to the
|
If you are going to develop your application on hardware, go to the
|
||||||
:yocto_dl:`machines </releases/yocto/yocto-&DISTRO;/machines/>` download area and choose a
|
:yocto_dl:`machines </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines/>` download area and choose a
|
||||||
target machine area from which to download the kernel image and root
|
target machine area from which to download the kernel image and root
|
||||||
filesystem. This download area could have several files in it that
|
filesystem. This download area could have several files in it that
|
||||||
support development using actual hardware. For example, the area
|
support development using actual hardware. For example, the area
|
||||||
@@ -183,7 +183,7 @@ You just need to follow these general steps:
|
|||||||
|
|
||||||
If you are going to develop your application and then run and test it
|
If you are going to develop your application and then run and test it
|
||||||
using the QEMU emulator, go to the
|
using the QEMU emulator, go to the
|
||||||
:yocto_dl:`machines/qemu </releases/yocto/yocto-&DISTRO;/machines/qemu>` download area. From this
|
:yocto_dl:`machines/qemu </releases/yocto/&DISTRO_REL_LATEST_TAG;/machines/qemu>` download area. From this
|
||||||
area, go down into the directory for your target architecture (e.g.
|
area, go down into the directory for your target architecture (e.g.
|
||||||
``qemux86_64`` for an Intel-based 64-bit architecture). Download the
|
``qemux86_64`` for an Intel-based 64-bit architecture). Download the
|
||||||
kernel, root filesystem, and any other files you need for your
|
kernel, root filesystem, and any other files you need for your
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ Host` by running the ``*.sh`` installation script.
|
|||||||
|
|
||||||
You can download a tarball installer, which includes the pre-built
|
You can download a tarball installer, which includes the pre-built
|
||||||
toolchain, the ``runqemu`` script, and support files from the
|
toolchain, the ``runqemu`` script, and support files from the
|
||||||
appropriate :yocto_dl:`toolchain </releases/yocto/yocto-&DISTRO;/toolchain/>` directory within
|
appropriate :yocto_dl:`toolchain </releases/yocto/&DISTRO_REL_LATEST_TAG;/toolchain/>` directory within
|
||||||
the Index of Releases. Toolchains are available for several 32-bit and
|
the Index of Releases. Toolchains are available for several 32-bit and
|
||||||
64-bit architectures with the ``x86_64`` directories, respectively. The
|
64-bit architectures with the ``x86_64`` directories, respectively. The
|
||||||
toolchains the Yocto Project provides are based off the
|
toolchains the Yocto Project provides are based off the
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ ourversion = None
|
|||||||
if len(sys.argv) == 2:
|
if len(sys.argv) == 2:
|
||||||
ourversion = sys.argv[1]
|
ourversion = sys.argv[1]
|
||||||
|
|
||||||
activereleases = ["scarthgap", "nanbield", "kirkstone", "dunfell"]
|
activereleases = ["styhead", "scarthgap", "kirkstone"]
|
||||||
devbranch = "styhead"
|
devbranch = "walnascar"
|
||||||
ltsseries = ["scarthgap", "kirkstone", "dunfell"]
|
ltsseries = ["scarthgap", "kirkstone"]
|
||||||
|
|
||||||
# used by run-docs-builds to get the default page
|
# used by run-docs-builds to get the default page
|
||||||
if ourversion == "getlatest":
|
if ourversion == "getlatest":
|
||||||
@@ -36,6 +36,7 @@ if ourversion == "getlatest":
|
|||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
release_series = collections.OrderedDict()
|
release_series = collections.OrderedDict()
|
||||||
|
release_series["walnascar"] = "5.2"
|
||||||
release_series["styhead"] = "5.1"
|
release_series["styhead"] = "5.1"
|
||||||
release_series["scarthgap"] = "5.0"
|
release_series["scarthgap"] = "5.0"
|
||||||
release_series["nanbield"] = "4.3"
|
release_series["nanbield"] = "4.3"
|
||||||
@@ -69,6 +70,7 @@ release_series["laverne"] = "0.9"
|
|||||||
|
|
||||||
|
|
||||||
bitbake_mapping = {
|
bitbake_mapping = {
|
||||||
|
"walnascar" : "2.12",
|
||||||
"styhead" : "2.10",
|
"styhead" : "2.10",
|
||||||
"scarthgap" : "2.8",
|
"scarthgap" : "2.8",
|
||||||
"nanbield" : "2.6",
|
"nanbield" : "2.6",
|
||||||
@@ -168,17 +170,29 @@ series = [k for k in release_series]
|
|||||||
previousseries = series[series.index(ourseries)+1:] or [""]
|
previousseries = series[series.index(ourseries)+1:] or [""]
|
||||||
lastlts = [k for k in previousseries if k in ltsseries] or "dunfell"
|
lastlts = [k for k in previousseries if k in ltsseries] or "dunfell"
|
||||||
|
|
||||||
|
latestreltag = subprocess.run(["git", "describe", "--abbrev=0", "--tags", "--match", "yocto-*"], capture_output=True, text=True).stdout
|
||||||
|
latestreltag = latestreltag.strip()
|
||||||
|
if latestreltag:
|
||||||
|
if latestreltag.startswith("yocto-"):
|
||||||
|
latesttag = latestreltag[6:]
|
||||||
|
else:
|
||||||
|
# fallback on the calculated version
|
||||||
|
print("Did not find a tag with 'git describe', falling back to %s" % ourversion)
|
||||||
|
latestreltag = "yocto-" + ourversion
|
||||||
|
latesttag = ourversion
|
||||||
|
|
||||||
print("Version calculated to be %s" % ourversion)
|
print("Version calculated to be %s" % ourversion)
|
||||||
|
print("Latest release tag found is %s" % latestreltag)
|
||||||
print("Release series calculated to be %s" % ourseries)
|
print("Release series calculated to be %s" % ourseries)
|
||||||
|
|
||||||
replacements = {
|
replacements = {
|
||||||
"DISTRO" : ourversion,
|
"DISTRO" : ourversion,
|
||||||
|
"DISTRO_LATEST_TAG": latesttag,
|
||||||
"DISTRO_NAME_NO_CAP" : ourseries,
|
"DISTRO_NAME_NO_CAP" : ourseries,
|
||||||
"DISTRO_NAME" : ourseries.capitalize(),
|
"DISTRO_NAME" : ourseries.capitalize(),
|
||||||
"DISTRO_NAME_NO_CAP_MINUS_ONE" : previousseries[0],
|
"DISTRO_NAME_NO_CAP_MINUS_ONE" : previousseries[0],
|
||||||
"DISTRO_NAME_NO_CAP_LTS" : lastlts[0],
|
"DISTRO_NAME_NO_CAP_LTS" : lastlts[0],
|
||||||
"YOCTO_DOC_VERSION" : ourversion,
|
"YOCTO_DOC_VERSION" : ourversion,
|
||||||
"DISTRO_REL_TAG" : "yocto-" + ourversion,
|
|
||||||
"DOCCONF_VERSION" : docconfver,
|
"DOCCONF_VERSION" : docconfver,
|
||||||
"BITBAKE_SERIES" : bitbakeversion,
|
"BITBAKE_SERIES" : bitbakeversion,
|
||||||
}
|
}
|
||||||
@@ -316,3 +330,5 @@ with open('releases.rst', 'w') as f:
|
|||||||
if tag == release_series[series] or tag.startswith('%s.' % release_series[series]):
|
if tag == release_series[series] or tag.startswith('%s.' % release_series[series]):
|
||||||
f.write('- :yocto_docs:`%s Documentation </%s>`\n' % (tag, tag))
|
f.write('- :yocto_docs:`%s Documentation </%s>`\n' % (tag, tag))
|
||||||
f.write('\n')
|
f.write('\n')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
documentation/sphinx-static/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
@@ -1,6 +1,6 @@
|
|||||||
# Standards for contributing to Yocto Project documentation
|
# Standards for contributing to Yocto Project documentation
|
||||||
|
|
||||||
This document attemps to standardize the way the Yocto Project
|
This document attempts to standardize the way the Yocto Project
|
||||||
documentation is created.
|
documentation is created.
|
||||||
|
|
||||||
It is currently a work in progress.
|
It is currently a work in progress.
|
||||||
@@ -109,6 +109,21 @@ or in the BitBake User Manual
|
|||||||
If it is not described yet, the variable should be added to the
|
If it is not described yet, the variable should be added to the
|
||||||
glossary before or in the same patch it is used, so that `:term:` can be used.
|
glossary before or in the same patch it is used, so that `:term:` can be used.
|
||||||
|
|
||||||
|
### Admonitions
|
||||||
|
|
||||||
|
Sphinx has predefined admonitions that can be used to highlight a bit of text or
|
||||||
|
add a side-note to the documentation. For example:
|
||||||
|
|
||||||
|
```rst
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This is a note admonition.
|
||||||
|
```
|
||||||
|
|
||||||
|
We try to limit our usage of these admonitions to `note` and `warning`, as the
|
||||||
|
Sphinx documentation [warns](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#directives)
|
||||||
|
that most themes only style these two admonitions.
|
||||||
|
|
||||||
## ReStructured Text Syntax standards
|
## ReStructured Text Syntax standards
|
||||||
|
|
||||||
This section has not been filled yet
|
This section has not been filled yet
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ Yocto Project Test Environment Manual
|
|||||||
|
|
||||||
intro
|
intro
|
||||||
test-process
|
test-process
|
||||||
|
ptest
|
||||||
|
runtime-testing
|
||||||
understand-autobuilder
|
understand-autobuilder
|
||||||
reproducible-builds
|
reproducible-builds
|
||||||
yocto-project-compatible
|
yocto-project-compatible
|
||||||
|
|||||||
@@ -130,7 +130,9 @@ the following types of tests:
|
|||||||
$ bitbake image -c testimage
|
$ bitbake image -c testimage
|
||||||
|
|
||||||
The tests use the :ref:`ref-classes-testimage`
|
The tests use the :ref:`ref-classes-testimage`
|
||||||
class and the :ref:`ref-tasks-testimage` task.
|
class and the :ref:`ref-tasks-testimage` task. See the
|
||||||
|
:ref:`test-manual/runtime-testing:Performing Automated Runtime Testing`
|
||||||
|
section of the Yocto Project Test Environment Manual for more information.
|
||||||
|
|
||||||
- *Layer Testing:* The Autobuilder has the possibility to test whether
|
- *Layer Testing:* The Autobuilder has the possibility to test whether
|
||||||
specific layers work with the test of the system. The layers tested
|
specific layers work with the test of the system. The layers tested
|
||||||
@@ -140,7 +142,7 @@ the following types of tests:
|
|||||||
- *Package Testing:* A Package Test (ptest) runs tests against packages
|
- *Package Testing:* A Package Test (ptest) runs tests against packages
|
||||||
built by the OpenEmbedded build system on the target machine. See the
|
built by the OpenEmbedded build system on the target machine. See the
|
||||||
:ref:`Testing Packages With
|
:ref:`Testing Packages With
|
||||||
ptest <dev-manual/packages:Testing Packages With ptest>` section
|
ptest <test-manual/ptest:Testing Packages With ptest>` section
|
||||||
in the Yocto Project Development Tasks Manual and the
|
in the Yocto Project Development Tasks Manual and the
|
||||||
":yocto_wiki:`Ptest </Ptest>`" Wiki page for more
|
":yocto_wiki:`Ptest </Ptest>`" Wiki page for more
|
||||||
information on Ptest.
|
information on Ptest.
|
||||||
|
|||||||
128
documentation/test-manual/ptest.rst
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
***************************
|
||||||
|
Testing Packages With ptest
|
||||||
|
***************************
|
||||||
|
|
||||||
|
A Package Test (ptest) runs tests against packages built by the
|
||||||
|
OpenEmbedded build system on the target machine. A ptest contains at
|
||||||
|
least two items: the actual test, and a shell script (``run-ptest``)
|
||||||
|
that starts the test. The shell script that starts the test must not
|
||||||
|
contain the actual test --- the script only starts the test. On the other
|
||||||
|
hand, the test can be anything from a simple shell script that runs a
|
||||||
|
binary and checks the output to an elaborate system of test binaries and
|
||||||
|
data files.
|
||||||
|
|
||||||
|
The test generates output in the format used by Automake::
|
||||||
|
|
||||||
|
result: testname
|
||||||
|
|
||||||
|
where the result can be ``PASS``, ``FAIL``, or ``SKIP``, and
|
||||||
|
the testname can be any identifying string.
|
||||||
|
|
||||||
|
For a list of Yocto Project recipes that are already enabled with ptest,
|
||||||
|
see the :yocto_wiki:`Ptest </Ptest>` wiki page.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
A recipe is "ptest-enabled" if it inherits the :ref:`ref-classes-ptest`
|
||||||
|
class.
|
||||||
|
|
||||||
|
Adding ptest to Your Build
|
||||||
|
==========================
|
||||||
|
|
||||||
|
To add package testing to your build, add the :term:`DISTRO_FEATURES` and
|
||||||
|
:term:`EXTRA_IMAGE_FEATURES` variables to your ``local.conf`` file, which
|
||||||
|
is found in the :term:`Build Directory`::
|
||||||
|
|
||||||
|
DISTRO_FEATURES:append = " ptest"
|
||||||
|
EXTRA_IMAGE_FEATURES += "ptest-pkgs"
|
||||||
|
|
||||||
|
Once your build is complete, the ptest files are installed into the
|
||||||
|
``/usr/lib/package/ptest`` directory within the image, where ``package``
|
||||||
|
is the name of the package.
|
||||||
|
|
||||||
|
Running ptest
|
||||||
|
=============
|
||||||
|
|
||||||
|
The ``ptest-runner`` package installs a shell script that loops through
|
||||||
|
all installed ptest test suites and runs them in sequence. Consequently,
|
||||||
|
you might want to add this package to your image.
|
||||||
|
|
||||||
|
Getting Your Package Ready
|
||||||
|
==========================
|
||||||
|
|
||||||
|
In order to enable a recipe to run installed ptests on target hardware,
|
||||||
|
you need to prepare the recipes that build the packages you want to
|
||||||
|
test. Here is what you have to do for each recipe:
|
||||||
|
|
||||||
|
- *Be sure the recipe inherits the* :ref:`ref-classes-ptest` *class:*
|
||||||
|
Include the following line in each recipe::
|
||||||
|
|
||||||
|
inherit ptest
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Classes for common frameworks already exist in :term:`OpenEmbedded-Core
|
||||||
|
(OE-Core)`, such as:
|
||||||
|
|
||||||
|
- :oe_git:`go-ptest </openembedded-core/tree/meta/classes-recipe/go-ptest.bbclass>`
|
||||||
|
- :ref:`ref-classes-ptest-cargo`
|
||||||
|
- :ref:`ref-classes-ptest-gnome`
|
||||||
|
- :oe_git:`ptest-perl </openembedded-core/tree/meta/classes-recipe/ptest-perl.bbclass>`
|
||||||
|
- :oe_git:`ptest-python-pytest </openembedded-core/tree/meta/classes-recipe/ptest-python-pytest.bbclass>`
|
||||||
|
|
||||||
|
Inheriting these classes with the ``inherit`` keyword in your recipe will
|
||||||
|
make the next steps automatic.
|
||||||
|
|
||||||
|
- *Create run-ptest:* This script starts your test. Locate the
|
||||||
|
script where you will refer to it using
|
||||||
|
:term:`SRC_URI`. Here is an
|
||||||
|
example that starts a test for ``dbus``::
|
||||||
|
|
||||||
|
#!/bin/sh
|
||||||
|
cd test
|
||||||
|
make -k runtest-TESTS
|
||||||
|
|
||||||
|
- *Ensure dependencies are met:* If the test adds build or runtime
|
||||||
|
dependencies that normally do not exist for the package (such as
|
||||||
|
requiring "make" to run the test suite), use the
|
||||||
|
:term:`DEPENDS` and
|
||||||
|
:term:`RDEPENDS` variables in
|
||||||
|
your recipe in order for the package to meet the dependencies. Here
|
||||||
|
is an example where the package has a runtime dependency on "make"::
|
||||||
|
|
||||||
|
RDEPENDS:${PN}-ptest += "make"
|
||||||
|
|
||||||
|
- *Add a function to build the test suite:* Not many packages support
|
||||||
|
cross-compilation of their test suites. Consequently, you usually
|
||||||
|
need to add a cross-compilation function to the package.
|
||||||
|
|
||||||
|
Many packages based on Automake compile and run the test suite by
|
||||||
|
using a single command such as ``make check``. However, the host
|
||||||
|
``make check`` builds and runs on the same computer, while
|
||||||
|
cross-compiling requires that the package is built on the host but
|
||||||
|
executed for the target architecture (though often, as in the case
|
||||||
|
for ptest, the execution occurs on the host). The built version of
|
||||||
|
Automake that ships with the Yocto Project includes a patch that
|
||||||
|
separates building and execution. Consequently, packages that use the
|
||||||
|
unaltered, patched version of ``make check`` automatically
|
||||||
|
cross-compiles.
|
||||||
|
|
||||||
|
Regardless, you still must add a ``do_compile_ptest`` function to
|
||||||
|
build the test suite. Add a function similar to the following to your
|
||||||
|
recipe::
|
||||||
|
|
||||||
|
do_compile_ptest() {
|
||||||
|
oe_runmake buildtest-TESTS
|
||||||
|
}
|
||||||
|
|
||||||
|
- *Ensure special configurations are set:* If the package requires
|
||||||
|
special configurations prior to compiling the test code, you must
|
||||||
|
insert a ``do_configure_ptest`` function into the recipe.
|
||||||
|
|
||||||
|
- *Install the test suite:* The :ref:`ref-classes-ptest` class
|
||||||
|
automatically copies the file ``run-ptest`` to the target and then runs make
|
||||||
|
``install-ptest`` to run the tests. If this is not enough, you need
|
||||||
|
to create a ``do_install_ptest`` function and make sure it gets
|
||||||
|
called after the "make install-ptest" completes.
|
||||||
@@ -91,13 +91,21 @@ run::
|
|||||||
|
|
||||||
oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds
|
oe-selftest -r reproducible.ReproducibleTests.test_reproducible_builds
|
||||||
|
|
||||||
This defaults to including a ``world`` build so, if other layers are added, it would
|
This defaults to including a ``world`` build so, if other layers are added, it
|
||||||
also run the tests for recipes in the additional layers. Different build targets
|
would also run the tests for recipes in the additional layers. Different build
|
||||||
can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable in ``local.conf``.
|
targets can be defined using the :term:`OEQA_REPRODUCIBLE_TEST_TARGET` variable
|
||||||
The first build will be run using :ref:`Shared State <overview-manual/concepts:Shared State>` if
|
in ``local.conf``. For example, running reproducibility tests for only the
|
||||||
available, the second build explicitly disables
|
``python3-numpy`` recipe can be done by setting::
|
||||||
:ref:`Shared State <overview-manual/concepts:Shared State>` except for recipes defined in
|
|
||||||
the :term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
|
OEQA_REPRODUCIBLE_TEST_TARGET = "python3-numpy"
|
||||||
|
|
||||||
|
in local.conf before running the ``oe-selftest`` command shown above.
|
||||||
|
|
||||||
|
Reproducibility builds the target list twice. The first build will be run using
|
||||||
|
:ref:`Shared State <overview-manual/concepts:Shared State>` if available, the
|
||||||
|
second build explicitly disables :ref:`Shared State
|
||||||
|
<overview-manual/concepts:Shared State>` except for recipes defined in the
|
||||||
|
:term:`OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS` variable, and builds on the
|
||||||
specific host the build is running on. This means we can test reproducibility
|
specific host the build is running on. This means we can test reproducibility
|
||||||
builds between different host distributions over time on the Autobuilder.
|
builds between different host distributions over time on the Autobuilder.
|
||||||
|
|
||||||
@@ -111,12 +119,8 @@ https://autobuilder.yocto.io/pub/repro-fail/ in the form ``oe-reproducible +
|
|||||||
The project's current reproducibility status can be seen at
|
The project's current reproducibility status can be seen at
|
||||||
:yocto_home:`/reproducible-build-results/`
|
:yocto_home:`/reproducible-build-results/`
|
||||||
|
|
||||||
You can also check the reproducibility status on supported host distributions:
|
You can also check the reproducibility status on the Autobuilder:
|
||||||
|
:yocto_ab:`/valkyrie/#/builders/reproducible`.
|
||||||
- CentOS: :yocto_ab:`/typhoon/#/builders/reproducible-centos`
|
|
||||||
- Debian: :yocto_ab:`/typhoon/#/builders/reproducible-debian`
|
|
||||||
- Fedora: :yocto_ab:`/typhoon/#/builders/reproducible-fedora`
|
|
||||||
- Ubuntu: :yocto_ab:`/typhoon/#/builders/reproducible-ubuntu`
|
|
||||||
|
|
||||||
===============================
|
===============================
|
||||||
Can I test my layer or recipes?
|
Can I test my layer or recipes?
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
||||||
|
|
||||||
|
************************************
|
||||||
Performing Automated Runtime Testing
|
Performing Automated Runtime Testing
|
||||||
************************************
|
************************************
|
||||||
|
|
||||||
@@ -153,7 +154,7 @@ options are available:
|
|||||||
|
|
||||||
If you choose "SystemdbootTarget", there are additional requirements
|
If you choose "SystemdbootTarget", there are additional requirements
|
||||||
and considerations. See the
|
and considerations. See the
|
||||||
":ref:`dev-manual/runtime-testing:selecting systemdboottarget`" section, which
|
":ref:`test-manual/runtime-testing:selecting systemdboottarget`" section, which
|
||||||
follows, for more information.
|
follows, for more information.
|
||||||
|
|
||||||
- *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying
|
- *"BeagleBoneTarget":* Choose "BeagleBoneTarget" if you are deploying
|
||||||
@@ -179,7 +180,7 @@ Selecting SystemdbootTarget
|
|||||||
|
|
||||||
If you did not set :term:`TEST_TARGET` to "SystemdbootTarget", then you do
|
If you did not set :term:`TEST_TARGET` to "SystemdbootTarget", then you do
|
||||||
not need any information in this section. You can skip down to the
|
not need any information in this section. You can skip down to the
|
||||||
":ref:`dev-manual/runtime-testing:running tests`" section.
|
":ref:`test-manual/runtime-testing:running tests`" section.
|
||||||
|
|
||||||
If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to
|
If you did set :term:`TEST_TARGET` to "SystemdbootTarget", you also need to
|
||||||
perform a one-time setup of your controller image by doing the following:
|
perform a one-time setup of your controller image by doing the following:
|
||||||
@@ -20,7 +20,7 @@ helps review and test patches and this is his testing tree).
|
|||||||
We have two broad categories of test builds, including "full" and
|
We have two broad categories of test builds, including "full" and
|
||||||
"quick". On the Autobuilder, these can be seen as "a-quick" and
|
"quick". On the Autobuilder, these can be seen as "a-quick" and
|
||||||
"a-full", simply for ease of sorting in the UI. Use our Autobuilder
|
"a-full", simply for ease of sorting in the UI. Use our Autobuilder
|
||||||
:yocto_ab:`console view </typhoon/#/console>` to see where we manage most
|
:yocto_ab:`console view </valkyrie/#/console>` to see where we manage most
|
||||||
test-related items.
|
test-related items.
|
||||||
|
|
||||||
Builds are triggered manually when the test branches are ready. The
|
Builds are triggered manually when the test branches are ready. The
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Execution Flow within the Autobuilder
|
|||||||
The "a-full" and "a-quick" targets are the usual entry points into the
|
The "a-full" and "a-quick" targets are the usual entry points into the
|
||||||
Autobuilder and it makes sense to follow the process through the system
|
Autobuilder and it makes sense to follow the process through the system
|
||||||
starting there. This is best visualized from the :yocto_ab:`Autobuilder
|
starting there. This is best visualized from the :yocto_ab:`Autobuilder
|
||||||
Console view </typhoon/#/console>`.
|
Console view </valkyrie/#/console>`.
|
||||||
|
|
||||||
Each item along the top of that view represents some "target build" and
|
Each item along the top of that view represents some "target build" and
|
||||||
these targets are all run in parallel. The 'full' build will trigger the
|
these targets are all run in parallel. The 'full' build will trigger the
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
DISTRO = "poky"
|
DISTRO = "poky"
|
||||||
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
|
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
|
||||||
DISTRO_VERSION = "5.1.1"
|
DISTRO_VERSION = "5.1.4"
|
||||||
DISTRO_CODENAME = "styhead"
|
DISTRO_CODENAME = "styhead"
|
||||||
SDK_VENDOR = "-pokysdk"
|
SDK_VENDOR = "-pokysdk"
|
||||||
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
|
SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
|
||||||
@@ -47,7 +47,9 @@ SANITY_TESTED_DISTROS ?= " \
|
|||||||
opensuseleap-15.5 \n \
|
opensuseleap-15.5 \n \
|
||||||
opensuseleap-15.6 \n \
|
opensuseleap-15.6 \n \
|
||||||
almalinux-8.8 \n \
|
almalinux-8.8 \n \
|
||||||
|
almalinux-8.10 \n \
|
||||||
almalinux-9.2 \n \
|
almalinux-9.2 \n \
|
||||||
|
almalinux-9.4 \n \
|
||||||
rocky-9 \n \
|
rocky-9 \n \
|
||||||
"
|
"
|
||||||
# add poky sanity bbclass
|
# add poky sanity bbclass
|
||||||
|
|||||||
@@ -641,15 +641,6 @@ def sstate_package(ss, d):
|
|||||||
|
|
||||||
tmpdir = d.getVar('TMPDIR')
|
tmpdir = d.getVar('TMPDIR')
|
||||||
|
|
||||||
fixtime = False
|
|
||||||
if ss['task'] == "package":
|
|
||||||
fixtime = True
|
|
||||||
|
|
||||||
def fixtimestamp(root, path):
|
|
||||||
f = os.path.join(root, path)
|
|
||||||
if os.lstat(f).st_mtime > sde:
|
|
||||||
os.utime(f, (sde, sde), follow_symlinks=False)
|
|
||||||
|
|
||||||
sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task'])
|
sstatebuild = d.expand("${WORKDIR}/sstate-build-%s/" % ss['task'])
|
||||||
sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time())
|
sde = int(d.getVar("SOURCE_DATE_EPOCH") or time.time())
|
||||||
d.setVar("SSTATE_CURRTASK", ss['task'])
|
d.setVar("SSTATE_CURRTASK", ss['task'])
|
||||||
@@ -664,8 +655,6 @@ def sstate_package(ss, d):
|
|||||||
# to sstate tasks but there aren't many of these so better just avoid them entirely.
|
# to sstate tasks but there aren't many of these so better just avoid them entirely.
|
||||||
for walkroot, dirs, files in os.walk(state[1]):
|
for walkroot, dirs, files in os.walk(state[1]):
|
||||||
for file in files + dirs:
|
for file in files + dirs:
|
||||||
if fixtime:
|
|
||||||
fixtimestamp(walkroot, file)
|
|
||||||
srcpath = os.path.join(walkroot, file)
|
srcpath = os.path.join(walkroot, file)
|
||||||
if not os.path.islink(srcpath):
|
if not os.path.islink(srcpath):
|
||||||
continue
|
continue
|
||||||
@@ -687,11 +676,6 @@ def sstate_package(ss, d):
|
|||||||
bb.utils.mkdirhier(plain)
|
bb.utils.mkdirhier(plain)
|
||||||
bb.utils.mkdirhier(pdir)
|
bb.utils.mkdirhier(pdir)
|
||||||
bb.utils.rename(plain, pdir)
|
bb.utils.rename(plain, pdir)
|
||||||
if fixtime:
|
|
||||||
fixtimestamp(pdir, "")
|
|
||||||
for walkroot, dirs, files in os.walk(pdir):
|
|
||||||
for file in files + dirs:
|
|
||||||
fixtimestamp(walkroot, file)
|
|
||||||
|
|
||||||
d.setVar('SSTATE_BUILDDIR', sstatebuild)
|
d.setVar('SSTATE_BUILDDIR', sstatebuild)
|
||||||
d.setVar('SSTATE_INSTDIR', sstatebuild)
|
d.setVar('SSTATE_INSTDIR', sstatebuild)
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ EXTRA_OECMAKE:append = " ${PACKAGECONFIG_CONFARGS}"
|
|||||||
export CMAKE_BUILD_PARALLEL_LEVEL
|
export CMAKE_BUILD_PARALLEL_LEVEL
|
||||||
CMAKE_BUILD_PARALLEL_LEVEL:task-compile = "${@oe.utils.parallel_make(d, False)}"
|
CMAKE_BUILD_PARALLEL_LEVEL:task-compile = "${@oe.utils.parallel_make(d, False)}"
|
||||||
CMAKE_BUILD_PARALLEL_LEVEL:task-install = "${@oe.utils.parallel_make(d, True)}"
|
CMAKE_BUILD_PARALLEL_LEVEL:task-install = "${@oe.utils.parallel_make(d, True)}"
|
||||||
|
CMAKE_BUILD_PARALLEL_LEVEL:task-compile-ptest-base = "${@oe.utils.parallel_make(d, False)}"
|
||||||
|
CMAKE_BUILD_PARALLEL_LEVEL:task-install-ptest-base = "${@oe.utils.parallel_make(d, True)}"
|
||||||
|
|
||||||
OECMAKE_TARGET_COMPILE ?= "all"
|
OECMAKE_TARGET_COMPILE ?= "all"
|
||||||
OECMAKE_TARGET_INSTALL ?= "install"
|
OECMAKE_TARGET_INSTALL ?= "install"
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ RECIPE_SYSROOT = "${WORKDIR}/recipe-sysroot"
|
|||||||
#
|
#
|
||||||
PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}"
|
PACKAGE_ARCH = "${SDK_ARCH}-${SDKPKGSUFFIX}"
|
||||||
PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
|
PACKAGE_ARCHS = "${SDK_PACKAGE_ARCHS}"
|
||||||
|
TUNE_PKGARCH = "${SDK_ARCH}"
|
||||||
|
|
||||||
#
|
#
|
||||||
# We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
|
# We need chrpath >= 0.14 to ensure we can deal with 32 and 64 bit
|
||||||
|
|||||||
@@ -289,6 +289,8 @@ def copy_uninative(d, baseoutpath):
|
|||||||
return uninative_checksum
|
return uninative_checksum
|
||||||
|
|
||||||
def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_checksum):
|
def write_local_conf(d, baseoutpath, derivative, core_meta_subdir, uninative_checksum):
|
||||||
|
import shutil
|
||||||
|
|
||||||
#check if custome templateconf path is set
|
#check if custome templateconf path is set
|
||||||
use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF')
|
use_custom_templateconf = d.getVar('SDK_CUSTOM_TEMPLATECONF')
|
||||||
|
|
||||||
|
|||||||
@@ -60,8 +60,8 @@ def qemu_run_binary(data, rootfs_path, binary):
|
|||||||
# this dance). For others (e.g. arm) a -cpu option is not necessary, since the
|
# this dance). For others (e.g. arm) a -cpu option is not necessary, since the
|
||||||
# qemu-arm default CPU supports all required architecture levels.
|
# qemu-arm default CPU supports all required architecture levels.
|
||||||
|
|
||||||
QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) or ""}"
|
QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('TUNE_PKGARCH')) or ""}"
|
||||||
QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
|
QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${TUNE_PKGARCH}"
|
||||||
|
|
||||||
QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
|
QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
|
||||||
QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
|
QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
|
||||||
@@ -71,7 +71,3 @@ QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
|
|||||||
QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
|
QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
|
||||||
QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
|
QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
|
||||||
QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER9"
|
QEMU_EXTRAOPTIONS_powerpc64le = " -cpu POWER9"
|
||||||
# Some packages e.g. fwupd sets PACKAGE_ARCH = MACHINE_ARCH and uses meson which
|
|
||||||
# needs right options to usermode qemu
|
|
||||||
QEMU_EXTRAOPTIONS_qemuppc = " -cpu 7400"
|
|
||||||
QEMU_EXTRAOPTIONS_qemuppc64 = " -cpu POWER9"
|
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ MAX_ATOMIC_WIDTH[mipsel] = "32"
|
|||||||
DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
|
DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
|
||||||
TARGET_ENDIAN[mips64] = "big"
|
TARGET_ENDIAN[mips64] = "big"
|
||||||
TARGET_POINTER_WIDTH[mips64] = "64"
|
TARGET_POINTER_WIDTH[mips64] = "64"
|
||||||
TARGET_C_INT_WIDTH[mips64] = "64"
|
TARGET_C_INT_WIDTH[mips64] = "32"
|
||||||
MAX_ATOMIC_WIDTH[mips64] = "64"
|
MAX_ATOMIC_WIDTH[mips64] = "64"
|
||||||
|
|
||||||
## mips64-n32-unknown-linux-{gnu, musl}
|
## mips64-n32-unknown-linux-{gnu, musl}
|
||||||
@@ -212,7 +212,7 @@ MAX_ATOMIC_WIDTH[mips64-n32] = "64"
|
|||||||
DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
|
DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
|
||||||
TARGET_ENDIAN[mips64el] = "little"
|
TARGET_ENDIAN[mips64el] = "little"
|
||||||
TARGET_POINTER_WIDTH[mips64el] = "64"
|
TARGET_POINTER_WIDTH[mips64el] = "64"
|
||||||
TARGET_C_INT_WIDTH[mips64el] = "64"
|
TARGET_C_INT_WIDTH[mips64el] = "32"
|
||||||
MAX_ATOMIC_WIDTH[mips64el] = "64"
|
MAX_ATOMIC_WIDTH[mips64el] = "64"
|
||||||
|
|
||||||
## powerpc-unknown-linux-{gnu, musl}
|
## powerpc-unknown-linux-{gnu, musl}
|
||||||
@@ -226,14 +226,14 @@ MAX_ATOMIC_WIDTH[powerpc] = "32"
|
|||||||
DATA_LAYOUT[powerpc64] = "E-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512"
|
DATA_LAYOUT[powerpc64] = "E-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512"
|
||||||
TARGET_ENDIAN[powerpc64] = "big"
|
TARGET_ENDIAN[powerpc64] = "big"
|
||||||
TARGET_POINTER_WIDTH[powerpc64] = "64"
|
TARGET_POINTER_WIDTH[powerpc64] = "64"
|
||||||
TARGET_C_INT_WIDTH[powerpc64] = "64"
|
TARGET_C_INT_WIDTH[powerpc64] = "32"
|
||||||
MAX_ATOMIC_WIDTH[powerpc64] = "64"
|
MAX_ATOMIC_WIDTH[powerpc64] = "64"
|
||||||
|
|
||||||
## powerpc64le-unknown-linux-{gnu, musl}
|
## powerpc64le-unknown-linux-{gnu, musl}
|
||||||
DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
|
DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
|
||||||
TARGET_ENDIAN[powerpc64le] = "little"
|
TARGET_ENDIAN[powerpc64le] = "little"
|
||||||
TARGET_POINTER_WIDTH[powerpc64le] = "64"
|
TARGET_POINTER_WIDTH[powerpc64le] = "64"
|
||||||
TARGET_C_INT_WIDTH[powerpc64le] = "64"
|
TARGET_C_INT_WIDTH[powerpc64le] = "32"
|
||||||
MAX_ATOMIC_WIDTH[powerpc64le] = "64"
|
MAX_ATOMIC_WIDTH[powerpc64le] = "64"
|
||||||
|
|
||||||
## riscv32gc-unknown-linux-{gnu, musl}
|
## riscv32gc-unknown-linux-{gnu, musl}
|
||||||
@@ -247,7 +247,7 @@ MAX_ATOMIC_WIDTH[riscv32gc] = "32"
|
|||||||
DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
|
DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
|
||||||
TARGET_ENDIAN[riscv64gc] = "little"
|
TARGET_ENDIAN[riscv64gc] = "little"
|
||||||
TARGET_POINTER_WIDTH[riscv64gc] = "64"
|
TARGET_POINTER_WIDTH[riscv64gc] = "64"
|
||||||
TARGET_C_INT_WIDTH[riscv64gc] = "64"
|
TARGET_C_INT_WIDTH[riscv64gc] = "32"
|
||||||
MAX_ATOMIC_WIDTH[riscv64gc] = "64"
|
MAX_ATOMIC_WIDTH[riscv64gc] = "64"
|
||||||
|
|
||||||
## loongarch64-unknown-linux-{gnu, musl}
|
## loongarch64-unknown-linux-{gnu, musl}
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ def cve_update(d, cve_data, cve, entry):
|
|||||||
cve_data[cve] = entry
|
cve_data[cve] = entry
|
||||||
return
|
return
|
||||||
# If we are updating, there might be change in the status
|
# If we are updating, there might be change in the status
|
||||||
bb.debug("Trying CVE entry update for %s from %s to %s" % (cve, cve_data[cve]['abbrev-status'], entry['abbrev-status']))
|
bb.debug(1, "Trying CVE entry update for %s from %s to %s" % (cve, cve_data[cve]['abbrev-status'], entry['abbrev-status']))
|
||||||
if cve_data[cve]['abbrev-status'] == "Unknown":
|
if cve_data[cve]['abbrev-status'] == "Unknown":
|
||||||
cve_data[cve] = entry
|
cve_data[cve] = entry
|
||||||
return
|
return
|
||||||
@@ -289,16 +289,16 @@ def cve_update(d, cve_data, cve, entry):
|
|||||||
if entry['status'] == "version-in-range" and cve_data[cve]['status'] == "version-not-in-range":
|
if entry['status'] == "version-in-range" and cve_data[cve]['status'] == "version-not-in-range":
|
||||||
# New result from the scan, vulnerable
|
# New result from the scan, vulnerable
|
||||||
cve_data[cve] = entry
|
cve_data[cve] = entry
|
||||||
bb.debug("CVE entry %s update from Patched to Unpatched from the scan result" % cve)
|
bb.debug(1, "CVE entry %s update from Patched to Unpatched from the scan result" % cve)
|
||||||
return
|
return
|
||||||
if entry['abbrev-status'] == "Patched" and cve_data[cve]['abbrev-status'] == "Unpatched":
|
if entry['abbrev-status'] == "Patched" and cve_data[cve]['abbrev-status'] == "Unpatched":
|
||||||
if entry['status'] == "version-not-in-range" and cve_data[cve]['status'] == "version-in-range":
|
if entry['status'] == "version-not-in-range" and cve_data[cve]['status'] == "version-in-range":
|
||||||
# Range does not match the scan, but we already have a vulnerable match, ignore
|
# Range does not match the scan, but we already have a vulnerable match, ignore
|
||||||
bb.debug("CVE entry %s update from Patched to Unpatched from the scan result - not applying" % cve)
|
bb.debug(1, "CVE entry %s update from Patched to Unpatched from the scan result - not applying" % cve)
|
||||||
return
|
return
|
||||||
# If we have an "Ignored", it has a priority
|
# If we have an "Ignored", it has a priority
|
||||||
if cve_data[cve]['abbrev-status'] == "Ignored":
|
if cve_data[cve]['abbrev-status'] == "Ignored":
|
||||||
bb.debug("CVE %s not updating because Ignored" % cve)
|
bb.debug(1, "CVE %s not updating because Ignored" % cve)
|
||||||
return
|
return
|
||||||
bb.warn("Unhandled CVE entry update for %s from %s to %s" % (cve, cve_data[cve], entry))
|
bb.warn("Unhandled CVE entry update for %s from %s to %s" % (cve, cve_data[cve], entry))
|
||||||
|
|
||||||
@@ -343,17 +343,18 @@ def check_cves(d, cve_data):
|
|||||||
for cverow in cve_cursor:
|
for cverow in cve_cursor:
|
||||||
cve = cverow[0]
|
cve = cverow[0]
|
||||||
|
|
||||||
|
# Write status once only for each product
|
||||||
|
if not cves_in_product:
|
||||||
|
cves_status.append([product, True])
|
||||||
|
cves_in_product = True
|
||||||
|
cves_in_recipe = True
|
||||||
|
|
||||||
if cve_is_ignored(d, cve_data, cve):
|
if cve_is_ignored(d, cve_data, cve):
|
||||||
bb.note("%s-%s ignores %s" % (product, pv, cve))
|
bb.note("%s-%s ignores %s" % (product, pv, cve))
|
||||||
continue
|
continue
|
||||||
elif cve_is_patched(d, cve_data, cve):
|
elif cve_is_patched(d, cve_data, cve):
|
||||||
bb.note("%s has been patched" % (cve))
|
bb.note("%s has been patched" % (cve))
|
||||||
continue
|
continue
|
||||||
# Write status once only for each product
|
|
||||||
if not cves_in_product:
|
|
||||||
cves_status.append([product, True])
|
|
||||||
cves_in_product = True
|
|
||||||
cves_in_recipe = True
|
|
||||||
|
|
||||||
vulnerable = False
|
vulnerable = False
|
||||||
ignored = False
|
ignored = False
|
||||||
@@ -422,6 +423,11 @@ def check_cves(d, cve_data):
|
|||||||
if not cves_in_recipe:
|
if not cves_in_recipe:
|
||||||
bb.note("No CVE records for products in recipe %s" % (pn))
|
bb.note("No CVE records for products in recipe %s" % (pn))
|
||||||
|
|
||||||
|
if d.getVar("CVE_CHECK_SHOW_WARNINGS") == "1":
|
||||||
|
unpatched_cves = [cve for cve in cve_data if cve_data[cve]["abbrev-status"] == "Unpatched"]
|
||||||
|
if unpatched_cves:
|
||||||
|
bb.warn("Found unpatched CVE (%s)" % " ".join(unpatched_cves))
|
||||||
|
|
||||||
return (cve_data, cves_status)
|
return (cve_data, cves_status)
|
||||||
|
|
||||||
def get_cve_info(d, cve_data):
|
def get_cve_info(d, cve_data):
|
||||||
|
|||||||
@@ -564,6 +564,7 @@ def OEOuthashBasic(path, sigfile, task, d):
|
|||||||
if task == "package":
|
if task == "package":
|
||||||
include_timestamps = True
|
include_timestamps = True
|
||||||
include_root = False
|
include_root = False
|
||||||
|
source_date_epoch = float(d.getVar("SOURCE_DATE_EPOCH"))
|
||||||
hash_version = d.getVar('HASHEQUIV_HASH_VERSION')
|
hash_version = d.getVar('HASHEQUIV_HASH_VERSION')
|
||||||
extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA")
|
extra_sigdata = d.getVar("HASHEQUIV_EXTRA_SIGDATA")
|
||||||
|
|
||||||
@@ -655,7 +656,11 @@ def OEOuthashBasic(path, sigfile, task, d):
|
|||||||
raise Exception(msg).with_traceback(e.__traceback__)
|
raise Exception(msg).with_traceback(e.__traceback__)
|
||||||
|
|
||||||
if include_timestamps:
|
if include_timestamps:
|
||||||
update_hash(" %10d" % s.st_mtime)
|
# Need to clamp to SOURCE_DATE_EPOCH
|
||||||
|
if s.st_mtime > source_date_epoch:
|
||||||
|
update_hash(" %10d" % source_date_epoch)
|
||||||
|
else:
|
||||||
|
update_hash(" %10d" % s.st_mtime)
|
||||||
|
|
||||||
update_hash(" ")
|
update_hash(" ")
|
||||||
if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
|
if stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode):
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ class OETestResultJSONHelper(object):
|
|||||||
os.makedirs(write_dir, exist_ok=True)
|
os.makedirs(write_dir, exist_ok=True)
|
||||||
test_results = self._get_existing_testresults_if_available(write_dir)
|
test_results = self._get_existing_testresults_if_available(write_dir)
|
||||||
test_results[result_id] = {'configuration': configuration, 'result': test_result}
|
test_results[result_id] = {'configuration': configuration, 'result': test_result}
|
||||||
json_testresults = json.dumps(test_results, sort_keys=True, indent=4)
|
json_testresults = json.dumps(test_results, sort_keys=True, indent=1)
|
||||||
self._write_file(write_dir, self.testresult_filename, json_testresults)
|
self._write_file(write_dir, self.testresult_filename, json_testresults)
|
||||||
if has_bb:
|
if has_bb:
|
||||||
bb.utils.unlockfile(lf)
|
bb.utils.unlockfile(lf)
|
||||||
|
|||||||
@@ -92,7 +92,10 @@ class OESSHTarget(OETarget):
|
|||||||
processTimeout = self.timeout
|
processTimeout = self.timeout
|
||||||
|
|
||||||
status, output = self._run(sshCmd, processTimeout, ignore_status, raw)
|
status, output = self._run(sshCmd, processTimeout, ignore_status, raw)
|
||||||
self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output))
|
if len(output) > (64 * 1024):
|
||||||
|
self.logger.debug('Command: %s\nStatus: %d Output length: %s\n' % (command, status, len(output)))
|
||||||
|
else:
|
||||||
|
self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output))
|
||||||
|
|
||||||
return (status, output)
|
return (status, output)
|
||||||
|
|
||||||
@@ -211,17 +214,18 @@ def SSHCall(command, logger, timeout=None, raw=False, **opts):
|
|||||||
def run():
|
def run():
|
||||||
nonlocal output
|
nonlocal output
|
||||||
nonlocal process
|
nonlocal process
|
||||||
output_raw = b''
|
output_raw = bytearray()
|
||||||
starttime = time.time()
|
starttime = time.time()
|
||||||
|
progress = time.time()
|
||||||
process = subprocess.Popen(command, **options)
|
process = subprocess.Popen(command, **options)
|
||||||
has_timeout = False
|
has_timeout = False
|
||||||
|
appendline = None
|
||||||
if timeout:
|
if timeout:
|
||||||
endtime = starttime + timeout
|
endtime = starttime + timeout
|
||||||
eof = False
|
eof = False
|
||||||
os.set_blocking(process.stdout.fileno(), False)
|
os.set_blocking(process.stdout.fileno(), False)
|
||||||
while not has_timeout and not eof:
|
while not has_timeout and not eof:
|
||||||
try:
|
try:
|
||||||
logger.debug('Waiting for process output: time: %s, endtime: %s' % (time.time(), endtime))
|
|
||||||
if select.select([process.stdout], [], [], 5)[0] != []:
|
if select.select([process.stdout], [], [], 5)[0] != []:
|
||||||
# wait a bit for more data, tries to avoid reading single characters
|
# wait a bit for more data, tries to avoid reading single characters
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
@@ -229,9 +233,9 @@ def SSHCall(command, logger, timeout=None, raw=False, **opts):
|
|||||||
if not data:
|
if not data:
|
||||||
eof = True
|
eof = True
|
||||||
else:
|
else:
|
||||||
output_raw += data
|
output_raw.extend(data)
|
||||||
# ignore errors to capture as much as possible
|
# ignore errors to capture as much as possible
|
||||||
logger.debug('Partial data from SSH call:\n%s' % data.decode('utf-8', errors='ignore'))
|
#logger.debug('Partial data from SSH call:\n%s' % data.decode('utf-8', errors='ignore'))
|
||||||
endtime = time.time() + timeout
|
endtime = time.time() + timeout
|
||||||
except InterruptedError:
|
except InterruptedError:
|
||||||
logger.debug('InterruptedError')
|
logger.debug('InterruptedError')
|
||||||
@@ -244,6 +248,10 @@ def SSHCall(command, logger, timeout=None, raw=False, **opts):
|
|||||||
logger.debug('SSHCall has timeout! Time: %s, endtime: %s' % (time.time(), endtime))
|
logger.debug('SSHCall has timeout! Time: %s, endtime: %s' % (time.time(), endtime))
|
||||||
has_timeout = True
|
has_timeout = True
|
||||||
|
|
||||||
|
if time.time() >= (progress + 60):
|
||||||
|
logger.debug('Waiting for process output at time: %s with datasize: %s' % (time.time(), len(output_raw)))
|
||||||
|
progress = time.time()
|
||||||
|
|
||||||
process.stdout.close()
|
process.stdout.close()
|
||||||
|
|
||||||
# process hasn't returned yet
|
# process hasn't returned yet
|
||||||
@@ -256,17 +264,29 @@ def SSHCall(command, logger, timeout=None, raw=False, **opts):
|
|||||||
logger.debug('OSError when killing process')
|
logger.debug('OSError when killing process')
|
||||||
pass
|
pass
|
||||||
endtime = time.time() - starttime
|
endtime = time.time() - starttime
|
||||||
lastline = ("\nProcess killed - no output for %d seconds. Total"
|
appendline = ("\nProcess killed - no output for %d seconds. Total"
|
||||||
" running time: %d seconds." % (timeout, endtime))
|
" running time: %d seconds." % (timeout, endtime))
|
||||||
logger.debug('Received data from SSH call:\n%s ' % lastline)
|
logger.debug('Received data from SSH call:\n%s ' % appendline)
|
||||||
output += lastline
|
|
||||||
process.wait()
|
process.wait()
|
||||||
|
|
||||||
|
if raw:
|
||||||
|
output = bytes(output_raw)
|
||||||
|
if appendline:
|
||||||
|
output += bytes(appendline, "utf-8")
|
||||||
|
else:
|
||||||
|
output = output_raw.decode('utf-8', errors='ignore')
|
||||||
|
if appendline:
|
||||||
|
output += appendline
|
||||||
else:
|
else:
|
||||||
output_raw = process.communicate()[0]
|
output = output_raw = process.communicate()[0]
|
||||||
|
if not raw:
|
||||||
|
output = output_raw.decode('utf-8', errors='ignore')
|
||||||
|
|
||||||
output = output_raw if raw else output_raw.decode('utf-8', errors='ignore')
|
if len(output) < (64 * 1024):
|
||||||
logger.debug('Data from SSH call:\n%s' % output.rstrip())
|
if output.rstrip():
|
||||||
|
logger.debug('Data from SSH call:\n%s' % output.rstrip())
|
||||||
|
else:
|
||||||
|
logger.debug('No output from SSH call')
|
||||||
|
|
||||||
# timout or not, make sure process exits and is not hanging
|
# timout or not, make sure process exits and is not hanging
|
||||||
if process.returncode == None:
|
if process.returncode == None:
|
||||||
|
|||||||
@@ -2533,7 +2533,7 @@ class DevtoolIdeSdkTests(DevtoolBase):
|
|||||||
self.track_for_cleanup(tempdir)
|
self.track_for_cleanup(tempdir)
|
||||||
self.add_command_to_tearDown('bitbake -c clean %s' % recipe_name)
|
self.add_command_to_tearDown('bitbake -c clean %s' % recipe_name)
|
||||||
|
|
||||||
result = runCmd('devtool modify %s -x %s' % (recipe_name, tempdir))
|
result = runCmd('devtool modify %s -x %s --debug-build' % (recipe_name, tempdir))
|
||||||
self.assertExists(os.path.join(tempdir, build_file),
|
self.assertExists(os.path.join(tempdir, build_file),
|
||||||
'Extracted source could not be found')
|
'Extracted source could not be found')
|
||||||
self.assertExists(os.path.join(self.workspacedir, 'conf',
|
self.assertExists(os.path.join(self.workspacedir, 'conf',
|
||||||
|
|||||||
@@ -177,12 +177,8 @@ class ReproducibleTests(OESelftestTestCase):
|
|||||||
self.sstate_targets = bb_vars['OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS'].split()
|
self.sstate_targets = bb_vars['OEQA_REPRODUCIBLE_TEST_SSTATE_TARGETS'].split()
|
||||||
|
|
||||||
self.extraresults = {}
|
self.extraresults = {}
|
||||||
self.extraresults.setdefault('reproducible.rawlogs', {})['log'] = ''
|
|
||||||
self.extraresults.setdefault('reproducible', {}).setdefault('files', {})
|
self.extraresults.setdefault('reproducible', {}).setdefault('files', {})
|
||||||
|
|
||||||
def append_to_log(self, msg):
|
|
||||||
self.extraresults['reproducible.rawlogs']['log'] += msg
|
|
||||||
|
|
||||||
def compare_packages(self, reference_dir, test_dir, diffutils_sysroot):
|
def compare_packages(self, reference_dir, test_dir, diffutils_sysroot):
|
||||||
result = PackageCompareResults(self.oeqa_reproducible_excluded_packages)
|
result = PackageCompareResults(self.oeqa_reproducible_excluded_packages)
|
||||||
|
|
||||||
@@ -209,7 +205,7 @@ class ReproducibleTests(OESelftestTestCase):
|
|||||||
|
|
||||||
def write_package_list(self, package_class, name, packages):
|
def write_package_list(self, package_class, name, packages):
|
||||||
self.extraresults['reproducible']['files'].setdefault(package_class, {})[name] = [
|
self.extraresults['reproducible']['files'].setdefault(package_class, {})[name] = [
|
||||||
{'reference': p.reference, 'test': p.test} for p in packages]
|
p.reference.split("/./")[1] for p in packages]
|
||||||
|
|
||||||
def copy_file(self, source, dest):
|
def copy_file(self, source, dest):
|
||||||
bb.utils.mkdirhier(os.path.dirname(dest))
|
bb.utils.mkdirhier(os.path.dirname(dest))
|
||||||
@@ -299,8 +295,6 @@ class ReproducibleTests(OESelftestTestCase):
|
|||||||
|
|
||||||
self.logger.info('Reproducibility summary for %s: %s' % (c, result))
|
self.logger.info('Reproducibility summary for %s: %s' % (c, result))
|
||||||
|
|
||||||
self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total))
|
|
||||||
|
|
||||||
self.write_package_list(package_class, 'missing', result.missing)
|
self.write_package_list(package_class, 'missing', result.missing)
|
||||||
self.write_package_list(package_class, 'different', result.different)
|
self.write_package_list(package_class, 'different', result.different)
|
||||||
self.write_package_list(package_class, 'different_excluded', result.different_excluded)
|
self.write_package_list(package_class, 'different_excluded', result.different_excluded)
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ def git_commit_data(repo, data_dir, branch, message, exclude, notes, log):
|
|||||||
|
|
||||||
# Remove files that are excluded
|
# Remove files that are excluded
|
||||||
if exclude:
|
if exclude:
|
||||||
repo.run_cmd(['rm', '--cached'] + [f for f in exclude], env_update)
|
repo.run_cmd(['rm', '--cached', '--ignore-unmatch'] + [f for f in exclude], env_update)
|
||||||
|
|
||||||
tree = repo.run_cmd('write-tree', env_update)
|
tree = repo.run_cmd('write-tree', env_update)
|
||||||
|
|
||||||
@@ -146,7 +146,7 @@ def expand_tag_strings(repo, name_pattern, msg_subj_pattern, msg_body_pattern,
|
|||||||
keyws['tag_number'] = '{tag_number}'
|
keyws['tag_number'] = '{tag_number}'
|
||||||
tag_re = format_str(name_pattern, keyws)
|
tag_re = format_str(name_pattern, keyws)
|
||||||
# Replace parentheses for proper regex matching
|
# Replace parentheses for proper regex matching
|
||||||
tag_re = tag_re.replace('(', '\(').replace(')', '\)') + '$'
|
tag_re = tag_re.replace('(', r'\(').replace(')', r'\)') + '$'
|
||||||
# Inject regex group pattern for 'tag_number'
|
# Inject regex group pattern for 'tag_number'
|
||||||
tag_re = tag_re.format(tag_number='(?P<tag_number>[0-9]{1,5})')
|
tag_re = tag_re.format(tag_number='(?P<tag_number>[0-9]{1,5})')
|
||||||
|
|
||||||
@@ -202,6 +202,8 @@ def gitarchive(data_dir, git_dir, no_create, bare, commit_msg_subject, commit_ms
|
|||||||
log.info("Pushing data to remote")
|
log.info("Pushing data to remote")
|
||||||
data_repo.run_cmd(cmd)
|
data_repo.run_cmd(cmd)
|
||||||
|
|
||||||
|
return tag_name
|
||||||
|
|
||||||
# Container class for tester revisions
|
# Container class for tester revisions
|
||||||
TestedRev = namedtuple('TestedRev', 'commit commit_number tags')
|
TestedRev = namedtuple('TestedRev', 'commit commit_number tags')
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
From ea703528a8581a2ea7e0bad424a70fdf0aec7d8f Mon Sep 17 00:00:00 2001
|
||||||
|
From: B Horn <b@horn.uk>
|
||||||
|
Date: Sat, 15 Jun 2024 02:33:08 +0100
|
||||||
|
Subject: [PATCH 1/2] misc: Implement grub_strlcpy()
|
||||||
|
|
||||||
|
grub_strlcpy() acts the same way as strlcpy() does on most *NIX,
|
||||||
|
returning the length of src and ensuring dest is always NUL
|
||||||
|
terminated except when size is 0.
|
||||||
|
|
||||||
|
Signed-off-by: B Horn <b@horn.uk>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=ea703528a8581a2ea7e0bad424a70fdf0aec7d8f]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
include/grub/misc.h | 39 +++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 39 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/grub/misc.h b/include/grub/misc.h
|
||||||
|
index 1578f36c3..14d8f37ac 100644
|
||||||
|
--- a/include/grub/misc.h
|
||||||
|
+++ b/include/grub/misc.h
|
||||||
|
@@ -64,6 +64,45 @@ grub_stpcpy (char *dest, const char *src)
|
||||||
|
return d - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static inline grub_size_t
|
||||||
|
+grub_strlcpy (char *dest, const char *src, grub_size_t size)
|
||||||
|
+{
|
||||||
|
+ char *d = dest;
|
||||||
|
+ grub_size_t res = 0;
|
||||||
|
+ /*
|
||||||
|
+ * We do not subtract one from size here to avoid dealing with underflowing
|
||||||
|
+ * the value, which is why to_copy is always checked to be greater than one
|
||||||
|
+ * throughout this function.
|
||||||
|
+ */
|
||||||
|
+ grub_size_t to_copy = size;
|
||||||
|
+
|
||||||
|
+ /* Copy size - 1 bytes to dest. */
|
||||||
|
+ if (to_copy > 1)
|
||||||
|
+ while ((*d++ = *src++) != '\0' && ++res && --to_copy > 1)
|
||||||
|
+ ;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * NUL terminate if size != 0. The previous step may have copied a NUL byte
|
||||||
|
+ * if it reached the end of the string, but we know dest[size - 1] must always
|
||||||
|
+ * be a NUL byte.
|
||||||
|
+ */
|
||||||
|
+ if (size != 0)
|
||||||
|
+ dest[size - 1] = '\0';
|
||||||
|
+
|
||||||
|
+ /* If there is still space in dest, but are here, we reached the end of src. */
|
||||||
|
+ if (to_copy > 1)
|
||||||
|
+ return res;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * If we haven't reached the end of the string, iterate through to determine
|
||||||
|
+ * the strings total length.
|
||||||
|
+ */
|
||||||
|
+ while (*src++ != '\0' && ++res)
|
||||||
|
+ ;
|
||||||
|
+
|
||||||
|
+ return res;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* XXX: If grub_memmove is too slow, we must implement grub_memcpy. */
|
||||||
|
static inline void *
|
||||||
|
grub_memcpy (void *dest, const void *src, grub_size_t n)
|
||||||
37
meta/recipes-bsp/grub/files/CVE-2024-45774.patch
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
From 2c34af908ebf4856051ed29e46d88abd2b20387f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Axtens <dja@axtens.net>
|
||||||
|
Date: Fri, 8 Mar 2024 22:47:20 +1100
|
||||||
|
Subject: [PATCH] video/readers/jpeg: Do not permit duplicate SOF0 markers in
|
||||||
|
JPEG
|
||||||
|
|
||||||
|
Otherwise a subsequent header could change the height and width
|
||||||
|
allowing future OOB writes.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45774
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45774
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=2c34af908ebf4856051ed29e46d88abd2b20387f]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/video/readers/jpeg.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/grub-core/video/readers/jpeg.c b/grub-core/video/readers/jpeg.c
|
||||||
|
index ae634fd41..631a89356 100644
|
||||||
|
--- a/grub-core/video/readers/jpeg.c
|
||||||
|
+++ b/grub-core/video/readers/jpeg.c
|
||||||
|
@@ -339,6 +339,10 @@ grub_jpeg_decode_sof (struct grub_jpeg_data *data)
|
||||||
|
if (grub_errno != GRUB_ERR_NONE)
|
||||||
|
return grub_errno;
|
||||||
|
|
||||||
|
+ if (data->image_height != 0 || data->image_width != 0)
|
||||||
|
+ return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||||
|
+ "jpeg: cannot have duplicate SOF0 markers");
|
||||||
|
+
|
||||||
|
if (grub_jpeg_get_byte (data) != 8)
|
||||||
|
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||||
|
"jpeg: only 8-bit precision is supported");
|
||||||
38
meta/recipes-bsp/grub/files/CVE-2024-45775.patch
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
From 05be856a8c3aae41f5df90cab7796ab7ee34b872 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Date: Fri, 22 Nov 2024 06:27:55 +0000
|
||||||
|
Subject: [PATCH] commands/extcmd: Missing check for failed allocation
|
||||||
|
|
||||||
|
The grub_extcmd_dispatcher() calls grub_arg_list_alloc() to allocate
|
||||||
|
a grub_arg_list struct but it does not verify the allocation was successful.
|
||||||
|
In case of failed allocation the NULL state pointer can be accessed in
|
||||||
|
parse_option() through grub_arg_parse() which may lead to a security issue.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45775
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
Reviewed-by: Alec Brown <alec.r.brown@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45775
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=05be856a8c3aae41f5df90cab7796ab7ee34b872]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/commands/extcmd.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/grub-core/commands/extcmd.c b/grub-core/commands/extcmd.c
|
||||||
|
index 90a5ca24a..c236be13a 100644
|
||||||
|
--- a/grub-core/commands/extcmd.c
|
||||||
|
+++ b/grub-core/commands/extcmd.c
|
||||||
|
@@ -49,6 +49,9 @@ grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
|
||||||
|
}
|
||||||
|
|
||||||
|
state = grub_arg_list_alloc (ext, argc, args);
|
||||||
|
+ if (state == NULL)
|
||||||
|
+ return grub_errno;
|
||||||
|
+
|
||||||
|
if (grub_arg_parse (ext, argc, args, state, &new_args, &new_argc))
|
||||||
|
{
|
||||||
|
context.state = state;
|
||||||
39
meta/recipes-bsp/grub/files/CVE-2024-45776.patch
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
From 09bd6eb58b0f71ec273916070fa1e2de16897a91 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Date: Fri, 22 Nov 2024 06:27:56 +0000
|
||||||
|
Subject: [PATCH] gettext: Integer overflow leads to heap OOB write or read
|
||||||
|
|
||||||
|
Calculation of ctx->grub_gettext_msg_list size in grub_mofile_open() may
|
||||||
|
overflow leading to subsequent OOB write or read. This patch fixes the
|
||||||
|
issue by replacing grub_zalloc() and explicit multiplication with
|
||||||
|
grub_calloc() which does the same thing in safe manner.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45776
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
Reviewed-by: Alec Brown <alec.r.brown@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45776
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=09bd6eb58b0f71ec273916070fa1e2de16897a91]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/gettext/gettext.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
|
||||||
|
index e4f4f8ee6..63bb1ab73 100644
|
||||||
|
--- a/grub-core/gettext/gettext.c
|
||||||
|
+++ b/grub-core/gettext/gettext.c
|
||||||
|
@@ -323,8 +323,8 @@ grub_mofile_open (struct grub_gettext_context *ctx,
|
||||||
|
for (ctx->grub_gettext_max_log = 0; ctx->grub_gettext_max >> ctx->grub_gettext_max_log;
|
||||||
|
ctx->grub_gettext_max_log++);
|
||||||
|
|
||||||
|
- ctx->grub_gettext_msg_list = grub_zalloc (ctx->grub_gettext_max
|
||||||
|
- * sizeof (ctx->grub_gettext_msg_list[0]));
|
||||||
|
+ ctx->grub_gettext_msg_list = grub_calloc (ctx->grub_gettext_max,
|
||||||
|
+ sizeof (ctx->grub_gettext_msg_list[0]));
|
||||||
|
if (!ctx->grub_gettext_msg_list)
|
||||||
|
{
|
||||||
|
grub_file_close (fd);
|
||||||
57
meta/recipes-bsp/grub/files/CVE-2024-45777.patch
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
From b970a5ed967816bbca8225994cd0ee2557bad515 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Date: Fri, 22 Nov 2024 06:27:57 +0000
|
||||||
|
Subject: [PATCH] gettext: Integer overflow leads to heap OOB write
|
||||||
|
|
||||||
|
The size calculation of the translation buffer in
|
||||||
|
grub_gettext_getstr_from_position() may overflow
|
||||||
|
to 0 leading to heap OOB write. This patch fixes
|
||||||
|
the issue by using grub_add() and checking for
|
||||||
|
an overflow.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45777
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
Reviewed-by: Alec Brown <alec.r.brown@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45777
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=b970a5ed967816bbca8225994cd0ee2557bad515]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/gettext/gettext.c | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
|
||||||
|
index 63bb1ab73..9ffc73428 100644
|
||||||
|
--- a/grub-core/gettext/gettext.c
|
||||||
|
+++ b/grub-core/gettext/gettext.c
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
#include <grub/file.h>
|
||||||
|
#include <grub/kernel.h>
|
||||||
|
#include <grub/i18n.h>
|
||||||
|
+#include <grub/safemath.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
|
@@ -99,6 +100,7 @@ grub_gettext_getstr_from_position (struct grub_gettext_context *ctx,
|
||||||
|
char *translation;
|
||||||
|
struct string_descriptor desc;
|
||||||
|
grub_err_t err;
|
||||||
|
+ grub_size_t alloc_sz;
|
||||||
|
|
||||||
|
internal_position = (off + position * sizeof (desc));
|
||||||
|
|
||||||
|
@@ -109,7 +111,10 @@ grub_gettext_getstr_from_position (struct grub_gettext_context *ctx,
|
||||||
|
length = grub_cpu_to_le32 (desc.length);
|
||||||
|
offset = grub_cpu_to_le32 (desc.offset);
|
||||||
|
|
||||||
|
- translation = grub_malloc (length + 1);
|
||||||
|
+ if (grub_add (length, 1, &alloc_sz))
|
||||||
|
+ return NULL;
|
||||||
|
+
|
||||||
|
+ translation = grub_malloc (alloc_sz);
|
||||||
|
if (!translation)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
From 26db6605036bd9e5b16d9068a8cc75be63b8b630 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Axtens <dja@axtens.net>
|
||||||
|
Date: Sat, 23 Mar 2024 15:59:43 +1100
|
||||||
|
Subject: [PATCH] fs/bfs: Disable under lockdown
|
||||||
|
|
||||||
|
The BFS is not fuzz-clean. Don't allow it to be loaded under lockdown.
|
||||||
|
This will also disable the AFS.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45778
|
||||||
|
Fixes: CVE-2024-45779
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Daniel Axtens <dja@axtens.net>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45778
|
||||||
|
CVE: CVE-2024-45779
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/fs/bfs.c | 9 +++++++--
|
||||||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/fs/bfs.c b/grub-core/fs/bfs.c
|
||||||
|
index 022f69fe2..78aeb051f 100644
|
||||||
|
--- a/grub-core/fs/bfs.c
|
||||||
|
+++ b/grub-core/fs/bfs.c
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
#include <grub/types.h>
|
||||||
|
#include <grub/i18n.h>
|
||||||
|
#include <grub/fshelp.h>
|
||||||
|
+#include <grub/lockdown.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
|
@@ -1106,7 +1107,10 @@ GRUB_MOD_INIT (bfs)
|
||||||
|
{
|
||||||
|
COMPILE_TIME_ASSERT (1 << LOG_EXTENT_SIZE ==
|
||||||
|
sizeof (struct grub_bfs_extent));
|
||||||
|
- grub_fs_register (&grub_bfs_fs);
|
||||||
|
+ if (!grub_is_lockdown ())
|
||||||
|
+ {
|
||||||
|
+ grub_fs_register (&grub_bfs_fs);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef MODE_AFS
|
||||||
|
@@ -1115,5 +1119,6 @@ GRUB_MOD_FINI (afs)
|
||||||
|
GRUB_MOD_FINI (bfs)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
- grub_fs_unregister (&grub_bfs_fs);
|
||||||
|
+ if (!grub_is_lockdown ())
|
||||||
|
+ grub_fs_unregister (&grub_bfs_fs);
|
||||||
|
}
|
||||||
93
meta/recipes-bsp/grub/files/CVE-2024-45780.patch
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
From 0087bc6902182fe5cedce2d034c75a79cf6dd4f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Date: Fri, 22 Nov 2024 06:27:58 +0000
|
||||||
|
Subject: [PATCH] fs/tar: Integer overflow leads to heap OOB write
|
||||||
|
|
||||||
|
Both namesize and linksize are derived from hd.size, a 12-digit octal
|
||||||
|
number parsed by read_number(). Later direct arithmetic calculation like
|
||||||
|
"namesize + 1" and "linksize + 1" may exceed the maximum value of
|
||||||
|
grub_size_t leading to heap OOB write. This patch fixes the issue by
|
||||||
|
using grub_add() and checking for an overflow.
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45780
|
||||||
|
|
||||||
|
Reported-by: Nils Langius <nils@langius.de>
|
||||||
|
Signed-off-by: Lidong Chen <lidong.chen@oracle.com>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
Reviewed-by: Alec Brown <alec.r.brown@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45780
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=0087bc6902182fe5cedce2d034c75a79cf6dd4f3]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/fs/tar.c | 23 ++++++++++++++++++-----
|
||||||
|
1 file changed, 18 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/fs/tar.c b/grub-core/fs/tar.c
|
||||||
|
index 646bce5eb..386c09022 100644
|
||||||
|
--- a/grub-core/fs/tar.c
|
||||||
|
+++ b/grub-core/fs/tar.c
|
||||||
|
@@ -25,6 +25,7 @@
|
||||||
|
#include <grub/mm.h>
|
||||||
|
#include <grub/dl.h>
|
||||||
|
#include <grub/i18n.h>
|
||||||
|
+#include <grub/safemath.h>
|
||||||
|
|
||||||
|
GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
|
||||||
|
@@ -76,6 +77,7 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
|
||||||
|
{
|
||||||
|
struct head hd;
|
||||||
|
int reread = 0, have_longname = 0, have_longlink = 0;
|
||||||
|
+ grub_size_t sz;
|
||||||
|
|
||||||
|
data->hofs = data->next_hofs;
|
||||||
|
|
||||||
|
@@ -97,7 +99,11 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
|
||||||
|
{
|
||||||
|
grub_err_t err;
|
||||||
|
grub_size_t namesize = read_number (hd.size, sizeof (hd.size));
|
||||||
|
- *name = grub_malloc (namesize + 1);
|
||||||
|
+
|
||||||
|
+ if (grub_add (namesize, 1, &sz))
|
||||||
|
+ return grub_error (GRUB_ERR_BAD_FS, N_("name size overflow"));
|
||||||
|
+
|
||||||
|
+ *name = grub_malloc (sz);
|
||||||
|
if (*name == NULL)
|
||||||
|
return grub_errno;
|
||||||
|
err = grub_disk_read (data->disk, 0,
|
||||||
|
@@ -117,15 +123,19 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
|
||||||
|
{
|
||||||
|
grub_err_t err;
|
||||||
|
grub_size_t linksize = read_number (hd.size, sizeof (hd.size));
|
||||||
|
- if (data->linkname_alloc < linksize + 1)
|
||||||
|
+
|
||||||
|
+ if (grub_add (linksize, 1, &sz))
|
||||||
|
+ return grub_error (GRUB_ERR_BAD_FS, N_("link size overflow"));
|
||||||
|
+
|
||||||
|
+ if (data->linkname_alloc < sz)
|
||||||
|
{
|
||||||
|
char *n;
|
||||||
|
- n = grub_calloc (2, linksize + 1);
|
||||||
|
+ n = grub_calloc (2, sz);
|
||||||
|
if (!n)
|
||||||
|
return grub_errno;
|
||||||
|
grub_free (data->linkname);
|
||||||
|
data->linkname = n;
|
||||||
|
- data->linkname_alloc = 2 * (linksize + 1);
|
||||||
|
+ data->linkname_alloc = 2 * (sz);
|
||||||
|
}
|
||||||
|
|
||||||
|
err = grub_disk_read (data->disk, 0,
|
||||||
|
@@ -148,7 +158,10 @@ grub_cpio_find_file (struct grub_archelp_data *data, char **name,
|
||||||
|
while (extra_size < sizeof (hd.prefix)
|
||||||
|
&& hd.prefix[extra_size])
|
||||||
|
extra_size++;
|
||||||
|
- *name = grub_malloc (sizeof (hd.name) + extra_size + 2);
|
||||||
|
+
|
||||||
|
+ if (grub_add (sizeof (hd.name) + 2, extra_size, &sz))
|
||||||
|
+ return grub_error (GRUB_ERR_BAD_FS, N_("long name size overflow"));
|
||||||
|
+ *name = grub_malloc (sz);
|
||||||
|
if (*name == NULL)
|
||||||
|
return grub_errno;
|
||||||
|
if (hd.prefix[0])
|
||||||
35
meta/recipes-bsp/grub/files/CVE-2024-45781.patch
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
From c1a291b01f4f1dcd6a22b61f1c81a45a966d16ba Mon Sep 17 00:00:00 2001
|
||||||
|
From: B Horn <b@horn.uk>
|
||||||
|
Date: Sun, 12 May 2024 02:03:33 +0100
|
||||||
|
Subject: [PATCH 2/2] fs/ufs: Fix a heap OOB write
|
||||||
|
|
||||||
|
grub_strcpy() was used to copy a symlink name from the filesystem
|
||||||
|
image to a heap allocated buffer. This led to a OOB write to adjacent
|
||||||
|
heap allocations. Fix by using grub_strlcpy().
|
||||||
|
|
||||||
|
Fixes: CVE-2024-45781
|
||||||
|
|
||||||
|
Reported-by: B Horn <b@horn.uk>
|
||||||
|
Signed-off-by: B Horn <b@horn.uk>
|
||||||
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||||
|
|
||||||
|
CVE: CVE-2024-45781
|
||||||
|
Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/grub.git/commit/?id=c1a291b01f4f1dcd6a22b61f1c81a45a966d16ba]
|
||||||
|
Signed-off-by: Peter Marko <peter.marko@siemens.com>
|
||||||
|
---
|
||||||
|
grub-core/fs/ufs.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/fs/ufs.c b/grub-core/fs/ufs.c
|
||||||
|
index a354c92d9..01235101b 100644
|
||||||
|
--- a/grub-core/fs/ufs.c
|
||||||
|
+++ b/grub-core/fs/ufs.c
|
||||||
|
@@ -463,7 +463,7 @@ grub_ufs_lookup_symlink (struct grub_ufs_data *data, int ino)
|
||||||
|
/* Check against zero is paylindromic, no need to swap. */
|
||||||
|
if (data->inode.nblocks == 0
|
||||||
|
&& INODE_SIZE (data) <= sizeof (data->inode.symlink))
|
||||||
|
- grub_strcpy (symlink, (char *) data->inode.symlink);
|
||||||
|
+ grub_strlcpy (symlink, (char *) data->inode.symlink, sz);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (grub_ufs_read_file (data, 0, 0, 0, sz, symlink) < 0)
|
||||||