Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH v3] json-c: upgrade 0.18 -> 0.19
@ 2026-07-03 10:53 Moritz Haase
  2026-07-06  8:56 ` [OE-core] " Richard Purdie
  0 siblings, 1 reply; 5+ messages in thread
From: Moritz Haase @ 2026-07-03 10:53 UTC (permalink / raw)
  To: openembedded-core; +Cc: Moritz Haase, alex.kanavin, mathieu.dubois-briand

Release notes are available at [0].

Newly added tests (see [1]) require the 'json_parse' app at (test) runtime.
Thus, apps are now being built and the 'json_parse' app is deployed in the
'ptest' package. We do not package the apps separately as upstream doesn't
consider them to be ready for that (see [2]). This approach is based on the
discussion in [3].

[0]: https://github.com/json-c/json-c/blob/json-c-0.19/ChangeLog
[1]: https://github.com/json-c/json-c/blob/d9d8cab82291637671f6c90cf06e578750a08718/tests/test_json_parse_cli.test#L18
[2]: https://github.com/json-c/json-c/blob/d9d8cab82291637671f6c90cf06e578750a08718/apps/CMakeLists.txt#L122-L124
[3]: https://lists.openembedded.org/g/openembedded-core/topic/120026557#

Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
CC: alex.kanavin@gmail.com
CC: mathieu.dubois-briand@bootlin.com
---
changes in v3:
- Deploy required app differently to hopefully fix failures seen
  on Autobuilder (see [4]).

changes in v2:
- Build and deploy apps required to fix ptest failure, as discussed in [3].

[4]: https://lists.openembedded.org/g/openembedded-core/topic/120061116#msg240021

---
 .../json-c/{json-c_0.18.bb => json-c_0.19.bb}    | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
 rename meta/recipes-devtools/json-c/{json-c_0.18.bb => json-c_0.19.bb} (72%)

diff --git a/meta/recipes-devtools/json-c/json-c_0.18.bb b/meta/recipes-devtools/json-c/json-c_0.19.bb
similarity index 72%
rename from meta/recipes-devtools/json-c/json-c_0.18.bb
rename to meta/recipes-devtools/json-c/json-c_0.19.bb
index c112aacf4bceb0c41dbe2e1643d2d7e0944bf250..6f357b45b97c602cb19523089fb63ada2a1384f5 100644
--- a/meta/recipes-devtools/json-c/json-c_0.18.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.19.bb
@@ -9,23 +9,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
 SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "876ab046479166b869afc6896d288183bbc0e5843f141200c677b3e8dfb11724"
+SRC_URI[sha256sum] = "37ad0249902e301bd9052bf712e511fcc6acff4ecaad4b5900aad9ce564e26de"
 
 # NVD uses full tag name including date
-CVE_VERSION = "0.18-20240915"
+CVE_VERSION = "0.19-20260627"
 
 UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
 UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
 
 RPROVIDES:${PN} = "libjson"
 
-# Apps aren't needed/packaged and their CMakeLists.txt is incompatible with CMake 4+.
-EXTRA_OECMAKE = "-DDISABLE_WERROR=ON \
-                 -DBUILD_APPS=OFF \
-"
+EXTRA_OECMAKE = "-DDISABLE_WERROR=ON"
 
 inherit cmake ptest
 
+# xxd is required by the 'json_parse_cli' test.
+RDEPENDS:${PN}-ptest += "xxd"
+
 do_install_ptest() {
     install -d ${D}/${PTEST_PATH}/tests
     install ${B}/tests/test* ${D}/${PTEST_PATH}/tests
@@ -33,6 +33,10 @@ do_install_ptest() {
     install ${S}/tests/*.expected ${D}/${PTEST_PATH}/tests
     install ${S}/tests/test-defs.sh ${D}/${PTEST_PATH}/tests
     install ${S}/tests/*json ${D}/${PTEST_PATH}/tests
+
+    # The 'json_parse_cli' test executes the 'json_parse' app via '../apps/json_parse', so we
+    # package it accordingly.
+    install -D -t ${D}/${PTEST_PATH}/apps/ ${B}/apps/json_parse
 }
 
 BBCLASSEXTEND = "native nativesdk"


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH v3] json-c: upgrade 0.18 -> 0.19
  2026-07-03 10:53 [PATCH v3] json-c: upgrade 0.18 -> 0.19 Moritz Haase
@ 2026-07-06  8:56 ` Richard Purdie
  2026-07-06  9:27   ` Alexander Kanavin
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2026-07-06  8:56 UTC (permalink / raw)
  To: Moritz.Haase, openembedded-core
  Cc: alex.kanavin, mathieu.dubois-briand, Ross Burton

On Fri, 2026-07-03 at 12:53 +0200, Moritz Haase via lists.openembedded.org wrote:
> Release notes are available at [0].
> 
> Newly added tests (see [1]) require the 'json_parse' app at (test) runtime.
> Thus, apps are now being built and the 'json_parse' app is deployed in the
> 'ptest' package. We do not package the apps separately as upstream doesn't
> consider them to be ready for that (see [2]). This approach is based on the
> discussion in [3].
> 
> [0]: https://github.com/json-c/json-c/blob/json-c-0.19/ChangeLog
> [1]: https://github.com/json-c/json-c/blob/d9d8cab82291637671f6c90cf06e578750a08718/tests/test_json_parse_cli.test#L18
> [2]: https://github.com/json-c/json-c/blob/d9d8cab82291637671f6c90cf06e578750a08718/apps/CMakeLists.txt#L122-L124
> [3]: https://lists.openembedded.org/g/openembedded-core/topic/120026557#
> 
> Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
> CC: alex.kanavin@gmail.com
> CC: mathieu.dubois-briand@bootlin.com
> ---
> changes in v3:
> - Deploy required app differently to hopefully fix failures seen
>   on Autobuilder (see [4]).
> 
> changes in v2:
> - Build and deploy apps required to fix ptest failure, as discussed in [3].
> 
> [4]: https://lists.openembedded.org/g/openembedded-core/topic/120061116#msg240021
> 
> ---
>  .../json-c/{json-c_0.18.bb => json-c_0.19.bb}    | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
>  rename meta/recipes-devtools/json-c/{json-c_0.18.bb => json-c_0.19.bb} (72%)
> 
> diff --git a/meta/recipes-devtools/json-c/json-c_0.18.bb b/meta/recipes-devtools/json-c/json-c_0.19.bb
> similarity index 72%
> rename from meta/recipes-devtools/json-c/json-c_0.18.bb
> rename to meta/recipes-devtools/json-c/json-c_0.19.bb
> index c112aacf4bceb0c41dbe2e1643d2d7e0944bf250..6f357b45b97c602cb19523089fb63ada2a1384f5 100644
> --- a/meta/recipes-devtools/json-c/json-c_0.18.bb
> +++ b/meta/recipes-devtools/json-c/json-c_0.19.bb
> @@ -9,23 +9,23 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
>  SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
>             file://run-ptest \
>             "
> -SRC_URI[sha256sum] = "876ab046479166b869afc6896d288183bbc0e5843f141200c677b3e8dfb11724"
> +SRC_URI[sha256sum] = "37ad0249902e301bd9052bf712e511fcc6acff4ecaad4b5900aad9ce564e26de"
>  
>  # NVD uses full tag name including date
> -CVE_VERSION = "0.18-20240915"
> +CVE_VERSION = "0.19-20260627"
>  
>  UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/tags"
>  UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
>  
>  RPROVIDES:${PN} = "libjson"
>  
> -# Apps aren't needed/packaged and their CMakeLists.txt is incompatible with CMake 4+.
> -EXTRA_OECMAKE = "-DDISABLE_WERROR=ON \
> -                 -DBUILD_APPS=OFF \
> -"
> +EXTRA_OECMAKE = "-DDISABLE_WERROR=ON"
>  
>  inherit cmake ptest
>  
> +# xxd is required by the 'json_parse_cli' test.
> +RDEPENDS:${PN}-ptest += "xxd"
> +

This patch turns out to be the one breaking oe-selftest:

e.g.

https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/4276
https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4216

The reason is that prior to this change, those tests don't build glib-
2.0 but after them, they do due to the new xxd -> vim -> desktop-file-
utils -> glib-2.0 dependency chain.

Not quite sure what we'll do about that yet, we may need to add more
locales to the selftest I guess but the extra dependencies aren't
ideal.

Cheers,

Richard





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH v3] json-c: upgrade 0.18 -> 0.19
  2026-07-06  8:56 ` [OE-core] " Richard Purdie
