2022-03-04 10:02:06

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] dt-bindings: kbuild: Print a warning if yamllint is not found

Running yamllint is effectively required for binding schemas, so print a
warning if not found rather than silently skipping running it.

Signed-off-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
index 5138d10e0601..61ec18ecc931 100644
--- a/Documentation/devicetree/bindings/Makefile
+++ b/Documentation/devicetree/bindings/Makefile
@@ -3,7 +3,8 @@ DT_DOC_CHECKER ?= dt-doc-validate
DT_EXTRACT_EX ?= dt-extract-example
DT_MK_SCHEMA ?= dt-mk-schema

-DT_SCHEMA_LINT = $(shell which yamllint)
+DT_SCHEMA_LINT := $(shell which yamllint || \
+ echo "warning: yamllint not installed, skipping. To install, run 'pip install yamllint'" >&2)

DT_SCHEMA_MIN_VERSION = 2021.2.1

--
2.32.0


2022-03-04 15:05:01

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: kbuild: Print a warning if yamllint is not found

Hi Rob,

On Thu, Mar 3, 2022 at 11:15 PM Rob Herring <[email protected]> wrote:
> Running yamllint is effectively required for binding schemas, so print a
> warning if not found rather than silently skipping running it.
>
> Signed-off-by: Rob Herring <[email protected]>

Thanks for your patch!

> --- a/Documentation/devicetree/bindings/Makefile
> +++ b/Documentation/devicetree/bindings/Makefile
> @@ -3,7 +3,8 @@ DT_DOC_CHECKER ?= dt-doc-validate
> DT_EXTRACT_EX ?= dt-extract-example
> DT_MK_SCHEMA ?= dt-mk-schema
>
> -DT_SCHEMA_LINT = $(shell which yamllint)
> +DT_SCHEMA_LINT := $(shell which yamllint || \
> + echo "warning: yamllint not installed, skipping. To install, run 'pip install yamllint'" >&2)

Do we want to encourage people to use pip, instead of their distro's
package manager? At least Debian/Ubuntu provide yamllint packages.

So perhaps drop the install rule?

>
> DT_SCHEMA_MIN_VERSION = 2021.2.1

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2022-03-04 16:13:08

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: kbuild: Print a warning if yamllint is not found

On Fri, Mar 04, 2022 at 09:59:12AM +0100, Geert Uytterhoeven wrote:
> Hi Rob,
>
> On Thu, Mar 3, 2022 at 11:15 PM Rob Herring <[email protected]> wrote:
> > Running yamllint is effectively required for binding schemas, so print a
> > warning if not found rather than silently skipping running it.
> >
> > Signed-off-by: Rob Herring <[email protected]>
>
> Thanks for your patch!
>
> > --- a/Documentation/devicetree/bindings/Makefile
> > +++ b/Documentation/devicetree/bindings/Makefile
> > @@ -3,7 +3,8 @@ DT_DOC_CHECKER ?= dt-doc-validate
> > DT_EXTRACT_EX ?= dt-extract-example
> > DT_MK_SCHEMA ?= dt-mk-schema
> >
> > -DT_SCHEMA_LINT = $(shell which yamllint)
> > +DT_SCHEMA_LINT := $(shell which yamllint || \
> > + echo "warning: yamllint not installed, skipping. To install, run 'pip install yamllint'" >&2)
>
> Do we want to encourage people to use pip, instead of their distro's
> package manager? At least Debian/Ubuntu provide yamllint packages.
>
> So perhaps drop the install rule?

Okay, that's what I originally had. I'm sure someone will want to
document 'how to install yamllint' somewhere. Maybe I'll say:

warning: python package 'yamllint' not installed, skipping

To give some hint how to install.

I'm not sure exactly, but there is a minimum version of yamllint so it
is possible the distro versions are too old. IIRC, unknown config
settings throw an error. I think at the time I did the config everything
had been around for at least a year or 2 and I don't think anyone has
reported issues.

Rob

2022-03-04 18:47:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: kbuild: Print a warning if yamllint is not found

On 03/03/2022 23:14, Rob Herring wrote:
> Running yamllint is effectively required for binding schemas, so print a
> warning if not found rather than silently skipping running it.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> Documentation/devicetree/bindings/Makefile | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>


Reviewed-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof