mbox series

[bug#68023,00/13] Add support for Linux `make dtbs_check`

Message ID cover.1703494195.git.othacehe@gnu.org
Headers show
Series Add support for Linux `make dtbs_check` | expand

Message

Mathieu Othacehe Dec. 25, 2023, 9:06 a.m. UTC
Hello,

This adds support for `make dtbs_check` in a Linux checkout from within a
`guix shell -D linux-libre` environment.

This allows to check device trees against the JSON schema that is made up from
the Linux dt-bindings documentation.

This requires an update of python-jsonschema, which in turn requires
python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
means that patches 0008 to 0013 are targeting the python-team branch.

Thanks,

Mathieu

Mathieu Othacehe (13):
  gnu: dtc: Update to 1.7.0.
  gnu: python-trove-classifiers: Update to 2023.11.29.
  gnu: Add rust-unsize-1.
  gnu: Add rust-triomphe-0.1.
  gnu: Add rust-compiletest-rs-0.10.
  gnu: Add rust-archery-1.
  gnu: Add rust-rpds-1.
  gnu: Add python-rpds-py.
  gnu: Add python-referencing.
  gnu: Add python-jsonschema-specifications.
  gnu: python-jsonschema: Update to 4.17.3.
  gnu: Add python-dtschema.
  gnu: linux-libre: Add python-dtschema.

 gnu/local.mk                                  |   1 +
 gnu/packages/bootloaders.scm                  | 100 ++++++++++---
 gnu/packages/crates-io.scm                    | 135 ++++++++++++++++++
 gnu/packages/linux.scm                        |   4 +
 .../patches/dtc-meson-cell-overflow.patch     |  32 +++++
 gnu/packages/python-build.scm                 |   4 +-
 gnu/packages/python-xyz.scm                   | 115 +++++++++++++--
 7 files changed, 358 insertions(+), 33 deletions(-)
 create mode 100644 gnu/packages/patches/dtc-meson-cell-overflow.patch


base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3

Comments

Efraim Flashner Dec. 28, 2023, 7:54 a.m. UTC | #1
On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
> Hello,
> 
> This adds support for `make dtbs_check` in a Linux checkout from within a
> `guix shell -D linux-libre` environment.
> 
> This allows to check device trees against the JSON schema that is made up from
> the Linux dt-bindings documentation.
> 
> This requires an update of python-jsonschema, which in turn requires
> python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
> means that patches 0008 to 0013 are targeting the python-team branch.
> 
> Thanks,
> 
> Mathieu
> 
> Mathieu Othacehe (13):
>   gnu: dtc: Update to 1.7.0.
>   gnu: python-trove-classifiers: Update to 2023.11.29.
>   gnu: Add rust-unsize-1.
>   gnu: Add rust-triomphe-0.1.
>   gnu: Add rust-compiletest-rs-0.10.
>   gnu: Add rust-archery-1.
>   gnu: Add rust-rpds-1.
>   gnu: Add python-rpds-py.
>   gnu: Add python-referencing.
>   gnu: Add python-jsonschema-specifications.
>   gnu: python-jsonschema: Update to 4.17.3.
>   gnu: Add python-dtschema.
>   gnu: linux-libre: Add python-dtschema.
> 
>  gnu/local.mk                                  |   1 +
>  gnu/packages/bootloaders.scm                  | 100 ++++++++++---
>  gnu/packages/crates-io.scm                    | 135 ++++++++++++++++++
>  gnu/packages/linux.scm                        |   4 +
>  .../patches/dtc-meson-cell-overflow.patch     |  32 +++++
>  gnu/packages/python-build.scm                 |   4 +-
>  gnu/packages/python-xyz.scm                   | 115 +++++++++++++--
>  7 files changed, 358 insertions(+), 33 deletions(-)
>  create mode 100644 gnu/packages/patches/dtc-meson-cell-overflow.patch
> 
> 
> base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
> -- 
> 2.41.0
> 

Patches 3-8 look good to me with the few comments I made. They can go
straight to master, no need for a stop-over in the rust-team branch.
Mathieu Othacehe Dec. 28, 2023, 9:14 a.m. UTC | #2
Hey Efraim,

> Patches 3-8 look good to me with the few comments I made. They can go
> straight to master, no need for a stop-over in the rust-team branch.

I took you remarks into account and applied patches 3-8. Thanks for
having a look!

Mathieu
Leo Famulari Dec. 28, 2023, 7:04 p.m. UTC | #3
On Mon, Dec 25, 2023 at 10:06:06AM +0100, Mathieu Othacehe wrote:
> Hello,
> 
> This adds support for `make dtbs_check` in a Linux checkout from within a
> `guix shell -D linux-libre` environment.
> 
> This allows to check device trees against the JSON schema that is made up from
> the Linux dt-bindings documentation.
> 
> This requires an update of python-jsonschema, which in turn requires
> python-attrs > 22.2.0. On master, we only have python-attrs == 21.2.0. That
> means that patches 0008 to 0013 are targeting the python-team branch.

Overall, I think that if it's working for you, great. Especially since
Efraim approved the Rust stuff.

However, I prefer not to make the kernel depend on python. I know that
basically any system will include python but still I prefer to avoid the
direct dependency.

The goal of this patch series is to improve a development workflow,
right?

How about doing `guix shell python-dtschema -D linux-libre`? Will that
work?
Mathieu Othacehe Dec. 28, 2023, 8 p.m. UTC | #4
Hey Leo,

> The goal of this patch series is to improve a development workflow,
> right?

Right.

> How about doing `guix shell python-dtschema -D linux-libre`? Will that
> work?

Sure, in fact I am currently using the following command line:

--8<---------------cut here---------------start------------->8---
guix shell python python-ply python-gitpython python-dtschema -D linux-libre
--8<---------------cut here---------------end--------------->8---

I guess that the list can (will) go longer, so what would you think of
creating a linux-python-build-tools package that would be independent of
linux-libre?

For now, I will just drop the last patch.

Thanks,

Mathieu
Leo Famulari Dec. 29, 2023, 8:04 p.m. UTC | #5
On Thu, Dec 28, 2023 at 09:00:47PM +0100, Mathieu Othacehe wrote:
> I guess that the list can (will) go longer, so what would you think of
> creating a linux-python-build-tools package that would be independent of
> linux-libre?

If that works for you, I'm all for it!
Mathieu Othacehe Jan. 9, 2024, 8:06 a.m. UTC | #6
Hello,

Alright, so everything except python patches is merged. Python team,
would it be OK to push the rest to the `python-team` branch?

Thanks,

Mathieu