package/yq: add new package
PATCH 1/1 package/yq: add new package
From: Thomas Devoogdt <[email protected]>
Version 4.45.2 was selected as newer versions require Go 1.24 [1], which is not yet available in Buildroot.
[1] https://github.com/mikefarah/yq/commit/5bc2cd03da9139160db70901ffb8002bf6e242d5
--- package/Config.in | 1 + package/yq/Config.in | 10 ++++++++++ package/yq/yq.hash | 3 +++ package/yq/yq.mk | 13 +++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 package/yq/Config.in create mode 100644 package/yq/yq.hash create mode 100644 package/yq/yq.mk
package/Config.in +1 -0
@@ -203,6 +203,7 @@ menu "Development tools" source "package/tree/Config.in" source "package/unifdef/Config.in" source "package/yasm/Config.in" + source "package/yq/Config.in" endmenu menu "Filesystem and flash utilities"
package/yq/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_YQ + bool "yq" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_GO + help + A lightweight and portable command-line YAML, JSON, INI + and XML processor, yq uses jq (a popular JSON processor) + like syntax. + + https://mikefarah.gitbook.io/yq/
package/yq/yq.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 39296b55e33962ef838cd8a1bc0e9850e775de4cc3843bf15f099324069d2632 yq-4.45.2-go2.tar.gz +sha256 697db34dabb21562fe84487a2ccd031fbd45382b89c2cbdec8ef31682c486040 LICENSE
package/yq/yq.mk new file +13 -0
@@ -0,0 +1,13 @@ +################################################################################ +# +# yq +# +################################################################################ + +YQ_VERSION = 4.45.2 +YQ_SITE = $(call github,mikefarah,yq,v$(YQ_VERSION)) +YQ_LICENSE = MIT +YQ_LICENSE_FILES = LICENSE +YQ_GOMOD = github.com/mikefarah/yq/v4 + +$(eval $(golang-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Hello!
Quoted 36 lines · Thomas Devoogdt
From: Thomas Devoogdt <[email protected]>
Version 4.45.2 was selected as newer versions require Go 1.24 [1], which is not yet available in Buildroot.
[1] https://github.com/mikefarah/yq/commit/5bc2cd03da9139160db70901ffb8002bf6e242d5
Signed-off-by Thomas Devoogdt <[email protected]>--- package/Config.in | 1 + package/yq/Config.in | 10 ++++++++++ package/yq/yq.hash | 3 +++ package/yq/yq.mk | 13 +++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 package/yq/Config.in create mode 100644 package/yq/yq.hash create mode 100644 package/yq/yq.mkpackage/Config.in +1
-0@@ -203,6 +203,7 @@ menu "Development tools" source "package/tree/Config.in" source "package/unifdef/Config.in" source "package/yasm/Config.in" + source "package/yq/Config.in" endmenu menu "Filesystem and flash utilities"package/yq/Config.in new file +0
-0
package/yq/Config.in line 4
Quoted 4 lines
package/yq/Config.in new file +4
-0@@ -0,0 +1,10 @@ +config BR2_PACKAGE_YQ + bool "yq" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_GO
My understanding is that yq is wrapper for jq. It's README says “Before using yq, you also have to install its dependency, jq.”
Shouldn't this package then select BR2_PACKAGE_JQ?
Regards,
Edgar Bonet.
Quoted 24 lines
package/yq/Config.in new file +6
-0+ help + A lightweight and portable command-line YAML, JSON, INI + and XML processor, yq uses jq (a popular JSON processor) + like syntax. + + https://mikefarah.gitbook.io/yq/package/yq/yq.hash new file +3
-0@@ -0,0 +1,3 @@ +# Locally calculated +sha256 39296b55e33962ef838cd8a1bc0e9850e775de4cc3843bf15f099324069d2632 yq-4.45.2-go2.tar.gz +sha256 697db34dabb21562fe84487a2ccd031fbd45382b89c2cbdec8ef31682c486040 LICENSEpackage/yq/yq.mk new file +3
-0@@ -0,0 +1,13 @@ +################################################################################ +# +# yq
package/yq/yq.mk line 13
Quoted 10 lines
package/yq/yq.mk new file +10
-0+# +################################################################################ + +YQ_VERSION = 4.45.2 +YQ_SITE = $(call github,mikefarah,yq,v$(YQ_VERSION)) +YQ_LICENSE = MIT +YQ_LICENSE_FILES = LICENSE +YQ_GOMOD = github.com/mikefarah/yq/v4 + +$(eval $(golang-package))
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Hi Edgar,
I don't see any indication that yq might need jq, yq is a self contained go package. I also don't see It is used when running strace. It just shares the same syntax as jq.
Kind regards,
Thomas Devoogdt
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 1 line · Thomas Devoogdt
I don't see any indication that yq might need jq, [...]
Oh, wait, I was confused...
It turns out there are two independent implementations of yq[1]. My Ubuntu desktop uses the one that is a wrapper around jq[2], whereas your patch uses the standalone implementation[3].
So you are right, no need to select BR2_PACKAGE_JQ.
Sorry for the noise.
Edgar Bonet.
[1] https://unix.stackexchange.com/a/774103
[2] https://kislyuk.github.io/yq/
[3] https://mikefarah.gitbook.io/yq/
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Devoogdt <[email protected]> writes:
From: Thomas Devoogdt <[email protected]> Version 4.45.2 was selected as newer versions require Go 1.24 [1], which is not yet available in Buildroot.
Not yet available? Do you mean in 2025.02.x? Master has 1.25.x since September.
Sticking to 4.45.2 is not really nice as it apparently introduced a number of regressions:
https://github.com/mikefarah/yq/releases/tag/v4.45.3
https://github.com/mikefarah/yq/releases/tag/v4.45.4
Quoted 8 lines
package/Config.in | 1 + package/yq/Config.in | 10 ++++++++++ package/yq/yq.hash | 3 +++ package/yq/yq.mk | 13 +++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 package/yq/Config.in create mode 100644 package/yq/yq.hash create mode 100644 package/yq/yq.mk
Please also add a DEVELOPERS entry for it, thanks.
Signature · 5 lines
Bye, Peter Korsgaard _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/2 package/yq: add new package
From: Thomas Devoogdt <[email protected]>
Version 4.45.2 was selected as newer versions require Go 1.24 [1], which is not yet available in Buildroot 2025.02.x.
[1] https://github.com/mikefarah/yq/commit/5bc2cd03da9139160db70901ffb8002bf6e242d5
---
v2:
- Added DEVELOPERS entry
- Fixed Go version mention to 2025.02.x
--- DEVELOPERS | 1 + package/Config.in | 1 + package/yq/Config.in | 10 ++++++++++ package/yq/yq.hash | 3 +++ package/yq/yq.mk | 13 +++++++++++++ 5 files changed, 28 insertions(+) create mode 100644 package/yq/Config.in create mode 100644 package/yq/yq.hash create mode 100644 package/yq/yq.mk
DEVELOPERS +1 -0
@@ -3183,6 +3183,7 @@ F: package/vuejs-router/ N: Thomas Devoogdt <[email protected]> F: package/fluent-bit/ F: package/libsoup3/ +F: package/yq/ N: Thomas Huth <[email protected]> F: package/ascii-invaders/
package/Config.in +1 -0
@@ -203,6 +203,7 @@ menu "Development tools" source "package/tree/Config.in" source "package/unifdef/Config.in" source "package/yasm/Config.in" + source "package/yq/Config.in" endmenu menu "Filesystem and flash utilities"
package/yq/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_YQ + bool "yq" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_GO + help + A lightweight and portable command-line YAML, JSON, INI + and XML processor, yq uses jq (a popular JSON processor) + like syntax. + + https://mikefarah.gitbook.io/yq/
package/yq/yq.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 39296b55e33962ef838cd8a1bc0e9850e775de4cc3843bf15f099324069d2632 yq-4.45.2-go2.tar.gz +sha256 697db34dabb21562fe84487a2ccd031fbd45382b89c2cbdec8ef31682c486040 LICENSE
package/yq/yq.mk new file +13 -0
@@ -0,0 +1,13 @@ +################################################################################ +# +# yq +# +################################################################################ + +YQ_VERSION = 4.45.2 +YQ_SITE = $(call github,mikefarah,yq,v$(YQ_VERSION)) +YQ_LICENSE = MIT +YQ_LICENSE_FILES = LICENSE +YQ_GOMOD = github.com/mikefarah/yq/v4 + +$(eval $(golang-package))
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 2/2 package/yq: bump to 4.49.2
Notes:
- https://github.com/mikefarah/yq/releases/tag/v4.45.3
- https://github.com/mikefarah/yq/releases/tag/v4.45.4
- https://github.com/mikefarah/yq/releases/tag/v4.46.1
- https://github.com/mikefarah/yq/releases/tag/v4.47.1
- https://github.com/mikefarah/yq/releases/tag/v4.47.2
- https://github.com/mikefarah/yq/releases/tag/v4.48.1
- https://github.com/mikefarah/yq/releases/tag/v4.48.2
- https://github.com/mikefarah/yq/releases/tag/v4.49.1
- https://github.com/mikefarah/yq/releases/tag/v4.49.2
Various regression fixes, as noticed in
https://lore.kernel.org/buildroot/[email protected]/
---
v2:
- New patch to fix some regression as noticed in
https://lore.kernel.org/buildroot/[email protected]/
--- package/yq/yq.hash | 2 +- package/yq/yq.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
package/yq/yq.hash +1 -1
@@ -1,3 +1,3 @@ # Locally calculated -sha256 39296b55e33962ef838cd8a1bc0e9850e775de4cc3843bf15f099324069d2632 yq-4.45.2-go2.tar.gz +sha256 291334bc00863c144098b5b0a723a5c769df115c46938e17920917aa24776591 yq-4.49.2-go2.tar.gz sha256 697db34dabb21562fe84487a2ccd031fbd45382b89c2cbdec8ef31682c486040 LICENSE
package/yq/yq.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -YQ_VERSION = 4.45.2 +YQ_VERSION = 4.49.2 YQ_SITE = $(call github,mikefarah,yq,v$(YQ_VERSION)) YQ_LICENSE = MIT YQ_LICENSE_FILES = LICENSE
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Hello Thomas,
Quoted 8 lines · On Mon, 1 Dec 2025 12:26:20 +0100 Thomas Devoogdt <[email protected]> wrote:
From: Thomas Devoogdt <[email protected]>
Version 4.45.2 was selected as newer versions require Go 1.24 [1], which is not yet available in Buildroot 2025.02.x.
[1] https://github.com/mikefarah/yq/commit/5bc2cd03da9139160db70901ffb8002bf6e242d5
Signed-off-by Thomas Devoogdt <[email protected]>
Thanks, both patches applied, but squashed into a single patch. Indeed, there's no point in adding a new package and bumping it right after.
Thanks a lot!
Thomas
Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot