From c3166c5a22a89bfdf4dd1edac25e4a8256717a68 Mon Sep 17 00:00:00 2001 From: Andy Dodd Date: Mon, 2 May 2022 13:54:18 -0400 Subject: [PATCH] dockerd: Update to 20.10.14, and update version checking mechanism https://github.com/moby/moby/commit/a7a7c732c0dc02ee5b5515f4ca868ef50cafa4a1 changed package pinning from commit hash to version for some dependencies (but not all, libnetwork is still referenced by commit) Support the version-based pinning mechanism in addition to commit-based Signed-off-by: Andy Dodd --- utils/dockerd/Makefile | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/utils/dockerd/Makefile b/utils/dockerd/Makefile index 1300e5a5fe..f8bd77a9f1 100644 --- a/utils/dockerd/Makefile +++ b/utils/dockerd/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dockerd -PKG_VERSION:=20.10.12 +PKG_VERSION:=20.10.14 PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -10,8 +10,8 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_GIT_URL:=github.com/moby/moby PKG_GIT_REF:=v$(PKG_VERSION) PKG_SOURCE_URL:=https://codeload.$(PKG_GIT_URL)/tar.gz/$(PKG_GIT_REF)? -PKG_HASH:=a8ee80d31c7b74f687a837cd2a8570578f118179fba0844c5ee88f90fe180155 -PKG_GIT_SHORT_COMMIT:=459d0df # SHA1 used within the docker executables +PKG_HASH:=dbe1ae342351108b7b30232c4bce0559c81ad9fb6c978d7c8425d6aa53e476c1 +PKG_GIT_SHORT_COMMIT:=87a90dc # SHA1 used within the docker executables PKG_MAINTAINER:=Gerard Ryan @@ -56,6 +56,19 @@ TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lc -lgcc_eh) # $(1) = path to dependent package 'Makefile' # $(2) = relevant dependency '.installer' file define EnsureVendoredVersion + ( \ + DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_VERSION:=)(.*)' "$(1)" ); \ + VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_VERSION:=v)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \ + if [ "$$$${VEN_VER}" != "$$$${DEP_VER}" ]; then \ + echo "ERROR: Expected 'PKG_VERSION:=$$$${VEN_VER}' in '$(1)', found 'PKG_VERSION:=$$$${DEP_VER}'"; \ + exit 1; \ + fi \ + ) +endef + +# $(1) = path to dependent package 'Makefile' +# $(2) = relevant dependency '.installer' file +define EnsureVendoredCommit ( \ DEP_VER=$$$$( grep --only-matching --perl-regexp '(?<=PKG_SOURCE_VERSION:=)(.*)' "$(1)" ); \ VEN_VER=$$$$( grep --only-matching --perl-regexp '(?<=_COMMIT:=)(.*)(?=})' "$(PKG_BUILD_DIR)/hack/dockerfile/install/$(2)" ); \ @@ -71,7 +84,7 @@ define Build/Prepare # Verify dependencies are the vendored version $(call EnsureVendoredVersion,../containerd/Makefile,containerd.installer) - $(call EnsureVendoredVersion,../libnetwork/Makefile,proxy.installer) + $(call EnsureVendoredCommit,../libnetwork/Makefile,proxy.installer) $(call EnsureVendoredVersion,../runc/Makefile,runc.installer) $(call EnsureVendoredVersion,../tini/Makefile,tini.installer)