summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/tests/fetch.py13
-rw-r--r--bitbake/lib/bb/ui/knotty.py6
-rwxr-xr-xbitbake/lib/toaster/orm/fixtures/gen_fixtures.py5
-rw-r--r--bitbake/lib/toaster/orm/fixtures/oe-core.xml30
-rw-r--r--bitbake/lib/toaster/orm/fixtures/poky.xml96
-rw-r--r--bitbake/lib/toaster/tests/functional/test_create_new_project.py2
-rw-r--r--meta/classes-recipe/ptest-cargo.bbclass12
-rw-r--r--meta/classes-recipe/testimage.bbclass4
-rw-r--r--meta/classes-recipe/uboot-sign.bbclass2
-rw-r--r--meta/conf/distro/include/distro_alias.inc1
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/conf/distro/include/ptest-packagelists.inc5
-rw-r--r--meta/lib/oeqa/selftest/cases/rust.py1
-rw-r--r--meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch6
-rw-r--r--meta/recipes-connectivity/openssh/openssh_10.0p1.bb (renamed from meta/recipes-connectivity/openssh/openssh_9.9p2.bb)4
-rw-r--r--meta/recipes-connectivity/openssl/openssl_3.5.0.bb19
-rw-r--r--meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch26
-rw-r--r--meta/recipes-core/coreutils/coreutils_9.6.bb12
-rw-r--r--meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch74
-rw-r--r--meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch2
-rw-r--r--meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch28
-rw-r--r--meta/recipes-core/dropbear/dropbear_2025.88.bb (renamed from meta/recipes-core/dropbear/dropbear_2024.86.bb)8
-rw-r--r--meta/recipes-devtools/clang/clang/0038-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch61
-rw-r--r--meta/recipes-devtools/clang/common.inc1
-rw-r--r--meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb17
-rw-r--r--meta/recipes-devtools/clang/compiler-rt_git.bb17
-rw-r--r--meta/recipes-devtools/gcc/gcc-multilib-config.inc6
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc5
-rw-r--r--meta/recipes-devtools/go/go-1.24.3.inc (renamed from meta/recipes-devtools/go/go-1.24.2.inc)2
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.24.3.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.24.2.bb)6
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.24.3.bb (renamed from meta/recipes-devtools/go/go-cross_1.24.2.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.24.3.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.24.2.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.24.3.bb (renamed from meta/recipes-devtools/go/go-runtime_1.24.2.bb)0
-rw-r--r--meta/recipes-devtools/go/go_1.24.3.bb (renamed from meta/recipes-devtools/go/go_1.24.2.bb)0
-rw-r--r--meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch73
-rw-r--r--meta/recipes-devtools/python/python3-cython_3.1.0.bb (renamed from meta/recipes-devtools/python/python3-cython_3.0.12.bb)3
-rw-r--r--meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch14
-rw-r--r--meta/recipes-devtools/python/python3_3.13.3.bb (renamed from meta/recipes-devtools/python/python3_3.13.2.bb)2
-rw-r--r--meta/recipes-devtools/rpm-sequoia/files/0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch35
-rw-r--r--meta/recipes-devtools/rpm-sequoia/rpm-sequoia_1.7.0.bb26
-rw-r--r--meta/recipes-devtools/rust/files/rust-oe-selftest.patch44
-rw-r--r--meta/recipes-devtools/valgrind/valgrind/0001-Use-portable-syntax-for-pushsection-directive-in-inl.patch31
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.25.0.bb1
-rw-r--r--meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb2
-rw-r--r--meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb (renamed from meta/recipes-kernel/linux-firmware/linux-firmware_20250410.bb)9
-rw-r--r--meta/recipes-kernel/linux/kernel-devsrc.bb3
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch26
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-examples_1.26.1.bb (renamed from meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb)8
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/0001-CVE-2025-32911.patch74
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch44
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-possibly-uninitialized-warnings.patch43
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/0001-Remove-http-and-https-aliases-support-test.patch145
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch37
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch43
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch48
-rw-r--r--meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb66
57 files changed, 478 insertions, 771 deletions
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py
index 0091723601..3f42332588 100644
--- a/bitbake/lib/bb/tests/fetch.py
+++ b/bitbake/lib/bb/tests/fetch.py
@@ -2281,6 +2281,19 @@ class GitShallowTest(FetcherTest):
2281 self.assertRevCount(1) 2281 self.assertRevCount(1)
2282 assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow')) 2282 assert os.path.exists(os.path.join(self.gitdir, '.git', 'shallow'))
2283 2283
2284 def test_shallow_succeeds_with_tag_containing_slash(self):
2285 self.add_empty_file('a')
2286 self.add_empty_file('b')
2287 self.git('tag t1/t2/t3', cwd=self.srcdir)
2288 self.assertRevCount(2, cwd=self.srcdir)
2289
2290 srcrev = self.git('rev-parse HEAD', cwd=self.srcdir).strip()
2291 self.d.setVar('SRCREV', srcrev)
2292 uri = self.d.getVar('SRC_URI').split()[0]
2293 uri = '%s;tag=t1/t2/t3' % uri
2294 self.fetch_shallow(uri)
2295 self.assertRevCount(1)
2296
2284class GitLfsTest(FetcherTest): 2297class GitLfsTest(FetcherTest):
2285 def skipIfNoGitLFS(): 2298 def skipIfNoGitLFS():
2286 if not shutil.which('git-lfs'): 2299 if not shutil.which('git-lfs'):
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 2fff1b3669..9a589a5c8e 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -353,7 +353,7 @@ def print_event_log(event, includelogs, loglines, termfilter):
353 termfilter.clearFooter() 353 termfilter.clearFooter()
354 bb.error("Logfile of failure stored in: %s" % logfile) 354 bb.error("Logfile of failure stored in: %s" % logfile)
355 if includelogs and not event.errprinted: 355 if includelogs and not event.errprinted:
356 print("Log data follows:") 356 bb.plain("Log data follows:")
357 f = open(logfile, "r") 357 f = open(logfile, "r")
358 lines = [] 358 lines = []
359 while True: 359 while True:
@@ -366,11 +366,11 @@ def print_event_log(event, includelogs, loglines, termfilter):
366 if len(lines) > int(loglines): 366 if len(lines) > int(loglines):
367 lines.pop(0) 367 lines.pop(0)
368 else: 368 else:
369 print('| %s' % l) 369 bb.plain('| %s' % l)
370 f.close() 370 f.close()
371 if lines: 371 if lines:
372 for line in lines: 372 for line in lines:
373 print(line) 373 bb.plain(line)
374 374
375def _log_settings_from_server(server, observe_only): 375def _log_settings_from_server(server, observe_only):
376 # Get values of variables which control our output 376 # Get values of variables which control our output
diff --git a/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py b/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
index 1bb3788567..6201f679b9 100755
--- a/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
+++ b/bitbake/lib/toaster/orm/fixtures/gen_fixtures.py
@@ -41,8 +41,9 @@ current_releases = [
41 # Release slot #3 'master' 41 # Release slot #3 'master'
42 ['Master','master','','Yocto Project master','master','','master'], 42 ['Master','master','','Yocto Project master','master','','master'],
43 # Release slot #4 43 # Release slot #4
44 ['Walnascar','5.2','April 2025','5.2.0 (April 2024)','Support for 7 months (until October 2025)','','2.12'], 44 ['Whinlatter','5.3','October 2025','5.3.0 (October 2024)','Support for 7 months (until May 2026)','','2.14'],
45 ['Styhead','5.1','November 2024','5.1.0 (November 2024)','Support for 7 months (until May 2025)','','2.10'], 45 ['Walnascar','5.2','April 2025','5.2.0 (April 2025)','Support for 7 months (until October 2025)','','2.12'],
46 #['Styhead','5.1','November 2024','5.1.0 (November 2024)','Support for 7 months (until May 2025)','','2.10'],
46 #['Nanbield','4.3','November 2023','4.3.0 (November 2023)','Support for 7 months (until May 2024)','','2.6'], 47 #['Nanbield','4.3','November 2023','4.3.0 (November 2023)','Support for 7 months (until May 2024)','','2.6'],
47 #['Mickledore','4.2','April 2023','4.2.0 (April 2023)','Support for 7 months (until October 2023)','','2.4'], 48 #['Mickledore','4.2','April 2023','4.2.0 (April 2023)','Support for 7 months (until October 2023)','','2.4'],
48 #['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'], 49 #['Langdale','4.1','October 2022','4.1.2 (January 2023)','Support for 7 months (until May 2023)','','2.2'],
diff --git a/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/bitbake/lib/toaster/orm/fixtures/oe-core.xml
index 3d4ec265a5..264231d139 100644
--- a/bitbake/lib/toaster/orm/fixtures/oe-core.xml
+++ b/bitbake/lib/toaster/orm/fixtures/oe-core.xml
@@ -23,16 +23,21 @@
23 <field type="CharField" name="branch">master</field> 23 <field type="CharField" name="branch">master</field>
24 </object> 24 </object>
25 <object model="orm.bitbakeversion" pk="4"> 25 <object model="orm.bitbakeversion" pk="4">
26 <field type="CharField" name="name">whinlatter</field>
27 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
28 <field type="CharField" name="branch">2.14</field>
29 </object>
30 <object model="orm.bitbakeversion" pk="5">
26 <field type="CharField" name="name">walnascar</field> 31 <field type="CharField" name="name">walnascar</field>
27 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> 32 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
28 <field type="CharField" name="branch">2.12</field> 33 <field type="CharField" name="branch">2.12</field>
29 </object> 34 </object>
30 <object model="orm.bitbakeversion" pk="5"> 35 <object model="orm.bitbakeversion" pk="6">
31 <field type="CharField" name="name">styhead</field> 36 <field type="CharField" name="name">styhead</field>
32 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> 37 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
33 <field type="CharField" name="branch">2.10</field> 38 <field type="CharField" name="branch">2.10</field>
34 </object> 39 </object>
35 <object model="orm.bitbakeversion" pk="6"> 40 <object model="orm.bitbakeversion" pk="7">
36 <field type="CharField" name="name">kirkstone</field> 41 <field type="CharField" name="name">kirkstone</field>
37 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field> 42 <field type="CharField" name="giturl">git://git.openembedded.org/bitbake</field>
38 <field type="CharField" name="branch">2.0</field> 43 <field type="CharField" name="branch">2.0</field>
@@ -61,23 +66,30 @@
61 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/\"&gt;OpenEmbedded master&lt;/a&gt; branch.</field> 66 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/\"&gt;OpenEmbedded master&lt;/a&gt; branch.</field>
62 </object> 67 </object>
63 <object model="orm.release" pk="4"> 68 <object model="orm.release" pk="4">
69 <field type="CharField" name="name">whinlatter</field>
70 <field type="CharField" name="description">Openembedded Whinlatter</field>
71 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
72 <field type="CharField" name="branch_name">whinlatter</field>
73 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=whinlatter\"&gt;OpenEmbedded Whinlatter&lt;/a&gt; branch.</field>
74 </object>
75 <object model="orm.release" pk="5">
64 <field type="CharField" name="name">walnascar</field> 76 <field type="CharField" name="name">walnascar</field>
65 <field type="CharField" name="description">Openembedded Walnascar</field> 77 <field type="CharField" name="description">Openembedded Walnascar</field>
66 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> 78 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
67 <field type="CharField" name="branch_name">walnascar</field> 79 <field type="CharField" name="branch_name">walnascar</field>
68 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=walnascar\"&gt;OpenEmbedded Walnascar&lt;/a&gt; branch.</field> 80 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=walnascar\"&gt;OpenEmbedded Walnascar&lt;/a&gt; branch.</field>
69 </object> 81 </object>
70 <object model="orm.release" pk="5"> 82 <object model="orm.release" pk="6">
71 <field type="CharField" name="name">styhead</field> 83 <field type="CharField" name="name">styhead</field>
72 <field type="CharField" name="description">Openembedded Styhead</field> 84 <field type="CharField" name="description">Openembedded Styhead</field>
73 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field> 85 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
74 <field type="CharField" name="branch_name">styhead</field> 86 <field type="CharField" name="branch_name">styhead</field>
75 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=styhead\"&gt;OpenEmbedded Styhead&lt;/a&gt; branch.</field> 87 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=styhead\"&gt;OpenEmbedded Styhead&lt;/a&gt; branch.</field>
76 </object> 88 </object>
77 <object model="orm.release" pk="6"> 89 <object model="orm.release" pk="7">
78 <field type="CharField" name="name">kirkstone</field> 90 <field type="CharField" name="name">kirkstone</field>
79 <field type="CharField" name="description">Openembedded Kirkstone</field> 91 <field type="CharField" name="description">Openembedded Kirkstone</field>
80 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field> 92 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">7</field>
81 <field type="CharField" name="branch_name">kirkstone</field> 93 <field type="CharField" name="branch_name">kirkstone</field>
82 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\"&gt;OpenEmbedded Kirkstone&lt;/a&gt; branch.</field> 94 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href=\"https://cgit.openembedded.org/openembedded-core/log/?h=kirkstone\"&gt;OpenEmbedded Kirkstone&lt;/a&gt; branch.</field>
83 </object> 95 </object>
@@ -107,6 +119,10 @@
107 <field rel="ManyToOneRel" to="orm.release" name="release">6</field> 119 <field rel="ManyToOneRel" to="orm.release" name="release">6</field>
108 <field type="CharField" name="layer_name">openembedded-core</field> 120 <field type="CharField" name="layer_name">openembedded-core</field>
109 </object> 121 </object>
122 <object model="orm.releasedefaultlayer" pk="7">
123 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
124 <field type="CharField" name="layer_name">openembedded-core</field>
125 </object>
110 126
111 127
112 <!-- Layer for the Local release --> 128 <!-- Layer for the Local release -->
diff --git a/bitbake/lib/toaster/orm/fixtures/poky.xml b/bitbake/lib/toaster/orm/fixtures/poky.xml
index f2c538d0c2..6cf4f0687a 100644
--- a/bitbake/lib/toaster/orm/fixtures/poky.xml
+++ b/bitbake/lib/toaster/orm/fixtures/poky.xml
@@ -26,18 +26,24 @@
26 <field type="CharField" name="dirpath">bitbake</field> 26 <field type="CharField" name="dirpath">bitbake</field>
27 </object> 27 </object>
28 <object model="orm.bitbakeversion" pk="4"> 28 <object model="orm.bitbakeversion" pk="4">
29 <field type="CharField" name="name">whinlatter</field>
30 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
31 <field type="CharField" name="branch">whinlatter</field>
32 <field type="CharField" name="dirpath">bitbake</field>
33 </object>
34 <object model="orm.bitbakeversion" pk="5">
29 <field type="CharField" name="name">walnascar</field> 35 <field type="CharField" name="name">walnascar</field>
30 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> 36 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
31 <field type="CharField" name="branch">walnascar</field> 37 <field type="CharField" name="branch">walnascar</field>
32 <field type="CharField" name="dirpath">bitbake</field> 38 <field type="CharField" name="dirpath">bitbake</field>
33 </object> 39 </object>
34 <object model="orm.bitbakeversion" pk="5"> 40 <object model="orm.bitbakeversion" pk="6">
35 <field type="CharField" name="name">styhead</field> 41 <field type="CharField" name="name">styhead</field>
36 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> 42 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
37 <field type="CharField" name="branch">styhead</field> 43 <field type="CharField" name="branch">styhead</field>
38 <field type="CharField" name="dirpath">bitbake</field> 44 <field type="CharField" name="dirpath">bitbake</field>
39 </object> 45 </object>
40 <object model="orm.bitbakeversion" pk="6"> 46 <object model="orm.bitbakeversion" pk="7">
41 <field type="CharField" name="name">kirkstone</field> 47 <field type="CharField" name="name">kirkstone</field>
42 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field> 48 <field type="CharField" name="giturl">git://git.yoctoproject.org/poky</field>
43 <field type="CharField" name="branch">kirkstone</field> 49 <field type="CharField" name="branch">kirkstone</field>
@@ -68,23 +74,30 @@
68 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/"&gt;Yocto Project Master branch&lt;/a&gt;.</field> 74 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/"&gt;Yocto Project Master branch&lt;/a&gt;.</field>
69 </object> 75 </object>
70 <object model="orm.release" pk="4"> 76 <object model="orm.release" pk="4">
77 <field type="CharField" name="name">whinlatter</field>
78 <field type="CharField" name="description">Yocto Project 5.3 "Whinlatter"</field>
79 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field>
80 <field type="CharField" name="branch_name">whinlatter</field>
81 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=whinlatter"&gt;Yocto Project Whinlatter branch&lt;/a&gt;.</field>
82 </object>
83 <object model="orm.release" pk="5">
71 <field type="CharField" name="name">walnascar</field> 84 <field type="CharField" name="name">walnascar</field>
72 <field type="CharField" name="description">Yocto Project 5.2 "Walnascar"</field> 85 <field type="CharField" name="description">Yocto Project 5.2 "Walnascar"</field>
73 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> 86 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field>
74 <field type="CharField" name="branch_name">walnascar</field> 87 <field type="CharField" name="branch_name">walnascar</field>
75 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=walnascar"&gt;Yocto Project Walnascar branch&lt;/a&gt;.</field> 88 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=walnascar"&gt;Yocto Project Walnascar branch&lt;/a&gt;.</field>
76 </object> 89 </object>
77 <object model="orm.release" pk="5"> 90 <object model="orm.release" pk="6">
78 <field type="CharField" name="name">styhead</field> 91 <field type="CharField" name="name">styhead</field>
79 <field type="CharField" name="description">Yocto Project 5.1 "Styhead"</field> 92 <field type="CharField" name="description">Yocto Project 5.1 "Styhead"</field>
80 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">5</field> 93 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field>
81 <field type="CharField" name="branch_name">styhead</field> 94 <field type="CharField" name="branch_name">styhead</field>
82 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=styhead"&gt;Yocto Project Styhead branch&lt;/a&gt;.</field> 95 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=styhead"&gt;Yocto Project Styhead branch&lt;/a&gt;.</field>
83 </object> 96 </object>
84 <object model="orm.release" pk="6"> 97 <object model="orm.release" pk="7">
85 <field type="CharField" name="name">kirkstone</field> 98 <field type="CharField" name="name">kirkstone</field>
86 <field type="CharField" name="description">Yocto Project 4.0 "Kirkstone"</field> 99 <field type="CharField" name="description">Yocto Project 4.0 "Kirkstone"</field>
87 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">6</field> 100 <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">7</field>
88 <field type="CharField" name="branch_name">kirkstone</field> 101 <field type="CharField" name="branch_name">kirkstone</field>
89 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone"&gt;Yocto Project Kirkstone branch&lt;/a&gt;.</field> 102 <field type="TextField" name="helptext">Toaster will run your builds using the tip of the &lt;a href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=kirkstone"&gt;Yocto Project Kirkstone branch&lt;/a&gt;.</field>
90 </object> 103 </object>
@@ -162,6 +175,18 @@
162 <field rel="ManyToOneRel" to="orm.release" name="release">6</field> 175 <field rel="ManyToOneRel" to="orm.release" name="release">6</field>
163 <field type="CharField" name="layer_name">meta-yocto-bsp</field> 176 <field type="CharField" name="layer_name">meta-yocto-bsp</field>
164 </object> 177 </object>
178 <object model="orm.releasedefaultlayer" pk="19">
179 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
180 <field type="CharField" name="layer_name">openembedded-core</field>
181 </object>
182 <object model="orm.releasedefaultlayer" pk="20">
183 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
184 <field type="CharField" name="layer_name">meta-poky</field>
185 </object>
186 <object model="orm.releasedefaultlayer" pk="21">
187 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
188 <field type="CharField" name="layer_name">meta-yocto-bsp</field>
189 </object>
165 190
166 <!-- Default layers provided by poky 191 <!-- Default layers provided by poky
167 openembedded-core 192 openembedded-core
@@ -202,20 +227,27 @@
202 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> 227 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
203 <field type="IntegerField" name="layer_source">0</field> 228 <field type="IntegerField" name="layer_source">0</field>
204 <field rel="ManyToOneRel" to="orm.release" name="release">4</field> 229 <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
205 <field type="CharField" name="branch">walnascar</field> 230 <field type="CharField" name="branch">whinlatter</field>
206 <field type="CharField" name="dirpath">meta</field> 231 <field type="CharField" name="dirpath">meta</field>
207 </object> 232 </object>
208 <object model="orm.layer_version" pk="5"> 233 <object model="orm.layer_version" pk="5">
209 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> 234 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
210 <field type="IntegerField" name="layer_source">0</field> 235 <field type="IntegerField" name="layer_source">0</field>
211 <field rel="ManyToOneRel" to="orm.release" name="release">5</field> 236 <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
212 <field type="CharField" name="branch">styhead</field> 237 <field type="CharField" name="branch">walnascar</field>
213 <field type="CharField" name="dirpath">meta</field> 238 <field type="CharField" name="dirpath">meta</field>
214 </object> 239 </object>
215 <object model="orm.layer_version" pk="6"> 240 <object model="orm.layer_version" pk="6">
216 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field> 241 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
217 <field type="IntegerField" name="layer_source">0</field> 242 <field type="IntegerField" name="layer_source">0</field>
218 <field rel="ManyToOneRel" to="orm.release" name="release">6</field> 243 <field rel="ManyToOneRel" to="orm.release" name="release">6</field>
244 <field type="CharField" name="branch">styhead</field>
245 <field type="CharField" name="dirpath">meta</field>
246 </object>
247 <object model="orm.layer_version" pk="7">
248 <field rel="ManyToOneRel" to="orm.layer" name="layer">1</field>
249 <field type="IntegerField" name="layer_source">0</field>
250 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
219 <field type="CharField" name="branch">kirkstone</field> 251 <field type="CharField" name="branch">kirkstone</field>
220 <field type="CharField" name="dirpath">meta</field> 252 <field type="CharField" name="dirpath">meta</field>
221 </object> 253 </object>
@@ -228,14 +260,14 @@
228 <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> 260 <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
229 <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> 261 <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
230 </object> 262 </object>
231 <object model="orm.layer_version" pk="7"> 263 <object model="orm.layer_version" pk="8">
232 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 264 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
233 <field type="IntegerField" name="layer_source">0</field> 265 <field type="IntegerField" name="layer_source">0</field>
234 <field rel="ManyToOneRel" to="orm.release" name="release">1</field> 266 <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
235 <field type="CharField" name="branch">scarthgap</field> 267 <field type="CharField" name="branch">scarthgap</field>
236 <field type="CharField" name="dirpath">meta-poky</field> 268 <field type="CharField" name="dirpath">meta-poky</field>
237 </object> 269 </object>
238 <object model="orm.layer_version" pk="8"> 270 <object model="orm.layer_version" pk="9">
239 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 271 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
240 <field type="IntegerField" name="layer_source">0</field> 272 <field type="IntegerField" name="layer_source">0</field>
241 <field rel="ManyToOneRel" to="orm.release" name="release">2</field> 273 <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -243,31 +275,38 @@
243 <field type="CharField" name="commit">HEAD</field> 275 <field type="CharField" name="commit">HEAD</field>
244 <field type="CharField" name="dirpath">meta-poky</field> 276 <field type="CharField" name="dirpath">meta-poky</field>
245 </object> 277 </object>
246 <object model="orm.layer_version" pk="9"> 278 <object model="orm.layer_version" pk="10">
247 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 279 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
248 <field type="IntegerField" name="layer_source">0</field> 280 <field type="IntegerField" name="layer_source">0</field>
249 <field rel="ManyToOneRel" to="orm.release" name="release">3</field> 281 <field rel="ManyToOneRel" to="orm.release" name="release">3</field>
250 <field type="CharField" name="branch">master</field> 282 <field type="CharField" name="branch">master</field>
251 <field type="CharField" name="dirpath">meta-poky</field> 283 <field type="CharField" name="dirpath">meta-poky</field>
252 </object> 284 </object>
253 <object model="orm.layer_version" pk="10"> 285 <object model="orm.layer_version" pk="11">
254 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 286 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
255 <field type="IntegerField" name="layer_source">0</field> 287 <field type="IntegerField" name="layer_source">0</field>
256 <field rel="ManyToOneRel" to="orm.release" name="release">4</field> 288 <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
257 <field type="CharField" name="branch">walnascar</field> 289 <field type="CharField" name="branch">whinlatter</field>
258 <field type="CharField" name="dirpath">meta-poky</field> 290 <field type="CharField" name="dirpath">meta-poky</field>
259 </object> 291 </object>
260 <object model="orm.layer_version" pk="11"> 292 <object model="orm.layer_version" pk="12">
261 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 293 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
262 <field type="IntegerField" name="layer_source">0</field> 294 <field type="IntegerField" name="layer_source">0</field>
263 <field rel="ManyToOneRel" to="orm.release" name="release">5</field> 295 <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
264 <field type="CharField" name="branch">styhead</field> 296 <field type="CharField" name="branch">walnascar</field>
265 <field type="CharField" name="dirpath">meta-poky</field> 297 <field type="CharField" name="dirpath">meta-poky</field>
266 </object> 298 </object>
267 <object model="orm.layer_version" pk="12"> 299 <object model="orm.layer_version" pk="13">
268 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field> 300 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
269 <field type="IntegerField" name="layer_source">0</field> 301 <field type="IntegerField" name="layer_source">0</field>
270 <field rel="ManyToOneRel" to="orm.release" name="release">6</field> 302 <field rel="ManyToOneRel" to="orm.release" name="release">6</field>
303 <field type="CharField" name="branch">styhead</field>
304 <field type="CharField" name="dirpath">meta-poky</field>
305 </object>
306 <object model="orm.layer_version" pk="14">
307 <field rel="ManyToOneRel" to="orm.layer" name="layer">2</field>
308 <field type="IntegerField" name="layer_source">0</field>
309 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
271 <field type="CharField" name="branch">kirkstone</field> 310 <field type="CharField" name="branch">kirkstone</field>
272 <field type="CharField" name="dirpath">meta-poky</field> 311 <field type="CharField" name="dirpath">meta-poky</field>
273 </object> 312 </object>
@@ -280,14 +319,14 @@
280 <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> 319 <field type="CharField" name="vcs_web_tree_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
281 <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field> 320 <field type="CharField" name="vcs_web_file_base_url">https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/%path%?h=%branch%</field>
282 </object> 321 </object>
283 <object model="orm.layer_version" pk="13"> 322 <object model="orm.layer_version" pk="15">
284 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 323 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
285 <field type="IntegerField" name="layer_source">0</field> 324 <field type="IntegerField" name="layer_source">0</field>
286 <field rel="ManyToOneRel" to="orm.release" name="release">1</field> 325 <field rel="ManyToOneRel" to="orm.release" name="release">1</field>
287 <field type="CharField" name="branch">scarthgap</field> 326 <field type="CharField" name="branch">scarthgap</field>
288 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 327 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
289 </object> 328 </object>
290 <object model="orm.layer_version" pk="14"> 329 <object model="orm.layer_version" pk="16">
291 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 330 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
292 <field type="IntegerField" name="layer_source">0</field> 331 <field type="IntegerField" name="layer_source">0</field>
293 <field rel="ManyToOneRel" to="orm.release" name="release">2</field> 332 <field rel="ManyToOneRel" to="orm.release" name="release">2</field>
@@ -295,31 +334,38 @@
295 <field type="CharField" name="commit">HEAD</field> 334 <field type="CharField" name="commit">HEAD</field>
296 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 335 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
297 </object> 336 </object>
298 <object model="orm.layer_version" pk="15"> 337 <object model="orm.layer_version" pk="17">
299 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 338 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
300 <field type="IntegerField" name="layer_source">0</field> 339 <field type="IntegerField" name="layer_source">0</field>
301 <field rel="ManyToOneRel" to="orm.release" name="release">3</field> 340 <field rel="ManyToOneRel" to="orm.release" name="release">3</field>
302 <field type="CharField" name="branch">master</field> 341 <field type="CharField" name="branch">master</field>
303 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 342 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
304 </object> 343 </object>
305 <object model="orm.layer_version" pk="16"> 344 <object model="orm.layer_version" pk="18">
306 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 345 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
307 <field type="IntegerField" name="layer_source">0</field> 346 <field type="IntegerField" name="layer_source">0</field>
308 <field rel="ManyToOneRel" to="orm.release" name="release">4</field> 347 <field rel="ManyToOneRel" to="orm.release" name="release">4</field>
309 <field type="CharField" name="branch">walnascar</field> 348 <field type="CharField" name="branch">whinlatter</field>
310 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 349 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
311 </object> 350 </object>
312 <object model="orm.layer_version" pk="17"> 351 <object model="orm.layer_version" pk="19">
313 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 352 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
314 <field type="IntegerField" name="layer_source">0</field> 353 <field type="IntegerField" name="layer_source">0</field>
315 <field rel="ManyToOneRel" to="orm.release" name="release">5</field> 354 <field rel="ManyToOneRel" to="orm.release" name="release">5</field>
316 <field type="CharField" name="branch">styhead</field> 355 <field type="CharField" name="branch">walnascar</field>
317 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 356 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
318 </object> 357 </object>
319 <object model="orm.layer_version" pk="18"> 358 <object model="orm.layer_version" pk="20">
320 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field> 359 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
321 <field type="IntegerField" name="layer_source">0</field> 360 <field type="IntegerField" name="layer_source">0</field>
322 <field rel="ManyToOneRel" to="orm.release" name="release">6</field> 361 <field rel="ManyToOneRel" to="orm.release" name="release">6</field>
362 <field type="CharField" name="branch">styhead</field>
363 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
364 </object>
365 <object model="orm.layer_version" pk="21">
366 <field rel="ManyToOneRel" to="orm.layer" name="layer">3</field>
367 <field type="IntegerField" name="layer_source">0</field>
368 <field rel="ManyToOneRel" to="orm.release" name="release">7</field>
323 <field type="CharField" name="branch">kirkstone</field> 369 <field type="CharField" name="branch">kirkstone</field>
324 <field type="CharField" name="dirpath">meta-yocto-bsp</field> 370 <field type="CharField" name="dirpath">meta-yocto-bsp</field>
325 </object> 371 </object>
diff --git a/bitbake/lib/toaster/tests/functional/test_create_new_project.py b/bitbake/lib/toaster/tests/functional/test_create_new_project.py
index 51c8c12037..66213c736e 100644
--- a/bitbake/lib/toaster/tests/functional/test_create_new_project.py
+++ b/bitbake/lib/toaster/tests/functional/test_create_new_project.py
@@ -53,7 +53,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase):
53 - Release: Yocto Project 4.0 "Kirkstone" (option value: 6) 53 - Release: Yocto Project 4.0 "Kirkstone" (option value: 6)
54 - Merge Toaster settings: True 54 - Merge Toaster settings: True
55 """ 55 """
56 release = '6' 56 release = '7'
57 release_title = 'Yocto Project 4.0 "Kirkstone"' 57 release_title = 'Yocto Project 4.0 "Kirkstone"'
58 project_name = 'projectkirkstone' 58 project_name = 'projectkirkstone'
59 self.create_new_project( 59 self.create_new_project(
diff --git a/meta/classes-recipe/ptest-cargo.bbclass b/meta/classes-recipe/ptest-cargo.bbclass
index 7b18d43c38..ece25ff1eb 100644
--- a/meta/classes-recipe/ptest-cargo.bbclass
+++ b/meta/classes-recipe/ptest-cargo.bbclass
@@ -77,6 +77,7 @@ python do_compile_ptest_cargo() {
77 77
78python do_install_ptest_cargo() { 78python do_install_ptest_cargo() {
79 import shutil 79 import shutil
80 import textwrap
80 81
81 dest_dir = d.getVar("D") 82 dest_dir = d.getVar("D")
82 pn = d.getVar("PN") 83 pn = d.getVar("PN")
@@ -107,7 +108,16 @@ python do_install_ptest_cargo() {
107 f.write(f"\necho \"\"\n") 108 f.write(f"\necho \"\"\n")
108 f.write(f"echo \"## starting to run rust tests ##\"\n") 109 f.write(f"echo \"## starting to run rust tests ##\"\n")
109 for test_path in test_paths: 110 for test_path in test_paths:
110 f.write(f"if ! {test_path} {rust_test_args}; then rc=1; fi\n") 111 script = textwrap.dedent(f"""\
112 if ! {test_path} {rust_test_args}
113 then
114 rc=1
115 echo "FAIL: {test_path}"
116 else
117 echo "PASS: {test_path}"
118 fi
119 """)
120 f.write(script)
111 121
112 f.write("exit $rc\n") 122 f.write("exit $rc\n")
113 123
diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index e090b1ef4b..847a6f18a8 100644
--- a/meta/classes-recipe/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -26,7 +26,9 @@ TESTIMAGE_FAILED_QA_ARTIFACTS = "\
26 ${localstatedir}/log \ 26 ${localstatedir}/log \
27 ${localstatedir}/volatile/log \ 27 ${localstatedir}/volatile/log \
28 ${sysconfdir}/version \ 28 ${sysconfdir}/version \
29 ${sysconfdir}/os-release" 29 ${sysconfdir}/os-release \
30 ${nonarch_libdir}/os-release \
31"
30 32
31# If some ptests are run and fail, retrieve corresponding directories 33# If some ptests are run and fail, retrieve corresponding directories
32TESTIMAGE_FAILED_QA_ARTIFACTS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${libdir}/*/ptest', '', d)}" 34TESTIMAGE_FAILED_QA_ARTIFACTS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${libdir}/*/ptest', '', d)}"
diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass
index 76a81546e3..e0771b5429 100644
--- a/meta/classes-recipe/uboot-sign.bbclass
+++ b/meta/classes-recipe/uboot-sign.bbclass
@@ -113,6 +113,8 @@ python() {
113 sign = d.getVar('UBOOT_SIGN_ENABLE') == '1' 113 sign = d.getVar('UBOOT_SIGN_ENABLE') == '1'
114 if d.getVar('UBOOT_FITIMAGE_ENABLE') == '1' or sign: 114 if d.getVar('UBOOT_FITIMAGE_ENABLE') == '1' or sign:
115 d.appendVar('DEPENDS', " u-boot-tools-native dtc-native") 115 d.appendVar('DEPENDS', " u-boot-tools-native dtc-native")
116 if d.getVar('FIT_GENERATE_KEYS') == '1' and sign:
117 d.appendVarFlag('do_uboot_assemble_fitimage', 'depends', ' virtual/kernel:do_kernel_generate_rsa_keys')
116} 118}
117 119
118concat_dtb() { 120concat_dtb() {
diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc
index a938c007e8..8052464f1d 100644
--- a/meta/conf/distro/include/distro_alias.inc
+++ b/meta/conf/distro/include/distro_alias.inc
@@ -157,7 +157,6 @@ DISTRO_PN_ALIAS:pn-libpod-plainer-perl = "OSPDT"
157DISTRO_PN_ALIAS:pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate" 157DISTRO_PN_ALIAS:pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate"
158DISTRO_PN_ALIAS:pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2" 158DISTRO_PN_ALIAS:pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2"
159DISTRO_PN_ALIAS:pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile" 159DISTRO_PN_ALIAS:pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile"
160DISTRO_PN_ALIAS:pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4"
161DISTRO_PN_ALIAS:pn-libtelepathy = "Debian=libtelepathy2 Ubuntu=libtelepathy2" 160DISTRO_PN_ALIAS:pn-libtelepathy = "Debian=libtelepathy2 Ubuntu=libtelepathy2"
162DISTRO_PN_ALIAS:pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl" 161DISTRO_PN_ALIAS:pn-libtimedate-perl = "Debian=libtimedate-perl Ubuntu=libtimedate-perl"
163DISTRO_PN_ALIAS:pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0" 162DISTRO_PN_ALIAS:pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 69f6a2d284..6c19e306cf 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -400,7 +400,6 @@ RECIPE_MAINTAINER:pn-libsm = "Unassigned <unassigned@yoctoproject.org>"
400RECIPE_MAINTAINER:pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>" 400RECIPE_MAINTAINER:pn-libsndfile1 = "Unassigned <unassigned@yoctoproject.org>"
401RECIPE_MAINTAINER:pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>" 401RECIPE_MAINTAINER:pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
402RECIPE_MAINTAINER:pn-libsoup = "Anuj Mittal <anuj.mittal@intel.com>" 402RECIPE_MAINTAINER:pn-libsoup = "Anuj Mittal <anuj.mittal@intel.com>"
403RECIPE_MAINTAINER:pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
404RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>" 403RECIPE_MAINTAINER:pn-libssh2 = "Unassigned <unassigned@yoctoproject.org>"
405RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>" 404RECIPE_MAINTAINER:pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
406RECIPE_MAINTAINER:pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>" 405RECIPE_MAINTAINER:pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>"
diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc
index 710f2a8ab8..9cd7928154 100644
--- a/meta/conf/distro/include/ptest-packagelists.inc
+++ b/meta/conf/distro/include/ptest-packagelists.inc
@@ -80,6 +80,7 @@ PTESTS_FAST = "\
80 python3-webcolors \ 80 python3-webcolors \
81 qemu \ 81 qemu \
82 quilt \ 82 quilt \
83 rpm-sequoia \
83 sed \ 84 sed \
84 slang \ 85 slang \
85 wayland \ 86 wayland \
@@ -134,6 +135,10 @@ PTESTS_SLOW:remove:riscv32 = "lttng-tools strace "
134PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace" 135PTESTS_PROBLEMS:append:riscv32 = " lttng-tools strace"
135PTESTS_SLOW:append:libc-musl = " libc-test" 136PTESTS_SLOW:append:libc-musl = " libc-test"
136 137
138# These tests don't yet pass for riscv64
139PTESTS_SLOW:remove:riscv64 = "tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl"
140PTESTS_PROBLEMS:append:riscv64 = " tcl tcl8 python3-cffi strace lttng-tools python3-numpy perl"
141
137# ruby \ # Timeout 142# ruby \ # Timeout
138# rt-tests \ # Needs to be checked whether it runs at all 143# rt-tests \ # Needs to be checked whether it runs at all
139# bash \ # Test outcomes are non-deterministic by design 144# bash \ # Test outcomes are non-deterministic by design
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
index 1098e902fc..806ddf6982 100644
--- a/meta/lib/oeqa/selftest/cases/rust.py
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -86,6 +86,7 @@ class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase):
86 'tests/ui/abi/stack-probes-lto.rs', 86 'tests/ui/abi/stack-probes-lto.rs',
87 'tests/ui/abi/stack-probes.rs', 87 'tests/ui/abi/stack-probes.rs',
88 'tests/ui/codegen/mismatched-data-layouts.rs', 88 'tests/ui/codegen/mismatched-data-layouts.rs',
89 'tests/codegen/rust-abi-arch-specific-adjustment.rs',
89 'tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs', 90 'tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs',
90 'tests/ui/feature-gates/version_check.rs', 91 'tests/ui/feature-gates/version_check.rs',
91 'tests/ui-fulldeps/', 92 'tests/ui-fulldeps/',
diff --git a/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch b/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch
index b90cd2e69d..360b62af34 100644
--- a/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch
+++ b/meta/recipes-connectivity/openssh/openssh/0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch
@@ -1,4 +1,4 @@
1From fb762172fb678fe29327b667f8fe7380962a4540 Mon Sep 17 00:00:00 2001 1From 9dcccafe44ea17e972e7cddea205bbe9fe71d8d6 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <jose.quaresma@foundries.io> 2From: Jose Quaresma <jose.quaresma@foundries.io>
3Date: Mon, 15 Jul 2024 18:43:08 +0100 3Date: Mon, 15 Jul 2024 18:43:08 +0100
4Subject: [PATCH] regress/test-exec: use the absolute path in the SSH env 4Subject: [PATCH] regress/test-exec: use the absolute path in the SSH env
@@ -18,10 +18,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
18 1 file changed, 5 insertions(+) 18 1 file changed, 5 insertions(+)
19 19
20diff --git a/regress/test-exec.sh b/regress/test-exec.sh 20diff --git a/regress/test-exec.sh b/regress/test-exec.sh
21index 7afc2807..175f554b 100644 21index 8a00c72..2891f27 100644
22--- a/regress/test-exec.sh 22--- a/regress/test-exec.sh
23+++ b/regress/test-exec.sh 23+++ b/regress/test-exec.sh
24@@ -175,6 +175,11 @@ if [ "x$TEST_SSH_OPENSSL" != "x" ]; then 24@@ -179,6 +179,11 @@ if [ "x$TEST_SSH_OPENSSL" != "x" ]; then
25 fi 25 fi
26 26
27 # Path to sshd must be absolute for rexec 27 # Path to sshd must be absolute for rexec
diff --git a/meta/recipes-connectivity/openssh/openssh_9.9p2.bb b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
index 5191725796..a044aec063 100644
--- a/meta/recipes-connectivity/openssh/openssh_9.9p2.bb
+++ b/meta/recipes-connectivity/openssh/openssh_10.0p1.bb
@@ -26,7 +26,7 @@ SRC_URI = "https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.ta
26 file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \ 26 file://0001-regress-banner.sh-log-input-and-output-files-on-erro.patch \
27 file://0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch \ 27 file://0001-regress-test-exec-use-the-absolute-path-in-the-SSH-e.patch \
28 " 28 "
29SRC_URI[sha256sum] = "91aadb603e08cc285eddf965e1199d02585fa94d994d6cae5b41e1721e215673" 29SRC_URI[sha256sum] = "021a2e709a0edf4250b1256bd5a9e500411a90dddabea830ed59cef90eb9d85c"
30 30
31CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here." 31CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here."
32 32
@@ -197,7 +197,7 @@ FILES:${PN}-scp = "${bindir}/scp.${BPN}"
197FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config" 197FILES:${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
198FILES:${PN}-sshd = "${sbindir}/sshd ${libexecdir}/sshd-session ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}" 198FILES:${PN}-sshd = "${sbindir}/sshd ${libexecdir}/sshd-session ${sysconfdir}/init.d/sshd ${systemd_system_unitdir}"
199FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd" 199FILES:${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
200FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys" 200FILES:${PN}-sshd += "${libexecdir}/${BPN}/sshd_check_keys ${libexecdir}/sshd-auth"
201FILES:${PN}-sftp = "${bindir}/sftp" 201FILES:${PN}-sftp = "${bindir}/sftp"
202FILES:${PN}-sftp-server = "${libexecdir}/sftp-server" 202FILES:${PN}-sftp-server = "${libexecdir}/sftp-server"
203FILES:${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*" 203FILES:${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
diff --git a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
index 865e04deb2..fddc4dbc81 100644
--- a/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
+++ b/meta/recipes-connectivity/openssl/openssl_3.5.0.bb
@@ -31,6 +31,7 @@ PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,crypt
31PACKAGECONFIG[no-tls1] = "no-tls1" 31PACKAGECONFIG[no-tls1] = "no-tls1"
32PACKAGECONFIG[no-tls1_1] = "no-tls1_1" 32PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
33PACKAGECONFIG[manpages] = "" 33PACKAGECONFIG[manpages] = ""
34PACKAGECONFIG[fips] = "enable-fips"
34 35
35B = "${WORKDIR}/build" 36B = "${WORKDIR}/build"
36do_configure[cleandirs] = "${B}" 37do_configure[cleandirs] = "${B}"
@@ -154,7 +155,9 @@ do_compile:append () {
154} 155}
155 156
156do_install () { 157do_install () {
157 oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install_sw install_ssldirs ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'install_docs', '', d)} 158 oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install_sw install_ssldirs \
159 ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'install_docs', '', d)} \
160 ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'install_fips', '', d)}
158 161
159 oe_multilib_header openssl/opensslconf.h 162 oe_multilib_header openssl/opensslconf.h
160 oe_multilib_header openssl/configuration.h 163 oe_multilib_header openssl/configuration.h
@@ -172,6 +175,11 @@ do_install () {
172 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs 175 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-3/certs
173 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private 176 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-3/private
174 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf 177 ln -sf ${@oe.path.relative('${libdir}/ssl-3', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-3/openssl.cnf
178
179 # Generate fipsmodule.cnf in pkg_postinst_ontarget
180 if ${@bb.utils.contains('PACKAGECONFIG', 'fips', 'true', 'false', d)}; then
181 rm -f ${D}${libdir}/ssl-3/fipsmodule.cnf
182 fi
175} 183}
176 184
177do_install:append:class-native () { 185do_install:append:class-native () {
@@ -229,12 +237,18 @@ do_install_ptest() {
229 ln -s ${libdir}/ossl-modules/ ${D}${PTEST_PATH}/providers 237 ln -s ${libdir}/ossl-modules/ ${D}${PTEST_PATH}/providers
230} 238}
231 239
240pkg_postinst_ontarget:${PN}-ossl-module-fips () {
241 if test -f ${libdir}/ossl-modules/fips.so; then
242 ${bindir}/openssl fipsinstall -out ${libdir}/ssl-3/fipsmodule.cnf -module ${libdir}/ossl-modules/fips.so
243 fi
244}
245
232# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto 246# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
233# package RRECOMMENDS on this package. This will enable the configuration 247# package RRECOMMENDS on this package. This will enable the configuration
234# file to be installed for both the openssl-bin package and the libcrypto 248# file to be installed for both the openssl-bin package and the libcrypto
235# package since the openssl-bin package depends on the libcrypto package. 249# package since the openssl-bin package depends on the libcrypto package.
236 250
237PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy" 251PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc ${PN}-ossl-module-legacy ${PN}-ossl-module-fips"
238 252
239FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}" 253FILES:libcrypto = "${libdir}/libcrypto${SOLIBS}"
240FILES:libssl = "${libdir}/libssl${SOLIBS}" 254FILES:libssl = "${libdir}/libssl${SOLIBS}"
@@ -246,6 +260,7 @@ FILES:${PN}-engines = "${libdir}/engines-3"
246FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3" 260FILES:${PN}-engines:append:mingw32:class-nativesdk = " ${prefix}${libdir}/engines-3"
247FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash" 261FILES:${PN}-misc = "${libdir}/ssl-3/misc ${bindir}/c_rehash"
248FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so" 262FILES:${PN}-ossl-module-legacy = "${libdir}/ossl-modules/legacy.so"
263FILES:${PN}-ossl-module-fips = "${libdir}/ossl-modules/fips.so"
249FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/" 264FILES:${PN} =+ "${libdir}/ssl-3/* ${libdir}/ossl-modules/"
250FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh" 265FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
251 266
diff --git a/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch b/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch
deleted file mode 100644
index 97a6357ab9..0000000000
--- a/meta/recipes-core/coreutils/coreutils/0001-local.mk-fix-cross-compiling-problem.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 7cb2d20cfa2a27191255031d231cd41917dcffe8 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 26 Dec 2016 16:10:35 +0800
4Subject: [PATCH] local.mk: fix cross compiling problem
5
6We meet the following error when cross compiling.
7| Makefile:3418: *** Recursive variable 'INSTALL' references itself (eventually). Stop.
8This patch fixes this problem.
9
10Upstream-Status: Pending
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 src/local.mk | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/src/local.mk b/src/local.mk
18index 96ee941..cdd47d6 100644
19--- a/src/local.mk
20+++ b/src/local.mk
21@@ -704,4 +704,4 @@ cu_install_program = @INSTALL@
22 else
23 cu_install_program = src/ginstall
24 endif
25-INSTALL = $(cu_install_program) -c
26+INSTALL_PROGRAM = $(cu_install_program)
diff --git a/meta/recipes-core/coreutils/coreutils_9.6.bb b/meta/recipes-core/coreutils/coreutils_9.6.bb
index 6e1867f3e4..a966c4b448 100644
--- a/meta/recipes-core/coreutils/coreutils_9.6.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.6.bb
@@ -15,7 +15,6 @@ inherit autotools gettext texinfo
15 15
16SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ 16SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
17 file://remove-usr-local-lib-from-m4.patch \ 17 file://remove-usr-local-lib-from-m4.patch \
18 file://0001-local.mk-fix-cross-compiling-problem.patch \
19 file://intermittent-testfailure.patch \ 18 file://intermittent-testfailure.patch \
20 file://0001-ls-fix-crash-with-context.patch \ 19 file://0001-ls-fix-crash-with-context.patch \
21 file://0001-cksum-port-to-32-bit-uint_fast32_t.patch \ 20 file://0001-cksum-port-to-32-bit-uint_fast32_t.patch \
@@ -184,7 +183,6 @@ RRECOMMENDS:${PN}-dev += "${DEVDEPS}"
184do_install_ptest () { 183do_install_ptest () {
185 install -d ${D}${PTEST_PATH}/tests 184 install -d ${D}${PTEST_PATH}/tests
186 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests 185 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests
187 sed -i 's/ginstall/install/g' `grep -R ginstall ${D}${PTEST_PATH}/tests | awk -F: '{print $1}' | uniq`
188 install -d ${D}${PTEST_PATH}/build-aux 186 install -d ${D}${PTEST_PATH}/build-aux
189 install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/ 187 install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
190 install -Dm 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/config.h 188 install -Dm 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/config.h
@@ -198,7 +196,6 @@ do_install_ptest () {
198 sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile 196 sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
199 sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile 197 sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
200 sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile 198 sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
201 sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile
202 sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile 199 sed -i '/^CC =/s/ --sysroot=.*recipe-sysroot/ /g' ${D}${PTEST_PATH}/Makefile
203 sed -i '/^BUILD_LDFLAGS =/d' ${D}${PTEST_PATH}/Makefile 200 sed -i '/^BUILD_LDFLAGS =/d' ${D}${PTEST_PATH}/Makefile
204 chmod -R 777 ${D}${PTEST_PATH} 201 chmod -R 777 ${D}${PTEST_PATH}
@@ -211,7 +208,14 @@ do_install_ptest () {
211 208
212 # Tweak test d_type-check to use python3 instead of python 209 # Tweak test d_type-check to use python3 instead of python
213 sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check 210 sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check
214 211
212 # Fix for single-binary
213 for prog in ${D}${PTEST_PATH}/src/*; do
214 if [ -f $prog ]; then
215 sed -i "1s@#!.*/src/coreutils @#!${bindir}/coreutils @" $prog
216 fi
217 done
218
215 # handle multilib 219 # handle multilib
216 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest 220 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
217} 221}
diff --git a/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch b/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch
new file mode 100644
index 0000000000..967b66322f
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/0001-Fix-proxycmd-without-netcat.patch
@@ -0,0 +1,74 @@
1From 5cc0127000db5f7567b54d0495fb91a8e452fe09 Mon Sep 17 00:00:00 2001
2From: Konstantin Demin <rockdrilla@gmail.com>
3Date: Fri, 9 May 2025 22:39:35 +0300
4Subject: [PATCH] Fix proxycmd without netcat
5
6fixes e5a0ef27c2 "Execute multihop commands directly, no shell"
7
8Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
9
10Upstream-Status: Backport [https://github.com/mkj/dropbear/commit/5cc0127000db5f7567b54d0495fb91a8e452fe09]
11Signed-off-by: Peter Marko <peter.marko@siemens.com>
12---
13 src/cli-main.c | 12 +++++++++++-
14 1 file changed, 11 insertions(+), 1 deletion(-)
15
16diff --git a/src/cli-main.c b/src/cli-main.c
17index 2fafa88..0a052a3 100644
18--- a/src/cli-main.c
19+++ b/src/cli-main.c
20@@ -77,7 +77,11 @@ int main(int argc, char ** argv) {
21 }
22
23 #if DROPBEAR_CLI_PROXYCMD
24- if (cli_opts.proxycmd || cli_opts.proxyexec) {
25+ if (cli_opts.proxycmd
26+#if DROPBEAR_CLI_MULTIHOP
27+ || cli_opts.proxyexec
28+#endif
29+ ) {
30 cli_proxy_cmd(&sock_in, &sock_out, &proxy_cmd_pid);
31 if (signal(SIGINT, kill_proxy_sighandler) == SIG_ERR ||
32 signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR ||
33@@ -110,11 +114,13 @@ static void shell_proxy_cmd(const void *user_data_cmd) {
34 dropbear_exit("Failed to run '%s'\n", cmd);
35 }
36
37+#if DROPBEAR_CLI_MULTIHOP
38 static void exec_proxy_cmd(const void *unused) {
39 (void)unused;
40 run_command(cli_opts.proxyexec[0], cli_opts.proxyexec, ses.maxfd);
41 dropbear_exit("Failed to run '%s'\n", cli_opts.proxyexec[0]);
42 }
43+#endif
44
45 static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) {
46 char * cmd_arg = NULL;
47@@ -145,9 +151,11 @@ static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) {
48 cmd_arg = m_malloc(shell_cmdlen);
49 snprintf(cmd_arg, shell_cmdlen, "exec %s", cli_opts.proxycmd);
50 exec_fn = shell_proxy_cmd;
51+#if DROPBEAR_CLI_MULTIHOP
52 } else {
53 /* No shell */
54 exec_fn = exec_proxy_cmd;
55+#endif
56 }
57
58 ret = spawn_command(exec_fn, cmd_arg, sock_out, sock_in, NULL, pid_out);
59@@ -159,6 +167,7 @@ static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) {
60 cleanup:
61 m_free(cli_opts.proxycmd);
62 m_free(cmd_arg);
63+#if DROPBEAR_CLI_MULTIHOP
64 if (cli_opts.proxyexec) {
65 char **a = NULL;
66 for (a = cli_opts.proxyexec; *a; a++) {
67@@ -166,6 +175,7 @@ cleanup:
68 }
69 m_free(cli_opts.proxyexec);
70 }
71+#endif
72 }
73
74 static void kill_proxy_sighandler(int UNUSED(signo)) {
diff --git a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
index 9c1dd3f606..0687e5dab1 100644
--- a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
+++ b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
@@ -12,7 +12,7 @@ diff --git a/src/default_options.h b/src/default_options.h
12index 6e970bb..ccc8b47 100644 12index 6e970bb..ccc8b47 100644
13--- a/src/default_options.h 13--- a/src/default_options.h
14+++ b/src/default_options.h 14+++ b/src/default_options.h
15@@ -311,7 +311,7 @@ group1 in Dropbear server too */ 15@@ -317,7 +317,7 @@ group1 in Dropbear server too */
16 16
17 /* The command to invoke for xauth when using X11 forwarding. 17 /* The command to invoke for xauth when using X11 forwarding.
18 * "-q" for quiet */ 18 * "-q" for quiet */
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
deleted file mode 100644
index a20781d31d..0000000000
--- a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From c8a0c8e87b772576f3a431c3b4cacaf5aa001dcc Mon Sep 17 00:00:00 2001
2From: Joseph Reynolds <joseph.reynolds1@ibm.com>
3Date: Thu, 20 Jun 2019 16:29:15 -0500
4Subject: [PATCH] dropbear: new feature: disable-weak-ciphers
5
6This feature disables all CBC, SHA1, and diffie-hellman group1 ciphers
7in the dropbear ssh server and client since they're considered weak ciphers
8and we want to support the stong algorithms.
9
10Upstream-Status: Inappropriate [configuration]
11Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com>
12---
13 src/default_options.h | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/default_options.h b/src/default_options.h
17index 12768d1..2b07497 100644
18--- a/src/default_options.h
19+++ b/src/default_options.h
20@@ -197,7 +197,7 @@ IMPORTANT: Some options will require "make clean" after changes */
21 * Small systems should generally include either curve25519 or ecdh for performance.
22 * curve25519 is less widely supported but is faster
23 */
24-#define DROPBEAR_DH_GROUP14_SHA1 1
25+#define DROPBEAR_DH_GROUP14_SHA1 0
26 #define DROPBEAR_DH_GROUP14_SHA256 1
27 #define DROPBEAR_DH_GROUP16 0
28 #define DROPBEAR_CURVE25519 1
diff --git a/meta/recipes-core/dropbear/dropbear_2024.86.bb b/meta/recipes-core/dropbear/dropbear_2025.88.bb
index be246a0ccd..f203763b17 100644
--- a/meta/recipes-core/dropbear/dropbear_2024.86.bb
+++ b/meta/recipes-core/dropbear/dropbear_2025.88.bb
@@ -19,11 +19,12 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
19 file://dropbear@.service \ 19 file://dropbear@.service \
20 file://dropbear.socket \ 20 file://dropbear.socket \
21 file://dropbear.default \ 21 file://dropbear.default \
22 file://0001-Fix-proxycmd-without-netcat.patch \
22 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ 23 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
23 ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \
24 " 24 "
25 25
26SRC_URI[sha256sum] = "e78936dffc395f2e0db099321d6be659190966b99712b55c530dd0a1822e0a5e" 26SRC_URI[sha256sum] = "783f50ea27b17c16da89578fafdb6decfa44bb8f6590e5698a4e4d3672dc53d4"
27MIRRORS += "http://matt.ucc.asn.au/dropbear/releases/ https://dropbear.nl/mirror/releases/"
27 28
28PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ 29PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
29 file://0006-dropbear-configuration-file.patch \ 30 file://0006-dropbear-configuration-file.patch \
@@ -47,10 +48,9 @@ SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
47BINCOMMANDS = "dbclient ssh scp" 48BINCOMMANDS = "dbclient ssh scp"
48EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"' 49EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
49 50
50PACKAGECONFIG ?= "disable-weak-ciphers ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" 51PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
51PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}" 52PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,${PAM_PLUGINS}"
52PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt" 53PACKAGECONFIG[system-libtom] = "--disable-bundled-libtom,--enable-bundled-libtom,libtommath libtomcrypt"
53PACKAGECONFIG[disable-weak-ciphers] = ""
54PACKAGECONFIG[enable-x11-forwarding] = "" 54PACKAGECONFIG[enable-x11-forwarding] = ""
55 55
56# This option appends to CFLAGS and LDFLAGS from OE 56# This option appends to CFLAGS and LDFLAGS from OE
diff --git a/meta/recipes-devtools/clang/clang/0038-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch b/meta/recipes-devtools/clang/clang/0038-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch
new file mode 100644
index 0000000000..4639a73fe6
--- /dev/null
+++ b/meta/recipes-devtools/clang/clang/0038-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch
@@ -0,0 +1,61 @@
1From 5a0daa2dcc2bb39d87c4fcae7036cd8ab7ee6f6d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 10 May 2025 14:03:12 -0700
4Subject: [PATCH] compiler-rt: Exclude sync_fetch_and_* for any pre-ARMv6 targets
5
6Sometimes builds may happen where ABI is not indidated by host_triple
7e.g. on Yocto the compiler used is called arm-poky-linux-gnueabi-clang
8for all arm32 cross compilers, it passed the ABI flags on cmdline in
9addition. e.g.
10
11-march=armv5te -mfloat-abi=soft
12or
13-march=armv7-a -mfloat-abi=hard
14
15compiler-rt's makery tries to add arm to COMPILER_RT_SUPPORTED_ARCH
16deducing it from triple name.
17
18which ends up choosing `arm` as one of compiler-rt arch to build for.
19This arch is however using armv7+ defaults and then tried to build sync
20builtins using
21
22arm-poky-linux-gnueabi-clang -march=armv5te -mfloat-abi=soft ...
23
24Which does not compile correctly, in such cases it should simply
25remove the sync builtins from list of things to build similar to what
26is done when we use armv4t or armv5t
27
28set(armv4t_SOURCES ${arm_min_SOURCES})
29set(armv5te_SOURCES ${arm_min_SOURCES})
30
31This lets compiler-rt build for arm architectures without depending
32upong compiler triple, but instead of poking the compiler for what
33it is building for
34
35Upstream-Status: Submitted [https://github.com/llvm/llvm-project/pull/139411]
36Signed-off-by: Khem Raj <raj.khem@gmail.com>
37---
38 compiler-rt/lib/builtins/CMakeLists.txt | 12 ++++++++++++
39 1 file changed, 12 insertions(+)
40
41--- a/compiler-rt/lib/builtins/CMakeLists.txt
42+++ b/compiler-rt/lib/builtins/CMakeLists.txt
43@@ -864,6 +864,18 @@ else ()
44 list(JOIN BUILTIN_CFLAGS " " CMAKE_REQUIRED_FLAGS)
45 set(CMAKE_REQUIRED_FLAGS "${TARGET_${arch}_CFLAGS} ${BUILTIN_CFLAGS_${arch}}")
46 message(STATUS "Performing additional configure checks with target flags: ${CMAKE_REQUIRED_FLAGS}")
47+ # For ARM archs, exclude any sync builtins if dmb or mcr p15, #0, r0, c7, c10, #5
48+ # is not supported
49+ if (${arch} MATCHES "^(arm|armhf)$")
50+ try_compile_only(COMPILER_RT_HAS_${arch}_SYNC
51+ SOURCE "#if __ARM_ARCH < 6
52+ #error DMB is only supported on ARMv6+ !
53+ #endif
54+ int main(void) { return 0; }")
55+ if(NOT COMPILER_RT_HAS_${arch}_SYNC)
56+ list(REMOVE_ITEM ${arch}_SOURCES ${arm_sync_SOURCES})
57+ endif()
58+ endif()
59 # For ARM archs, exclude any VFP builtins if VFP is not supported
60 if (${arch} MATCHES "^(arm|armhf|armv7|armv7s|armv7k|armv7m|armv7em|armv8m.main|armv8.1m.main)$")
61 string(REPLACE ";" " " _TARGET_${arch}_CFLAGS "${TARGET_${arch}_CFLAGS}")
diff --git a/meta/recipes-devtools/clang/common.inc b/meta/recipes-devtools/clang/common.inc
index 07315f17e4..f661a6283e 100644
--- a/meta/recipes-devtools/clang/common.inc
+++ b/meta/recipes-devtools/clang/common.inc
@@ -57,6 +57,7 @@ SRC_URI = "\
57 file://0034-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \ 57 file://0034-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch \
58 file://0035-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch \ 58 file://0035-llvm-config-remove-LLVM_LDFLAGS-from-ldflags-output.patch \
59 file://0036-openmp-Do-not-emit-date-and-time-into-generate-files.patch \ 59 file://0036-openmp-Do-not-emit-date-and-time-into-generate-files.patch \
60 file://0038-compiler-rt-Exclude-sync_fetch_and_-for-any-pre-ARMv.patch \
60" 61"
61# Fallback to no-PIE if not set 62# Fallback to no-PIE if not set
62GCCPIE ??= "" 63GCCPIE ??= ""
diff --git a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
index bb3c8aa20a..f8e7bb13d2 100644
--- a/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt-sanitizers_git.bb
@@ -14,6 +14,14 @@ BPN = "compiler-rt-sanitizers"
14 14
15inherit cmake pkgconfig python3native 15inherit cmake pkgconfig python3native
16 16
17def get_compiler_rt_arch(bb, d):
18 if bb.utils.contains('TUNE_FEATURES', 'armv5 thumb dsp', True, False, d):
19 return 'armv5te'
20 elif bb.utils.contains('TUNE_FEATURES', 'armv4 thumb', True, False, d):
21 return 'armv4t'
22 elif bb.utils.contains('TUNE_FEATURES', 'arm vfp callconvention-hard', True, False, d):
23 return 'armhf'
24 return d.getVar('HOST_ARCH')
17 25
18LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a" 26LIC_FILES_CHKSUM = "file://compiler-rt/LICENSE.TXT;md5=d846d1d65baf322d4c485d6ee54e877a"
19 27
@@ -56,6 +64,7 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
56 -DCOMPILER_RT_BUILD_LIBFUZZER=ON \ 64 -DCOMPILER_RT_BUILD_LIBFUZZER=ON \
57 -DCOMPILER_RT_BUILD_PROFILE=ON \ 65 -DCOMPILER_RT_BUILD_PROFILE=ON \
58 -DCOMPILER_RT_BUILD_MEMPROF=ON \ 66 -DCOMPILER_RT_BUILD_MEMPROF=ON \
67 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${@get_compiler_rt_arch(bb, d)} \
59 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ 68 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \
60 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ 69 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
61 -DLLVM_APPEND_VC_REV=OFF \ 70 -DLLVM_APPEND_VC_REV=OFF \
@@ -64,16 +73,13 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
64 73
65EXTRA_OECMAKE:append:class-native = "\ 74EXTRA_OECMAKE:append:class-native = "\
66 -DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \ 75 -DCOMPILER_RT_USE_BUILTINS_LIBRARY=OFF \
67 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \
68 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
69 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${HOST_ARCH} \
70" 76"
71 77
72EXTRA_OECMAKE:append:class-target = "\ 78EXTRA_OECMAKE:append:class-target = "\
73 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 79 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
74 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 80 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
75 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 81 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
76 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \ 82 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
77 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ 83 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
78 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ 84 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
79" 85"
@@ -84,12 +90,11 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
84 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 90 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
85 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 91 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
86 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 92 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
87 -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS} \ 93 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
88 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ 94 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
89" 95"
90 96
91EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " 97EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON "
92EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc "
93 98
94do_install:append () { 99do_install:append () {
95 mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib 100 mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib
diff --git a/meta/recipes-devtools/clang/compiler-rt_git.bb b/meta/recipes-devtools/clang/compiler-rt_git.bb
index 0a0ef6be80..ad145f8644 100644
--- a/meta/recipes-devtools/clang/compiler-rt_git.bb
+++ b/meta/recipes-devtools/clang/compiler-rt_git.bb
@@ -58,11 +58,19 @@ BUILD_CXX = "${CCACHE}clang++ ${BUILD_CC_ARCH}"
58LDFLAGS += "${COMPILER_RT} ${UNWINDLIB}" 58LDFLAGS += "${COMPILER_RT} ${UNWINDLIB}"
59CXXFLAGS += "${LIBCPLUSPLUS}" 59CXXFLAGS += "${LIBCPLUSPLUS}"
60 60
61def get_compiler_rt_arch(bb, d):
62 if bb.utils.contains('TUNE_FEATURES', 'armv5 thumb dsp', True, False, d):
63 return 'armv5te'
64 elif bb.utils.contains('TUNE_FEATURES', 'armv4 thumb', True, False, d):
65 return 'armv4t'
66 elif bb.utils.contains('TUNE_FEATURES', 'arm vfp callconvention-hard', True, False, d):
67 return 'armhf'
68 return d.getVar('HOST_ARCH')
69
61OECMAKE_TARGET_COMPILE = "compiler-rt" 70OECMAKE_TARGET_COMPILE = "compiler-rt"
62OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" 71OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers"
63OECMAKE_SOURCEPATH = "${S}/llvm" 72OECMAKE_SOURCEPATH = "${S}/llvm"
64EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ 73EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
65 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
66 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ 74 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
67 -DCOMPILER_RT_STANDALONE_BUILD=ON \ 75 -DCOMPILER_RT_STANDALONE_BUILD=ON \
68 -DCOMPILER_RT_INCLUDE_TESTS=OFF \ 76 -DCOMPILER_RT_INCLUDE_TESTS=OFF \
@@ -70,11 +78,10 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \
70 -DCOMPILER_RT_BUILD_SANITIZERS=OFF \ 78 -DCOMPILER_RT_BUILD_SANITIZERS=OFF \
71 -DCOMPILER_RT_BUILD_MEMPROF=OFF \ 79 -DCOMPILER_RT_BUILD_MEMPROF=OFF \
72 -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \ 80 -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
73 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${HOST_ARCH} \ 81 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=${@get_compiler_rt_arch(bb, d)} \
74 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ 82 -DLLVM_ENABLE_RUNTIMES='compiler-rt' \
75 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ 83 -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \
76 -DLLVM_APPEND_VC_REV=OFF \ 84 -DLLVM_APPEND_VC_REV=OFF \
77 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
78 -S ${S}/runtimes \ 85 -S ${S}/runtimes \
79" 86"
80 87
@@ -82,6 +89,8 @@ EXTRA_OECMAKE:append:class-target = "\
82 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ 89 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
83 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ 90 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
84 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 91 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
92 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
93 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
85 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ 94 -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
86" 95"
87 96
@@ -91,6 +100,8 @@ EXTRA_OECMAKE:append:class-nativesdk = "\
91 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ 100 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
92 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 101 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
93 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 102 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
103 -DCMAKE_C_COMPILER_TARGET=${HOST_SYS} \
104 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
94" 105"
95 106
96do_install:append () { 107do_install:append () {
diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index 2dbbc23c94..d9959364c3 100644
--- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -34,6 +34,7 @@ python gcc_multilib_setup() {
34 '%s/aarch64/aarch64-linux.h' % src_conf_dir, 34 '%s/aarch64/aarch64-linux.h' % src_conf_dir,
35 '%s/aarch64/aarch64-cores.def' % src_conf_dir, 35 '%s/aarch64/aarch64-cores.def' % src_conf_dir,
36 '%s/arm/linux-eabi.h' % src_conf_dir, 36 '%s/arm/linux-eabi.h' % src_conf_dir,
37 '%s/riscv/t-linux*' % src_conf_dir,
37 '%s/*/linux.h' % src_conf_dir, 38 '%s/*/linux.h' % src_conf_dir,
38 '%s/linux.h' % src_conf_dir) 39 '%s/linux.h' % src_conf_dir)
39 40
@@ -45,6 +46,9 @@ python gcc_multilib_setup() {
45 bb.utils.mkdirhier('%s/%s' % (build_conf_dir, parent_dir)) 46 bb.utils.mkdirhier('%s/%s' % (build_conf_dir, parent_dir))
46 bb.utils.copyfile(fn, '%s/%s' % (build_conf_dir, rel_path)) 47 bb.utils.copyfile(fn, '%s/%s' % (build_conf_dir, rel_path))
47 48
49 # For now, force the riscv multilib view to our own meaning we can always enable multilib
50 bb.utils.copyfile('%s/riscv/t-linux' % src_conf_dir, '%s/riscv/t-linux-multilib' % build_conf_dir)
51
48 pn = d.getVar('PN') 52 pn = d.getVar('PN')
49 multilibs = (d.getVar('MULTILIB_VARIANTS') or '').split() 53 multilibs = (d.getVar('MULTILIB_VARIANTS') or '').split()
50 if not multilibs and pn != "nativesdk-gcc": 54 if not multilibs and pn != "nativesdk-gcc":
@@ -145,6 +149,7 @@ python gcc_multilib_setup() {
145 'i686' : ['gcc/config/i386/t-linux64'], 149 'i686' : ['gcc/config/i386/t-linux64'],
146 'mips' : ['gcc/config/mips/t-linux64'], 150 'mips' : ['gcc/config/mips/t-linux64'],
147 'mips64' : ['gcc/config/mips/t-linux64'], 151 'mips64' : ['gcc/config/mips/t-linux64'],
152 'riscv64' : ['gcc/config/riscv/t-linux-multilib'],
148 'powerpc' : ['gcc/config/rs6000/t-linux64'], 153 'powerpc' : ['gcc/config/rs6000/t-linux64'],
149 'powerpc64' : ['gcc/config/rs6000/t-linux64'], 154 'powerpc64' : ['gcc/config/rs6000/t-linux64'],
150 'aarch64' : ['gcc/config/aarch64/t-aarch64'], 155 'aarch64' : ['gcc/config/aarch64/t-aarch64'],
@@ -161,6 +166,7 @@ python gcc_multilib_setup() {
161 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'], 166 'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
162 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], 167 'aarch64' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
163 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'], 168 'arm' : ['gcc/config/linux.h', 'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
169 'riscv64' : ['gcc/config/linux.h'],
164 } 170 }
165 171
166 libdir32 = 'SYSTEMLIBS_DIR' 172 libdir32 = 'SYSTEMLIBS_DIR'
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index afcc13a310..fe1f43b2fd 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -144,6 +144,11 @@ do_install:append:class-target () {
144 ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32 144 ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32
145 fi 145 fi
146 146
147 if [ "${TARGET_ARCH}" = "riscv64" -a "${MULTILIB_VARIANTS}" = "" ]; then
148 mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/bits/* ${D}${includedir}/c++/${BINV}/bits
149 mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/ext/* ${D}${includedir}/c++/${BINV}/ext
150 fi
151
147 if [ "${TCLIBC}" != "glibc" ]; then 152 if [ "${TCLIBC}" != "glibc" ]; then
148 case "${TARGET_OS}" in 153 case "${TARGET_OS}" in
149 "linux-musl" | "linux-*spe") extra_target_os="linux";; 154 "linux-musl" | "linux-*spe") extra_target_os="linux";;
diff --git a/meta/recipes-devtools/go/go-1.24.2.inc b/meta/recipes-devtools/go/go-1.24.3.inc
index cb4ae9ef80..78e26146b5 100644
--- a/meta/recipes-devtools/go/go-1.24.2.inc
+++ b/meta/recipes-devtools/go/go-1.24.3.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
17 file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \ 17 file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
18 file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \ 18 file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
19" 19"
20SRC_URI[main.sha256sum] = "9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00" 20SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.2.bb b/meta/recipes-devtools/go/go-binary-native_1.24.3.bb
index 690b8546cb..af56dc9111 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.24.2.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.24.3.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
9 9
10# Checksums available at https://go.dev/dl/ 10# Checksums available at https://go.dev/dl/
11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" 11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
12SRC_URI[go_linux_amd64.sha256sum] = "68097bd680839cbc9d464a0edce4f7c333975e27a90246890e9f1078c7e702ad" 12SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8"
13SRC_URI[go_linux_arm64.sha256sum] = "756274ea4b68fa5535eb9fe2559889287d725a8da63c6aae4d5f23778c229f4b" 13SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836"
14SRC_URI[go_linux_ppc64le.sha256sum] = "5fff857791d541c71d8ea0171c73f6f99770d15ff7e2ad979104856d01f36563" 14SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856"
15 15
16UPSTREAM_CHECK_URI = "https://golang.org/dl/" 16UPSTREAM_CHECK_URI = "https://golang.org/dl/"
17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" 17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb
index 7ac9449e47..7ac9449e47 100644
--- a/meta/recipes-devtools/go/go-cross-canadian_1.24.2.bb
+++ b/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.24.2.bb b/meta/recipes-devtools/go/go-cross_1.24.3.bb
index 80b5a03f6c..80b5a03f6c 100644
--- a/meta/recipes-devtools/go/go-cross_1.24.2.bb
+++ b/meta/recipes-devtools/go/go-cross_1.24.3.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.2.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb
index 1857c8a577..1857c8a577 100644
--- a/meta/recipes-devtools/go/go-crosssdk_1.24.2.bb
+++ b/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb
diff --git a/meta/recipes-devtools/go/go-runtime_1.24.2.bb b/meta/recipes-devtools/go/go-runtime_1.24.3.bb
index 63464a1501..63464a1501 100644
--- a/meta/recipes-devtools/go/go-runtime_1.24.2.bb
+++ b/meta/recipes-devtools/go/go-runtime_1.24.3.bb
diff --git a/meta/recipes-devtools/go/go_1.24.2.bb b/meta/recipes-devtools/go/go_1.24.3.bb
index 46f5fbc6be..46f5fbc6be 100644
--- a/meta/recipes-devtools/go/go_1.24.2.bb
+++ b/meta/recipes-devtools/go/go_1.24.3.bb
diff --git a/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch b/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch
deleted file mode 100644
index bbafc29416..0000000000
--- a/meta/recipes-devtools/python/python3-cython/0001-Output-import-relative-paths-in-generated-C-code.-GH.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1From 9b5f3b09f76899eba510c2d8f3ed2b0f752a4d1b Mon Sep 17 00:00:00 2001
2From: Oscar Benjamin <oscar.j.benjamin@gmail.com>
3Date: Sat, 24 Aug 2024 08:30:31 +0100
4Subject: [PATCH] Output import-relative paths in generated C code. (GH-6341)
5
6When cython is run on a file that is not in the current working directory,
7it outputs filepaths that are either absolute or are basenames.
8It is not good to output absolute paths in the generated C code and
9basenames mess up coverage measurement.
10
11Upstream-Status: Backport [20bceea6b19ffc2f65b9fba2e4f737f09e5a2b20]
12Signed-off-by: Ross Burton <ross.burton@arm.com>
13---
14 Cython/Compiler/ExprNodes.py | 8 +++++++-
15 Cython/Compiler/ModuleNode.py | 9 ++++++---
16 2 files changed, 13 insertions(+), 4 deletions(-)
17
18diff --git a/Cython/Compiler/ExprNodes.py b/Cython/Compiler/ExprNodes.py
19index a6bb1688e..0fbb15368 100644
20--- a/Cython/Compiler/ExprNodes.py
21+++ b/Cython/Compiler/ExprNodes.py
22@@ -21,6 +21,7 @@ import re
23 import sys
24 import copy
25 import os.path
26+import pathlib
27 import operator
28
29 from .Errors import (
30@@ -10072,7 +10073,12 @@ class CodeObjectNode(ExprNode):
31 func_name = code.get_py_string_const(
32 func.name, identifier=True, is_str=False, unicode_value=func.name)
33 # FIXME: better way to get the module file path at module init time? Encoding to use?
34- file_path = StringEncoding.bytes_literal(func.pos[0].get_filenametable_entry().encode('utf8'), 'utf8')
35+ file_path = func.pos[0].get_filenametable_entry()
36+ if os.path.isabs(file_path):
37+ file_path = func.pos[0].get_description()
38+ # Always use / as separator
39+ file_path = pathlib.Path(file_path).as_posix()
40+ file_path = StringEncoding.bytes_literal(file_path.encode('utf-8'), 'utf8')
41 file_path_const = code.get_py_string_const(file_path, identifier=False, is_str=True)
42
43 # This combination makes CPython create a new dict for "frame.f_locals" (see GH #1836).
44diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
45index 43c6b5f07..8c29d6db7 100644
46--- a/Cython/Compiler/ModuleNode.py
47+++ b/Cython/Compiler/ModuleNode.py
48@@ -13,6 +13,7 @@ from collections import defaultdict
49 import json
50 import operator
51 import os
52+import pathlib
53 import re
54 import sys
55
56@@ -944,9 +945,11 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
57 for source_desc in code.globalstate.filename_list:
58 file_path = source_desc.get_filenametable_entry()
59 if isabs(file_path):
60- file_path = basename(file_path) # never include absolute paths
61- escaped_filename = file_path.replace("\\", "\\\\").replace('"', r'\"')
62- escaped_filename = as_encoded_filename(escaped_filename)
63+ # never include absolute paths
64+ file_path = source_desc.get_description()
65+ # Always use / as separator
66+ file_path = pathlib.Path(file_path).as_posix()
67+ escaped_filename = as_encoded_filename(file_path)
68 code.putln('%s,' % escaped_filename.as_c_string_literal())
69 else:
70 # Some C compilers don't like an empty array
71--
722.34.1
73
diff --git a/meta/recipes-devtools/python/python3-cython_3.0.12.bb b/meta/recipes-devtools/python/python3-cython_3.1.0.bb
index f1951e3ae6..f93135b94b 100644
--- a/meta/recipes-devtools/python/python3-cython_3.0.12.bb
+++ b/meta/recipes-devtools/python/python3-cython_3.1.0.bb
@@ -7,8 +7,7 @@ SECTION = "devel/python"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c" 8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c"
9 9
10SRC_URI += "file://0001-Output-import-relative-paths-in-generated-C-code.-GH.patch" 10SRC_URI[sha256sum] = "1097dd60d43ad0fff614a57524bfd531b35c13a907d13bee2cc2ec152e6bf4a1"
11SRC_URI[sha256sum] = "b988bb297ce76c671e28c97d017b95411010f7c77fa6623dd0bb47eed1aee1bc"
12 11
13inherit pypi setuptools3 cython 12inherit pypi setuptools3 cython
14 13
diff --git a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
index 508754286f..39b62f6f26 100644
--- a/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
+++ b/meta/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch
@@ -1,16 +1,21 @@
1From 701720a5bab5b42fd7520fd9dd95fd2c7e42c186 Mon Sep 17 00:00:00 2001 1From e7a8a7385f561f214054cf95f0a22bfa064eee0b Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 30 Jan 2019 12:41:04 +0100 3Date: Wed, 30 Jan 2019 12:41:04 +0100
4Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data 4Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data
5 5
6Upstream-Status: Inappropriate [oe-core specific] 6Upstream-Status: Inappropriate [oe-core specific]
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8
9Update to remove test_types from the test list, since that fails under
10qemu now.
11
12Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
8--- 13---
9 Makefile.pre.in | 3 +-- 14 Makefile.pre.in | 3 +--
10 1 file changed, 1 insertion(+), 2 deletions(-) 15 1 file changed, 1 insertion(+), 2 deletions(-)
11 16
12diff --git a/Makefile.pre.in b/Makefile.pre.in 17diff --git a/Makefile.pre.in b/Makefile.pre.in
13index f9932dd..be1b9ea 100644 18index 3bd4495f95b..8e8fc60bc76 100644
14--- a/Makefile.pre.in 19--- a/Makefile.pre.in
15+++ b/Makefile.pre.in 20+++ b/Makefile.pre.in
16@@ -751,8 +751,7 @@ profile-run-stamp: 21@@ -751,8 +751,7 @@ profile-run-stamp:
@@ -19,7 +24,10 @@ index f9932dd..be1b9ea 100644
19 # Next, run the profile task to generate the profile information. 24 # Next, run the profile task to generate the profile information.
20- @ # FIXME: can't run for a cross build 25- @ # FIXME: can't run for a cross build
21- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) 26- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK)
22+ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_types 27+ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict
23 $(LLVM_PROF_MERGER) 28 $(LLVM_PROF_MERGER)
24 # Remove profile generation binary since we are done with it. 29 # Remove profile generation binary since we are done with it.
25 $(MAKE) clean-retain-profile 30 $(MAKE) clean-retain-profile
31--
322.39.5
33
diff --git a/meta/recipes-devtools/python/python3_3.13.2.bb b/meta/recipes-devtools/python/python3_3.13.3.bb
index 8e16ce90dc..6839d28e19 100644
--- a/meta/recipes-devtools/python/python3_3.13.2.bb
+++ b/meta/recipes-devtools/python/python3_3.13.3.bb
@@ -36,7 +36,7 @@ SRC_URI:append:class-native = " \
36 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \ 36 file://0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch \
37 " 37 "
38 38
39SRC_URI[sha256sum] = "d984bcc57cd67caab26f7def42e523b1c015bbc5dc07836cf4f0b63fa159eb56" 39SRC_URI[sha256sum] = "40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041"
40 40
41# exclude pre-releases for both python 2.x and 3.x 41# exclude pre-releases for both python 2.x and 3.x
42UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" 42UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
diff --git a/meta/recipes-devtools/rpm-sequoia/files/0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch b/meta/recipes-devtools/rpm-sequoia/files/0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch
new file mode 100644
index 0000000000..d0179fc53c
--- /dev/null
+++ b/meta/recipes-devtools/rpm-sequoia/files/0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch
@@ -0,0 +1,35 @@
1From 590937523deea4ad2a2ee0e1ae4412a8f59e0170 Mon Sep 17 00:00:00 2001
2From: Ines KCHELFI <ines.kchelfi@smile.fr>
3Date: Thu, 10 Apr 2025 15:14:11 +0200
4Subject: [PATCH] Use optional env vars to force runtime paths in tests
5
6Signed-off-by: Ines KCHELFI <ines.kchelfi@smile.fr>
7Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm-sequoia/pull/86]
8---
9 tests/symbols.rs | 6 ++++--
10 1 file changed, 4 insertions(+), 2 deletions(-)
11
12diff --git a/tests/symbols.rs b/tests/symbols.rs
13index c16dd9b..dc4a42c 100644
14--- a/tests/symbols.rs
15+++ b/tests/symbols.rs
16@@ -14,7 +14,8 @@ fn symbols() -> anyhow::Result<()> {
17 // OUT_DIR gives us
18 // `/tmp/rpm-sequoia/debug/build/rpm-sequoia-HASH/out`.
19
20- let out_dir = PathBuf::from(env!("OUT_DIR"));
21+ let out_dir = PathBuf::from(option_env!("FORCE_RUNTIME_PATH_LIB")
22+ .unwrap_or(env!("OUT_DIR")));
23 let mut build_dir = out_dir;
24 let lib = loop {
25 let mut lib = build_dir.clone();
26@@ -53,7 +54,8 @@ fn symbols() -> anyhow::Result<()> {
27 }
28
29 let mut expected_symbols_txt_fn
30- = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
31+ = PathBuf::from(option_env!("FORCE_RUNTIME_PATH_SRC")
32+ .unwrap_or(env!("CARGO_MANIFEST_DIR")));
33 expected_symbols_txt_fn.push("src/symbols.txt");
34
35 let mut expected_symbols_txt = Vec::new();
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 57062b100a..6ef626e466 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
@@ -10,9 +10,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f0ff5ff7747cf7d394079c6ae87f5f0c"
10 10
11DEPENDS = "openssl" 11DEPENDS = "openssl"
12 12
13inherit pkgconfig rust cargo cargo-update-recipe-crates 13inherit pkgconfig rust cargo cargo-update-recipe-crates ptest-cargo
14
15SRC_URI = "git://github.com/rpm-software-management/rpm-sequoia.git;protocol=https;branch=main \
16 file://0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch \
17"
14 18
15SRC_URI = "git://github.com/rpm-software-management/rpm-sequoia.git;protocol=https;branch=main"
16 19
17SRCREV = "0667e04ae7fb8cf0490919978d69883d16400e41" 20SRCREV = "0667e04ae7fb8cf0490919978d69883d16400e41"
18 21
@@ -41,6 +44,13 @@ do_compile:prepend () {
41 export LIBDIR="${libdir}" 44 export LIBDIR="${libdir}"
42} 45}
43 46
47# By default, ptest binaries contain host build dir paths.
48# Use custom environment variables to force these paths to match the target instead.
49do_compile_ptest_cargo:prepend() {
50 os.environ["FORCE_RUNTIME_PATH_LIB"] = d.getVar("libdir")
51 os.environ["FORCE_RUNTIME_PATH_SRC"] = d.getVar("PTEST_PATH")
52}
53
44do_install:append () { 54do_install:append () {
45 # Move the library to the correct location expected by rpm-sequoia.pc 55 # Move the library to the correct location expected by rpm-sequoia.pc
46 mkdir -p ${D}${libdir} 56 mkdir -p ${D}${libdir}
@@ -54,6 +64,18 @@ do_install:append () {
54 install -m644 ${S}/target/release/rpm-sequoia.pc ${D}${libdir}/pkgconfig 64 install -m644 ${S}/target/release/rpm-sequoia.pc ${D}${libdir}/pkgconfig
55} 65}
56 66
67do_install_ptest:append () {
68 install -d ${D}${PTEST_PATH}/src
69 install -m 644 ${S}/src/symbols.txt ${D}${PTEST_PATH}/src/symbols.txt
70}
71
72# Tests need objdump
73# ptest requires a symlinked library that is only present in the -dev package,
74# so we add the -dev to runtime dependencies.
75# The "dev-deps" QA check is skipped to avoid warnings about this dev package dependency.
76RDEPENDS:${PN}-ptest += "binutils ${PN}-dev"
77INSANE_SKIP:${PN}-ptest += "dev-deps"
78
57RDEPENDS:${PN} = "rpm-sequoia-crypto-policy" 79RDEPENDS:${PN} = "rpm-sequoia-crypto-policy"
58PACKAGE_WRITE_DEPS += "rpm-sequoia-crypto-policy-native" 80PACKAGE_WRITE_DEPS += "rpm-sequoia-crypto-policy-native"
59 81
diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
index 909bc971db..048fc3f10b 100644
--- a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
+++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
@@ -103,50 +103,6 @@ index 1a9d3d3f12f..0a9cfc48806 100644
103 fn test_get_mut_poison() { 103 fn test_get_mut_poison() {
104 let mut m = new_poisoned_rwlock(NonCopy(10)); 104 let mut m = new_poisoned_rwlock(NonCopy(10));
105 105
106diff --git a/library/std/src/thread/tests.rs b/library/std/src/thread/tests.rs
107index 5d6b9e94ee9..a5aacb2eb87 100644
108--- a/library/std/src/thread/tests.rs
109+++ b/library/std/src/thread/tests.rs
110@@ -116,6 +116,7 @@ fn test_is_finished() {
111 }
112
113 #[test]
114+#[ignore]
115 fn test_join_panic() {
116 match thread::spawn(move || panic!()).join() {
117 result::Result::Err(_) => (),
118@@ -218,6 +219,7 @@ fn test_simple_newsched_spawn() {
119 }
120
121 #[test]
122+#[ignore]
123 fn test_try_panic_message_string_literal() {
124 match thread::spawn(move || {
125 panic!("static string");
126@@ -234,6 +236,7 @@ fn test_try_panic_message_string_literal() {
127 }
128
129 #[test]
130+#[ignore]
131 fn test_try_panic_any_message_owned_str() {
132 match thread::spawn(move || {
133 panic_any("owned string".to_string());
134@@ -250,6 +253,7 @@ fn test_try_panic_any_message_owned_str() {
135 }
136
137 #[test]
138+#[ignore]
139 fn test_try_panic_any_message_any() {
140 match thread::spawn(move || {
141 panic_any(Box::new(413u16) as Box<dyn Any + Send>);
142@@ -268,6 +272,7 @@ fn test_try_panic_any_message_any() {
143 }
144
145 #[test]
146+#[ignore]
147 fn test_try_panic_any_message_unit_struct() {
148 struct Juju;
149
150diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs 106diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs
151--- a/library/test/src/tests.rs 107--- a/library/test/src/tests.rs
152+++ b/library/test/src/tests.rs 108+++ b/library/test/src/tests.rs
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Use-portable-syntax-for-pushsection-directive-in-inl.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Use-portable-syntax-for-pushsection-directive-in-inl.patch
new file mode 100644
index 0000000000..b59c544223
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind/0001-Use-portable-syntax-for-pushsection-directive-in-inl.patch
@@ -0,0 +1,31 @@
1From 2089383a0e3a50f527337ea05188b3e302069888 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 14 May 2025 09:29:33 -0700
4Subject: [PATCH] Use portable syntax for pushsection directive in inline
5 assembly
6
7'@' does not work with clang inline assembler, but '%' works with both
8gcc and clang. Therefore use '%' to make it more portable
9
10Fixes
11<inline asm>:1:41: error: expected '%<type>' or "<type>"
12
13Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=504222]
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 coregrind/vg_preloaded.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
20index 5bec51d..e4c2dbc 100644
21--- a/coregrind/vg_preloaded.c
22+++ b/coregrind/vg_preloaded.c
23@@ -55,7 +55,7 @@
24 /* Note: The "MS" section flags are to remove duplicates. */
25 #define DEFINE_GDB_PY_SCRIPT(script_name) \
26 asm("\
27-.pushsection \".debug_gdb_scripts\", \"MS\",@progbits,1\n\
28+.pushsection \".debug_gdb_scripts\", \"MS\",%progbits,1\n\
29 .byte 1 /* Python */\n\
30 .asciz \"" script_name "\"\n\
31 .popsection \n\
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.25.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.25.0.bb
index 67166a4ef0..6650dcedbf 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.25.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.25.0.bb
@@ -25,6 +25,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
25 file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ 25 file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \
26 file://0001-docs-Disable-manual-validation.patch \ 26 file://0001-docs-Disable-manual-validation.patch \
27 file://0001-tests-arm-Use-O-instead-of-O0.patch \ 27 file://0001-tests-arm-Use-O-instead-of-O0.patch \
28 file://0001-Use-portable-syntax-for-pushsection-directive-in-inl.patch \
28 " 29 "
29SRC_URI[sha256sum] = "295f60291d6b64c0d90c1ce645634bdc5361d39b0c50ecf9de6385ee77586ecc" 30SRC_URI[sha256sum] = "295f60291d6b64c0d90c1ce645634bdc5361d39b0c50ecf9de6385ee77586ecc"
30UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" 31UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
index 91537b0f4b..08194e4815 100644
--- a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
@@ -17,3 +17,5 @@ FILES:${PN} = " \
17 ${libdir}/libxcvt.so.0* \ 17 ${libdir}/libxcvt.so.0* \
18 ${bindir}/cvt \ 18 ${bindir}/cvt \
19" 19"
20
21BBCLASSEXTEND = "native"
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250410.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb
index e9491a74bd..3883f71781 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250410.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250509.bb
@@ -160,7 +160,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
160 " 160 "
161# WHENCE checksum is defined separately to ease overriding it if 161# WHENCE checksum is defined separately to ease overriding it if
162# class-devupstream is selected. 162# class-devupstream is selected.
163WHENCE_CHKSUM = "7ddfb44c16e34dcd8bbacc4839ab78dc" 163WHENCE_CHKSUM = "d85e2f182f489a235400712cbfdb017a"
164 164
165# These are not common licenses, set NO_GENERIC_LICENSE for them 165# These are not common licenses, set NO_GENERIC_LICENSE for them
166# so that the license files will be copied from fetched source 166# so that the license files will be copied from fetched source
@@ -250,7 +250,7 @@ SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmw
250# Pin this to the 20220509 release, override this in local.conf 250# Pin this to the 20220509 release, override this in local.conf
251SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae" 251SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
252 252
253SRC_URI[sha256sum] = "2ae6aab2d8930fd54bf30ae15498f1625721bc3630b894644db5d21fad5a20f9" 253SRC_URI[sha256sum] = "f2c60d66f226a28130cb5643e6e544d3229673460e127c91ba03f1080cbd703e"
254 254
255inherit allarch 255inherit allarch
256 256
@@ -487,7 +487,7 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \
487 ${PN}-qcom-qrb4210-adreno \ 487 ${PN}-qcom-qrb4210-adreno \
488 ${PN}-qcom-qrb4210-audio ${PN}-qcom-qrb4210-compute ${PN}-qcom-qrb4210-modem \ 488 ${PN}-qcom-qrb4210-audio ${PN}-qcom-qrb4210-compute ${PN}-qcom-qrb4210-modem \
489 ${PN}-qcom-sa8775p-adreno ${PN}-qcom-sa8775p-audio ${PN}-qcom-sa8775p-compute \ 489 ${PN}-qcom-sa8775p-adreno ${PN}-qcom-sa8775p-audio ${PN}-qcom-sa8775p-compute \
490 ${PN}-qcom-sa8775p-generalpurpose \ 490 ${PN}-qcom-sa8775p-generalpurpose ${PN}-qcom-sa8775p-qupv3fw \
491 ${PN}-qcom-sc8280xp-lenovo-x13s-compat \ 491 ${PN}-qcom-sc8280xp-lenovo-x13s-compat \
492 ${PN}-qcom-sc8280xp-lenovo-x13s-audio \ 492 ${PN}-qcom-sc8280xp-lenovo-x13s-audio \
493 ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \ 493 ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \
@@ -1833,6 +1833,7 @@ LICENSE:${PN}-qcom-sa8775p-adreno = "Firmware-qcom"
1833LICENSE:${PN}-qcom-sa8775p-audio = "Firmware-qcom-2" 1833LICENSE:${PN}-qcom-sa8775p-audio = "Firmware-qcom-2"
1834LICENSE:${PN}-qcom-sa8775p-compute = "Firmware-qcom-2" 1834LICENSE:${PN}-qcom-sa8775p-compute = "Firmware-qcom-2"
1835LICENSE:${PN}-qcom-sa8775p-generalpurpose = "Firmware-qcom-2" 1835LICENSE:${PN}-qcom-sa8775p-generalpurpose = "Firmware-qcom-2"
1836LICENSE:${PN}-qcom-sa8775p-qupv3fw = "Firmware-qcom-2"
1836LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom & Firmware-linaro" 1837LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom & Firmware-linaro"
1837LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom" 1838LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom"
1838LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom" 1839LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom"
@@ -1915,6 +1916,7 @@ FILES:${PN}-qcom-sa8775p-adreno = "${nonarch_base_libdir}/firmware/qcom/sa8775p/
1915FILES:${PN}-qcom-sa8775p-audio = "${nonarch_base_libdir}/firmware/qcom/sa8775p/adsp*.*" 1916FILES:${PN}-qcom-sa8775p-audio = "${nonarch_base_libdir}/firmware/qcom/sa8775p/adsp*.*"
1916FILES:${PN}-qcom-sa8775p-compute = "${nonarch_base_libdir}/firmware/qcom/sa8775p/cdsp*.*" 1917FILES:${PN}-qcom-sa8775p-compute = "${nonarch_base_libdir}/firmware/qcom/sa8775p/cdsp*.*"
1917FILES:${PN}-qcom-sa8775p-generalpurpose = "${nonarch_base_libdir}/firmware/qcom/sa8775p/gpdsp*.*" 1918FILES:${PN}-qcom-sa8775p-generalpurpose = "${nonarch_base_libdir}/firmware/qcom/sa8775p/gpdsp*.*"
1919FILES:${PN}-qcom-sa8775p-qupv3fw = "${nonarch_base_libdir}/firmware/qcom/sa8775p/qupv3fw.elf*"
1918FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX" 1920FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX"
1919FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/SC8280XP-LENOVO-X13S-tplg.bin*" 1921FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/SC8280XP-LENOVO-X13S-tplg.bin*"
1920FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn*" 1922FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn*"
@@ -1997,6 +1999,7 @@ RDEPENDS:${PN}-qcom-sa8775p-adreno = "${PN}-qcom-license"
1997RDEPENDS:${PN}-qcom-sa8775p-audio = "${PN}-qcom-2-license" 1999RDEPENDS:${PN}-qcom-sa8775p-audio = "${PN}-qcom-2-license"
1998RDEPENDS:${PN}-qcom-sa8775p-compute = "${PN}-qcom-2-license" 2000RDEPENDS:${PN}-qcom-sa8775p-compute = "${PN}-qcom-2-license"
1999RDEPENDS:${PN}-qcom-sa8775p-generalpurpose = "${PN}-qcom-2-license" 2001RDEPENDS:${PN}-qcom-sa8775p-generalpurpose = "${PN}-qcom-2-license"
2002RDEPENDS:${PN}-qcom-sa8775p-qupv3fw = "${PN}-qcom-2-license"
2000RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license ${PN}-linaro-license" 2003RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license ${PN}-linaro-license"
2001RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-license" 2004RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-license"
2002RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-license" 2005RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-license"
diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 935e3f45dd..7ad848c35e 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -75,7 +75,8 @@ do_install() {
75 if [ -s Module.symvers ]; then 75 if [ -s Module.symvers ]; then
76 cp Module.symvers $kerneldir/build 76 cp Module.symvers $kerneldir/build
77 fi 77 fi
78 cp System.map* $kerneldir/build 78 cp System.map-* $kerneldir/build
79 ln -s System.map-* $kerneldir/build/System.map
79 if [ -s Module.markers ]; then 80 if [ -s Module.markers ]; then
80 cp Module.markers $kerneldir/build 81 cp Module.markers $kerneldir/build
81 fi 82 fi
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
index ab93c13244..828c87dc9a 100644
--- a/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
+++ b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
@@ -13,25 +13,25 @@ https://bugzilla.gnome.org/show_bug.cgi?id=777827
13 playback/player/gtk/meson.build | 1 + 13 playback/player/gtk/meson.build | 1 +
14 2 files changed, 2 insertions(+) 14 2 files changed, 2 insertions(+)
15 15
16diff --git a/playback/player/gst-play/meson.build b/playback/player/gst-play/meson.build 16Index: gst-examples/playback/player/gst-play/meson.build
17index 8ec021d..977cc5c 100644 17===================================================================
18--- a/playback/player/gst-play/meson.build 18--- gst-examples.orig/playback/player/gst-play/meson.build
19+++ b/playback/player/gst-play/meson.build 19+++ gst-examples/playback/player/gst-play/meson.build
20@@ -2,5 +2,6 @@ executable('gst-play', 20@@ -2,5 +2,6 @@ executable('gst-play',
21 ['gst-play.c', 21 ['gst-play.c',
22 'gst-play-kb.c', 22 'gst-play-kb.c',
23 'gst-play-kb.h'], 23 'gst-play-kb.h'],
24+ install: true, 24+ install: true,
25 dependencies : [gst_dep, gstplayer_dep, m_dep]) 25 dependencies : [gst_dep, dependency('gstreamer-play-1.0'), m_dep])
26 26
27diff --git a/playback/player/gtk/meson.build b/playback/player/gtk/meson.build 27Index: gst-examples/playback/player/gtk/meson.build
28index f7a7419..6281130 100644 28===================================================================
29--- a/playback/player/gtk/meson.build 29--- gst-examples.orig/playback/player/gtk/meson.build
30+++ b/playback/player/gtk/meson.build 30+++ gst-examples/playback/player/gtk/meson.build
31@@ -13,5 +13,6 @@ if gtk_dep.found() 31@@ -20,5 +20,6 @@ if gtk_dep.found()
32 gtk_play_resources,
33 'gtk-video-renderer.h', 32 'gtk-video-renderer.h',
34 'gtk-video-renderer.c'], 33 'gtk-video-renderer.c'],
35+ install: true, 34 c_args : extra_c_args,
36 dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep]) 35+ install: true,
36 dependencies : [gst_dep, gsttag_dep, gstplay_dep, gtk_dep, x11_dep])
37 endif 37 endif
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.26.1.bb
index 70b72fd7fb..59c7a4ade1 100644
--- a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.26.1.bb
@@ -5,16 +5,16 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
5LICENSE = "LGPL-2.0-or-later" 5LICENSE = "LGPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9" 6LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
7 7
8DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native" 8DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 json-glib glib-2.0-native"
9 9
10SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \ 10SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;branch=1.26 \
11 file://0001-Make-player-examples-installable.patch \ 11 file://0001-Make-player-examples-installable.patch \
12 file://gst-player.desktop \ 12 file://gst-player.desktop \
13 " 13 "
14 14
15SRCREV = "70e4fcf4fc8ae19641aa990de5f37d758cdfcea4" 15SRCREV = "7174e955ec066fb8d1fb683cc82713e0615826b6"
16 16
17S = "${WORKDIR}/git" 17S = "${WORKDIR}/git/subprojects/gst-examples"
18 18
19inherit meson pkgconfig features_check 19inherit meson pkgconfig features_check
20 20
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-CVE-2025-32911.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-CVE-2025-32911.patch
deleted file mode 100644
index 9ef0643837..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/0001-CVE-2025-32911.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1From 52c5859b82fe79f2c32d883e048d218e0d7f2182 Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Wed, 30 Apr 2025 14:59:55 +0800
4Subject: [PATCH] CVE-2025-32911
5
6CVE: CVE-2025-32911
7Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/422/commits]
8
9Signed-off-by: Changqing Li <changqing.li@windriver.com>
10---
11 libsoup/soup-message-headers.c | 13 +++++++++----
12 tests/header-parsing-test.c | 15 +++++++++++++++
13 2 files changed, 24 insertions(+), 4 deletions(-)
14
15diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c
16index 39ad14a..78b2455 100644
17--- a/libsoup/soup-message-headers.c
18+++ b/libsoup/soup-message-headers.c
19@@ -1454,10 +1454,15 @@ soup_message_headers_get_content_disposition (SoupMessageHeaders *hdrs,
20 */
21 if (params && g_hash_table_lookup_extended (*params, "filename",
22 &orig_key, &orig_value)) {
23- char *filename = strrchr (orig_value, '/');
24-
25- if (filename)
26- g_hash_table_insert (*params, g_strdup (orig_key), filename + 1);
27+ if (orig_value) {
28+ char *filename = strrchr (orig_value, '/');
29+
30+ if (filename)
31+ g_hash_table_insert (*params, g_strdup (orig_key), g_strdup(filename + 1));
32+ } else {
33+ /* filename with no value isn't valid. */
34+ g_hash_table_remove (*params, "filename");
35+ }
36 }
37 return TRUE;
38 }
39diff --git a/tests/header-parsing-test.c b/tests/header-parsing-test.c
40index 946f118..752196e 100644
41--- a/tests/header-parsing-test.c
42+++ b/tests/header-parsing-test.c
43@@ -1034,6 +1034,7 @@ do_param_list_tests (void)
44 #define RFC5987_TEST_HEADER_FALLBACK "attachment; filename*=Unknown''t%FF%FF%FFst.txt; filename=\"test.txt\""
45 #define RFC5987_TEST_HEADER_NO_TYPE "filename=\"test.txt\""
46 #define RFC5987_TEST_HEADER_NO_TYPE_2 "filename=\"test.txt\"; foo=bar"
47+#define RFC5987_TEST_HEADER_EMPTY_FILENAME ";filename"
48
49 static void
50 do_content_disposition_tests (void)
51@@ -1133,6 +1134,20 @@ do_content_disposition_tests (void)
52 g_assert_cmpstr (filename, ==, RFC5987_TEST_FALLBACK_FILENAME);
53 parameter2 = g_hash_table_lookup (params, "foo");
54 g_assert_cmpstr (parameter2, ==, "bar");
55+ g_hash_table_destroy (params);
56+
57+ /* Empty filename */
58+ soup_message_headers_clear (hdrs);
59+ soup_message_headers_append (hdrs, "Content-Disposition",
60+ RFC5987_TEST_HEADER_EMPTY_FILENAME);
61+ if (!soup_message_headers_get_content_disposition (hdrs,
62+ &disposition,
63+ &params)) {
64+ soup_test_assert (FALSE, "empty filename decoding FAILED");
65+ return;
66+ }
67+ g_free (disposition);
68+ g_assert_false (g_hash_table_contains (params, "filename"));
69 g_hash_table_destroy (params);
70
71 soup_message_headers_free (hdrs);
72--
732.34.1
74
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
deleted file mode 100644
index d867e5bc17..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From ced3c5d8cad0177b297666343f1561799dfefb0d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 22 Nov 2023 18:49:10 -0800
4Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17
5
6Fixes build errors about missing function prototypes with clang-17
7
8Fixes
9| ../libsoup-2.74.3/libsoup/soup-xmlrpc-old.c:512:8: error: call to undeclared function 'xmlParseMemory'; ISO C99 and later do not support implicit function declarations
10
11Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libsoup/-/merge_requests/385]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 libsoup/soup-xmlrpc-old.c | 1 +
15 libsoup/soup-xmlrpc.c | 1 +
16 2 files changed, 2 insertions(+)
17
18diff --git a/libsoup/soup-xmlrpc-old.c b/libsoup/soup-xmlrpc-old.c
19index c57086b6..527e3b23 100644
20--- a/libsoup/soup-xmlrpc-old.c
21+++ b/libsoup/soup-xmlrpc-old.c
22@@ -11,6 +11,7 @@
23
24 #include <string.h>
25
26+#include <libxml/parser.h>
27 #include <libxml/tree.h>
28
29 #include "soup-xmlrpc-old.h"
30diff --git a/libsoup/soup-xmlrpc.c b/libsoup/soup-xmlrpc.c
31index 42dcda9c..e991cbf0 100644
32--- a/libsoup/soup-xmlrpc.c
33+++ b/libsoup/soup-xmlrpc.c
34@@ -17,6 +17,7 @@
35
36 #include <string.h>
37 #include <errno.h>
38+#include <libxml/parser.h>
39 #include <libxml/tree.h>
40 #include "soup-xmlrpc.h"
41 #include "soup.h"
42--
432.43.0
44
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-possibly-uninitialized-warnings.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-possibly-uninitialized-warnings.patch
deleted file mode 100644
index fcd442c13a..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/0001-Fix-possibly-uninitialized-warnings.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 1159686379184a1c899eabb2174258aba5e0fd79 Mon Sep 17 00:00:00 2001
2From: Patrick Griffis <pgriffis@igalia.com>
3Date: Mon, 20 Sep 2021 15:41:31 -0500
4Subject: [PATCH] Fix possibly uninitialized warnings
5
6Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/fb98e9a8c3062c75357b961543af091de2dd5459]
7
8Signed-off-by: Changqing Li <changqing.li@windriver.com>
9---
10 libsoup/soup-websocket-connection.c | 2 +-
11 tests/samesite-test.c | 3 +++
12 2 files changed, 4 insertions(+), 1 deletion(-)
13
14diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c
15index 65c1492..585d45c 100644
16--- a/libsoup/soup-websocket-connection.c
17+++ b/libsoup/soup-websocket-connection.c
18@@ -471,7 +471,7 @@ send_message (SoupWebsocketConnection *self,
19 GByteArray *bytes;
20 gsize frame_len;
21 guint8 *outer;
22- guint8 mask_offset;
23+ guint8 mask_offset = 0;
24 GBytes *filtered_bytes;
25 GList *l;
26 GError *error = NULL;
27diff --git a/tests/samesite-test.c b/tests/samesite-test.c
28index 0b081b2..60c9b8e 100644
29--- a/tests/samesite-test.c
30+++ b/tests/samesite-test.c
31@@ -60,6 +60,9 @@ assert_highest_policy_visible (GSList *cookies, SoupSameSitePolicy policy)
32 case SOUP_SAME_SITE_POLICY_NONE:
33 expected_count = 1;
34 break;
35+ default:
36+ g_assert_not_reached ();
37+ break;
38 }
39
40 g_assert_cmpuint (size, ==, expected_count);
41--
422.34.1
43
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/0001-Remove-http-and-https-aliases-support-test.patch b/meta/recipes-support/libsoup/libsoup-2.4/0001-Remove-http-and-https-aliases-support-test.patch
deleted file mode 100644
index 0d4139ec08..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/0001-Remove-http-and-https-aliases-support-test.patch
+++ /dev/null
@@ -1,145 +0,0 @@
1From 0e3bfa22b23451531caf8cc30b1771ac6a41fcad Mon Sep 17 00:00:00 2001
2From: Carlos Garcia Campos <cgarcia@igalia.com>
3Date: Thu, 11 Feb 2021 10:47:09 +0100
4Subject: [PATCH] Remove http and https aliases support test
5
6Upstream has removed the whole function of http and https aliases
7support, this commit partially cherry pick it, only remove the test to
8mute the warning:
9| ../libsoup-2.74.3/tests/server-test.c: In function 'do_one_server_aliases_test':
10| ../libsoup-2.74.3/tests/server-test.c:180:17: warning: 'g_socket_client_set_tls_validation_flags' is deprecated [-Wdeprecated-declarations]
11| 180 | g_socket_client_set_tls_validation_flags (client, 0);
12| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13
14Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/111ae4ebe7cc2e389573cff5b9ac76509d6cbac0]
15
16Signed-off-by: Changqing Li <changqing.li@windriver.com>
17---
18 tests/server-test.c | 104 --------------------------------------------
19 1 file changed, 104 deletions(-)
20
21diff --git a/tests/server-test.c b/tests/server-test.c
22index 8976103..cb7e815 100644
23--- a/tests/server-test.c
24+++ b/tests/server-test.c
25@@ -154,108 +154,6 @@ do_star_test (ServerData *sd, gconstpointer test_data)
26 soup_uri_free (star_uri);
27 }
28
29-static void
30-do_one_server_aliases_test (SoupURI *uri,
31- const char *alias,
32- gboolean succeed)
33-{
34- GSocketClient *client;
35- GSocketConnectable *addr;
36- GSocketConnection *conn;
37- GInputStream *in;
38- GOutputStream *out;
39- GError *error = NULL;
40- GString *req;
41- static char buf[1024];
42-
43- debug_printf (1, " %s via %s\n", alias, uri->scheme);
44-
45- /* There's no way to make libsoup's client side send an absolute
46- * URI (to a non-proxy server), so we have to fake this.
47- */
48-
49- client = g_socket_client_new ();
50- if (uri->scheme == SOUP_URI_SCHEME_HTTPS) {
51- g_socket_client_set_tls (client, TRUE);
52- g_socket_client_set_tls_validation_flags (client, 0);
53- }
54- addr = g_network_address_new (uri->host, uri->port);
55-
56- conn = g_socket_client_connect (client, addr, NULL, &error);
57- g_object_unref (addr);
58- g_object_unref (client);
59- if (!conn) {
60- g_assert_no_error (error);
61- g_error_free (error);
62- return;
63- }
64-
65- in = g_io_stream_get_input_stream (G_IO_STREAM (conn));
66- out = g_io_stream_get_output_stream (G_IO_STREAM (conn));
67-
68- req = g_string_new (NULL);
69- g_string_append_printf (req, "GET %s://%s:%d HTTP/1.1\r\n",
70- alias, uri->host, uri->port);
71- g_string_append_printf (req, "Host: %s:%d\r\n",
72- uri->host, uri->port);
73- g_string_append (req, "Connection: close\r\n\r\n");
74-
75- if (!g_output_stream_write_all (out, req->str, req->len, NULL, NULL, &error)) {
76- g_assert_no_error (error);
77- g_error_free (error);
78- g_object_unref (conn);
79- g_string_free (req, TRUE);
80- return;
81- }
82- g_string_free (req, TRUE);
83-
84- if (!g_input_stream_read_all (in, buf, sizeof (buf), NULL, NULL, &error)) {
85- g_assert_no_error (error);
86- g_error_free (error);
87- g_object_unref (conn);
88- return;
89- }
90-
91- if (succeed)
92- g_assert_true (g_str_has_prefix (buf, "HTTP/1.1 200 "));
93- else
94- g_assert_true (g_str_has_prefix (buf, "HTTP/1.1 400 "));
95-
96- g_io_stream_close (G_IO_STREAM (conn), NULL, NULL);
97- g_object_unref (conn);
98-}
99-
100-static void
101-do_server_aliases_test (ServerData *sd, gconstpointer test_data)
102-{
103- char *http_aliases[] = { "dav", NULL };
104- char *https_aliases[] = { "davs", NULL };
105- char *http_good[] = { "http", "dav", NULL };
106- char *http_bad[] = { "https", "davs", "fred", NULL };
107- char *https_good[] = { "https", "davs", NULL };
108- char *https_bad[] = { "http", "dav", "fred", NULL };
109- int i;
110-
111- g_test_bug ("703694");
112-
113- g_object_set (G_OBJECT (sd->server),
114- SOUP_SERVER_HTTP_ALIASES, http_aliases,
115- SOUP_SERVER_HTTPS_ALIASES, https_aliases,
116- NULL);
117-
118- for (i = 0; http_good[i]; i++)
119- do_one_server_aliases_test (sd->base_uri, http_good[i], TRUE);
120- for (i = 0; http_bad[i]; i++)
121- do_one_server_aliases_test (sd->base_uri, http_bad[i], FALSE);
122-
123- if (tls_available) {
124- for (i = 0; https_good[i]; i++)
125- do_one_server_aliases_test (sd->ssl_base_uri, https_good[i], TRUE);
126- for (i = 0; https_bad[i]; i++)
127- do_one_server_aliases_test (sd->ssl_base_uri, https_bad[i], FALSE);
128- }
129-}
130-
131 static void
132 do_dot_dot_test (ServerData *sd, gconstpointer test_data)
133 {
134@@ -1382,8 +1280,6 @@ main (int argc, char **argv)
135
136 g_test_add ("/server/OPTIONS *", ServerData, NULL,
137 server_setup, do_star_test, server_teardown);
138- g_test_add ("/server/aliases", ServerData, NULL,
139- server_setup, do_server_aliases_test, server_teardown);
140 g_test_add ("/server/..-in-path", ServerData, NULL,
141 server_setup, do_dot_dot_test, server_teardown);
142 g_test_add ("/server/ipv6", ServerData, NULL,
143--
1442.34.1
145
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch
deleted file mode 100644
index cb1f096110..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From a693d49bff058fc20a448dc4e7d324ff0dc6597e Mon Sep 17 00:00:00 2001
2From: Ignacio Casal Quinteiro <qignacio@amazon.com>
3Date: Wed, 11 Sep 2024 11:52:11 +0200
4Subject: [PATCH 1/3] websocket: process the frame as soon as we read data
5
6Otherwise we can enter in a read loop because we were not
7validating the data until the all the data was read.
8
9Fixes #391
10
11CVE: CVE-2024-52532
12Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/6adc0e3eb74c257ed4e2a23eb4b2774fdb0d67be#f1d67ca0386b145ea201cf88d27f72724d7c6715]
13
14Signed-off-by: Changqing Li <changqing.li@windriver.com>
15---
16 libsoup/soup-websocket-connection.c | 5 ++---
17 1 file changed, 2 insertions(+), 3 deletions(-)
18
19diff --git a/libsoup/soup-websocket-connection.c b/libsoup/soup-websocket-connection.c
20index a4095e1..65c1492 100644
21--- a/libsoup/soup-websocket-connection.c
22+++ b/libsoup/soup-websocket-connection.c
23@@ -1140,9 +1140,8 @@ soup_websocket_connection_read (SoupWebsocketConnection *self)
24 }
25
26 pv->incoming->len = len + count;
27- } while (count > 0);
28-
29- process_incoming (self);
30+ process_incoming (self);
31+ } while (count > 0 && !pv->close_sent && !pv->io_closing);
32
33 if (end) {
34 if (!pv->close_sent || !pv->close_received) {
35--
362.34.1
37
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch
deleted file mode 100644
index dcadafe944..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From f5b76410de1318f49844dacf6e68692522b6c856 Mon Sep 17 00:00:00 2001
2From: Ignacio Casal Quinteiro <qignacio@amazon.com>
3Date: Wed, 2 Oct 2024 11:17:19 +0200
4Subject: [PATCH] websocket-test: disconnect error copy after the test ends
5
6Otherwise the server will have already sent a few more wrong
7bytes and the client will continue getting errors to copy
8but the error is already != NULL and it will assert
9
10CVE: CVE-2024-52532
11Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libsoup/-/commit/29b96fab2512666d7241e46c98cc45b60b795c0c]
12
13Signed-off-by: Changqing Li <changqing.li@windriver.com>
14---
15 tests/websocket-test.c | 5 ++++-
16 1 file changed, 4 insertions(+), 1 deletion(-)
17
18diff --git a/tests/websocket-test.c b/tests/websocket-test.c
19index 5e40cf3..1ec9ff6 100644
20--- a/tests/websocket-test.c
21+++ b/tests/websocket-test.c
22@@ -1331,8 +1331,9 @@ test_receive_invalid_encode_length_64 (Test *test,
23 GError *error = NULL;
24 InvalidEncodeLengthTest context = { test, NULL };
25 guint i;
26+ guint error_id;
27
28- g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error);
29+ error_id = g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error);
30 g_signal_connect (test->client, "message", G_CALLBACK (on_binary_message), &received);
31
32 /* We use 127(\x7f) as payload length with 65535 extended length */
33@@ -1345,6 +1346,7 @@ test_receive_invalid_encode_length_64 (Test *test,
34 WAIT_UNTIL (error != NULL || received != NULL);
35 g_assert_error (error, SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR);
36 g_clear_error (&error);
37+ g_signal_handler_disconnect (test->client, error_id);
38 g_assert_null (received);
39
40 g_thread_join (thread);
41--
422.34.1
43
diff --git a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch b/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch
deleted file mode 100644
index ab6af72291..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From d97bb2e340f5a6d7e56a7738403f9d18bc406b70 Mon Sep 17 00:00:00 2001
2From: Simon McVittie <smcv@debian.org>
3Date: Wed, 13 Nov 2024 14:14:23 +0000
4Subject: [PATCH 3/3] websocket-test: Disconnect error signal in another place
5
6This is the same change as commit 29b96fab "websocket-test: disconnect
7error copy after the test ends", and is done for the same reason, but
8replicating it into a different function.
9
10Fixes: 6adc0e3e "websocket: process the frame as soon as we read data"
11Resolves: https://gitlab.gnome.org/GNOME/libsoup/-/issues/399
12Signed-off-by: Simon McVittie <smcv@debian.org>
13
14CVE: CVE-2024-52532
15Upstream-Status: Backport
16[https://gitlab.gnome.org/GNOME/libsoup/-/commit/4c9e75c6676a37b6485620c332e568e1a3f530ff]
17
18Signed-off-by: Changqing Li <changqing.li@windriver.com>
19---
20 tests/websocket-test.c | 4 +++-
21 1 file changed, 3 insertions(+), 1 deletion(-)
22
23diff --git a/tests/websocket-test.c b/tests/websocket-test.c
24index 2b19a7b..0699a06 100644
25--- a/tests/websocket-test.c
26+++ b/tests/websocket-test.c
27@@ -1300,8 +1300,9 @@ test_receive_invalid_encode_length_16 (Test *test,
28 GError *error = NULL;
29 InvalidEncodeLengthTest context = { test, NULL };
30 guint i;
31+ guint error_id;
32
33- g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error);
34+ error_id = g_signal_connect (test->client, "error", G_CALLBACK (on_error_copy), &error);
35 g_signal_connect (test->client, "message", G_CALLBACK (on_binary_message), &received);
36
37 /* We use 126(~) as payload length with 125 extended length */
38@@ -1314,6 +1315,7 @@ test_receive_invalid_encode_length_16 (Test *test,
39 WAIT_UNTIL (error != NULL || received != NULL);
40 g_assert_error (error, SOUP_WEBSOCKET_ERROR, SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR);
41 g_clear_error (&error);
42+ g_signal_handler_disconnect (test->client, error_id);
43 g_assert_null (received);
44
45 g_thread_join (thread);
46--
472.34.1
48
diff --git a/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
deleted file mode 100644
index 7e275a48f4..0000000000
--- a/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
+++ /dev/null
@@ -1,66 +0,0 @@
1SUMMARY = "An HTTP library implementation in C"
2DESCRIPTION = "libsoup is an HTTP client/server library for GNOME. It uses GObjects \
3and the glib main loop, to integrate well with GNOME applications."
4HOMEPAGE = "https://wiki.gnome.org/Projects/libsoup"
5BUGTRACKER = "https://bugzilla.gnome.org/"
6SECTION = "x11/gnome/libs"
7LICENSE = "LGPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
9
10DEPENDS = "glib-2.0 glib-2.0-native libxml2 sqlite3 libpsl"
11
12SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
13
14SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \
15 file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch \
16 file://0001-CVE-2025-32911.patch \
17 file://0001-Fix-possibly-uninitialized-warnings.patch \
18 file://0001-Remove-http-and-https-aliases-support-test.patch \
19 file://CVE-2024-52532-1.patch \
20 file://CVE-2024-52532-2.patch \
21 file://CVE-2024-52532-3.patch"
22
23SRC_URI[sha256sum] = "e4b77c41cfc4c8c5a035fcdc320c7bc6cfb75ef7c5a034153df1413fa1d92f13"
24
25CVE_PRODUCT = "libsoup"
26
27S = "${WORKDIR}/libsoup-${PV}"
28
29inherit meson gettext pkgconfig upstream-version-is-even gobject-introspection gtk-doc
30
31UPSTREAM_CHECK_REGEX = "libsoup-(?P<pver>2(\.(?!99)\d+)+)\.tar"
32
33GIR_MESON_ENABLE_FLAG = 'enabled'
34GIR_MESON_DISABLE_FLAG = 'disabled'
35
36PACKAGECONFIG ??= ""
37PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli"
38# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards
39PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
40PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
41PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled"
42PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof"
43
44# Tell libsoup where the target ntlm_auth is installed
45do_write_config:append:class-target() {
46 cat >${WORKDIR}/soup.cross <<EOF
47[binaries]
48ntlm_auth = '${bindir}/ntlm_auth'
49EOF
50}
51EXTRA_OEMESON:append:class-target = " --cross-file ${WORKDIR}/soup.cross"
52
53EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false"
54
55GTKDOC_MESON_OPTION = "gtk_doc"
56
57# When built without gnome support, libsoup-2.4 will contain only one shared lib
58# and will therefore become subject to renaming by debian.bbclass. Prevent
59# renaming in order to keep the package name consistent regardless of whether
60# gnome support is enabled or disabled.
61DEBIAN_NOAUTONAME:${PN} = "1"
62
63# glib-networking is needed for SSL, proxies, etc.
64RRECOMMENDS:${PN} = "glib-networking"
65
66BBCLASSEXTEND = "native nativesdk"