@ 2026-07-06  9:27   ` Alexander Kanavin
  2026-07-06  9:58     ` Ross Burton
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Kanavin @ 2026-07-06  9:27 UTC (permalink / raw)
  To: Richard Purdie
  Cc: Moritz.Haase, openembedded-core, mathieu.dubois-briand,
	Ross Burton

On Mon, 6 Jul 2026 at 10:56, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:

> This patch turns out to be the one breaking oe-selftest:
>
> e.g.
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/4276
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4216
>
> The reason is that prior to this change, those tests don't build glib-
> 2.0 but after them, they do due to the new xxd -> vim -> desktop-file-
> utils -> glib-2.0 dependency chain.
>
> Not quite sure what we'll do about that yet, we may need to add more
> locales to the selftest I guess but the extra dependencies aren't
> ideal.

I've a patch for it too, which rather disables ptest distro feature in
that particular selftest:
https://git.openembedded.org/openembedded-core-contrib/commit/?h=akanavin/package-version-updates&id=18b1c1a07ec8a42af31aa9576793f4ec73ffd0d6

"selftest/locales: opt out of ptests in DISTRO_FEATURES" if sha for
the commit shifts in the branch.

Alex


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH v3] json-c: upgrade 0.18 -> 0.19
  2026-07-06  9:27   ` Alexander Kanavin
@ 2026-07-06  9:58     ` Ross Burton
  2026-07-06 10:22       ` Ross Burton
  0 siblings, 1 reply; 5+ messages in thread
From: Ross Burton @ 2026-07-06  9:58 UTC (permalink / raw)
  To: alex.kanavin@gmail.com
  Cc: Richard Purdie, Moritz.Haase@bmw.de,
	openembedded-core@lists.openembedded.org,
	mathieu.dubois-briand@bootlin.com

On 6 Jul 2026, at 10:27, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org> wrote:
> 
> On Mon, 6 Jul 2026 at 10:56, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> 
>> This patch turns out to be the one breaking oe-selftest:
>> 
>> e.g.
>> 
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/23/builds/4276
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4216
>> 
>> The reason is that prior to this change, those tests don't build glib-
>> 2.0 but after them, they do due to the new xxd -> vim -> desktop-file-
>> utils -> glib-2.0 dependency chain.
>> 
>> Not quite sure what we'll do about that yet, we may need to add more
>> locales to the selftest I guess but the extra dependencies aren't
>> ideal.
> 
> I've a patch for it too, which rather disables ptest distro feature in
> that particular selftest:
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=akanavin/package-version-updates&id=18b1c1a07ec8a42af31aa9576793f4ec73ffd0d6
> 
> "selftest/locales: opt out of ptests in DISTRO_FEATURES" if sha for
> the commit shifts in the branch.

Seems like a sensible thing to do, considering the test is fairly fragile and ptests test to pull in large dependencies.

Also, busybox’s xxd is sufficient for this test suite, so I think we should enable that in busybox and then json-c won’t need to pull vim into the build.

Ross

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH v3] json-c: upgrade 0.18 -> 0.19
  2026-07-06  9:58     ` Ross Burton
@ 2026-07-06 10:22       ` Ross Burton
  0 siblings, 0 replies; 5+ messages in thread
From: Ross Burton @ 2026-07-06 10:22 UTC (permalink / raw)
  To: Moritz.Haase@bmw.de
  Cc: Richard Purdie, openembedded-core@lists.openembedded.org,
	mathieu.dubois-briand@bootlin.com, alex.kanavin@gmail.com

On 6 Jul 2026, at 10:58, Ross Burton <ross.burton@arm.com> wrote:
> Also, busybox’s xxd is sufficient for this test suite, so I think we should enable that in busybox and then json-c won’t need to pull vim into the build.

I just sent a patch to enable xxd in busybox, so resending this without the explicit dependency on xxd will still work.

Ross

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-06 10:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03 10:53 [PATCH v3] json-c: upgrade 0.18 -> 0.19 Moritz Haase
2026-07-06  8:56 ` [OE-core] " Richard Purdie
2026-07-06  9:27   ` Alexander Kanavin
2026-07-06  9:58     ` Ross Burton
2026-07-06 10:22       ` Ross Burton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox