package/python-yamllint: new package
PATCH v3 1/3 package/python-yamllint: new package
This host package is needed since u-boot 2024.04 for building ti defconfigs.
This is an requirement for using buildman/binman [1].
---
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)
v3:
- add missing runtime depnedencies
- a patch that enables the target build for python-pathspec is
required https://patchwork.ozlabs.org/project/buildroot/patch/[email protected]/
- add runtime test
package/Config.in | 1 + package/python-yamllint/Config.in | 8 ++++++++ package/python-yamllint/python-yamllint.hash | 3 +++ package/python-yamllint/python-yamllint.mk | 15 +++++++++++++++ .../tests/package/sample_python_yamllint.py | 13 +++++++++++++ .../testing/tests/package/test_python_yamllint.py | 11 +++++++++++ 6 files changed, 51 insertions(+) create mode 100644 package/python-yamllint/Config.in create mode 100644 package/python-yamllint/python-yamllint.hash create mode 100644 package/python-yamllint/python-yamllint.mk create mode 100644 support/testing/tests/package/sample_python_yamllint.py create mode 100644 support/testing/tests/package/test_python_yamllint.py
package/Config.in +1 -0
@@ -1437,6 +1437,7 @@ menu "External python modules" source "package/python-xmljson/Config.in" source "package/python-xmltodict/Config.in" source "package/python-xmodem/Config.in" + source "package/python-yamllint/Config.in" source "package/python-yarl/Config.in" source "package/python-yatl/Config.in" source "package/python-zc-lockfile/Config.in"
package/python-yamllint/Config.in new file +8 -0
@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime + select BR2_PACKAGE_PYTHON_PYYAML # runtime + help + A linter for YAML files. + + https://github.com/adrienverge/yamllint
package/python-yamllint/python-yamllint.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally computed sha256 checksums +sha256 7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd yamllint-1.35.1.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSE
package/python-yamllint/python-yamllint.mk new file +15 -0
@@ -0,0 +1,15 @@ +################################################################################ +# +# python-yamllint +# +################################################################################ + +PYTHON_YAMLLINT_VERSION = 1.35.1 +PYTHON_YAMLLINT_SOURCE = yamllint-$(PYTHON_YAMLLINT_VERSION).tar.gz +PYTHON_YAMLLINT_SITE = https://files.pythonhosted.org/packages/da/06/d8cee5c3dfd550cc0a466ead8b321138198485d1034130ac1393cc49d63e +PYTHON_YAMLLINT_SETUP_TYPE = pep517 +PYTHON_YAMLLINT_LICENSE = GPL-3.0 +PYTHON_YAMLLINT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package))
support/testing/tests/package/sample_python_yamllint.py new file +13 -0
@@ -0,0 +1,13 @@ +# example form https://yamllint.readthedocs.io/en/stable/development.html + +from yamllint import (config, linter) + +data = '''--- +- &anchor + foo: bar +- *anchor +''' + +yaml_config = config.YamlLintConfig("extends: default") +for p in linter.run(data, yaml_config): + print(p.desc, p.line, p.rule)
support/testing/tests/package/test_python_yamllint.py new file +11 -0
@@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonYamllint(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_YAMLLINT=y + """ + sample_scripts = ["tests/package/sample_python_yamllint.py"]
--
2.39.2
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v3 2/3 boot/ti-k3-r5-loader: add dependency to yamllint
Since U-Boot 2024.04 [1] binman also uses yamllint as dependency [2].
[1] https://source.denx.de/u-boot/u-boot/-/commit/10fee88d42f
[2] https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt?ref_type=tags#L3
---
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)
v3:
- update URLs in the comment
boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
boot/ti-k3-r5-loader/ti-k3-r5-loader.mk +3 -2
@@ -35,8 +35,8 @@ TI_K3_R5_LOADER_LICENSE_FILES = Licenses/gpl-2.0.txt TI_K3_R5_LOADER_CPE_ID_VENDOR = denx TI_K3_R5_LOADER_CPE_ID_PRODUCT = u-boot TI_K3_R5_LOADER_INSTALL_IMAGES = YES -# https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/tools/binman/binman.rst?plain=1#L377 -# https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/tools/buildman/requirements.txt +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/binman/binman.rst?plain=1#L377 +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt # Make sure that all binman requirements are built before ti-k3-r5-loader. TI_K3_R5_LOADER_DEPENDENCIES = \ host-pkgconf \
@@ -49,6 +49,7 @@ TI_K3_R5_LOADER_DEPENDENCIES = \ host-python-pylibfdt \ host-python-pyyaml \ host-python-setuptools \ + host-python-yamllint \ ti-k3-boot-firmware TI_K3_R5_LOADER_MAKE = $(BR2_MAKE)
--
2.39.2
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v3 2/3] boot/ti-k3-r5-loader: add dependency to yamllint
On April 12, 2024 thus sayeth Heiko Thiery:
Quoted 8 lines
Since U-Boot 2024.04 [1] binman also uses yamllint as dependency [2].
[1] https://source.denx.de/u-boot/u-boot/-/commit/10fee88d42f
[2] https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt?ref_type=tags#L3Signed-off-by Heiko Thiery <[email protected]>---
Quoted 8 lines
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)v3:
- update URLs in the commentboot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
~Bryan
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v3 3/3 uboot/uboot: add new dependency to yamllint
In reply to Heiko ThierySince U-Boot 2024.04 [1] binman also uses yamllint as dependency [2].
[1] https://source.denx.de/u-boot/u-boot/-/commit/10fee88d42f
[2] https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt?ref_type=tags#L3
---
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)
v3:
- update URLs in the comment
boot/uboot/uboot.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
boot/uboot/uboot.mk +4 -2
@@ -276,10 +276,12 @@ UBOOT_DEPENDENCIES += host-vim endif ifeq ($(BR2_TARGET_UBOOT_USE_BINMAN),y) -# https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/tools/buildman/requirements.txt +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/binman/binman.rst?plain=1#L377 +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt UBOOT_DEPENDENCIES += \ host-python-jsonschema \ - host-python-pyyaml + host-python-pyyaml \ + host-python-yamllint UBOOT_MAKE_OPTS += BINMAN_INDIRS=$(BINARIES_DIR) endif
--
2.39.2
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Re: [Buildroot] [PATCH v3 3/3] uboot/uboot: add new dependency to yamllint
On April 12, 2024 thus sayeth Heiko Thiery:
Quoted 8 lines
Since U-Boot 2024.04 [1] binman also uses yamllint as dependency [2].
[1] https://source.denx.de/u-boot/u-boot/-/commit/10fee88d42f
[2] https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt?ref_type=tags#L3Signed-off-by Heiko Thiery <[email protected]>---
Quoted 8 lines
v2: accidentally resend this series as v2
(it's too early in the morning and no coffee yet)v3:
- update URLs in the commentboot/uboot/uboot.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Thanks for this. I successfully built v2024.04 U-Boot for all of TI's K3 SoCs. One step closer for K3 :)
~Bryan
Quoted 23 lines
boot/uboot/uboot.mk +4
-3@@ -276,10 +276,12 @@ UBOOT_DEPENDENCIES += host-vim endif ifeq ($(BR2_TARGET_UBOOT_USE_BINMAN),y) -# https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/tools/buildman/requirements.txt +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/binman/binman.rst?plain=1#L377 +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.04/tools/buildman/requirements.txt UBOOT_DEPENDENCIES += \ host-python-jsonschema \ - host-python-pyyaml + host-python-pyyaml \ + host-python-yamllint UBOOT_MAKE_OPTS += BINMAN_INDIRS=$(BINARIES_DIR) endif --2.39.2
Quoted 4 lines
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Heiko, All,
On 2024-04-12 07:53 +0200, Heiko Thiery spake thusly:
Quoted 8 lines
This host package is needed since u-boot 2024.04 for building ti defconfigs.
This is an requirement for using buildman/binman [1].
Signed-off-by Heiko Thiery <[email protected]>---
[--SNIP--]
package/python-yamllint/Config.in line 3
Quoted 9 lines
package/python-yamllint/Config.in new file +3
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime
$ ./utils/docker-run make check-package
package/python-yamllint/Config.in:3: BR2_PACKAGE_PYTHON_PATHSPEC referenced but not definedOK, I'll go and apply that other patch of yours that introduces the target variant for python-pathspec, but which is not in this patchset.
You need more coffee! ;-)
Regards,
Yann E. MORIN.
Quoted 78 lines
package/python-yamllint/Config.in new file +5
-0+ select BR2_PACKAGE_PYTHON_PYYAML # runtime + help + A linter for YAML files. + + https://github.com/adrienverge/yamllintpackage/python-yamllint/python-yamllint.hash new file +3
-0@@ -0,0 +1,3 @@ +# Locally computed sha256 checksums +sha256 7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd yamllint-1.35.1.tar.gz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSEpackage/python-yamllint/python-yamllint.mk new file +15
-0@@ -0,0 +1,15 @@ +################################################################################ +# +# python-yamllint +# +################################################################################ + +PYTHON_YAMLLINT_VERSION = 1.35.1 +PYTHON_YAMLLINT_SOURCE = yamllint-$(PYTHON_YAMLLINT_VERSION).tar.gz +PYTHON_YAMLLINT_SITE = https://files.pythonhosted.org/packages/da/06/d8cee5c3dfd550cc0a466ead8b321138198485d1034130ac1393cc49d63e +PYTHON_YAMLLINT_SETUP_TYPE = pep517 +PYTHON_YAMLLINT_LICENSE = GPL-3.0 +PYTHON_YAMLLINT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package))support/testing/tests/package/sample_python_yamllint.py new file +13
-0@@ -0,0 +1,13 @@ +# example form https://yamllint.readthedocs.io/en/stable/development.html + +from yamllint import (config, linter) + +data = '''--- +- &anchor + foo: bar +- *anchor +''' + +yaml_config = config.YamlLintConfig("extends: default") +for p in linter.run(data, yaml_config): + print(p.desc, p.line, p.rule)support/testing/tests/package/test_python_yamllint.py new file +11
-1@@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonYamllint(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_YAMLLINT=y + """ + sample_scripts = ["tests/package/sample_python_yamllint.py"] --2.39.2
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Yann E. MORIN
AppliedHeiko, All,
On 2024-04-12 17:43 +0200, Yann E. MORIN spake thusly:
Quoted 25 lines
Heiko, All,
On 2024-04-12 07:53 +0200, Heiko Thiery spake thusly:
Quoted 8 lines
This host package is needed since u-boot 2024.04 for building ti defconfigs.
This is an requirement for using buildman/binman [1].
Signed-off-by Heiko Thiery <[email protected]>---
[--SNIP--]
package/python-yamllint/Config.in line 3
Quoted 9 lines
package/python-yamllint/Config.in new file +3
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime$ ./utils/docker-run make check-package package/python-yamllint/Config.in:3: BR2_PACKAGE_PYTHON_PATHSPEC referenced but not defined
Quoted 2 lines
OK, I'll go and apply that other patch of yours that introduces the target variant for python-pathspec, but which is not in this patchset.
Applied to master, now, thanks.
Regards,
Yann E. MORIN.
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Hello Heiko, Yann, All,
Le 12/04/2024 à 17:51, Yann E. MORIN a écrit :
Quoted 30 lines
Heiko, All,
On 2024-04-12 17:43 +0200, Yann E. MORIN spake thusly:
Quoted 27 lines
Heiko, All,
On 2024-04-12 07:53 +0200, Heiko Thiery spake thusly:
Quoted 8 lines
This host package is needed since u-boot 2024.04 for building ti defconfigs.
This is an requirement for using buildman/binman [1].
Signed-off-by Heiko Thiery <[email protected]>---
[--SNIP--]
package/python-yamllint/Config.in line 3
Quoted 9 lines
package/python-yamllint/Config.in new file +3
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime$ ./utils/docker-run make check-package package/python-yamllint/Config.in:3: BR2_PACKAGE_PYTHON_PATHSPEC referenced but not definedOK, I'll go and apply that other patch of yours that introduces the target variant for python-pathspec, but which is not in this patchset.
What if python-pathspec is not installed on the host?
make host-python-yamllint
./ouput/host/bin/python ./support/testing/tests/package/sample_python_yamllint.py
ModuleNotFoundError: No module named 'pathspec'
We must add host-python-pathspec (and all other runtime dependencies) in build dependencies of host-python-yamllint
# This is a runtime dependency, but we don't have the concept of
# runtime dependencies for host packages.
HOST_PYTHON_YAMLLINT_DEPENDENCIES += \
host-python-pathspec \
host-python-pyyamlActually, I'm not sure if every host-python packages really do this.
Best regards,
Romain
Quoted 6 lines
Applied to master, now, thanks.
Regards,
Yann E. MORIN.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Hi Romain, all,
Am Fr., 12. Apr. 2024 um 22:54 Uhr schrieb Romain Naour <[email protected]>:
Quoted 37 lines
Hello Heiko, Yann, All,
Quoted 30 lines · Yann E. MORIN
Heiko, All,
On 2024-04-12 17:43 +0200, Yann E. MORIN spake thusly:
Quoted 27 lines
Heiko, All,
On 2024-04-12 07:53 +0200, Heiko Thiery spake thusly:
Quoted 8 lines
This host package is needed since u-boot 2024.04 for building ti defconfigs.
This is an requirement for using buildman/binman [1].
Signed-off-by Heiko Thiery <[email protected]>---
[--SNIP--]
package/python-yamllint/Config.in line 3
Quoted 9 lines
package/python-yamllint/Config.in new file +3
-0@@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YAMLLINT + bool "python-yamllint" + select BR2_PACKAGE_PYTHON_PATHSPEC # runtime$ ./utils/docker-run make check-package package/python-yamllint/Config.in:3: BR2_PACKAGE_PYTHON_PATHSPEC referenced but not definedOK, I'll go and apply that other patch of yours that introduces the target variant for python-pathspec, but which is not in this patchset.
What if python-pathspec is not installed on the host?
Quoted 8 lines
make host-python-yamllint
./ouput/host/bin/python
./support/testing/tests/package/sample_python_yamllint.pyModuleNotFoundError: No module named 'pathspec'
We must add host-python-pathspec (and all other runtime dependencies) in build dependencies of host-python-yamllint
You are right .. I just retested this and can confirm. I will prepare a patch. I also see that the PYTHON_YAMLLINT_SETUP_TYPE is not correct. I had to use setuptools and not pep517.
It's really not very satisfying that with the growth of binman so many dependencies for the uboot are now coming in.
Quoted 8 lines
# This is a runtime dependency, but we don't have the concept of # runtime dependencies for host packages. HOST_PYTHON_YAMLLINT_DEPENDENCIES += \ host-python-pathspec \ host-python-pyyamlActually, I'm not sure if every host-python packages really do this.
I think you are right.
Quoted 3 lines
Best regards,
Romain
Signature · 5 lines
Heiko _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 8 lines
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Heiko" == Heiko Thiery <[email protected]> writes:
What if python-pathspec is not installed on the host?
make host-python-yamllint
./ouput/host/bin/python
./support/testing/tests/package/sample_python_yamllint.py
Quoted 8 lines
Quoted 4 lines
ModuleNotFoundError: No module named 'pathspec'
We must add host-python-pathspec (and all other runtime dependencies) in build dependencies of host-python-yamllint
You are right .. I just retested this and can confirm. I will prepare a patch. I also see that the
PYTHON_YAMLLINT_SETUP_TYPEis not correct. I had to use setuptools and not pep517.
Can you also send a patch to update DEVELOPERS with python-yamllint and the test you added?
Thanks!
Signature · 5 lines
Bye, Peter Korsgaard _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot