All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors
@ 2026-04-07 15:02 Rob Woolley
  2026-04-07 15:02 ` [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema Rob Woolley
                   ` (8 more replies)
  0 siblings, 9 replies; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

UPDATES v2:
  The following updates were made to v2 of this series:
   * Include an additional patch fixing an existing typo
   * Update the examples property to wrap it in an array and
     add a required configuration element

This series fixes some linting errors in the JSON Schema.  Problems
were found using the https://github.com/sourcemeta/jsonschema tool.

Here are the steps used to install and use the tool to lint the schemas:

# Setup the jsonschema CLI tool
```
  python3 -m venv venv
  source venv/bin/activate
  pip install sourcemeta-jsonschema
```

# Validate the schemas

```
jsonschema lint setup-schema/bitbake-setup.schema.json
jsonschema lint setup-schema/layers.schema.json
```

# Check the examples

NOTE: The examples are annotations and are meant for humans reading the schema.
They do not typically get checked automatically by the JSON Schema validation
tools.  Use jq to extract the JSON object into its own file to check it
separately.

```
cd setup-schema

jq .examples[] bitbake-setup.schema.json  > bitbake-setup.schema-examples.json
jsonschema validate bitbake-setup.schema.json bitbake-setup.schema-examples.json


jq .examples[] layers.schema.json  > layers.schema-examples.json
jsonschema validate layers.schema.json layers.schema-examples.json
cd ..
```

# Check the default-registry/configurations
```
jsonschema validate setup-schema/bitbake-setup.schema.json default-registry/configurations/oe-nodistro-master.conf.json
jsonschema validate setup-schema/bitbake-setup.schema.json default-registry/configurations/oe-nodistro-whinlatter.conf.json
jsonschema validate setup-schema/bitbake-setup.schema.json default-registry/configurations/poky-master.conf.json
jsonschema validate setup-schema/bitbake-setup.schema.json default-registry/configurations/poky-whinlatter.conf.json
```


There are 2 outstanding types of linting errors related to the use of hyphen
in the property names and the enum currently having only one value:

  Set `properties` to identifier names that can be easily mapped to programming
  languages (matching [A-Za-z_][A-Za-z0-9_]*) (simple_properties_identifiers).

  An `enum` of a single value can be expressed as `const` (enum_to_const)

The former would require a larger discussion and potentially increasing the
version number. Updating the enum to include a new version would also resolve
the latter error.

I do not believe that the changes in this series merit increasing the version
of the schema.

Resolving these outstanding errors is not necessary for validating the
Bitbake Configuration files.

UPDATE v2: Additional testing was performed with oe-selftest.  This uses
    python3-jsonschema which is a different implementation and caught
    additional linting errors.


```
    git clone https://git.openembedded.org/bitbake
    
    ./bitbake/bin/bitbake-setup init --non-interactive poky-master poky machine/qemux86-64 distro/poky
    
    . /ala-lpggp31/rwoolley/oe-selftest-testing/bitbake-builds/poky-master/build/init-build-env
    
    echo 'SANITY_TESTED_DISTROS = ""' >> conf/local.conf
    
    oe-selftest -r bblayers.BitbakeLayers.test_bitbakelayers_setup \
                   bblayers.BitbakeLayers.test_bitbakelayers_updatelayer \
                   bblayers.BitbakeLayers.test_validate_examplelayersjson \
                   bblayers.BitbakeLayers.test_validate_bitbake_setup_default_registry
```


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

