diff mbox series

[v3,1/3] package/docker-engine: bump version to v23.0.0

Message ID 20230207043010.85696-1-christian@paral.in
State Accepted
Headers show
Series [v3,1/3] package/docker-engine: bump version to v23.0.0 | expand

Commit Message

Christian Stewart Feb. 7, 2023, 4:30 a.m. UTC
docker-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
docker-engine repository, which has an invalid vendor/modules.txt file.

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

Note that as of v23.0.0 docker-engine expects containerd to be started by
systemd if --containerd= flag is set in dockerd.service, whereas in previous
versions containerd was started by the docker daemon as a sub-process.

There is no sysv unit for containerd, but this is OK: in the Docker sysv init
file S60dockerd, we do not set the --containerd flag. The docker daemon will
start containerd as a sub-process automatically due to the absence of this flag.

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

---

v1 -> v2:

 - clarify commit message about containerd.service and sysv compat
 - fix formatting in S60dockerd
 - bundle commit into a series with required containerd changes

v2 -> v3:

 - remove whitespace changes (as per Yann review)
 - use rm -f instead of checking for file existence
 - add the go.mod file in the CONFIGURE step

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

Comments

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

On 2023-02-06 20:30 -0800, Christian Stewart via buildroot spake thusly:
> docker-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
> docker-engine repository, which has an invalid vendor/modules.txt file.
> 
> Reference: https://github.com/moby/moby/issues/44618#issuecomment-1343565705
> 
> Note that as of v23.0.0 docker-engine expects containerd to be started by
> systemd if --containerd= flag is set in dockerd.service, whereas in previous
> versions containerd was started by the docker daemon as a sub-process.
> 
> There is no sysv unit for containerd, but this is OK: in the Docker sysv init
> file S60dockerd, we do not set the --containerd flag. The docker daemon will
> start containerd as a sub-process automatically due to the absence of this flag.
> 
> Signed-off-by: Christian Stewart <christian@paral.in>

I've applied to master, after a substantial rewording of the commit log
(which already pretty good, thanks!).

I also chaged to using a post-extract hook instead of using the
configure_cmds. Indeed, currently, the golang infra does not use the
configure step, but if we need it in the future, that woudl break here.

So I've made that post-extract hooks, because that's what they are in
practice (I hesitated with post-patch hooks, though, and I just
arbitrarily settled for post-extract).

I did the same for docker-cli.

Series of three patches applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> 
> v1 -> v2:
> 
>  - clarify commit message about containerd.service and sysv compat
>  - fix formatting in S60dockerd
>  - bundle commit into a series with required containerd changes
> 
> v2 -> v3:
> 
>  - remove whitespace changes (as per Yann review)
>  - use rm -f instead of checking for file existence
>  - add the go.mod file in the CONFIGURE step
> 
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
>  package/docker-engine/docker-engine.hash |  2 +-
>  package/docker-engine/docker-engine.mk   | 10 +++++++++-
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash
> index d15b1359cb..670cbd414b 100644
> --- a/package/docker-engine/docker-engine.hash
> +++ b/package/docker-engine/docker-engine.hash
> @@ -1,3 +1,3 @@
>  # Locally calculated
> -sha256  ee0e2168e27ec87f1b0650e86af5d3e167a07fd2ff8c1ce3bb588f0b4f9a4658  docker-engine-20.10.22.tar.gz
> +sha256  94492508260e57eb93399257d53435cd5308ca6330e173ca6e6f3dbf4c6e12f3  docker-engine-23.0.0.tar.gz
>  sha256  7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8  LICENSE
> diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
> index 2a9b72ca78..229e199aa2 100644
> --- a/package/docker-engine/docker-engine.mk
> +++ b/package/docker-engine/docker-engine.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -DOCKER_ENGINE_VERSION = 20.10.22
> +DOCKER_ENGINE_VERSION = 23.0.0
>  DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION))
>  
>  DOCKER_ENGINE_LICENSE = Apache-2.0
> @@ -62,6 +62,14 @@ else
>  DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs
>  endif
>  
> +# create the go.mod file with language version go1.19
> +# remove the conflicting vendor/modules.txt
> +# https://github.com/moby/moby/issues/44618#issuecomment-1343565705
> +define DOCKER_ENGINE_CONFIGURE_CMDS
> +	printf "module $(DOCKER_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod
> +	rm -f $(@D)/vendor/modules.txt
> +endef
> +
>  DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS))
>  
>  define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD
> -- 
> 2.39.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash
index d15b1359cb..670cbd414b 100644
--- a/package/docker-engine/docker-engine.hash
+++ b/package/docker-engine/docker-engine.hash
@@ -1,3 +1,3 @@ 
 # Locally calculated
-sha256  ee0e2168e27ec87f1b0650e86af5d3e167a07fd2ff8c1ce3bb588f0b4f9a4658  docker-engine-20.10.22.tar.gz
+sha256  94492508260e57eb93399257d53435cd5308ca6330e173ca6e6f3dbf4c6e12f3  docker-engine-23.0.0.tar.gz
 sha256  7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8  LICENSE
diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
index 2a9b72ca78..229e199aa2 100644
--- a/package/docker-engine/docker-engine.mk
+++ b/package/docker-engine/docker-engine.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-DOCKER_ENGINE_VERSION = 20.10.22
+DOCKER_ENGINE_VERSION = 23.0.0
 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION))
 
 DOCKER_ENGINE_LICENSE = Apache-2.0
@@ -62,6 +62,14 @@  else
 DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs
 endif
 
+# create the go.mod file with language version go1.19
+# remove the conflicting vendor/modules.txt
+# https://github.com/moby/moby/issues/44618#issuecomment-1343565705
+define DOCKER_ENGINE_CONFIGURE_CMDS
+	printf "module $(DOCKER_ENGINE_GOMOD)\n\ngo 1.19\n" > $(@D)/go.mod
+	rm -f $(@D)/vendor/modules.txt
+endef
+
 DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS))
 
 define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD