The dtschema version check works, but is not that clear when dtschema is
neither installed nor in the PATH. Add a separate check and message if
dt-doc-validate is not found.
Cc: Luca Ceresoli <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
---
Documentation/devicetree/bindings/Makefile | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
index 8d6d912c6a6a..001b4f62b741 100644
--- a/Documentation/devicetree/bindings/Makefile
+++ b/Documentation/devicetree/bindings/Makefile
@@ -9,6 +9,10 @@ DT_SCHEMA_MIN_VERSION = 2021.2.1
PHONY += check_dtschema_version
check_dtschema_version:
+ @which $(DT_DOC_CHECKER) >/dev/null || \
+ { echo "Error: '$(DT_DOC_CHECKER)' not found!" \
+ "\nEnsure dtschema python package is installed and in your PATH." \
+ "\nCurrent PATH is:\n$$PATH\n" >&2; false; }
@{ echo $(DT_SCHEMA_MIN_VERSION); \
$(DT_DOC_CHECKER) --version 2>/dev/null || echo 0; } | sort -Vc >/dev/null || \
{ echo "ERROR: dtschema minimum version is v$(DT_SCHEMA_MIN_VERSION)" >&2; false; }
--
2.32.0
Hi Rob,
thanks for this patch!
On 26/10/21 19:18, Rob Herring wrote:
> The dtschema version check works, but is not that clear when dtschema is
> neither installed nor in the PATH. Add a separate check and message if
Nit: I think it should say "either not installed or not in the PATH".
> dt-doc-validate is not found.
>
> Cc: Luca Ceresoli <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> Documentation/devicetree/bindings/Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
> index 8d6d912c6a6a..001b4f62b741 100644
> --- a/Documentation/devicetree/bindings/Makefile
> +++ b/Documentation/devicetree/bindings/Makefile
> @@ -9,6 +9,10 @@ DT_SCHEMA_MIN_VERSION = 2021.2.1
>
> PHONY += check_dtschema_version
> check_dtschema_version:
> + @which $(DT_DOC_CHECKER) >/dev/null || \
> + { echo "Error: '$(DT_DOC_CHECKER)' not found!" \
> + "\nEnsure dtschema python package is installed and in your PATH." \
> + "\nCurrent PATH is:\n$$PATH\n" >&2; false; }
You need 'echo -e' for the '\n'.
Otherwise looks and works well.
--
Luca
On Wed, Oct 27, 2021 at 2:30 AM Luca Ceresoli <[email protected]> wrote:
>
> Hi Rob,
>
> thanks for this patch!
>
> On 26/10/21 19:18, Rob Herring wrote:
> > The dtschema version check works, but is not that clear when dtschema is
> > neither installed nor in the PATH. Add a separate check and message if
>
> Nit: I think it should say "either not installed or not in the PATH".
Right.
>
> > dt-doc-validate is not found.
> >
> > Cc: Luca Ceresoli <[email protected]>
> > Cc: Masahiro Yamada <[email protected]>
> > Signed-off-by: Rob Herring <[email protected]>
> > ---
> > Documentation/devicetree/bindings/Makefile | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
> > index 8d6d912c6a6a..001b4f62b741 100644
> > --- a/Documentation/devicetree/bindings/Makefile
> > +++ b/Documentation/devicetree/bindings/Makefile
> > @@ -9,6 +9,10 @@ DT_SCHEMA_MIN_VERSION = 2021.2.1
> >
> > PHONY += check_dtschema_version
> > check_dtschema_version:
> > + @which $(DT_DOC_CHECKER) >/dev/null || \
> > + { echo "Error: '$(DT_DOC_CHECKER)' not found!" \
> > + "\nEnsure dtschema python package is installed and in your PATH." \
> > + "\nCurrent PATH is:\n$$PATH\n" >&2; false; }
>
> You need 'echo -e' for the '\n'.
Except dash will just print '-e' and interpret the newlines...
I changed it like this:
@which $(DT_DOC_CHECKER) >/dev/null || \
{ echo "Error: '$(DT_DOC_CHECKER)' not found!" >&2; \
echo "Ensure dtschema python package is installed and in your PATH." >&2; \
echo "Current PATH is:" >&2; \
echo "$$PATH" >&2; false; }
Rob
Hi,
On 27/10/21 15:53, Rob Herring wrote:
> On Wed, Oct 27, 2021 at 2:30 AM Luca Ceresoli <[email protected]> wrote:
>>
>> Hi Rob,
>>
>> thanks for this patch!
>>
>> On 26/10/21 19:18, Rob Herring wrote:
>>> The dtschema version check works, but is not that clear when dtschema is
>>> neither installed nor in the PATH. Add a separate check and message if
>>
>> Nit: I think it should say "either not installed or not in the PATH".
>
> Right.
>
>>
>>> dt-doc-validate is not found.
>>>
>>> Cc: Luca Ceresoli <[email protected]>
>>> Cc: Masahiro Yamada <[email protected]>
>>> Signed-off-by: Rob Herring <[email protected]>
>>> ---
>>> Documentation/devicetree/bindings/Makefile | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile
>>> index 8d6d912c6a6a..001b4f62b741 100644
>>> --- a/Documentation/devicetree/bindings/Makefile
>>> +++ b/Documentation/devicetree/bindings/Makefile
>>> @@ -9,6 +9,10 @@ DT_SCHEMA_MIN_VERSION = 2021.2.1
>>>
>>> PHONY += check_dtschema_version
>>> check_dtschema_version:
>>> + @which $(DT_DOC_CHECKER) >/dev/null || \
>>> + { echo "Error: '$(DT_DOC_CHECKER)' not found!" \
>>> + "\nEnsure dtschema python package is installed and in your PATH." \
>>> + "\nCurrent PATH is:\n$$PATH\n" >&2; false; }
>>
>> You need 'echo -e' for the '\n'.
>
> Except dash will just print '-e' and interpret the newlines...
Oh dear, I always forget about dash...
> I changed it like this:
>
> @which $(DT_DOC_CHECKER) >/dev/null || \
> { echo "Error: '$(DT_DOC_CHECKER)' not found!" >&2; \
> echo "Ensure dtschema python package is installed and in your PATH." >&2; \
> echo "Current PATH is:" >&2; \
> echo "$$PATH" >&2; false; }
Either that or 'printf', which IIRC is more portable, including with \n.
But in this simple case I find multiple 'echo's more readable than one
printf with '\n's.
--
Luca