* [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:41   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property Rob Woolley
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

Resolves the jsonschema linting error:
  Set a concise non-empty title at the top level of the schema to
  explain what the definition is about (top_level_title)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/bitbake-setup.schema.json | 1 +
 1 file changed, 1 insertion(+)

diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
index be8772db1..d340c9785 100644
--- a/setup-schema/bitbake-setup.schema.json
+++ b/setup-schema/bitbake-setup.schema.json
@@ -1,6 +1,7 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "description": "Schema for bitbake-setup configuration files",
+    "title": "bitbake-setup configuration file",
     "type": "object",
     "required": [
         "description",
-- 
2.49.0



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

* [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
  2026-04-07 15:02 ` [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas Rob Woolley
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

This resolves the jsonschema linting error:
    Set a non-empty examples array at the top level of the schema
    to illustrate the expected data (top_level_examples)

This example intentionally only references bitbake as a minimal
example that focuses on the tool itself.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/bitbake-setup.schema.json | 27 ++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
index d340c9785..3324546de 100644
--- a/setup-schema/bitbake-setup.schema.json
+++ b/setup-schema/bitbake-setup.schema.json
@@ -1,6 +1,33 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "description": "Schema for bitbake-setup configuration files",
+    "examples" : [
+        {
+            "description": "Example bitbake-setup configuration file",
+            "sources": {
+                "bitbake": {
+                    "git-remote": {
+                        "remotes": {
+                            "origin": {
+                                "uri": "https://git.openembedded.org/bitbake"
+                            }
+                        },
+                        "branch": "master",
+                        "rev": "master"
+                    },
+                    "path": "bitbake"
+                }
+            },
+            "bitbake-setup": {
+                "configurations": [
+                    {
+                        "bb-layers": ["openembedded-core/meta","meta-yocto/meta-yocto-bsp","meta-yocto/meta-poky"]
+                    }
+                ]
+            },
+            "version": "1.0"
+        }
+    ],
     "title": "bitbake-setup configuration file",
     "type": "object",
     "required": [
-- 
2.49.0



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

* [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
  2026-04-07 15:02 ` [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema Rob Woolley
  2026-04-07 15:02 ` [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period Rob Woolley
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

The oneOf keyword is for matching exactly one subschema.

However, the 2 possible BitBake configuration fragments
are not disjoint. Since a simple example with type and
description would match both. For this reason, we should
use anyOf instead.

This resolves the following jsonschema linting error:
  A `oneOf` where all branches have disjoint types can be safely
  converted to `anyOf` (oneof_to_anyof_disjoint_types)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/bitbake-setup.schema.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
index 3324546de..f2e466c9b 100644
--- a/setup-schema/bitbake-setup.schema.json
+++ b/setup-schema/bitbake-setup.schema.json
@@ -92,7 +92,7 @@
                                 "type": "array",
                                 "description": "List of BitBake configuration fragments to enable",
                                 "items": {
-                                    "oneOf": [
+                                    "anyOf": [
                                         {
                                             "type": "string",
                                             "description": "Configuration fragment name"
-- 
2.49.0



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

* [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (2 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 5/9] layers.schema.json: Add missing schema Rob Woolley
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

This resolves the jsonschema linting error:
  Descriptions should not end with a period to give user interfaces
  flexibility in presenting the text (description_trailing_period)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/bitbake-setup.schema.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
index f2e466c9b..896b0ba4a 100644
--- a/setup-schema/bitbake-setup.schema.json
+++ b/setup-schema/bitbake-setup.schema.json
@@ -150,7 +150,7 @@
                             },
                             "setup-dir-name": {
                                 "type": "string",
-                                "description": "A suggestion for the setup directory name, $-prefixed keys from oe-fragments-one-of will be substituted with user selections."
+                                "description": "A suggestion for the setup directory name, $-prefixed keys from oe-fragments-one-of will be substituted with user selections"
                             }
                         },
                         "additionalProperties": false
-- 
2.49.0



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

* [PATCH v2 5/9] layers.schema.json: Add missing schema
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (3 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:49   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 6/9] layers.schema.json: Add title for subschema Rob Woolley
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

This resolves the jsonschema error:
  error: The JSON document is not a valid JSON Schema

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/layers.schema.json | 1 +
 1 file changed, 1 insertion(+)

diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
index f42606941..2c192c8b0 100644
--- a/setup-schema/layers.schema.json
+++ b/setup-schema/layers.schema.json
@@ -1,4 +1,5 @@
 {
+    "$schema": "https://json-schema.org/draft/2020-12/schema",
     "description": "OpenEmbedder Layer Setup Manifest",
     "type": "object",
     "additionalProperties": false,
-- 
2.49.0



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

* [PATCH v2 6/9] layers.schema.json: Add title for subschema
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (4 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 5/9] layers.schema.json: Add missing schema Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 10:58   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 7/9] layers.schema.json: Add examples property Rob Woolley
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

Resolves the jsonschema linting error:
  Set a concise non-empty title at the top level of the schema to
  explain what the definition is about (top_level_title)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/layers.schema.json | 1 +
 1 file changed, 1 insertion(+)

diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
index 2c192c8b0..8bc74a533 100644
--- a/setup-schema/layers.schema.json
+++ b/setup-schema/layers.schema.json
@@ -1,6 +1,7 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "description": "OpenEmbedder Layer Setup Manifest",
+    "title": "bitbake-setup layer subschema",
     "type": "object",
     "additionalProperties": false,
     "required": [
-- 
2.49.0



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

* [PATCH v2 7/9] layers.schema.json: Add examples property
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (5 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 6/9] layers.schema.json: Add title for subschema Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 11:04   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 8/9] layers.schema.json: Remove trailing period Rob Woolley
  2026-04-07 15:02 ` [PATCH v2 9/9] layers.schema.json: Fix typo in property name Rob Woolley
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

This resolves the jsonschema linting error:
    Set a non-empty examples array at the top level of the schema
    to illustrate the expected data (top_level_examples)

This example intentionally only references bitbake as a minimal
example that focuses on the tool itself.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/layers.schema.json | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
index 8bc74a533..5c715f08e 100644
--- a/setup-schema/layers.schema.json
+++ b/setup-schema/layers.schema.json
@@ -1,6 +1,25 @@
 {
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "description": "OpenEmbedder Layer Setup Manifest",
+    "examples" : [
+        {
+            "version": "1.0",
+            "sources": {
+                "bitbake": {
+                    "git-remote": {
+                        "remotes": {
+                            "origin": {
+                                "uri": "https://git.openembedded.org/bitbake"
+                            }
+                        },
+                        "branch": "master",
+                        "rev": "master"
+                    },
+                    "path": "bitbake"
+                }
+            }
+        }
+    ],
     "title": "bitbake-setup layer subschema",
     "type": "object",
     "additionalProperties": false,
-- 
2.49.0



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

* [PATCH v2 8/9] layers.schema.json: Remove trailing period
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (6 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 7/9] layers.schema.json: Add examples property Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 11:05   ` [bitbake-devel] " Yoann Congal
  2026-04-07 15:02 ` [PATCH v2 9/9] layers.schema.json: Fix typo in property name Rob Woolley
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

This resolves the jsonschema linting error:
  Descriptions should not end with a period to give user interfaces
  flexibility in presenting the text (description_trailing_period)

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/layers.schema.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
index 5c715f08e..0ab679a6f 100644
--- a/setup-schema/layers.schema.json
+++ b/setup-schema/layers.schema.json
@@ -44,7 +44,7 @@
                         "type": "string"
                     },
                     "contains_this_file": {
-                        "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then.",
+                        "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then",
                         "type": "boolean"
                     },
                     "git-remote": {
@@ -64,7 +64,7 @@
                                 "type": "string"
                             },
                             "describe": {
-                                "description": "The output of 'git describe' (human readable description of the revision using tags in revision history).",
+                                "description": "The output of 'git describe' (human readable description of the revision using tags in revision history)",
                                 "type": "string"
                             },
                             "uri": {
-- 
2.49.0



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

* [PATCH v2 9/9] layers.schema.json: Fix typo in property name
  2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
                   ` (7 preceding siblings ...)
  2026-04-07 15:02 ` [PATCH v2 8/9] layers.schema.json: Remove trailing period Rob Woolley
@ 2026-04-07 15:02 ` Rob Woolley
  2026-05-28 11:06   ` [bitbake-devel] " Yoann Congal
  8 siblings, 1 reply; 19+ messages in thread
From: Rob Woolley @ 2026-04-07 15:02 UTC (permalink / raw)
  To: bitbake-devel

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
 setup-schema/layers.schema.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
index 0ab679a6f..8b46ca08c 100644
--- a/setup-schema/layers.schema.json
+++ b/setup-schema/layers.schema.json
@@ -77,7 +77,7 @@
                                 "patternProperties": { ".*" : {
                                     "description": "A git remote",
                                     "type": "object",
-                                    "addtionalProperties": false,
+                                    "additionalProperties": false,
                                     "required": [
                                         "uri"
                                     ],
-- 
2.49.0



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

* Re: [bitbake-devel] [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema
  2026-04-07 15:02 ` [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema Rob Woolley
@ 2026-05-28 10:41   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:41 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> Resolves the jsonschema linting error:
>   Set a concise non-empty title at the top level of the schema to
>   explain what the definition is about (top_level_title)
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>

> ---
>  setup-schema/bitbake-setup.schema.json | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
> index be8772db1..d340c9785 100644
> --- a/setup-schema/bitbake-setup.schema.json
> +++ b/setup-schema/bitbake-setup.schema.json
> @@ -1,6 +1,7 @@
>  {
>      "$schema": "https://json-schema.org/draft/2020-12/schema",
>      "description": "Schema for bitbake-setup configuration files",
> +    "title": "bitbake-setup configuration file",
>      "type": "object",
>      "required": [
>          "description",


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property
  2026-04-07 15:02 ` [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property Rob Woolley
@ 2026-05-28 10:48   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:48 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> This resolves the jsonschema linting error:
>     Set a non-empty examples array at the top level of the schema
>     to illustrate the expected data (top_level_examples)
>
> This example intentionally only references bitbake as a minimal
> example that focuses on the tool itself.
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---
>  setup-schema/bitbake-setup.schema.json | 27 ++++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>
> diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
> index d340c9785..3324546de 100644
> --- a/setup-schema/bitbake-setup.schema.json
> +++ b/setup-schema/bitbake-setup.schema.json
> @@ -1,6 +1,33 @@
>  {
>      "$schema": "https://json-schema.org/draft/2020-12/schema",
>      "description": "Schema for bitbake-setup configuration files",
> +    "examples" : [
> +        {
> +            "description": "Example bitbake-setup configuration file",
> +            "sources": {
> +                "bitbake": {
> +                    "git-remote": {
> +                        "remotes": {
> +                            "origin": {
> +                                "uri": "https://git.openembedded.org/bitbake"
> +                            }
> +                        },
> +                        "branch": "master",
> +                        "rev": "master"
> +                    },
> +                    "path": "bitbake"

For this example, I think we can use the shortest form:
  "sources": {
      "bitbake": {
          "git-remote": {
              "uri": "https://git.openembedded.org/bitbake",
              "rev": "master"
  		}
  }


> +                }
> +            },
> +            "bitbake-setup": {
> +                "configurations": [
> +                    {
> +                        "bb-layers": ["openembedded-core/meta","meta-yocto/meta-yocto-bsp","meta-yocto/meta-poky"]

The fact that this example references layer that it does not source
makes me uneasy.

How about a minimal example with bitbake+openembedded-core and a
qemux86-64+nodistro build?

> +                    }
> +                ]
> +            },
> +            "version": "1.0"
> +        }
> +    ],
>      "title": "bitbake-setup configuration file",
>      "type": "object",
>      "required": [


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas
  2026-04-07 15:02 ` [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas Rob Woolley
@ 2026-05-28 10:48   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:48 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> The oneOf keyword is for matching exactly one subschema.
>
> However, the 2 possible BitBake configuration fragments
> are not disjoint. Since a simple example with type and
> description would match both. For this reason, we should
> use anyOf instead.
>
> This resolves the following jsonschema linting error:
>   A `oneOf` where all branches have disjoint types can be safely
>   converted to `anyOf` (oneof_to_anyof_disjoint_types)
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
> ---
>  setup-schema/bitbake-setup.schema.json | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
> index 3324546de..f2e466c9b 100644
> --- a/setup-schema/bitbake-setup.schema.json
> +++ b/setup-schema/bitbake-setup.schema.json
> @@ -92,7 +92,7 @@
>                                  "type": "array",
>                                  "description": "List of BitBake configuration fragments to enable",
>                                  "items": {
> -                                    "oneOf": [
> +                                    "anyOf": [
>                                          {
>                                              "type": "string",
>                                              "description": "Configuration fragment name"


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period
  2026-04-07 15:02 ` [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period Rob Woolley
@ 2026-05-28 10:48   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:48 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> This resolves the jsonschema linting error:
>   Descriptions should not end with a period to give user interfaces
>   flexibility in presenting the text (description_trailing_period)
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>

> ---
>  setup-schema/bitbake-setup.schema.json | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/setup-schema/bitbake-setup.schema.json b/setup-schema/bitbake-setup.schema.json
> index f2e466c9b..896b0ba4a 100644
> --- a/setup-schema/bitbake-setup.schema.json
> +++ b/setup-schema/bitbake-setup.schema.json
> @@ -150,7 +150,7 @@
>                              },
>                              "setup-dir-name": {
>                                  "type": "string",
> -                                "description": "A suggestion for the setup directory name, $-prefixed keys from oe-fragments-one-of will be substituted with user selections."
> +                                "description": "A suggestion for the setup directory name, $-prefixed keys from oe-fragments-one-of will be substituted with user selections"
>                              }
>                          },
>                          "additionalProperties": false


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 5/9] layers.schema.json: Add missing schema
  2026-04-07 15:02 ` [PATCH v2 5/9] layers.schema.json: Add missing schema Rob Woolley
@ 2026-05-28 10:49   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:49 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> This resolves the jsonschema error:
>   error: The JSON document is not a valid JSON Schema
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>

>  setup-schema/layers.schema.json | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
> index f42606941..2c192c8b0 100644
> --- a/setup-schema/layers.schema.json
> +++ b/setup-schema/layers.schema.json
> @@ -1,4 +1,5 @@
>  {
> +    "$schema": "https://json-schema.org/draft/2020-12/schema",
>      "description": "OpenEmbedder Layer Setup Manifest",
>      "type": "object",
>      "additionalProperties": false,


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 6/9] layers.schema.json: Add title for subschema
  2026-04-07 15:02 ` [PATCH v2 6/9] layers.schema.json: Add title for subschema Rob Woolley
@ 2026-05-28 10:58   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 10:58 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> Resolves the jsonschema linting error:
>   Set a concise non-empty title at the top level of the schema to
>   explain what the definition is about (top_level_title)
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---
>  setup-schema/layers.schema.json | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
> index 2c192c8b0..8bc74a533 100644
> --- a/setup-schema/layers.schema.json
> +++ b/setup-schema/layers.schema.json
> @@ -1,6 +1,7 @@
>  {
>      "$schema": "https://json-schema.org/draft/2020-12/schema",
>      "description": "OpenEmbedder Layer Setup Manifest",
Just noticed a OpenEmbedde*r* typo here. Could you also fix it in this
series?

> +    "title": "bitbake-setup layer subschema",

This is not only a bb-setup subschema, this schema is valid in itself
for files used in:
* openembedded-core/scripts/oe-setup-layers
* bitbake-layers create-layers-setup

For the title, something like "OpenEmbedded layer setup schema"? But
then, it's a little too similar to the description. So maybe the
description should be extended?

>      "type": "object",
>      "additionalProperties": false,
>      "required": [


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 7/9] layers.schema.json: Add examples property
  2026-04-07 15:02 ` [PATCH v2 7/9] layers.schema.json: Add examples property Rob Woolley
@ 2026-05-28 11:04   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 11:04 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> This resolves the jsonschema linting error:
>     Set a non-empty examples array at the top level of the schema
>     to illustrate the expected data (top_level_examples)
>
> This example intentionally only references bitbake as a minimal
> example that focuses on the tool itself.
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---
>  setup-schema/layers.schema.json | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
> index 8bc74a533..5c715f08e 100644
> --- a/setup-schema/layers.schema.json
> +++ b/setup-schema/layers.schema.json
> @@ -1,6 +1,25 @@
>  {
>      "$schema": "https://json-schema.org/draft/2020-12/schema",
>      "description": "OpenEmbedder Layer Setup Manifest",
> +    "examples" : [
> +        {
> +            "version": "1.0",

Can you put the "version" key at the end? (Like we do in 
https://git.openembedded.org/bitbake/tree/default-registry/)

> +            "sources": {
> +                "bitbake": {
> +                    "git-remote": {
> +                        "remotes": {
> +                            "origin": {
> +                                "uri": "https://git.openembedded.org/bitbake"
> +                            }
> +                        },
> +                        "branch": "master",
> +                        "rev": "master"
> +                    },
> +                    "path": "bitbake"
> +                }

Maybe use the short form here?
  "sources": {
      "bitbake": {
          "git-remote": {
              "uri": "https://git.openembedded.org/bitbake"
              "rev": "master"
          }
      }
  }


> +            }
> +        }
> +    ],
>      "title": "bitbake-setup layer subschema",
>      "type": "object",
>      "additionalProperties": false,


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 8/9] layers.schema.json: Remove trailing period
  2026-04-07 15:02 ` [PATCH v2 8/9] layers.schema.json: Remove trailing period Rob Woolley
@ 2026-05-28 11:05   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 11:05 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> This resolves the jsonschema linting error:
>   Descriptions should not end with a period to give user interfaces
>   flexibility in presenting the text (description_trailing_period)
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>

> ---
>  setup-schema/layers.schema.json | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
> index 5c715f08e..0ab679a6f 100644
> --- a/setup-schema/layers.schema.json
> +++ b/setup-schema/layers.schema.json
> @@ -44,7 +44,7 @@
>                          "type": "string"
>                      },
>                      "contains_this_file": {
> -                        "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then.",
> +                        "description": "Whether the directory with the layer source also contains this json description. Tools may want to skip the checkout of the source then",
>                          "type": "boolean"
>                      },
>                      "git-remote": {
> @@ -64,7 +64,7 @@
>                                  "type": "string"
>                              },
>                              "describe": {
> -                                "description": "The output of 'git describe' (human readable description of the revision using tags in revision history).",
> +                                "description": "The output of 'git describe' (human readable description of the revision using tags in revision history)",
>                                  "type": "string"
>                              },
>                              "uri": {


-- 
Yoann Congal
Smile ECS



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

* Re: [bitbake-devel] [PATCH v2 9/9] layers.schema.json: Fix typo in property name
  2026-04-07 15:02 ` [PATCH v2 9/9] layers.schema.json: Fix typo in property name Rob Woolley
@ 2026-05-28 11:06   ` Yoann Congal
  0 siblings, 0 replies; 19+ messages in thread
From: Yoann Congal @ 2026-05-28 11:06 UTC (permalink / raw)
  To: rob.woolley, bitbake-devel

On Tue Apr 7, 2026 at 5:02 PM CEST, Rob Woolley via lists.openembedded.org wrote:
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---

Nice catch!

Reviewed-by: Yoann Congal <yoann.congal@smile.fr>

>  setup-schema/layers.schema.json | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/setup-schema/layers.schema.json b/setup-schema/layers.schema.json
> index 0ab679a6f..8b46ca08c 100644
> --- a/setup-schema/layers.schema.json
> +++ b/setup-schema/layers.schema.json
> @@ -77,7 +77,7 @@
>                                  "patternProperties": { ".*" : {
>                                      "description": "A git remote",
>                                      "type": "object",
> -                                    "addtionalProperties": false,
> +                                    "additionalProperties": false,
>                                      "required": [
>                                          "uri"
>                                      ],


-- 
Yoann Congal
Smile ECS



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

end of thread, other threads:[~2026-05-28 11:06 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 15:02 [PATCH v2 0/9] bitbake-setup JSON Schema: Fix linting errors Rob Woolley
2026-04-07 15:02 ` [PATCH v2 1/9] bitbake-setup.schema.json: Add title for schema Rob Woolley
2026-05-28 10:41   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 2/9] bitbake-setup.schema.json: Add examples property Rob Woolley
2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 3/9] bitbake-setup.schema.json: Use anyOf for non-disjoint subschemas Rob Woolley
2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 4/9] bitbake-setup.schema.json: Remove trailing period Rob Woolley
2026-05-28 10:48   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 5/9] layers.schema.json: Add missing schema Rob Woolley
2026-05-28 10:49   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 6/9] layers.schema.json: Add title for subschema Rob Woolley
2026-05-28 10:58   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 7/9] layers.schema.json: Add examples property Rob Woolley
2026-05-28 11:04   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 8/9] layers.schema.json: Remove trailing period Rob Woolley
2026-05-28 11:05   ` [bitbake-devel] " Yoann Congal
2026-04-07 15:02 ` [PATCH v2 9/9] layers.schema.json: Fix typo in property name Rob Woolley
2026-05-28 11:06   ` [bitbake-devel] " Yoann Congal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.