summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py7
-rw-r--r--documentation/bsp-guide/bsp.rst4
-rw-r--r--documentation/conf.py6
-rw-r--r--documentation/ref-manual/classes.rst4
-rw-r--r--documentation/ref-manual/yocto-project-supported-features.rst2
-rw-r--r--meta/classes-global/base.bbclass3
-rw-r--r--meta/classes-recipe/features_check.bbclass2
-rw-r--r--meta/classes-recipe/kernel.bbclass6
-rw-r--r--meta/classes-recipe/testexport.bbclass51
-rw-r--r--meta/classes/externalsrc.bbclass44
-rw-r--r--meta/lib/oeqa/core/context.py7
-rw-r--r--meta/recipes-bsp/pciutils/pciutils_3.14.0.bb (renamed from meta/recipes-bsp/pciutils/pciutils_3.13.0.bb)2
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg6
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg1
-rw-r--r--meta/recipes-bsp/u-boot/u-boot-common.inc12
-rw-r--r--meta/recipes-connectivity/openssh/openssh_10.0p1.bb7
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework/overlayroot9
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools_6.15.bb (renamed from meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb)2
-rw-r--r--meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb1
-rw-r--r--meta/recipes-devtools/clang/compiler-rt_git.bb9
-rw-r--r--meta/recipes-devtools/clang/libcxx_git.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-15.1.inc1
-rw-r--r--meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb (renamed from meta/recipes-devtools/pkgconf/pkgconf_2.4.3.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-hypothesis_6.135.16.bb (renamed from meta/recipes-devtools/python/python3-hypothesis_6.135.9.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-license-expression_30.4.3.bb (renamed from meta/recipes-devtools/python/python3-license-expression_30.4.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-lxml_6.0.0.bb (renamed from meta/recipes-devtools/python/python3-lxml_5.4.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-markdown_3.8.2.bb (renamed from meta/recipes-devtools/python/python3-markdown_3.8.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-numpy_2.3.1.bb (renamed from meta/recipes-devtools/python/python3-numpy_2.3.0.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pdm_2.25.3.bb (renamed from meta/recipes-devtools/python/python3-pdm_2.25.1.bb)2
-rw-r--r--meta/recipes-devtools/python/python3-pygments_2.19.2.bb (renamed from meta/recipes-devtools/python/python3-pygments_2.19.1.bb)2
-rw-r--r--meta/recipes-devtools/repo/repo_2.56.bb (renamed from meta/recipes-devtools/repo/repo_2.55.2.bb)2
-rw-r--r--meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb4
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch6
-rw-r--r--meta/recipes-extended/ethtool/ethtool_6.15.bb (renamed from meta/recipes-extended/ethtool/ethtool_6.14.bb)2
-rw-r--r--meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch40
-rw-r--r--meta/recipes-extended/pam/libpam_1.7.1.bb (renamed from meta/recipes-extended/pam/libpam_1.7.0.bb)3
-rw-r--r--meta/recipes-extended/shadow/shadow_4.18.0.bb (renamed from meta/recipes-extended/shadow/shadow_4.17.4.bb)2
-rw-r--r--meta/recipes-gnome/libadwaita/libadwaita_1.7.5.bb (renamed from meta/recipes-gnome/libadwaita/libadwaita_1.7.4.bb)2
-rw-r--r--meta/recipes-graphics/pango/pango_1.56.4.bb (renamed from meta/recipes-graphics/pango/pango_1.56.3.bb)2
-rw-r--r--meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch10
-rw-r--r--meta/recipes-graphics/shaderc/shaderc_2025.3.bb (renamed from meta/recipes-graphics/shaderc/shaderc_2025.2.bb)2
-rw-r--r--meta/recipes-multimedia/libogg/libogg_1.3.6.bb (renamed from meta/recipes-multimedia/libogg/libogg_1.3.5.bb)2
-rw-r--r--meta/recipes-multimedia/libpng/libpng_1.6.49.bb (renamed from meta/recipes-multimedia/libpng/libpng_1.6.48.bb)2
-rw-r--r--meta/recipes-support/enchant/enchant2_2.8.10.bb (renamed from meta/recipes-support/enchant/enchant2_2.8.6.bb)2
-rw-r--r--meta/recipes-support/nghttp2/nghttp2_1.66.0.bb (renamed from meta/recipes-support/nghttp2/nghttp2_1.65.0.bb)2
-rw-r--r--scripts/lib/devtool/__init__.py2
-rwxr-xr-xscripts/oe-test12
52 files changed, 165 insertions, 141 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 93707a250e..427078df0b 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -2171,9 +2171,6 @@ class CookerParser(object):
2171 self.parser_quit = multiprocessing.Event() 2171 self.parser_quit = multiprocessing.Event()
2172 self.result_queue = multiprocessing.Queue() 2172 self.result_queue = multiprocessing.Queue()
2173 2173
2174 for jobid in range(len(self.willparse)):
2175 self.toparse_queue.put(jobid)
2176
2177 # Have to pass in willparse at fork time so all parsing processes have the unpickleable data 2174 # Have to pass in willparse at fork time so all parsing processes have the unpickleable data
2178 # then access it by index from the parse queue. 2175 # then access it by index from the parse queue.
2179 for i in range(0, self.num_processes): 2176 for i in range(0, self.num_processes):
@@ -2182,6 +2179,8 @@ class CookerParser(object):
2182 self.process_names.append(parser.name) 2179 self.process_names.append(parser.name)
2183 self.processes.append(parser) 2180 self.processes.append(parser)
2184 2181
2182 for jobid in range(len(self.willparse)):
2183 self.toparse_queue.put(jobid)
2185 self.toparse_queue.close() 2184 self.toparse_queue.close()
2186 2185
2187 self.results = itertools.chain(self.results, self.parse_generator()) 2186 self.results = itertools.chain(self.results, self.parse_generator())
@@ -2292,7 +2291,7 @@ class CookerParser(object):
2292 yield result 2291 yield result
2293 2292
2294 if not (self.parsed >= self.toparse): 2293 if not (self.parsed >= self.toparse):
2295 raise bb.parse.ParseError("Not all recipes parsed, parser thread killed/died? Exiting.", None) 2294 raise bb.parse.ParseError("Not all recipes parsed, parser thread killed/died? (%s %s of %s) Exiting." % (len(self.processes), self.parsed, self.toparse), None)
2296 2295
2297 2296
2298 def parse_next(self): 2297 def parse_next(self):
diff --git a/documentation/bsp-guide/bsp.rst b/documentation/bsp-guide/bsp.rst
index 09246b4ae4..7eaa4d8700 100644
--- a/documentation/bsp-guide/bsp.rst
+++ b/documentation/bsp-guide/bsp.rst
@@ -172,7 +172,7 @@ section.
172#. *Optionally Clone the meta-intel BSP Layer:* If your hardware is 172#. *Optionally Clone the meta-intel BSP Layer:* If your hardware is
173 based on current Intel CPUs and devices, you can leverage this BSP 173 based on current Intel CPUs and devices, you can leverage this BSP
174 layer. For details on the ``meta-intel`` BSP layer, see the layer's 174 layer. For details on the ``meta-intel`` BSP layer, see the layer's
175 :yocto_git:`README </meta-intel/tree/README>` file. 175 :yocto_git:`README </meta-intel/tree/README.md>` file.
176 176
177 #. *Navigate to Your Source Directory:* Typically, you set up the 177 #. *Navigate to Your Source Directory:* Typically, you set up the
178 ``meta-intel`` Git repository inside the :term:`Source Directory` (e.g. 178 ``meta-intel`` Git repository inside the :term:`Source Directory` (e.g.
@@ -204,7 +204,7 @@ section.
204 .. note:: 204 .. note::
205 205
206 To see the available branch names in a cloned repository, use the ``git 206 To see the available branch names in a cloned repository, use the ``git
207 branch -al`` command. See the 207 branch -a`` command. See the
208 ":ref:`dev-manual/start:checking out by branch in poky`" 208 ":ref:`dev-manual/start:checking out by branch in poky`"
209 section in the Yocto Project Development Tasks Manual for more 209 section in the Yocto Project Development Tasks Manual for more
210 information. 210 information.
diff --git a/documentation/conf.py b/documentation/conf.py
index 1eca8756ab..c07b6c4199 100644
--- a/documentation/conf.py
+++ b/documentation/conf.py
@@ -179,13 +179,13 @@ from sphinx.search import SearchEnglish
179from sphinx.search import languages 179from sphinx.search import languages
180class DashFriendlySearchEnglish(SearchEnglish): 180class DashFriendlySearchEnglish(SearchEnglish):
181 181
182 # Accept words that can include hyphens 182 # Accept words that can include 'inner' hyphens or dots
183 _word_re = re.compile(r'[\w\-]+') 183 _word_re = re.compile(r'[\w]+(?:[\.\-][\w]+)*')
184 184
185 js_splitter_code = r""" 185 js_splitter_code = r"""
186function splitQuery(query) { 186function splitQuery(query) {
187 return query 187 return query
188 .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}-]+/gu) 188 .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}\-\.]+/gu)
189 .filter(term => term.length > 0); 189 .filter(term => term.length > 0);
190} 190}
191""" 191"""
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index f2f6e6e411..4705ca3f4d 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1591,6 +1591,10 @@ The tests you can list with the :term:`WARN_QA` and
1591 For example, assignments such as ``FILES:${PN} = "xyz"`` effectively 1591 For example, assignments such as ``FILES:${PN} = "xyz"`` effectively
1592 turn into ``FILES = "xyz"``. 1592 turn into ``FILES = "xyz"``.
1593 1593
1594- ``recipe-naming:`` Checks that the recipe name and recipe class match, so
1595 that ``*-native`` recipes inherit :ref:`ref-classes-native` and
1596 ``nativesdk-*`` recipes inherit :ref:`ref-classes-nativesdk`.
1597
1594- ``rpaths:`` Checks for rpaths in the binaries that contain build 1598- ``rpaths:`` Checks for rpaths in the binaries that contain build
1595 system paths such as :term:`TMPDIR`. If this test fails, bad ``-rpath`` 1599 system paths such as :term:`TMPDIR`. If this test fails, bad ``-rpath``
1596 options are being passed to the linker commands and your binaries 1600 options are being passed to the linker commands and your binaries
diff --git a/documentation/ref-manual/yocto-project-supported-features.rst b/documentation/ref-manual/yocto-project-supported-features.rst
index 283c79d4cc..0e6c33cf6e 100644
--- a/documentation/ref-manual/yocto-project-supported-features.rst
+++ b/documentation/ref-manual/yocto-project-supported-features.rst
@@ -86,7 +86,7 @@ Below is a list of primary tested features, their maintainer(s) and builder(s):
86 - meta-aws 86 - meta-aws
87 * - `meta-intel <https://git.yoctoproject.org/meta-intel>`__ 87 * - `meta-intel <https://git.yoctoproject.org/meta-intel>`__
88 - meta-intel layer testing 88 - meta-intel layer testing
89 - TBD 89 - meta-intel mailing list <meta-intel@lists.yoctoproject.org>
90 - meta-intel 90 - meta-intel
91 * - `meta-exein <https://github.com/exein-io/meta-exein>`__ 91 * - `meta-exein <https://github.com/exein-io/meta-exein>`__
92 - meta-exein layer testing 92 - meta-exein layer testing
diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass
index ac145d9fd6..6be1f5c2df 100644
--- a/meta/classes-global/base.bbclass
+++ b/meta/classes-global/base.bbclass
@@ -30,8 +30,9 @@ PREFERRED_TOOLCHAIN:class-crosssdk = "${PREFERRED_TOOLCHAIN_SDK}"
30PREFERRED_TOOLCHAIN:class-nativesdk = "${PREFERRED_TOOLCHAIN_SDK}" 30PREFERRED_TOOLCHAIN:class-nativesdk = "${PREFERRED_TOOLCHAIN_SDK}"
31 31
32TOOLCHAIN ??= "${PREFERRED_TOOLCHAIN}" 32TOOLCHAIN ??= "${PREFERRED_TOOLCHAIN}"
33TOOLCHAIN_NATIVE ??= "${PREFERRED_TOOLCHAIN_NATIVE}"
33 34
34inherit toolchain/gcc-native 35inherit_defer toolchain/${TOOLCHAIN_NATIVE}-native
35inherit_defer toolchain/${TOOLCHAIN} 36inherit_defer toolchain/${TOOLCHAIN}
36 37
37def lsb_distro_identifier(d): 38def lsb_distro_identifier(d):
diff --git a/meta/classes-recipe/features_check.bbclass b/meta/classes-recipe/features_check.bbclass
index 4e122ecaef..1e0eaa4eed 100644
--- a/meta/classes-recipe/features_check.bbclass
+++ b/meta/classes-recipe/features_check.bbclass
@@ -21,7 +21,7 @@ python () {
21 21
22 unused = True 22 unused = True
23 23
24 for kind in ['DISTRO', 'MACHINE', 'COMBINED', 'IMAGE']: 24 for kind in ['DISTRO', 'MACHINE', 'COMBINED', 'IMAGE', 'TUNE']:
25 if d.getVar('ANY_OF_' + kind + '_FEATURES') is None and not d.hasOverrides('ANY_OF_' + kind + '_FEATURES') and \ 25 if d.getVar('ANY_OF_' + kind + '_FEATURES') is None and not d.hasOverrides('ANY_OF_' + kind + '_FEATURES') and \
26 d.getVar('REQUIRED_' + kind + '_FEATURES') is None and not d.hasOverrides('REQUIRED_' + kind + '_FEATURES') and \ 26 d.getVar('REQUIRED_' + kind + '_FEATURES') is None and not d.hasOverrides('REQUIRED_' + kind + '_FEATURES') and \
27 d.getVar('CONFLICT_' + kind + '_FEATURES') is None and not d.hasOverrides('CONFLICT_' + kind + '_FEATURES'): 27 d.getVar('CONFLICT_' + kind + '_FEATURES') is None and not d.hasOverrides('CONFLICT_' + kind + '_FEATURES'):
diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index 2d9943c8a0..eb03424dfc 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -4,10 +4,14 @@
4# SPDX-License-Identifier: MIT 4# SPDX-License-Identifier: MIT
5# 5#
6 6
7inherit linux-kernel-base kernel-module-split 7inherit linux-kernel-base kernel-module-split features_check
8 8
9COMPATIBLE_HOST = ".*-linux" 9COMPATIBLE_HOST = ".*-linux"
10 10
11# Linux has a minimum ISA requires on riscv, see arch/riscv/Makefile
12REQUIRED_TUNE_FEATURES:riscv32 = "rv 32 i m a zicsr zifencei"
13REQUIRED_TUNE_FEATURES:riscv64 = "rv 64 i m a zicsr zifencei"
14
11KERNEL_PACKAGE_NAME ??= "kernel" 15KERNEL_PACKAGE_NAME ??= "kernel"
12KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }" 16KERNEL_DEPLOYSUBDIR ??= "${@ "" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel") else d.getVar("KERNEL_PACKAGE_NAME") }"
13 17
diff --git a/meta/classes-recipe/testexport.bbclass b/meta/classes-recipe/testexport.bbclass
index cc4088c71a..3005fc0dfa 100644
--- a/meta/classes-recipe/testexport.bbclass
+++ b/meta/classes-recipe/testexport.bbclass
@@ -85,6 +85,7 @@ def copy_needed_files(d, tc):
85 85
86 export_path = d.getVar('TEST_EXPORT_DIR') 86 export_path = d.getVar('TEST_EXPORT_DIR')
87 corebase_path = d.getVar('COREBASE') 87 corebase_path = d.getVar('COREBASE')
88 bblayers = d.getVar('BBLAYERS').split()
88 89
89 # Clean everything before starting 90 # Clean everything before starting
90 oe.path.remove(export_path) 91 oe.path.remove(export_path)
@@ -92,17 +93,11 @@ def copy_needed_files(d, tc):
92 93
93 # The source of files to copy are relative to 'COREBASE' directory 94 # The source of files to copy are relative to 'COREBASE' directory
94 # The destination is relative to 'TEST_EXPORT_DIR' 95 # The destination is relative to 'TEST_EXPORT_DIR'
95 # Because we are squashing the libraries, we need to remove 96 # core files/dirs first
96 # the layer/script directory 97 core_files_to_copy = [ os.path.join('scripts', 'oe-test'),
97 files_to_copy = [ os.path.join('meta', 'lib', 'oeqa', 'core'),
98 os.path.join('meta', 'lib', 'oeqa', 'runtime'),
99 os.path.join('meta', 'lib', 'oeqa', 'files'),
100 os.path.join('meta', 'lib', 'oeqa', 'utils'),
101 os.path.join('scripts', 'oe-test'),
102 os.path.join('scripts', 'lib', 'argparse_oe.py'), 98 os.path.join('scripts', 'lib', 'argparse_oe.py'),
103 os.path.join('scripts', 'lib', 'scriptutils.py'), ] 99 os.path.join('scripts', 'lib', 'scriptutils.py'), ]
104 100 for f in core_files_to_copy:
105 for f in files_to_copy:
106 src = os.path.join(corebase_path, f) 101 src = os.path.join(corebase_path, f)
107 dst = os.path.join(export_path, f.split('/', 1)[-1]) 102 dst = os.path.join(export_path, f.split('/', 1)[-1])
108 if os.path.isdir(src): 103 if os.path.isdir(src):
@@ -110,18 +105,21 @@ def copy_needed_files(d, tc):
110 else: 105 else:
111 shutil.copy2(src, dst) 106 shutil.copy2(src, dst)
112 107
113 # Remove cases and just copy the ones specified 108 # layer specific files/dirs
114 cases_path = os.path.join(export_path, 'lib', 'oeqa', 'runtime', 'cases') 109 layer_files_to_copy = [ os.path.join('lib', 'oeqa', 'core'),
115 oe.path.remove(cases_path) 110 os.path.join('lib', 'oeqa', 'runtime'),
116 bb.utils.mkdirhier(cases_path) 111 os.path.join('lib', 'oeqa', 'files'),
117 test_paths = get_runtime_paths(d) 112 os.path.join('lib', 'oeqa', 'utils'),]
118 test_modules = d.getVar('TEST_SUITES').split() 113 for layer in bblayers:
119 tc.loadTests(test_paths, modules=test_modules) 114 meta = os.path.basename(layer)
120 for f in getSuiteCasesFiles(tc.suites): 115 for f in layer_files_to_copy:
121 shutil.copy2(f, cases_path) 116 src = os.path.join(layer, f)
122 json_file = _get_json_file(f) 117 dst = os.path.join(export_path, meta, f)
123 if json_file: 118 if os.path.exists(src):
124 shutil.copy2(json_file, cases_path) 119 if os.path.isdir(src):
120 oe.path.copytree(src, dst)
121 else:
122 shutil.copy2(src, dst)
125 123
126 # Copy test data 124 # Copy test data
127 image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'), 125 image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'),
@@ -138,17 +136,24 @@ def copy_needed_files(d, tc):
138 if dir == '__pycache__': 136 if dir == '__pycache__':
139 shutil.rmtree(os.path.join(subdir, dir)) 137 shutil.rmtree(os.path.join(subdir, dir))
140 138
139 image_basename = d.getVar('IMAGE_BASENAME')
140 image_machine_suffix = d.getVar('IMAGE_MACHINE_SUFFIX')
141
141 # Create tar file for common parts of testexport 142 # Create tar file for common parts of testexport
142 testexport_create_tarball(d, "testexport.tar.gz", d.getVar("TEST_EXPORT_DIR")) 143 testexport_create_tarball(d, "testexport-%s%s.tar.gz" %
144 (image_basename, image_machine_suffix), d.getVar("TEST_EXPORT_DIR"))
143 145
144 # Copy packages needed for runtime testing 146 # Copy packages needed for runtime testing
147 test_paths = get_runtime_paths(d)
148 test_modules = d.getVar('TEST_SUITES').split()
149 tc.loadTests(test_paths, modules=test_modules)
145 package_extraction(d, tc.suites) 150 package_extraction(d, tc.suites)
146 test_pkg_dir = d.getVar("TEST_NEEDED_PACKAGES_DIR") 151 test_pkg_dir = d.getVar("TEST_NEEDED_PACKAGES_DIR")
147 if os.path.isdir(test_pkg_dir) and os.listdir(test_pkg_dir): 152 if os.path.isdir(test_pkg_dir) and os.listdir(test_pkg_dir):
148 export_pkg_dir = os.path.join(d.getVar("TEST_EXPORT_DIR"), "packages") 153 export_pkg_dir = os.path.join(d.getVar("TEST_EXPORT_DIR"), "packages")
149 oe.path.copytree(test_pkg_dir, export_pkg_dir) 154 oe.path.copytree(test_pkg_dir, export_pkg_dir)
150 # Create tar file for packages needed by the DUT 155 # Create tar file for packages needed by the DUT
151 testexport_create_tarball(d, "testexport_packages_%s.tar.gz" % d.getVar("MACHINE"), export_pkg_dir) 156 testexport_create_tarball(d, "testexport_packages%s.tar.gz" % image_machine_suffix, export_pkg_dir)
152 157
153 # Copy SDK 158 # Copy SDK
154 if d.getVar("TEST_EXPORT_SDK_ENABLED") == "1": 159 if d.getVar("TEST_EXPORT_SDK_ENABLED") == "1":
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 70e27a8d35..527c99ab69 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -28,6 +28,20 @@
28SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch" 28SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch"
29EXTERNALSRC_SYMLINKS ?= "oe-workdir:${WORKDIR} oe-logs:${T}" 29EXTERNALSRC_SYMLINKS ?= "oe-workdir:${WORKDIR} oe-logs:${T}"
30 30
31def find_git_dir(d, s_dir):
32 import subprocess
33 git_dir = None
34 try:
35 git_dir = os.path.join(s_dir,
36 subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
37 top_git_dir = os.path.join(d.getVar("TOPDIR"),
38 subprocess.check_output(['git', '-C', d.getVar("TOPDIR"), 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
39 if git_dir == top_git_dir:
40 git_dir = None
41 except subprocess.CalledProcessError:
42 pass
43 return git_dir
44
31python () { 45python () {
32 externalsrc = d.getVar('EXTERNALSRC') 46 externalsrc = d.getVar('EXTERNALSRC')
33 externalsrcbuild = d.getVar('EXTERNALSRC_BUILD') 47 externalsrcbuild = d.getVar('EXTERNALSRC_BUILD')
@@ -169,14 +183,16 @@ python externalsrc_configure_prefunc() {
169 newlinks.append(symsplit[0]) 183 newlinks.append(symsplit[0])
170 # Hide the symlinks from git 184 # Hide the symlinks from git
171 try: 185 try:
172 git_exclude_file = os.path.join(s_dir, '.git/info/exclude') 186 git_dir = find_git_dir(d, s_dir)
173 if os.path.exists(git_exclude_file): 187 if git_dir:
174 with open(git_exclude_file, 'r+') as efile: 188 git_exclude_file = os.path.join(git_dir, 'info/exclude')
175 elines = efile.readlines() 189 if os.path.exists(git_exclude_file):
176 for link in newlinks: 190 with open(git_exclude_file, 'r+') as efile:
177 if link in elines or '/'+link in elines: 191 elines = efile.readlines()
178 continue 192 for link in newlinks:
179 efile.write('/' + link + '\n') 193 if link in elines or '/'+link in elines:
194 continue
195 efile.write('/' + link + '\n')
180 except IOError as ioe: 196 except IOError as ioe:
181 bb.note('Failed to hide EXTERNALSRC_SYMLINKS from git') 197 bb.note('Failed to hide EXTERNALSRC_SYMLINKS from git')
182} 198}
@@ -207,17 +223,7 @@ def srctree_hash_files(d, srcdir=None):
207 import hashlib 223 import hashlib
208 224
209 s_dir = srcdir or d.getVar('EXTERNALSRC') 225 s_dir = srcdir or d.getVar('EXTERNALSRC')
210 git_dir = None 226 git_dir = find_git_dir(d, s_dir)
211
212 try:
213 git_dir = os.path.join(s_dir,
214 subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
215 top_git_dir = os.path.join(d.getVar("TOPDIR"),
216 subprocess.check_output(['git', '-C', d.getVar("TOPDIR"), 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
217 if git_dir == top_git_dir:
218 git_dir = None
219 except subprocess.CalledProcessError:
220 pass
221 227
222 ret = " " 228 ret = " "
223 if git_dir is not None: 229 if git_dir is not None:
diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
index 9313271f58..46de9135c1 100644
--- a/meta/lib/oeqa/core/context.py
+++ b/meta/lib/oeqa/core/context.py
@@ -179,9 +179,16 @@ class OETestContextExecutor(object):
179 else: 179 else:
180 self.tc_kwargs['init']['td'] = {} 180 self.tc_kwargs['init']['td'] = {}
181 181
182 # Run image specific TEST_SUITE like testimage.bbclass by default
183 test_suites = self.tc_kwargs['init']['td'].get("TEST_SUITES")
184 if test_suites:
185 test_suites = test_suites.split()
186
182 if args.run_tests: 187 if args.run_tests:
183 self.tc_kwargs['load']['modules'] = args.run_tests 188 self.tc_kwargs['load']['modules'] = args.run_tests
184 self.tc_kwargs['load']['modules_required'] = args.run_tests 189 self.tc_kwargs['load']['modules_required'] = args.run_tests
190 elif test_suites:
191 self.tc_kwargs['load']['modules'] = test_suites
185 else: 192 else:
186 self.tc_kwargs['load']['modules'] = [] 193 self.tc_kwargs['load']['modules'] = []
187 194
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb b/meta/recipes-bsp/pciutils/pciutils_3.14.0.bb
index 6478722838..a267ea34b7 100644
--- a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb
+++ b/meta/recipes-bsp/pciutils/pciutils_3.14.0.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
12DEPENDS = "make-native" 12DEPENDS = "make-native"
13 13
14SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz" 14SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz"
15SRC_URI[sha256sum] = "77f11f78298502634d1af50308f15a5788629f6cf45cba376f5009aea4cb4926" 15SRC_URI[sha256sum] = "e7713409882813991d2269d125e40dad1f54a019a52b78b3962941c1d4a6f86f"
16 16
17inherit multilib_header pkgconfig update-alternatives 17inherit multilib_header pkgconfig update-alternatives
18 18
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg
new file mode 100644
index 0000000000..fc45b64480
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_A=y
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg
new file mode 100644
index 0000000000..1cb459f636
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_C=y
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg
new file mode 100644
index 0000000000..ce90da23ce
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg
@@ -0,0 +1,6 @@
1# CONFIG_RISCV_ISA_C is not set
2# CONFIG_RISCV_ISA_F is not set
3# CONFIG_RISCV_ISA_D is not set
4# CONFIG_RISCV_ISA_ZBB is not set
5# CONFIG_RISCV_ISA_A is not set
6# CONFIG_RISCV_ISA_ZICBOM is not set
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg
new file mode 100644
index 0000000000..fd25fa4e89
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_D=y
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg
new file mode 100644
index 0000000000..dfa9876f82
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_F=y
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg
new file mode 100644
index 0000000000..2b71b016f8
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_ZBB=y
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg
new file mode 100644
index 0000000000..96daf04b20
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg
@@ -0,0 +1 @@
CONFIG_RISCV_ISA_ZICBOM=y
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc
index 617f5a60bb..8600d4bab6 100644
--- a/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -16,6 +16,18 @@ SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a"
16 16
17SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" 17SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}"
18 18
19SRC_URI_RISCV = "\
20 file://u-boot-riscv-isa_clear.cfg \
21 ${@bb.utils.contains ("TUNE_FEATURES", "a", "file://u-boot-riscv-isa_a.cfg", "", d)} \
22 ${@bb.utils.contains ("TUNE_FEATURES", "f", "file://u-boot-riscv-isa_f.cfg", "", d)} \
23 ${@bb.utils.contains ("TUNE_FEATURES", "d", "file://u-boot-riscv-isa_d.cfg", "", d)} \
24 ${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "file://u-boot-riscv-isa_zbb.cfg", "", d)} \
25 ${@bb.utils.contains ("TUNE_FEATURES", "zicbom", "file://u-boot-riscv-isa_zicbom.cfg", "", d)} \
26 "
27
28SRC_URI:append:riscv32 = "${SRC_URI_RISCV}"
29SRC_URI:append:riscv64 = "${SRC_URI_RISCV}"
30
19B = "${WORKDIR}/build" 31B = "${WORKDIR}/build"
20 32
21inherit pkgconfig 33inherit pkgconfig
diff --git a/meta/recipes-connectivity/openssh/openssh_10.0p1.bb b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
index a044aec063..2f446b5540 100644
--- a/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
+++ b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
@@ -102,7 +102,7 @@ CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no"
102 102
103do_configure:prepend () { 103do_configure:prepend () {
104 export LD="${CC}" 104 export LD="${CC}"
105 install -m 0644 ${UNPACKDIR}/sshd_config ${B}/ 105 install -m 0600 ${UNPACKDIR}/sshd_config ${B}/
106 install -m 0644 ${UNPACKDIR}/ssh_config ${B}/ 106 install -m 0644 ${UNPACKDIR}/ssh_config ${B}/
107} 107}
108 108
@@ -153,9 +153,12 @@ do_install:append () {
153 install -m 644 ${UNPACKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd 153 install -m 644 ${UNPACKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
154 install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} 154 install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
155 155
156 # Limit sshd_config access to the owner (default is 0644)
157 chmod 0600 ${D}${sysconfdir}/ssh/sshd_config
158
156 # Create config files for read-only rootfs 159 # Create config files for read-only rootfs
157 install -d ${D}${sysconfdir}/ssh 160 install -d ${D}${sysconfdir}/ssh
158 install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly 161 install -m 0600 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
159 162
160 install -d ${D}${systemd_system_unitdir} 163 install -d ${D}${systemd_system_unitdir}
161 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then 164 if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
index 0d41432878..db164d9846 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/overlayroot
@@ -38,10 +38,10 @@
38PATH=/sbin:/bin:/usr/sbin:/usr/bin 38PATH=/sbin:/bin:/usr/sbin:/usr/bin
39 39
40# We get OLDROOT from the rootfs module 40# We get OLDROOT from the rootfs module
41OLDROOT="/rootfs" 41OLDROOT="${ROOTFS_DIR}"
42 42
43NEWROOT="${RWMOUNT}/root"
44RWMOUNT="/overlay" 43RWMOUNT="/overlay"
44NEWROOT="${RWMOUNT}/root"
45ROMOUNT="${RWMOUNT}/rofs" 45ROMOUNT="${RWMOUNT}/rofs"
46UPPER_DIR="${RWMOUNT}/upper" 46UPPER_DIR="${RWMOUNT}/upper"
47WORK_DIR="${RWMOUNT}/work" 47WORK_DIR="${RWMOUNT}/work"
@@ -115,4 +115,9 @@ mount -n --move /proc ${NEWROOT}/proc
115mount -n --move /sys ${NEWROOT}/sys 115mount -n --move /sys ${NEWROOT}/sys
116mount -n --move /dev ${NEWROOT}/dev 116mount -n --move /dev ${NEWROOT}/dev
117 117
118# Mount/move boot if is already mounted
119if mountpoint -q ${OLDROOT}/boot; then
120 mount -n --move ${OLDROOT}/boot ${NEWROOT}/boot
121fi
122
118exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay" 123exec chroot ${NEWROOT}/ ${bootparam_init:-/sbin/init} || exit_gracefully "Couldn't chroot into overlay"
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.15.bb
index 982d4830b5..88a6d11354 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.14.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.15.bb
@@ -18,7 +18,7 @@ DEPENDS = "util-linux zlib"
18SRC_URI = "git://github.com/kdave/btrfs-progs.git;branch=master;protocol=https;tag=v${PV} \ 18SRC_URI = "git://github.com/kdave/btrfs-progs.git;branch=master;protocol=https;tag=v${PV} \
19 file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ 19 file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
20 " 20 "
21SRCREV = "5ad147c9ec00e657393c85b195c9bcc0f4c35a54" 21SRCREV = "3da67f1c78bcbd7556f04d89e31aa4621face50b"
22 22
23PACKAGECONFIG ??= " \ 23PACKAGECONFIG ??= " \
24 programs \ 24 programs \
diff --git a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
index 47438014b2..087a766302 100644
--- a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
@@ -37,6 +37,7 @@ CFLAGS += "${COMPILER_RT}"
37CXXFLAGS += "${COMPILER_RT} ${LIBCPLUSPLUS}" 37CXXFLAGS += "${COMPILER_RT} ${LIBCPLUSPLUS}"
38 38
39TOOLCHAIN = "clang" 39TOOLCHAIN = "clang"
40TOOLCHAIN_NATIVE = "clang"
40 41
41DEPENDS += "ninja-native virtual/crypt compiler-rt" 42DEPENDS += "ninja-native virtual/crypt compiler-rt"
42DEPENDS:append:class-native = " clang-native libxcrypt-native libcxx-native" 43DEPENDS:append:class-native = " clang-native libxcrypt-native libcxx-native"
diff --git a/meta/recipes-devtools/clang/compiler-rt_git.bb b/meta/recipes-devtools/clang/compiler-rt_git.bb
index ff6cc29bf3..342a7b0e95 100644
--- a/meta/recipes-devtools/clang/compiler-rt_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt_git.bb
@@ -29,14 +29,15 @@ DEPENDS += "ninja-native libgcc"
29DEPENDS:append:class-target = " virtual/cross-c++ clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc gcc-runtime" 29DEPENDS:append:class-target = " virtual/cross-c++ clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc gcc-runtime"
30DEPENDS:append:class-nativesdk = " virtual/cross-c++ clang-native clang-crosssdk-${SDK_SYS} nativesdk-gcc-runtime" 30DEPENDS:append:class-nativesdk = " virtual/cross-c++ clang-native clang-crosssdk-${SDK_SYS} nativesdk-gcc-runtime"
31DEPENDS:append:class-native = " clang-native" 31DEPENDS:append:class-native = " clang-native"
32DEPENDS:remove:class-native = "libcxx-native compiler-rt-native"
32 33
33# Trick clang.bbclass into not creating circular dependencies 34# Trick clang.bbclass into not creating circular dependencies
34UNWINDLIB:class-nativesdk = "--unwindlib=libgcc" 35UNWINDLIB:class-nativesdk = "--unwindlib=libgcc"
35COMPILER_RT:class-nativesdk = "-rtlib=libgcc" 36COMPILER_RT:class-nativesdk = "-rtlib=libgcc"
36LIBCPLUSPLUS:class-nativesdk = "-stdlib=libstdc++" 37LIBCPLUSPLUS:class-nativesdk = "-stdlib=libstdc++"
37UNWINDLIB:class-native = "--unwindlib=libgcc" 38UNWINDLIB:class-native = ""
38COMPILER_RT:class-native = "-rtlib=libgcc" 39COMPILER_RT:class-native = ""
39LIBCPLUSPLUS:class-native = "-stdlib=libstdc++" 40LIBCPLUSPLUS:class-native = ""
40UNWINDLIB:class-target = "--unwindlib=libgcc" 41UNWINDLIB:class-target = "--unwindlib=libgcc"
41COMPILER_RT:class-target = "-rtlib=libgcc" 42COMPILER_RT:class-target = "-rtlib=libgcc"
42LIBCPLUSPLUS:class-target = "-stdlib=libstdc++" 43LIBCPLUSPLUS:class-target = "-stdlib=libstdc++"
@@ -52,8 +53,6 @@ HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '',
52 53
53CC = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" 54CC = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
54CXX = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" 55CXX = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
55BUILD_CC = "${CCACHE}clang ${BUILD_CC_ARCH}"
56BUILD_CXX = "${CCACHE}clang++ ${BUILD_CC_ARCH}"
57LDFLAGS += "${COMPILER_RT} ${UNWINDLIB}" 56LDFLAGS += "${COMPILER_RT} ${UNWINDLIB}"
58CXXFLAGS += "${LIBCPLUSPLUS}" 57CXXFLAGS += "${LIBCPLUSPLUS}"
59 58
diff --git a/meta/recipes-devtools/clang/libcxx_git.bb b/meta/recipes-devtools/clang/libcxx_git.bb
index f5bf17f30a..d355fc3a0f 100644
--- a/meta/recipes-devtools/clang/libcxx_git.bb
+++ b/meta/recipes-devtools/clang/libcxx_git.bb
@@ -25,6 +25,7 @@ DEPENDS += "ninja-native"
25DEPENDS:append:class-target = " virtual/cross-c++ clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${MLPREFIX}compilerlibs" 25DEPENDS:append:class-target = " virtual/cross-c++ clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${MLPREFIX}compilerlibs"
26DEPENDS:append:class-nativesdk = " virtual/cross-c++ clang-crosssdk-${SDK_SYS} nativesdk-compiler-rt" 26DEPENDS:append:class-nativesdk = " virtual/cross-c++ clang-crosssdk-${SDK_SYS} nativesdk-compiler-rt"
27DEPENDS:append:class-native = " clang-native compiler-rt-native" 27DEPENDS:append:class-native = " clang-native compiler-rt-native"
28DEPENDS:remove:class-native = "libcxx-native"
28 29
29COMPILER_RT ?= "${@bb.utils.contains("PACKAGECONFIG", "compiler-rt", "-rtlib=compiler-rt", "-rtlib=libgcc", d)}" 30COMPILER_RT ?= "${@bb.utils.contains("PACKAGECONFIG", "compiler-rt", "-rtlib=compiler-rt", "-rtlib=libgcc", d)}"
30UNWINDLIB ?= "${@bb.utils.contains("PACKAGECONFIG", "unwind", "-unwindlib=none", "-unwindlib=libgcc", d)}" 31UNWINDLIB ?= "${@bb.utils.contains("PACKAGECONFIG", "unwind", "-unwindlib=none", "-unwindlib=libgcc", d)}"
@@ -55,6 +56,7 @@ LDFLAGS += "${COMPILER_RT} ${UNWINDLIB} ${LIBCPLUSPLUS}"
55CXXFLAGS += "${LIBCPLUSPLUS}" 56CXXFLAGS += "${LIBCPLUSPLUS}"
56 57
57TOOLCHAIN = "clang" 58TOOLCHAIN = "clang"
59TOOLCHAIN_NATIVE = "clang"
58 60
59OECMAKE_SOURCEPATH = "${S}/llvm" 61OECMAKE_SOURCEPATH = "${S}/llvm"
60EXTRA_OECMAKE += "\ 62EXTRA_OECMAKE += "\
diff --git a/meta/recipes-devtools/gcc/gcc-15.1.inc b/meta/recipes-devtools/gcc/gcc-15.1.inc
index af29db8e5b..28fcf9376c 100644
--- a/meta/recipes-devtools/gcc/gcc-15.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-15.1.inc
@@ -53,7 +53,6 @@ SRC_URI = "${BASEURI} \
53 file://0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ 53 file://0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
54 file://0006-cpp-honor-sysroot.patch \ 54 file://0006-cpp-honor-sysroot.patch \
55 file://0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \ 55 file://0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
56 file://0008-libtool.patch \
57 file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \ 56 file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
58 file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \ 57 file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
59 file://0011-aarch64-Fix-include-paths-when-S-B.patch \ 58 file://0011-aarch64-Fix-include-paths-when-S-B.patch \
diff --git a/meta/recipes-devtools/pkgconf/pkgconf_2.4.3.bb b/meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb
index 9695e37bbd..12ca075b5d 100644
--- a/meta/recipes-devtools/pkgconf/pkgconf_2.4.3.bb
+++ b/meta/recipes-devtools/pkgconf/pkgconf_2.5.1.bb
@@ -20,7 +20,7 @@ SRC_URI = "\
20 file://pkg-config-native.in \ 20 file://pkg-config-native.in \
21 file://pkg-config-esdk.in \ 21 file://pkg-config-esdk.in \
22" 22"
23SRC_URI[sha256sum] = "51203d99ed573fa7344bf07ca626f10c7cc094e0846ac4aa0023bd0c83c25a41" 23SRC_URI[sha256sum] = "cd05c9589b9f86ecf044c10a2269822bc9eb001eced2582cfffd658b0a50c243"
24 24
25inherit autotools 25inherit autotools
26 26
diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.135.9.bb b/meta/recipes-devtools/python/python3-hypothesis_6.135.16.bb
index efc5229fbc..c0241b63e4 100644
--- a/meta/recipes-devtools/python/python3-hypothesis_6.135.9.bb
+++ b/meta/recipes-devtools/python/python3-hypothesis_6.135.16.bb
@@ -13,7 +13,7 @@ SRC_URI += " \
13 file://test_rle.py \ 13 file://test_rle.py \
14 " 14 "
15 15
16SRC_URI[sha256sum] = "a80a256268b8af3d34d62be30f6bf4a7d099b2b762621cc5f3f1de65e7b98543" 16SRC_URI[sha256sum] = "6131ea0b698e69bad62aae915988b8d00a6ac974351d0830db74c5fffc68c418"
17 17
18RDEPENDS:${PN} += " \ 18RDEPENDS:${PN} += " \
19 python3-attrs \ 19 python3-attrs \
diff --git a/meta/recipes-devtools/python/python3-license-expression_30.4.1.bb b/meta/recipes-devtools/python/python3-license-expression_30.4.3.bb
index ec613f6eaa..065284ed62 100644
--- a/meta/recipes-devtools/python/python3-license-expression_30.4.1.bb
+++ b/meta/recipes-devtools/python/python3-license-expression_30.4.3.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/nexB/license-expression"
4LICENSE = "Apache-2.0" 4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" 5LIC_FILES_CHKSUM = "file://apache-2.0.LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
6 6
7SRC_URI[sha256sum] = "9f02105f9e0fcecba6a85dfbbed7d94ea1c3a70cf23ddbfb5adf3438a6f6fce0" 7SRC_URI[sha256sum] = "49f439fea91c4d1a642f9f2902b58db1d42396c5e331045f41ce50df9b40b1f2"
8 8
9inherit pypi ptest-python-pytest python_setuptools_build_meta 9inherit pypi ptest-python-pytest python_setuptools_build_meta
10PYPI_PACKAGE = "license_expression" 10PYPI_PACKAGE = "license_expression"
diff --git a/meta/recipes-devtools/python/python3-lxml_5.4.0.bb b/meta/recipes-devtools/python/python3-lxml_6.0.0.bb
index 126fbe99b4..56f5664c9b 100644
--- a/meta/recipes-devtools/python/python3-lxml_5.4.0.bb
+++ b/meta/recipes-devtools/python/python3-lxml_6.0.0.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \
18 18
19DEPENDS += "libxml2 libxslt" 19DEPENDS += "libxml2 libxslt"
20 20
21SRC_URI[sha256sum] = "d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd" 21SRC_URI[sha256sum] = "032e65120339d44cdc3efc326c9f660f5f7205f3a535c1fdbf898b29ea01fb72"
22 22
23SRC_URI += "${PYPI_SRC_URI}" 23SRC_URI += "${PYPI_SRC_URI}"
24inherit pkgconfig pypi setuptools3 24inherit pkgconfig pypi setuptools3
diff --git a/meta/recipes-devtools/python/python3-markdown_3.8.bb b/meta/recipes-devtools/python/python3-markdown_3.8.2.bb
index 09c2f3435b..d7ab34b915 100644
--- a/meta/recipes-devtools/python/python3-markdown_3.8.bb
+++ b/meta/recipes-devtools/python/python3-markdown_3.8.2.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ec58cdf7cfed06a21f7a9362627a5480"
5 5
6inherit pypi python_setuptools_build_meta 6inherit pypi python_setuptools_build_meta
7 7
8SRC_URI[sha256sum] = "7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f" 8SRC_URI[sha256sum] = "247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45"
9 9
10BBCLASSEXTEND = "native nativesdk" 10BBCLASSEXTEND = "native nativesdk"
11 11
diff --git a/meta/recipes-devtools/python/python3-numpy_2.3.0.bb b/meta/recipes-devtools/python/python3-numpy_2.3.1.bb
index 34a14f7ca6..bc718d37c4 100644
--- a/meta/recipes-devtools/python/python3-numpy_2.3.0.bb
+++ b/meta/recipes-devtools/python/python3-numpy_2.3.1.bb
@@ -12,7 +12,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
12 file://fix_reproducibility.patch \ 12 file://fix_reproducibility.patch \
13 file://run-ptest \ 13 file://run-ptest \
14 " 14 "
15SRC_URI[sha256sum] = "581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6" 15SRC_URI[sha256sum] = "1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b"
16 16
17GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases" 17GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
18UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" 18UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
diff --git a/meta/recipes-devtools/python/python3-pdm_2.25.1.bb b/meta/recipes-devtools/python/python3-pdm_2.25.3.bb
index d9331ba72c..f3ec4e60d3 100644
--- a/meta/recipes-devtools/python/python3-pdm_2.25.1.bb
+++ b/meta/recipes-devtools/python/python3-pdm_2.25.3.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
4SECTION = "devel/python" 4SECTION = "devel/python"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=2eb31a2cc1a758c34b499f287dd04ef2"
6 6
7SRC_URI[sha256sum] = "3145251f37a3f94fa211ade992e7db7792da4c3e8e3eeeb1993d952adebe0b96" 7SRC_URI[sha256sum] = "6d0820f805dacf64d55a7fe56777e7d8349a2ee35efc3006f29b4573d1311c84"
8 8
9inherit pypi python_setuptools_build_meta 9inherit pypi python_setuptools_build_meta
10 10
diff --git a/meta/recipes-devtools/python/python3-pygments_2.19.1.bb b/meta/recipes-devtools/python/python3-pygments_2.19.2.bb
index de24ed3f11..a1f73b441d 100644
--- a/meta/recipes-devtools/python/python3-pygments_2.19.1.bb
+++ b/meta/recipes-devtools/python/python3-pygments_2.19.2.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592"
6 6
7inherit python_hatchling 7inherit python_hatchling
8SRC_URI[sha256sum] = "61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f" 8SRC_URI[sha256sum] = "636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"
9 9
10inherit pypi 10inherit pypi
11 11
diff --git a/meta/recipes-devtools/repo/repo_2.55.2.bb b/meta/recipes-devtools/repo/repo_2.56.bb
index 882f3e6312..efdb9bd0c9 100644
--- a/meta/recipes-devtools/repo/repo_2.55.2.bb
+++ b/meta/recipes-devtools/repo/repo_2.56.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
11 11
12SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main;tag=v${PV} \ 12SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main;tag=v${PV} \
13 " 13 "
14SRCREV = "b262d0e4619c406a2708856ed312091d21c5bf39" 14SRCREV = "99b5a17f2c951fe5979100c36e7e1dbb4c61b36c"
15 15
16MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" 16MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
17 17
diff --git a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb
index 17d5a747ff..46f9ee8548 100644
--- a/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb
+++ b/meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb
@@ -26,7 +26,7 @@ CARGO_INSTALL_LIBRARIES = "1"
26do_compile:prepend () { 26do_compile:prepend () {
27 # rpm-sequoia.pc is generated in the source directory 27 # rpm-sequoia.pc is generated in the source directory
28 # but the target directory does not exist there. 28 # but the target directory does not exist there.
29 mkdir -p ${S}/target/release 29 mkdir -p ${S}/target/${BUILD_DIR}
30 30
31 # From rpm-sequoia's README.md: 31 # From rpm-sequoia's README.md:
32 # 32 #
@@ -58,7 +58,7 @@ do_install:append () {
58 58
59 # rpm-sequoia does not install its pkgconfig file. Do it manually. 59 # rpm-sequoia does not install its pkgconfig file. Do it manually.
60 mkdir -p ${D}${libdir}/pkgconfig 60 mkdir -p ${D}${libdir}/pkgconfig
61 install -m644 ${S}/target/release/rpm-sequoia.pc ${D}${libdir}/pkgconfig 61 install -m644 ${S}/target/${BUILD_DIR}/rpm-sequoia.pc ${D}${libdir}/pkgconfig
62} 62}
63 63
64do_install_ptest:append () { 64do_install_ptest:append () {
diff --git a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
index 4affc332a9..79232a6b00 100644
--- a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
@@ -1,4 +1,4 @@
1From 755cf01b02e6ec8c8acb79558cbad28e301519b3 Mon Sep 17 00:00:00 2001 1From 27757ce1a8956591d22e7f9dc8cef37e37be8e9f Mon Sep 17 00:00:00 2001
2From: Tudor Florea <tudor.florea@enea.com> 2From: Tudor Florea <tudor.florea@enea.com>
3Date: Wed, 28 May 2014 18:59:54 +0200 3Date: Wed, 28 May 2014 18:59:54 +0200
4Subject: [PATCH] ethtool: use serial-tests config needed by ptest. 4Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
@@ -14,10 +14,10 @@ Upstream-Status: Inappropriate
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/configure.ac b/configure.ac 16diff --git a/configure.ac b/configure.ac
17index db71394..5e93135 100644 17index f5fdc8b..3eab387 100644
18--- a/configure.ac 18--- a/configure.ac
19+++ b/configure.ac 19+++ b/configure.ac
20@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.14, netdev@vger.kernel.org) 20@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.15, netdev@vger.kernel.org)
21 AC_PREREQ(2.52) 21 AC_PREREQ(2.52)
22 AC_CONFIG_MACRO_DIR([m4]) 22 AC_CONFIG_MACRO_DIR([m4])
23 AC_CONFIG_SRCDIR([ethtool.c]) 23 AC_CONFIG_SRCDIR([ethtool.c])
diff --git a/meta/recipes-extended/ethtool/ethtool_6.14.bb b/meta/recipes-extended/ethtool/ethtool_6.15.bb
index 41164ac6ca..eb6b272d4a 100644
--- a/meta/recipes-extended/ethtool/ethtool_6.14.bb
+++ b/meta/recipes-extended/ethtool/ethtool_6.15.bb
@@ -11,7 +11,7 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
11 file://avoid_parallel_tests.patch \ 11 file://avoid_parallel_tests.patch \
12 " 12 "
13 13
14SRC_URI[sha256sum] = "3dbfc910513d1fef683f27ab12325cc88551abffae66d0ad3afe2a13317d2339" 14SRC_URI[sha256sum] = "5d21a75b54c5e617b8ac0fe161e2ef3a75ecdf569ab64831474882dd3ece6077"
15 15
16UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/" 16UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
17 17
diff --git a/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch b/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch
deleted file mode 100644
index ef087ffc06..0000000000
--- a/meta/recipes-extended/pam/libpam/0001-meson.build-correct-check-for-existence-of-two-prepr.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From 9b5182d4781bcd6fb37a4030faf325965fde3e93 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 28 Nov 2024 20:32:17 +0100
4Subject: [PATCH] meson: correct check for existence of two preprocessor
5 defines
6
7sizeof is meant for *types*, and in case of cross compiling
8the test program produced by it has incorrect syntax
9 __NR_keyctl something;
10and will always fail to compile.
11
12* meson.build: Use cc.get_define() instead of cc.sizeof() to check for
13preprocessor symbols.
14
15Co-authored-by: Dmitry V. Levin <ldv@strace.io>
16Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/pull/861]
17Signed-off-by: Alexander Kanavin <alex@linutronix.de>
18---
19 meson.build | 4 ++--
20 1 file changed, 2 insertions(+), 2 deletions(-)
21
22diff --git a/meson.build b/meson.build
23index f6a7dafe9..307fed0aa 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -198,12 +198,12 @@ foreach ident: check_functions
27 endif
28 endforeach
29
30-enable_pam_keyinit = cc.sizeof('__NR_keyctl', prefix: '#include <sys/syscall.h>') > 0
31+enable_pam_keyinit = cc.get_define('__NR_keyctl', prefix: '#include <sys/syscall.h>') != ''
32
33 if get_option('mailspool') != ''
34 cdata.set_quoted('PAM_PATH_MAILDIR', get_option('mailspool'))
35 else
36- have = cc.sizeof('_PATH_MAILDIR', prefix: '#include <paths.h>') > 0
37+ have = cc.get_define('_PATH_MAILDIR', prefix: '#include <paths.h>') != ''
38 cdata.set('PAM_PATH_MAILDIR', have ? '_PATH_MAILDIR' : '"/var/spool/mail"')
39 endif
40
diff --git a/meta/recipes-extended/pam/libpam_1.7.0.bb b/meta/recipes-extended/pam/libpam_1.7.1.bb
index dea9ff592b..565b00c264 100644
--- a/meta/recipes-extended/pam/libpam_1.7.0.bb
+++ b/meta/recipes-extended/pam/libpam_1.7.1.bb
@@ -22,10 +22,9 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \
22 file://pam.d/other \ 22 file://pam.d/other \
23 file://run-ptest \ 23 file://run-ptest \
24 file://pam-volatiles.conf \ 24 file://pam-volatiles.conf \
25 file://0001-meson.build-correct-check-for-existence-of-two-prepr.patch \
26 " 25 "
27 26
28SRC_URI[sha256sum] = "57dcd7a6b966ecd5bbd95e1d11173734691e16b68692fa59661cdae9b13b1697" 27SRC_URI[sha256sum] = "21dbcec6e01dd578f14789eac9024a18941e6f2702a05cf91b28c232eeb26ab0"
29 28
30DEPENDS = "bison-native flex-native libxml2-native virtual/crypt" 29DEPENDS = "bison-native flex-native libxml2-native virtual/crypt"
31 30
diff --git a/meta/recipes-extended/shadow/shadow_4.17.4.bb b/meta/recipes-extended/shadow/shadow_4.18.0.bb
index 73942888b6..6842a46dd7 100644
--- a/meta/recipes-extended/shadow/shadow_4.17.4.bb
+++ b/meta/recipes-extended/shadow/shadow_4.18.0.bb
@@ -25,7 +25,7 @@ SRC_URI:append:class-native = " \
25 file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ 25 file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
26 file://disable_syslog.patch \ 26 file://disable_syslog.patch \
27 " 27 "
28SRC_URI[sha256sum] = "0a288c251f339846af6bdfd4447b196153204deba42407bce5b0917998322e9b" 28SRC_URI[sha256sum] = "ae486ce4c0bce55c42d76d8478e428c41586f1da2f89fbf5228243fb4d849db4"
29UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$" 29UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
30 30
31# Additional Policy files for PAM 31# Additional Policy files for PAM
diff --git a/meta/recipes-gnome/libadwaita/libadwaita_1.7.4.bb b/meta/recipes-gnome/libadwaita/libadwaita_1.7.5.bb
index e2bfb0984e..e8a8d21f02 100644
--- a/meta/recipes-gnome/libadwaita/libadwaita_1.7.4.bb
+++ b/meta/recipes-gnome/libadwaita/libadwaita_1.7.5.bb
@@ -11,7 +11,7 @@ DEPENDS = " \
11 11
12inherit gnomebase gobject-introspection gi-docgen vala features_check 12inherit gnomebase gobject-introspection gi-docgen vala features_check
13 13
14SRC_URI[archive.sha256sum] = "a012bef97ac0d726b969b18099f75fc5eee9e92c012af9672b827350d53ae970" 14SRC_URI[archive.sha256sum] = "c2c1813c967d45c0f49e907f8c26e66f68fe49dec6436e2d3349350ac9efbd2e"
15 15
16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" 16ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
17REQUIRED_DISTRO_FEATURES = "opengl" 17REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/meta/recipes-graphics/pango/pango_1.56.3.bb b/meta/recipes-graphics/pango/pango_1.56.4.bb
index 479327dfde..5de51508fe 100644
--- a/meta/recipes-graphics/pango/pango_1.56.3.bb
+++ b/meta/recipes-graphics/pango/pango_1.56.4.bb
@@ -18,7 +18,7 @@ UPSTREAM_CHECK_REGEX = "pango-(?P<pver>\d+\.(?!9\d+)\d+\.\d+)"
18GIR_MESON_ENABLE_FLAG = "enabled" 18GIR_MESON_ENABLE_FLAG = "enabled"
19GIR_MESON_DISABLE_FLAG = "disabled" 19GIR_MESON_DISABLE_FLAG = "disabled"
20 20
21SRC_URI[archive.sha256sum] = "2606252bc25cd8d24e1b7f7e92c3a272b37acd6734347b73b47a482834ba2491" 21SRC_URI[archive.sha256sum] = "17065e2fcc5f5a5bdbffc884c956bfc7c451a96e8c4fb2f8ad837c6413cb5a01"
22 22
23DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" 23DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
24DEPENDS += "${@' python3-docutils-native' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}" 24DEPENDS += "${@' python3-docutils-native' if d.getVar('GIDOCGEN_ENABLED') == 'True' else ''}"
diff --git a/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
index 07765653bb..77b81635b6 100644
--- a/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
+++ b/meta/recipes-graphics/shaderc/files/0001-cmake-disable-building-external-dependencies.patch
@@ -1,4 +1,4 @@
1From ed0e2fad08a3cd3f0a0c70922737d8a6886f484d Mon Sep 17 00:00:00 2001 1From 3db09ee0d0bf6390eb3dcd835bd4ef786188bf16 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 13 Feb 2021 00:45:56 +0000 3Date: Sat, 13 Feb 2021 00:45:56 +0000
4Subject: [PATCH] cmake: disable building external dependencies 4Subject: [PATCH] cmake: disable building external dependencies
@@ -15,10 +15,10 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15 2 files changed, 25 insertions(+), 10 deletions(-) 15 2 files changed, 25 insertions(+), 10 deletions(-)
16 16
17diff --git a/CMakeLists.txt b/CMakeLists.txt 17diff --git a/CMakeLists.txt b/CMakeLists.txt
18index bd6b890..f1ddd74 100644 18index 06f5395..39b8869 100644
19--- a/CMakeLists.txt 19--- a/CMakeLists.txt
20+++ b/CMakeLists.txt 20+++ b/CMakeLists.txt
21@@ -62,6 +62,7 @@ else() 21@@ -72,6 +72,7 @@ else()
22 endif() 22 endif()
23 23
24 option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON) 24 option(SHADERC_ENABLE_WERROR_COMPILE "Enable passing -Werror to compiler, if available" ON)
@@ -26,7 +26,7 @@ index bd6b890..f1ddd74 100644
26 26
27 set (CMAKE_CXX_STANDARD 17) 27 set (CMAKE_CXX_STANDARD 17)
28 28
29@@ -119,8 +120,14 @@ endif(MSVC) 29@@ -129,8 +130,14 @@ endif(MSVC)
30 30
31 31
32 # Configure subdirectories. 32 # Configure subdirectories.
@@ -43,7 +43,7 @@ index bd6b890..f1ddd74 100644
43 43
44 add_subdirectory(libshaderc_util) 44 add_subdirectory(libshaderc_util)
45 add_subdirectory(libshaderc) 45 add_subdirectory(libshaderc)
46@@ -132,7 +139,7 @@ endif() 46@@ -142,7 +149,7 @@ endif()
47 add_custom_target(build-version 47 add_custom_target(build-version
48 ${Python_EXECUTABLE} 48 ${Python_EXECUTABLE}
49 ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py 49 ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py
diff --git a/meta/recipes-graphics/shaderc/shaderc_2025.2.bb b/meta/recipes-graphics/shaderc/shaderc_2025.3.bb
index 9e56b97830..692e85e56c 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2025.2.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2025.3.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/google/shaderc"
6LICENSE = "Apache-2.0" 6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" 7LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
8 8
9SRCREV = "8c269ee0fe607f2d7cac00c0cb4fa243d6a6ec26" 9SRCREV = "eb0bc20d0c31320fe834e4ee8eb02807292b9703"
10SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main;tag=v${PV} \ 10SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main;tag=v${PV} \
11 file://0001-cmake-disable-building-external-dependencies.patch \ 11 file://0001-cmake-disable-building-external-dependencies.patch \
12 file://0002-libshaderc_util-fix-glslang-header-file-location.patch \ 12 file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
diff --git a/meta/recipes-multimedia/libogg/libogg_1.3.5.bb b/meta/recipes-multimedia/libogg/libogg_1.3.6.bb
index 402d700aa1..4810f156f2 100644
--- a/meta/recipes-multimedia/libogg/libogg_1.3.5.bb
+++ b/meta/recipes-multimedia/libogg/libogg_1.3.6.bb
@@ -11,6 +11,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
11 11
12SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz" 12SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz"
13 13
14SRC_URI[sha256sum] = "c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705" 14SRC_URI[sha256sum] = "5c8253428e181840cd20d41f3ca16557a9cc04bad4a3d04cce84808677fa1061"
15 15
16inherit autotools pkgconfig 16inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.48.bb b/meta/recipes-multimedia/libpng/libpng_1.6.49.bb
index e603df1edd..c4af30be80 100644
--- a/meta/recipes-multimedia/libpng/libpng_1.6.48.bb
+++ b/meta/recipes-multimedia/libpng/libpng_1.6.49.bb
@@ -14,7 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}${LIBV}/${BP}.tar.xz \
14 file://run-ptest \ 14 file://run-ptest \
15" 15"
16 16
17SRC_URI[sha256sum] = "46fd06ff37db1db64c0dc288d78a3f5efd23ad9ac41561193f983e20937ece03" 17SRC_URI[sha256sum] = "43182aa48e39d64b1ab4ec6b71ab3e910b67eed3a0fff3777cf8cf40d6ef7024"
18 18
19MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/" 19MIRRORS += "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/ ${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}${LIBV}/older-releases/"
20 20
diff --git a/meta/recipes-support/enchant/enchant2_2.8.6.bb b/meta/recipes-support/enchant/enchant2_2.8.10.bb
index 2696fc0f81..e2965e9e10 100644
--- a/meta/recipes-support/enchant/enchant2_2.8.6.bb
+++ b/meta/recipes-support/enchant/enchant2_2.8.10.bb
@@ -12,7 +12,7 @@ DEPENDS = "glib-2.0 groff-native"
12inherit autotools pkgconfig github-releases 12inherit autotools pkgconfig github-releases
13 13
14SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" 14SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz"
15SRC_URI[sha256sum] = "c4cd0889d8aff8248fc3913de5a83907013962f0e1895030a3836468cd40af5b" 15SRC_URI[sha256sum] = "6db791265ace652c63a6d24f376f4c562b742284d70d3ccb9e1ce8be45b288c9"
16 16
17GITHUB_BASE_URI = "https://github.com/rrthomas/enchant/releases" 17GITHUB_BASE_URI = "https://github.com/rrthomas/enchant/releases"
18 18
diff --git a/meta/recipes-support/nghttp2/nghttp2_1.65.0.bb b/meta/recipes-support/nghttp2/nghttp2_1.66.0.bb
index 008935f165..2886681827 100644
--- a/meta/recipes-support/nghttp2/nghttp2_1.65.0.bb
+++ b/meta/recipes-support/nghttp2/nghttp2_1.66.0.bb
@@ -5,7 +5,7 @@ LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec" 5LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
6 6
7SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz" 7SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/nghttp2-${PV}.tar.xz"
8SRC_URI[sha256sum] = "f1b9df5f02e9942b31247e3d415483553bc4ac501c87aa39340b6d19c92a9331" 8SRC_URI[sha256sum] = "00ba1bdf0ba2c74b2a4fe6c8b1069dc9d82f82608af24442d430df97c6f9e631"
9 9
10inherit cmake manpages python3native github-releases 10inherit cmake manpages python3native github-releases
11PACKAGECONFIG[manpages] = "" 11PACKAGECONFIG[manpages] = ""
diff --git a/scripts/lib/devtool/__init__.py b/scripts/lib/devtool/__init__.py
index fa6e1a34fd..c9d7ade9ff 100644
--- a/scripts/lib/devtool/__init__.py
+++ b/scripts/lib/devtool/__init__.py
@@ -147,6 +147,8 @@ def check_workspace_recipe(workspace, pn, checksrc=True, bbclassextend=False):
147 Check that a recipe is in the workspace and (optionally) that source 147 Check that a recipe is in the workspace and (optionally) that source
148 is present. 148 is present.
149 """ 149 """
150 import bb.runqueue
151 _, pn = bb.runqueue.split_mc(pn)
150 152
151 workspacepn = pn 153 workspacepn = pn
152 154
diff --git a/scripts/oe-test b/scripts/oe-test
index 55985b0b24..efb83c3e78 100755
--- a/scripts/oe-test
+++ b/scripts/oe-test
@@ -7,14 +7,18 @@
7# SPDX-License-Identifier: MIT 7# SPDX-License-Identifier: MIT
8# 8#
9 9
10import os
11import sys
12import argparse 10import argparse
11import glob
13import logging 12import logging
13import os
14import sys
14 15
15scripts_path = os.path.dirname(os.path.realpath(__file__)) 16scripts_path = os.path.dirname(os.path.realpath(__file__))
16lib_path = scripts_path + '/lib' 17lib_path = os.path.join(scripts_path, 'lib')
17sys.path = sys.path + [lib_path] 18sys.path.append(lib_path)
19meta_lib_paths = glob.glob(scripts_path + '/*/lib', root_dir=scripts_path, recursive=True)
20for p in meta_lib_paths:
21 sys.path.append(p)
18import argparse_oe 22import argparse_oe
19import scriptutils 23import scriptutils
20 24