From patchwork Fri Apr 1 01:11:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Langlois X-Patchwork-Id: 38262 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 9D8BE27BBE9; Fri, 1 Apr 2022 02:17:14 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 6E62127BBEA for ; Fri, 1 Apr 2022 02:17:10 +0100 (BST) Received: from localhost ([::1]:40534 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1na5uX-00082k-Jr for patchwork@mira.cbaines.net; Thu, 31 Mar 2022 21:17:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42162) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1na5uQ-00082G-P8 for guix-patches@gnu.org; Thu, 31 Mar 2022 21:17:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:46446) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1na5uQ-0001Eb-G9 for guix-patches@gnu.org; Thu, 31 Mar 2022 21:17:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1na5uQ-0004Fn-7D for guix-patches@gnu.org; Thu, 31 Mar 2022 21:17:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#52790] [PATCH v2 6/7] gnu: docker: Update to 20.10.14. Resent-From: Pierre Langlois Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 01 Apr 2022 01:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52790 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 52790@debbugs.gnu.org Cc: Pierre Langlois Received: via spool by 52790-submit@debbugs.gnu.org id=B52790.164877581116331 (code B ref 52790); Fri, 01 Apr 2022 01:17:02 +0000 Received: (at 52790) by debbugs.gnu.org; 1 Apr 2022 01:16:51 +0000 Received: from localhost ([127.0.0.1]:40343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1na5uB-0004FG-6o for submit@debbugs.gnu.org; Thu, 31 Mar 2022 21:16:50 -0400 Received: from mout.gmx.net ([212.227.17.20]:45943) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1na5u7-0004F1-KW for 52790@debbugs.gnu.org; Thu, 31 Mar 2022 21:16:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1648775797; bh=1ILzbZtlmx57crOpRhGvbNZ6pmuGkjgXYpIBLNSSz1M=; h=X-UI-Sender-Class:References:From:To:Cc:Subject:Date:In-reply-to; b=YWYxf5P7NgpZPQYz52b8tlr+qVZOtyl5ZQR2skBt3dGqEeA7iZ8VOTCpRy3no/OL6 0sjmEi0lWE4CczIqYa0gvgFR0MHZQ7nPsMTL9OHEXDCbFFMXk7b+QsIPnOaNC+b2JW FG/DjU3EZgSXDr+JR9Dm+N7U2Y1HDDyCJYgk9esQ= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from labiere ([82.69.64.142]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MkHMP-1oKkRw0nST-00keRI; Fri, 01 Apr 2022 03:16:37 +0200 References: <20220401004642.14949-1-pierre.langlois@gmx.com> <20220401004642.14949-7-pierre.langlois@gmx.com> User-agent: mu4e 1.6.10; emacs 27.2 From: Pierre Langlois Date: Fri, 01 Apr 2022 02:11:56 +0100 In-reply-to: <20220401004642.14949-7-pierre.langlois@gmx.com> Message-ID: <87pmm1wqks.fsf@gmx.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:yM9HAs9hd2jdgw+cuNg8m7brcnb/+nbj2QZgy4xlgZr69faBI4D CNYlr0aDZtu5MlTek4+fRgCux4Ca90crYbFrWJw6NQxkkhAt04iKhIDhx6u4664hiXI8+rG l8WvLr3f+4CWHOYPfT5Bdbw7KW0BONtRoRl0tiNAMWeyawE1wsd7+dqBj6Qxfe1x5IcGVA7 QvNnHkwDVXY5zp6bjIN/w== X-UI-Out-Filterresults: notjunk:1;V03:K0:lCAB0fi1Dns=:0lqpI4rLbkGH+iyvzNGPXm 3CNf3MARpLDMcc4vl3lOQ4YcI2RS08f+9mJ+kT9T1fcrHpa/5ToO2WtjwlmffCZmVfgzIFXmB gLwLXQ4KMDAdyrl5BN/Op2FStuNvlQl9uBTQ0gp7/gUBKwqiB/ZkNkvq1xK5ciE/kw30bS2qh a2Ynfy5dWc7UVebG1+cgJEf+w2pS44fab+knpVJcTiZrTSyXniP3RkKpOtJWxb8wVNoKuGw17 IYFLkEzj/gaDWC3lIO8lp95w9ipcPgQg6D8+AH7Pm466Vw5K1vxb0k0TZz2xXXvBn5sapzF1C o89+5Znrc+Als3PMbkBJnb++bCtWBo5FGtDnxfa3VNnNVpnDRq9Vz2rWL+utksyCN8JRK/gcL cvbGOqEN4tdEOwhn7ugU80QlYwf4VpJ4cGipKs0TeXvmuiAcnTKqpYE3zT0mAAf9t9cKystNL SeQQl9E+wWN+t7f6c0J9tp+DQ4LpSLdyhk+Ab25w1BsyfwXBoIz521ekhdHrnDBaj7R8fZ11I YWhi5dspVw7+T9rNBMamQkrZrl6H6ou7d9eTrcaTZ87jYpTGLrZSMQWo2Pp7GL0rZwp9Fve8N c7JATXBI/nQQwg8CxjrbzbFMmjTIQbP2M8JeetShYMbIWEY2bJ90eF2axtgsiMMYaecZi3BQB G3/c2XpYa56LMI6f0Y6xQc2vtPwevzlCpVriHBx3KjaqNMm6k5Ih9FZ7ddS0GD7hbB4FTdUbR U2M+recrc9derUGd3vLSWIx7NnS65MlnRpSc/Ga4Ewo4lXWAReehkgVTde1+cLWD6NO5GZv8E JSHZ1mKHmC9tV4wzfHKyjOnrSz0rFClaRlFKUlfjGwsjc0faqRVOkH3Zo6RfB17VmpxkmMgva 7caF7rLgaPBlSrSFRswCHx6FmJ9pZ2CLgOMuvb/Pi7Bj/jB4TJYbgSSfSYDHg6rriJZY8IqPB bWh+au3B6GYnDeyeT9YsKgHbaL+Gz5hSN46Oz2yYlZQUQmuzkPjrmitueHp2vm8wgWxFGcnRU RkY1bjSMRvL6f8UW2+oZcnQLYbv2umIHRVnqckniF2iwOP6LsiYpIz5oxypDyGj4Eu+/BMin5 OgrlBjKlxXp/98= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Pierre Langlois writes: > * gnu/packages/docker.scm (%docker-version): Update to 20.10.14. > (docker-libnetwork): Update commit according to vendor.conf. > (docker)[origin]: Remove docker-fix-tests.patch. > [arguments]: Adapt 'patch-paths phase, substitute "ip6tables" and > buildkit-qemu. Remove trailing #t. > [native-inputs]: Replace go-1.14 by go. > (docker-cli)[arguments]: Set GO_LINKMODE to "dynamic". Remove trailing #t. > * gnu/packages/networking.scm (go-sctp): Update commit according to > docker-libnetwork's vendor.conf. > * gnu/packages/patches/docker-fix-tests.patch: Delete. > * gnu/local.mk (dist_patch_DATA): Remove patch. > --- > gnu/local.mk | 1 - > gnu/packages/docker.scm | 69 ++++++++------------- > gnu/packages/networking.scm | 6 +- > gnu/packages/patches/docker-fix-tests.patch | 28 --------- > 4 files changed, 29 insertions(+), 75 deletions(-) > delete mode 100644 gnu/packages/patches/docker-fix-tests.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index a704161abc..d5b3d4bba3 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -1007,7 +1007,6 @@ dist_patch_DATA = \ > %D%/packages/patches/docbook-xsl-support-old-url.patch \ > %D%/packages/patches/doc++-include-directives.patch \ > %D%/packages/patches/doc++-segfault-fix.patch \ > - %D%/packages/patches/docker-fix-tests.patch \ > %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \ > %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ > %D%/packages/patches/dstat-skip-devices-without-io.patch \ > diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm > index 0d721ead38..020c89bb11 100644 > --- a/gnu/packages/docker.scm > +++ b/gnu/packages/docker.scm > @@ -54,7 +54,7 @@ (define-module (gnu packages docker) > > ;; Note - when changing Docker versions it is important to update the versions > ;; of several associated packages (docker-libnetwork and go-sctp). > -(define %docker-version "19.03.15") > +(define %docker-version "20.10.14") > > (define-public python-docker > (package > @@ -252,13 +252,12 @@ (define-public containerd > ;;; anyway, as it needs many dependencies that aren't being satisfied. > (define docker-libnetwork > ;; There are no recent release for libnetwork, so choose the last commit of > - ;; the branch that Docker uses, as can be seen in the Docker source file > - ;; 'hack/dockerfile/install/proxy.installer'. NOTE - It is important that > - ;; this version is kept in sync with the version of Docker being used. > - ;; This commit is the "bump_19.03" branch, as mentioned in Docker's vendor.conf. > - (let ((commit "55e924b8a84231a065879156c0de95aefc5f5435") > + ;; the branch that Docker uses, as can be seen in the 'vendor.conf' Docker > + ;; source file. NOTE - It is important that this version is kept in sync > + ;; with the version of Docker being used. > + (let ((commit "339b972b464ee3d401b5788b2af9e31d09d6b7da") > (version (version-major+minor %docker-version)) > - (revision "1")) > + (revision "2")) > (package > (name "docker-libnetwork") > (version (git-version version revision commit)) > @@ -271,7 +270,7 @@ (define docker-libnetwork > (file-name (git-file-name name version)) > (sha256 > (base32 > - "19syb3scwiykn44gqfaqrgqv8a0df4ps0ykf3za9xkjc5cyi99mp")) > + "0wx2hdwx56cbxiaky9kw2bi1prdfgzwr776lq1k0slw8kvn0cn32")) > ;; Delete bundled ("vendored") free software source code. > (modules '((guix build utils))) > (snippet '(begin > @@ -324,9 +323,7 @@ (define-public docker > (commit (string-append "v" version)))) > (file-name (git-file-name name version)) > (sha256 > - (base32 "0419iha9zmwlhzhnbfxlsa13vgd04yifnsr8qqnj2ks5dxrcajl8")) > - (patches > - (search-patches "docker-fix-tests.patch")))) > + (base32 "18nid42p1n20mg7spz0knh4izkk8qgjz9xi6v54czvy7aaj336i3")))) > (build-system gnu-build-system) > (arguments > `(#:modules > @@ -369,9 +366,10 @@ (define-public docker > (("DefaultRuntimeBinary = .*") > (string-append "DefaultRuntimeBinary = \"" > (assoc-ref inputs "runc") > - "/sbin/runc\"\n")) > - (("DefaultRuntimeName = .*") > - (string-append "DefaultRuntimeName = \"" > + "/sbin/runc\"\n"))) > + (substitute* "daemon/runtime_unix.go" > + (("defaultRuntimeName = .*") > + (string-append "defaultRuntimeName = \"" > (assoc-ref inputs "runc") > "/sbin/runc\"\n"))) > (substitute* "daemon/config/config.go" > @@ -400,16 +398,6 @@ (define-public docker > (substitute* "pkg/archive/archive.go" > (("string\\{\"xz") > (string-append "string{\"" (assoc-ref inputs "xz") "/bin/xz"))) > - ;; TODO: Remove when Docker proper uses v1.14.x to build > - (substitute* "registry/resumable/resumablerequestreader_test.go" > - (("I%27m%20not%20an%20url" all) > - (string-append "\"" all "\""))) > - ;; TODO: Remove when Docker proper uses v1.14.x to build > - (substitute* "vendor/gotest.tools/x/subtest/context.go" > - (("func \\(tc \\*testcase\\) Cleanup\\(" all) > - (string-append all "func()")) > - (("tc\\.Cleanup\\(" all) > - (string-append all "nil"))) > > (let ((source-files (filter (lambda (name) > (not (string-contains name "test"))) > @@ -446,6 +434,7 @@ (define-public docker > ("blkid" "util-linux" "sbin/blkid") > ("unpigz" "pigz" "bin/unpigz") > ("iptables" "iptables" "sbin/iptables") > + ("ip6tables" "iptables" "sbin/ip6tables") > ("iptables-legacy" "iptables" "sbin/iptables") > ("ip" "iproute2" "sbin/ip")) > > @@ -494,10 +483,10 @@ (define-public docker > "exec.Command") > ;; Search for ZFS in PATH. > (("\\ + (("\\ isn't found. ;; FIXME: We might need to package buildkit and docker's ;; buildx plugin, to support qemu-based docker containers. From 4089db85b366e3f8fd394d254807ddd4b4631c3c Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Fri, 1 Apr 2022 01:34:52 +0100 Subject: [PATCH v2.5 7/7] gnu: docker: Switch to gexp and new input style. * gnu/packages/docker.scm (docker)[arguments]: Rewrite as gexps. Switch to using search-input-file. [inputs]: Use new style inputs. --- gnu/packages/docker.scm | 483 ++++++++++++++++++++-------------------- 1 file changed, 241 insertions(+), 242 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 82c017157d..edec4d3b27 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -326,260 +326,259 @@ (define-public docker (base32 "18nid42p1n20mg7spz0knh4izkk8qgjz9xi6v54czvy7aaj336i3")))) (build-system gnu-build-system) (arguments - `(#:modules - ((guix build gnu-build-system) + (list + #:modules + '((guix build gnu-build-system) ((guix build go-build-system) #:prefix go:) (guix build union) (guix build utils)) - #:imported-modules - (,@%gnu-build-system-modules + #:imported-modules + `(,@%gnu-build-system-modules (guix build union) (guix build go-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "builder/builder-next/executor_unix.go" - (("CommandCandidates:.*runc.*") - (string-append "CommandCandidates: []string{\"" - (assoc-ref inputs "runc") - "/sbin/runc\"},\n"))) - (substitute* "vendor/github.com/containerd/go-runc/runc.go" - (("DefaultCommand = .*") - (string-append "DefaultCommand = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n"))) - (substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go" - (("defaultRuntime[ \t]*=.*") - (string-append "defaultRuntime = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n")) - (("defaultShim[ \t]*=.*") - (string-append "defaultShim = \"" - (assoc-ref inputs "containerd") - "/bin/containerd-shim\"\n"))) - (substitute* "daemon/daemon_unix.go" - (("DefaultShimBinary = .*") - (string-append "DefaultShimBinary = \"" - (assoc-ref inputs "containerd") - "/bin/containerd-shim\"\n")) - (("DefaultRuntimeBinary = .*") - (string-append "DefaultRuntimeBinary = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n"))) - (substitute* "daemon/runtime_unix.go" - (("defaultRuntimeName = .*") - (string-append "defaultRuntimeName = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n"))) - (substitute* "daemon/config/config.go" - (("StockRuntimeName = .*") - (string-append "StockRuntimeName = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n")) - (("DefaultInitBinary = .*") - (string-append "DefaultInitBinary = \"" - (assoc-ref inputs "tini") - "/bin/tini-static\"\n"))) - (substitute* "daemon/config/config_common_unix_test.go" - (("expectedInitPath: \"docker-init\"") - (string-append "expectedInitPath: \"" - (assoc-ref inputs "tini") - "/bin/tini-static\""))) - (substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go" - (("var defaultCommandCandidates = .*") - (string-append "var defaultCommandCandidates = []string{\"" - (assoc-ref inputs "runc") "/sbin/runc\"}"))) - (substitute* "vendor/github.com/docker/libnetwork/portmapper/proxy.go" - (("var userlandProxyCommandName = .*") - (string-append "var userlandProxyCommandName = \"" - (assoc-ref inputs "docker-proxy") - "/bin/proxy\"\n"))) - (substitute* "pkg/archive/archive.go" - (("string\\{\"xz") - (string-append "string{\"" (assoc-ref inputs "xz") "/bin/xz"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "builder/builder-next/executor_unix.go" + (("CommandCandidates:.*runc.*") + (string-append "CommandCandidates: []string{\"" + (search-input-file inputs "/sbin/runc") + "\"},\n"))) + (substitute* "vendor/github.com/containerd/go-runc/runc.go" + (("DefaultCommand = .*") + (string-append "DefaultCommand = \"" + (search-input-file inputs "/sbin/runc") + "\"\n"))) + (substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go" + (("defaultRuntime[ \t]*=.*") + (string-append "defaultRuntime = \"" + (search-input-file inputs "/sbin/runc") + "\"\n")) + (("defaultShim[ \t]*=.*") + (string-append "defaultShim = \"" + (search-input-file inputs "/bin/containerd-shim") + "\"\n"))) + (substitute* "daemon/daemon_unix.go" + (("DefaultShimBinary = .*") + (string-append "DefaultShimBinary = \"" + (search-input-file inputs "/bin/containerd-shim") + "\"\n")) + (("DefaultRuntimeBinary = .*") + (string-append "DefaultRuntimeBinary = \"" + (search-input-file inputs "/sbin/runc") + "\"\n"))) + (substitute* "daemon/runtime_unix.go" + (("defaultRuntimeName = .*") + (string-append "defaultRuntimeName = \"" + (search-input-file inputs "/sbin/runc") + "\"\n"))) + (substitute* "daemon/config/config.go" + (("StockRuntimeName = .*") + (string-append "StockRuntimeName = \"" + (search-input-file inputs "/sbin/runc") + "\"\n")) + (("DefaultInitBinary = .*") + (string-append "DefaultInitBinary = \"" + (search-input-file inputs "/bin/tini-static") + "\"\n"))) + (substitute* "daemon/config/config_common_unix_test.go" + (("expectedInitPath: \"docker-init\"") + (string-append "expectedInitPath: \"" + (search-input-file inputs "/bin/tini-static") + "\""))) + (substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go" + (("var defaultCommandCandidates = .*") + (string-append "var defaultCommandCandidates = []string{\"" + (search-input-file inputs "/sbin/runc") "\"}"))) + (substitute* "vendor/github.com/docker/libnetwork/portmapper/proxy.go" + (("var userlandProxyCommandName = .*") + (string-append "var userlandProxyCommandName = \"" + (search-input-file inputs "/bin/proxy") + "\"\n"))) + (substitute* "pkg/archive/archive.go" + (("string\\{\"xz") + (string-append "string{\"" (search-input-file inputs "/bin/xz")))) - (let ((source-files (filter (lambda (name) - (not (string-contains name "test"))) - (find-files "." "\\.go$")))) - (let-syntax ((substitute-LookPath* - (syntax-rules () - ((_ (source-text package relative-path) ...) - (substitute* source-files - (((string-append "\\ isn't found. ;; FIXME: We might need to package buildkit and docker's ;; buildx plugin, to support qemu-based docker containers. - (("\\ .pc) go gotestsum pkg-config)) -- 2.34.0