Skip to contentSkip to conversation

package/yq: add new package

PATCH Superseded Thomas Devoogdt 3 participants 8 messages Nov 18, 2025 – Dec 28, 2025

lore
Share & tools
lore
#0 lore raw

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
index 12f327cb27..1dfff206d5 100644
@@ -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
new file mode 100644
index 0000000000..d85b3e5601
@@ -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
new file mode 100644
index 0000000000..bc9dccad81
@@ -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
new file mode 100644
index 0000000000..b42b8e652c
@@ -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
#1 lore raw

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

---
 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
index 12f327cb27..1dfff206d5 100644
@@ -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
new file mode 100644
index 0000000000..d85b3e5601

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
new file mode 100644
index 0000000000..bc9dccad81
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  39296b55e33962ef838cd8a1bc0e9850e775de4cc3843bf15f099324069d2632  yq-4.45.2-go2.tar.gz
+sha256  697db34dabb21562fe84487a2ccd031fbd45382b89c2cbdec8ef31682c486040  LICENSE
package/yq/yq.mk new file +3 -0
new file mode 100644
index 0000000000..b42b8e652c
@@ -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

#3 lore raw
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

#4 lore raw
In reply to Thomas Devoogdt
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
#5 lore raw

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
index d4e6335f25..5083db7889 100644
@@ -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
index 83414b3e0b..e809491575 100644
@@ -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
new file mode 100644
index 0000000000..d85b3e5601
@@ -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
new file mode 100644
index 0000000000..bc9dccad81
@@ -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
new file mode 100644
index 0000000000..b42b8e652c
@@ -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
#6 lore raw

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
index bc9dccad81..519d1c9a3e 100644
@@ -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
index b42b8e652c..10d0959791 100644
@@ -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
#7 lore raw
In reply to Thomas Devoogdt

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

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