diff mbox series

[v2,1/1] package/balena-engine: bump to version 20.10.26

Message ID 20230207043121.86027-1-christian@paral.in
State Accepted
Headers show
Series [v2,1/1] package/balena-engine: bump to version 20.10.26 | expand

Commit Message

Christian Stewart Feb. 7, 2023, 4:31 a.m. UTC
balena-engine does not ship a go.mod file in the tarball: create one to tell the
Go compiler the root import path prefix for the module and the language version.
Note that the language version in go.mod is not required to be equal the version
of the Go compiler.

This update requires a workaround for the non-standard vendor/ structure in the
balena-engine repository, which has an invalid vendor/modules.txt file.

Reference: https://github.com/moby/moby/issues/44618#issuecomment-1343565705

Remove the vendor/archive sub-tree (fixes a build error) because Go no longer
allows having duplicate packages in GOPATH and GOROOT. vendor/archive/tar cannot
be in vendor/ because it exists in the standard library. Remove it from vendor/.

https://github.com/balena-os/balena-engine/releases/tag/v20.10.26

Signed-off-by: Christian Stewart <christian@paral.in>

---

v2 -> v3:

 - add missing go.mod file in CONFIGURE step
 - use rm -f instead of checking for file existence
 - update comment about language version

Signed-off-by: Christian Stewart <christian@paral.in>
---
 package/balena-engine/balena-engine.hash |  2 +-
 package/balena-engine/balena-engine.mk   | 12 +++++++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

Comments

Yann E. MORIN Feb. 7, 2023, 11:12 a.m. UTC | #1
Christian, All,

On 2023-02-06 20:31 -0800, Christian Stewart via buildroot spake thusly:
> balena-engine does not ship a go.mod file in the tarball: create one to tell the
> Go compiler the root import path prefix for the module and the language version.
> Note that the language version in go.mod is not required to be equal the version
> of the Go compiler.
> 
> This update requires a workaround for the non-standard vendor/ structure in the
> balena-engine repository, which has an invalid vendor/modules.txt file.
> 
> Reference: https://github.com/moby/moby/issues/44618#issuecomment-1343565705
> 
> Remove the vendor/archive sub-tree (fixes a build error) because Go no longer
> allows having duplicate packages in GOPATH and GOROOT. vendor/archive/tar cannot
> be in vendor/ because it exists in the standard library. Remove it from vendor/.
> 
> https://github.com/balena-os/balena-engine/releases/tag/v20.10.26
> 
> Signed-off-by: Christian Stewart <christian@paral.in>

I've done the samechanges as in docker-engine and docker-cli, and
applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> 
> v2 -> v3:
> 
>  - add missing go.mod file in CONFIGURE step
>  - use rm -f instead of checking for file existence
>  - update comment about language version
> 
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
>  package/balena-engine/balena-engine.hash |  2 +-
>  package/balena-engine/balena-engine.mk   | 12 +++++++++++-
>  2 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/package/balena-engine/balena-engine.hash b/package/balena-engine/balena-engine.hash
> index 4adb8ce561..6a92a40cc8 100644
> --- a/package/balena-engine/balena-engine.hash
> +++ b/package/balena-engine/balena-engine.hash
> @@ -1,3 +1,3 @@
>  # Locally computed
> -sha256  4fb38109d133d499de366466a612fb6f523ea99d56fcd69b45dc494a75fbce0f  balena-engine-20.10.21.tar.gz
> +sha256  1482b64e35d5406be719e362647ed7d0599cf4eead7770247ebd972c4c85ede5  balena-engine-20.10.26.tar.gz
>  sha256  7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8  LICENSE
> diff --git a/package/balena-engine/balena-engine.mk b/package/balena-engine/balena-engine.mk
> index ecfb62bfbf..89a572cf8e 100644
> --- a/package/balena-engine/balena-engine.mk
> +++ b/package/balena-engine/balena-engine.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -BALENA_ENGINE_VERSION = 20.10.21
> +BALENA_ENGINE_VERSION = 20.10.26
>  BALENA_ENGINE_SITE = $(call github,balena-os,balena-engine,v$(BALENA_ENGINE_VERSION))
>  
>  BALENA_ENGINE_LICENSE = Apache-2.0
> @@ -34,6 +34,16 @@ BALENA_ENGINE_TAGS = \
>  
>  BALENA_ENGINE_BUILD_TARGETS = cmd/balena-engine
>  
> +# create the go.mod file with language version go1.19
> +# remove the conflicting vendor/modules.txt
> +# remove the conflicting vendor/archive (not allowed in go1.20)
> +# https://github.com/moby/moby/issues/44618#issuecomment-1343565705
> +define BALENA_ENGINE_CONFIGURE_CMDS
> +	printf "module $(BALENA_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod
> +	rm -f $(@D)/vendor/modules.txt
> +	rm -rf $(@D)/vendor/archive
> +endef
> +
>  ifeq ($(BR2_INIT_SYSTEMD),y)
>  BALENA_ENGINE_DEPENDENCIES += systemd
>  BALENA_ENGINE_TAGS += journald
> -- 
> 2.39.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/balena-engine/balena-engine.hash b/package/balena-engine/balena-engine.hash
index 4adb8ce561..6a92a40cc8 100644
--- a/package/balena-engine/balena-engine.hash
+++ b/package/balena-engine/balena-engine.hash
@@ -1,3 +1,3 @@ 
 # Locally computed
-sha256  4fb38109d133d499de366466a612fb6f523ea99d56fcd69b45dc494a75fbce0f  balena-engine-20.10.21.tar.gz
+sha256  1482b64e35d5406be719e362647ed7d0599cf4eead7770247ebd972c4c85ede5  balena-engine-20.10.26.tar.gz
 sha256  7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8  LICENSE
diff --git a/package/balena-engine/balena-engine.mk b/package/balena-engine/balena-engine.mk
index ecfb62bfbf..89a572cf8e 100644
--- a/package/balena-engine/balena-engine.mk
+++ b/package/balena-engine/balena-engine.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-BALENA_ENGINE_VERSION = 20.10.21
+BALENA_ENGINE_VERSION = 20.10.26
 BALENA_ENGINE_SITE = $(call github,balena-os,balena-engine,v$(BALENA_ENGINE_VERSION))
 
 BALENA_ENGINE_LICENSE = Apache-2.0
@@ -34,6 +34,16 @@  BALENA_ENGINE_TAGS = \
 
 BALENA_ENGINE_BUILD_TARGETS = cmd/balena-engine
 
+# create the go.mod file with language version go1.19
+# remove the conflicting vendor/modules.txt
+# remove the conflicting vendor/archive (not allowed in go1.20)
+# https://github.com/moby/moby/issues/44618#issuecomment-1343565705
+define BALENA_ENGINE_CONFIGURE_CMDS
+	printf "module $(BALENA_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod
+	rm -f $(@D)/vendor/modules.txt
+	rm -rf $(@D)/vendor/archive
+endef
+
 ifeq ($(BR2_INIT_SYSTEMD),y)
 BALENA_ENGINE_DEPENDENCIES += systemd
 BALENA_ENGINE_TAGS += journald