[XEN PATCH 11/11] Update CHANGELOG and README with dependency on json-c

Anthony PERARD posted 11 patches 4 months, 1 week ago
There is a newer version of this series
[XEN PATCH 11/11] Update CHANGELOG and README with dependency on json-c
Posted by Anthony PERARD 4 months, 1 week ago
From: Anthony PERARD <anthony.perard@vates.tech>

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 CHANGELOG.md | 2 ++
 README       | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5f31ca08fe..83195e2dae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
    - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
  - Linux based device model stubdomains are now fully supported.
+ - New dependency on library json-c, the toolstack will prefer it to `YAJL`
+   when available.
 
  - On x86:
    - Restrict the cache flushing done as a result of guest physical memory map
diff --git a/README b/README
index 6ee58f7b35..9329f30e13 100644
--- a/README
+++ b/README
@@ -53,7 +53,7 @@ provided by your OS distributor:
     * Development install of Python 2.7 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
     * Development install of uuid (e.g. uuid-dev)
-    * Development install of yajl (e.g. libyajl-dev)
+    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
       greater.
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)
-- 
Anthony PERARD
Re: [XEN PATCH 11/11] Update CHANGELOG and README with dependency on json-c
Posted by Andrew Cooper 4 months ago
On 08/08/2025 3:56 pm, Anthony PERARD wrote:
> From: Anthony PERARD <anthony.perard@vates.tech>
>
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
>  CHANGELOG.md | 2 ++
>  README       | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5f31ca08fe..83195e2dae 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>     - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
>     - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
>   - Linux based device model stubdomains are now fully supported.
> + - New dependency on library json-c, the toolstack will prefer it to `YAJL`
> +   when available.
>  
>   - On x86:
>     - Restrict the cache flushing done as a result of guest physical memory map
> diff --git a/README b/README
> index 6ee58f7b35..9329f30e13 100644
> --- a/README
> +++ b/README
> @@ -53,7 +53,7 @@ provided by your OS distributor:
>      * Development install of Python 2.7 or later (e.g., python-dev)
>      * Development install of curses (e.g., libncurses-dev)
>      * Development install of uuid (e.g. uuid-dev)
> -    * Development install of yajl (e.g. libyajl-dev)
> +    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
>      * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
>        greater.
>      * Development install of GLib v2.0 (e.g. libglib2.0-dev)

What are we going to do about testing this?

We should add libjson-c to some build containers.  We need to annotate #
Xen < 4.21 in the existing containers so we can drop it in due course.

Also, for a container we don't intend to backport to stable trees, we
should have libjson-c only and no yajl.  Probably best to do this in the
Alpine update which is long overdue.

~Andrew

Re: [XEN PATCH 11/11] Update CHANGELOG and README with dependency on json-c
Posted by Anthony PERARD 4 months ago
On Mon, Aug 11, 2025 at 11:55:04AM +0100, Andrew Cooper wrote:
> On 08/08/2025 3:56 pm, Anthony PERARD wrote:
> > From: Anthony PERARD <anthony.perard@vates.tech>
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> > ---
> >  CHANGELOG.md | 2 ++
> >  README       | 2 +-
> >  2 files changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index 5f31ca08fe..83195e2dae 100644
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >     - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
> >     - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
> >   - Linux based device model stubdomains are now fully supported.
> > + - New dependency on library json-c, the toolstack will prefer it to `YAJL`
> > +   when available.
> >  
> >   - On x86:
> >     - Restrict the cache flushing done as a result of guest physical memory map
> > diff --git a/README b/README
> > index 6ee58f7b35..9329f30e13 100644
> > --- a/README
> > +++ b/README
> > @@ -53,7 +53,7 @@ provided by your OS distributor:
> >      * Development install of Python 2.7 or later (e.g., python-dev)
> >      * Development install of curses (e.g., libncurses-dev)
> >      * Development install of uuid (e.g. uuid-dev)
> > -    * Development install of yajl (e.g. libyajl-dev)
> > +    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)
> >      * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
> >        greater.
> >      * Development install of GLib v2.0 (e.g. libglib2.0-dev)
> 
> What are we going to do about testing this?
> 
> We should add libjson-c to some build containers.  We need to annotate #
> Xen < 4.21 in the existing containers so we can drop it in due course.

archlinux container already have `json-c` so the CI already do some
build jobs with it. (no *-dev needed for this one container). It even
notice an issue with `debug=n` builds, I had to replace `strncpy` by
`memcpy`.

> Also, for a container we don't intend to backport to stable trees, we
> should have libjson-c only and no yajl.  Probably best to do this in the
> Alpine update which is long overdue.

Doing this on alpine container would allow to actually do some runtime
tests with json-c instead of yajl, so yes.

-- 
Anthony PERARD
Re: [XEN PATCH 11/11] Update CHANGELOG and README with dependency on json-c
Posted by Oleksii Kurochko 4 months ago
On 8/8/25 4:56 PM, Anthony PERARD wrote:
> From: Anthony PERARD<anthony.perard@vates.tech>
>
> Signed-off-by: Anthony PERARD<anthony.perard@vates.tech>

LGTM: Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail>
With one question ...


> ---
>   CHANGELOG.md | 2 ++
>   README       | 2 +-
>   2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 5f31ca08fe..83195e2dae 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>      - For x86, GCC 5.1 and Binutils 2.25, or Clang/LLVM 11
>      - For ARM32 and ARM64, GCC 5.1 and Binutils 2.25
>    - Linux based device model stubdomains are now fully supported.
> + - New dependency on library json-c, the toolstack will prefer it to `YAJL`
> +   when available.
>   
>    - On x86:
>      - Restrict the cache flushing done as a result of guest physical memory map
> diff --git a/README b/README
> index 6ee58f7b35..9329f30e13 100644
> --- a/README
> +++ b/README
> @@ -53,7 +53,7 @@ provided by your OS distributor:
>       * Development install of Python 2.7 or later (e.g., python-dev)
>       * Development install of curses (e.g., libncurses-dev)
>       * Development install of uuid (e.g. uuid-dev)
> -    * Development install of yajl (e.g. libyajl-dev)
> +    * Development install of json-c (e.g. libjson-c-dev) or yajl (e.g. libyajl-dev)

... as you mentioned in the cover letter libyajl-dev is unmaintained for several years. Do any plans
exist to drop libyajl-dev at all? Can't it be dropped now?

~ Oleksii

>       * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
>         greater.
>       * Development install of GLib v2.0 (e.g. libglib2.0-dev)