GNU bug report logs - #52790
[PATCH 0/4] Update docker to 20.10.11.

Previous Next

Package: guix-patches;

Reported by: Pierre Langlois <pierre.langlois <at> gmx.com>

Date: Sat, 25 Dec 2021 14:32:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 52790 in the body.
You can then email your comments to 52790 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 25 Dec 2021 14:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Langlois <pierre.langlois <at> gmx.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 25 Dec 2021 14:32:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/4] Update docker to 20.10.11.
Date: Sat, 25 Dec 2021 14:17:50 +0000
[Message part 1 (text/plain, inline)]
Hi Guix!

Here's a series to update docker.  My use of docker is quite limited so
we might want more testing, I just have a basic Ubuntu container.

Also, while looking into this I noticed containerd's patch-paths phase
wasn't running at all so I fixed that. However I'm not sure how
containerd worked before without it. Docker bundles its own
version that we also patch, so we're probably not hitting the code that
needed patching.

Thanks,
Pierre

Pierre Langlois (4):
  gnu: containerd: Fix patch-paths build phase.
  gnu: containerd: Update to 1.5.8.
  gnu: runc: Update to 1.0.3.
  gnu: docker: Update to 20.10.11.

 gnu/local.mk                                |  1 -
 gnu/packages/docker.scm                     | 80 +++++++++------------
 gnu/packages/networking.scm                 |  6 +-
 gnu/packages/patches/docker-fix-tests.patch | 28 --------
 gnu/packages/virtualization.scm             |  4 +-
 5 files changed, 39 insertions(+), 80 deletions(-)
 delete mode 100644 gnu/packages/patches/docker-fix-tests.patch

-- 
2.34.0

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 25 Dec 2021 14:41:02 GMT) Full text and rfc822 format available.

Message #8 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH 1/4] gnu: containerd: Fix patch-paths build phase.
Date: Sat, 25 Dec 2021 14:40:11 +0000
* gnu/packages/docker.scm (containerd)[arguments]: Add 'patch-paths
phases after 'unpack because 'chdir doesn't exist.  Substitute runc
binary for "pkg/cri/config/config_unix.go".
---
 gnu/packages/docker.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index d012ed43c6..47e4fcd2dc 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -190,7 +190,7 @@ (define-public containerd
        `(#:import-path "github.com/containerd/containerd"
          #:phases
          (modify-phases %standard-phases
-           (add-after 'chdir 'patch-paths
+           (add-after 'unpack 'patch-paths
              (lambda* (#:key inputs import-path outputs #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (substitute* "runtime/v1/linux/runtime.go"
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 25 Dec 2021 14:41:02 GMT) Full text and rfc822 format available.

Message #11 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH 2/4] gnu: containerd: Update to 1.5.8.
Date: Sat, 25 Dec 2021 14:40:12 +0000
* gnu/packages/docker.scm (containerd): Update to 1.5.8.
[arguments]: Substitute runc binary for "pkg/cri/config/config_unix.go".
---
 gnu/packages/docker.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 47e4fcd2dc..062229b3b4 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -173,7 +173,7 @@ (define-public python-docker-pycreds
 (define-public containerd
   (package
     (name "containerd")
-    (version "1.4.4")
+    (version "1.5.8")
     (source
      (origin
        (method git-fetch)
@@ -182,7 +182,7 @@ (define-public containerd
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
+        (base32 "18lzmpbhbk1kq1nwdp6zcxb577kp425l2ikcmb45jcwgqdwzla6l"))))
     (build-system go-build-system)
     (arguments
      (let ((make-flags (list (string-append "VERSION=" version)
@@ -202,6 +202,11 @@ (define-public containerd
                     (string-append "defaultShim = \""
                                    (assoc-ref outputs "out")
                                    "/bin/containerd-shim\"\n")))
+                 (substitute* "pkg/cri/config/config_unix.go"
+                   (("DefaultRuntimeName: \"runc\"")
+                    (string-append "DefaultRuntimeName: \""
+                                   (assoc-ref inputs "runc")
+                                   "/sbin/runc\"")))
                  (substitute* "vendor/github.com/containerd/go-runc/runc.go"
                    (("DefaultCommand[ \t]*=.*")
                     (string-append "DefaultCommand = \""
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 25 Dec 2021 14:41:03 GMT) Full text and rfc822 format available.

Message #14 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH 3/4] gnu: runc: Update to 1.0.3.
Date: Sat, 25 Dec 2021 14:40:13 +0000
* gnu/packages/virtualization.scm (runc): Update to 1.0.3.
---
 gnu/packages/virtualization.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 14f415cf1d..b34de1a4dc 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1716,7 +1716,7 @@ (define-public looking-glass-client
 (define-public runc
   (package
     (name "runc")
-    (version "1.0.0-rc93")
+    (version "1.0.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1725,7 +1725,7 @@ (define-public runc
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0b90r1bkvlqli53ca1yc1l488dba0isd3i6l7nlhszxi8p7hzvkh"))))
+                "1dhss89fcs7acwd6ja0hfswqvzz8zcxllk0dlk1jqf1viwrpnag9"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/opencontainers/runc"
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 25 Dec 2021 14:41:03 GMT) Full text and rfc822 format available.

Message #17 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH 4/4] gnu: docker: Update to 20.10.11.
Date: Sat, 25 Dec 2021 14:40:14 +0000
* gnu/packages/docker.scm (%docker-version): Update to 20.10.11.
(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 aa0117a3f5..f2dbd2330a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -996,7 +996,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 062229b3b4..1d09184e4d 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -52,7 +52,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.11")

 (define-public python-docker
   (package
@@ -248,13 +248,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 "64b7a4574d1426139437d20e81c0b6d391130ec8")
         (version (version-major+minor %docker-version))
-        (revision "1"))
+        (revision "2"))
     (package
       (name "docker-libnetwork")
       (version (git-version version revision commit))
@@ -267,7 +266,7 @@ (define docker-libnetwork
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "19syb3scwiykn44gqfaqrgqv8a0df4ps0ykf3za9xkjc5cyi99mp"))
+                  "1sxn10kn5b6wv06im3y2as7pjsz51zyv3cd007blxjl9wivxzzxs"))
                 ;; Delete bundled ("vendored") free software source code.
                 (modules '((guix build utils)))
                 (snippet '(begin
@@ -320,9 +319,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 "1h1r66j57l073iba6hwrhcz779vaym68l1gfycdiw2d2gglfrdgr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules
@@ -365,9 +362,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"
@@ -396,16 +394,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")))
@@ -442,6 +430,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"))

@@ -490,10 +479,10 @@ (define-public docker
                   "exec.Command")
                  ;; Search for ZFS in PATH.
                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
                  ;; Fail on other unsubstituted LookPaths.
                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))
-             #t))
+                 (("\\<LooxPath") "LookPath")))))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _
              ;; Needs internet access.
@@ -518,8 +507,7 @@ (define-public docker
              ;; This file uses /var.
              (delete-file "daemon/oci_linux_test.go")
              ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")
-             #t))
+             (delete-file "pkg/signal/signal_linux_test.go")))
          (replace 'configure
            (lambda _
              (setenv "DOCKER_BUILDTAGS" "seccomp")
@@ -532,8 +520,7 @@ (define-public docker
              ;; information, and the DWARF symbol table.
              (setenv "LDFLAGS" "-s -w")
              ;; Make build faster
-             (setenv "GOCACHE" "/tmp")
-             #t))
+             (setenv "GOCACHE" "/tmp")))
          (add-before 'build 'setup-go-environment
            (assoc-ref go:%standard-phases 'setup-go-environment))
          (replace 'build
@@ -555,8 +542,7 @@ (define-public docker
                                           "/.gopath/src/github.com/docker/docker"))
              (with-directory-excursion ".gopath/src/github.com/docker/docker"
                (invoke "hack/test/unit"))
-             (setenv "PWD" #f)
-             #t))
+             (setenv "PWD" #f)))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -564,8 +550,7 @@ (define-public docker
                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
                                             (getenv "VERSION"))
-                             out-bin)
-               #t)))
+                             out-bin))))
          (add-after 'install 'remove-go-references
            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
@@ -590,7 +575,7 @@ (define-public docker
        ("xz" ,xz)))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
-           go-1.14 gotestsum pkg-config))
+           go gotestsum pkg-config))
     (synopsis "Docker container component library, and daemon")
     (description "This package provides a framework to assemble specialized
 container systems.  It includes components for orchestration, image
@@ -611,7 +596,7 @@ (define-public docker-cli
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0"))))
+       (base32 "0dmmxn9ahyq2yq935fvp1b6ka6s43ih9nh6wwx8v6rjg7y35rb1n"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/docker/cli"
@@ -631,11 +616,11 @@ (define-public docker-cli
              ;; Make build reproducible.
              (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
              (symlink "src/github.com/docker/cli/scripts" "./scripts")
-             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
-             #t))
+             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")))
          (replace 'build
            (lambda _
-             (invoke "./scripts/build/dynbinary")))
+             (setenv "GO_LINKMODE" "dynamic")
+             (invoke "./scripts/build/binary")))
          (replace 'check
            (lambda* (#:key make-flags tests? #:allow-other-keys)
              (setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
@@ -644,8 +629,7 @@ (define-public docker-cli
                  (with-directory-excursion "src/github.com/docker/cli"
                    ;; TODO: Run test-e2e as well?
                    (apply invoke "make" "-f" "docker.Makefile" "test-unit"
-                          (or make-flags '())))
-                 #t)))
+                          (or make-flags '()))))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -658,8 +642,7 @@ (define-public docker-cli
                                (string-append etc "/fish/completions"))
                  (install-file "zsh/_docker"
                                (string-append etc "/zsh/site-functions")))
-               (install-file "build/docker" out-bin)
-               #t))))))
+               (install-file "build/docker" out-bin)))))))
     (native-inputs
      (list go libltdl pkg-config))
     (synopsis "Command line interface to Docker")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 4923ec91e9..cc9864ef19 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1655,8 +1655,8 @@ (define-public go-netns
 (define-public go-sctp
   ;; docker-libnetwork-cmd-proxy requires this exact commit.
   ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
-  (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847")
-        (revision "2"))
+  (let ((commit "f2269e66cdee387bd321445d5d300893449805be")
+        (revision "3"))
     (package
       (name "go-sctp")
       (version (git-version "0.0.0" revision commit))
@@ -1668,7 +1668,7 @@ (define-public go-sctp
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb"))))
+                  "04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g"))))
       (build-system go-build-system)
       (arguments
        `(#:tests? #f    ; Test suite is flakey.
diff --git a/gnu/packages/patches/docker-fix-tests.patch b/gnu/packages/patches/docker-fix-tests.patch
deleted file mode 100644
index 3e3e318e25..0000000000
--- a/gnu/packages/patches/docker-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Author: Danny Milosavljevic <dannym <at> scratchpost.org>
-The socket name ended up too long inside the container.
-Use a shorter one.
---- a/pkg/authorization/authz_unix_test.go	2019-01-10 01:55:02.997985947 +0100
-+++ b/pkg/authorization/authz_unix_test.go	2019-01-10 02:03:21.177439757 +0100
-@@ -24,7 +24,7 @@
- )
-
- const (
--	pluginAddress = "authz-test-plugin.sock"
-+	pluginAddress = "/tmp/authz-test-plugin.sock"
- )
-
- func TestAuthZRequestPluginError(t *testing.T) {
-@@ -263,12 +263,7 @@
-
- // createTestPlugin creates a new sample authorization plugin
- func createTestPlugin(t *testing.T) *authorizationPlugin {
--	pwd, err := os.Getwd()
--	if err != nil {
--		t.Fatal(err)
--	}
--
--	client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
-+	client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
- 	if err != nil {
- 		t.Fatalf("Failed to create client %v", err)
- 	}
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sun, 26 Dec 2021 11:38:02 GMT) Full text and rfc822 format available.

Message #20 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 52790 <at> debbugs.gnu.org
Subject: Re: bug#52790: [PATCH 0/4] Update docker to 20.10.11.
Date: Sun, 26 Dec 2021 12:37:08 +0100
Hello Pierre,

> Here's a series to update docker.  My use of docker is quite limited so
> we might want more testing, I just have a basic Ubuntu container.

Thanks for updating Docker. We have two system tests, that you can run
this way:

--8<---------------cut here---------------start------------->8---
make check-system TESTS="docker docker-system"
--8<---------------cut here---------------end--------------->8---

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 27 Dec 2021 16:45:01 GMT) Full text and rfc822 format available.

Message #23 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>, 52790 <at> debbugs.gnu.org
Subject: Re: bug#52790: [PATCH 0/4] Update docker to 20.10.11.
Date: Mon, 27 Dec 2021 16:42:24 +0000
[Message part 1 (text/plain, inline)]
Hi,

Mathieu Othacehe <othacehe <at> gnu.org> writes:

> Hello Pierre,
>
>> Here's a series to update docker.  My use of docker is quite limited so
>> we might want more testing, I just have a basic Ubuntu container.
>
> Thanks for updating Docker. We have two system tests, that you can run
> this way:
>
> make check-system TESTS="docker docker-system"

Oh yeah of course! These tests pass for me with this series.

Thanks,
Pierre
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:02 GMT) Full text and rfc822 format available.

Message #26 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 1/7] gnu: runc: Update to 1.1.0.
Date: Fri,  1 Apr 2022 01:46:36 +0100
* gnu/packages/virtualization.scm (runc): Update to 1.1.0.
---
 gnu/packages/virtualization.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index a058e59f6b..d0a37fcb0c 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -18,7 +18,7 @@
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
-;;; Copyright © 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
+;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2021 Dion Mendel <guix <at> dm9.info>
 ;;; Copyright © 2021 Andrew Whatson <whatson <at> gmail.com>
 ;;; Copyright © 2021 Vincent Legoll <vincent.legoll <at> gmail.com>
@@ -1776,7 +1776,7 @@ (define-public looking-glass-client
 (define-public runc
   (package
     (name "runc")
-    (version "1.0.0-rc93")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1785,7 +1785,7 @@ (define-public runc
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0b90r1bkvlqli53ca1yc1l488dba0isd3i6l7nlhszxi8p7hzvkh"))))
+                "08y6vp94y37ps8wx7njss8l7f57qa8bbsrz32xkmm91sg5sqjbhm"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/opencontainers/runc"
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:02 GMT) Full text and rfc822 format available.

Message #29 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 0/7] Update docker to 20.10.14.
Date: Fri,  1 Apr 2022 01:46:35 +0100
Hi Guix!

I rebased this series, updated it to 20.10.14 and did a bit of spring gexp
cleanup.  Tested manually with a simple Ubuntu container, and with

  make check-system TESTS="docker docker-system"

I've seen reports of issues on help-guix that /look/ like patch number 2 might
fix it, so we could submit that first if the rest needs more work.

WDYT?
Thanks,
Pierre

Pierre Langlois (7):
  gnu: runc: Update to 1.1.0.
  gnu: containerd: Fix patch-paths build phase.
  gnu: containerd: Update to 1.6.2.
  gnu: containerd: Switch to gexp arguments.
  gnu: docker: Fix mkfs.xfs reference.
  gnu: docker: Update to 20.10.14.
  gnu: docker: Switch to gexp and new input style.

 gnu/local.mk                                |   1 -
 gnu/packages/docker.scm                     | 625 ++++++++++----------
 gnu/packages/networking.scm                 |   6 +-
 gnu/packages/patches/docker-fix-tests.patch |  28 -
 gnu/packages/virtualization.scm             |   6 +-
 5 files changed, 314 insertions(+), 352 deletions(-)
 delete mode 100644 gnu/packages/patches/docker-fix-tests.patch

--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:03 GMT) Full text and rfc822 format available.

Message #32 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 2/7] gnu: containerd: Fix patch-paths build phase.
Date: Fri,  1 Apr 2022 01:46:37 +0100
* gnu/packages/docker.scm (containerd)[arguments]: Add 'patch-paths
phases after 'unpack because 'chdir doesn't exist.
---
 gnu/packages/docker.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 3f52f4f8db..b76db22d58 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e <at> gmail.com>
 ;;; Copyright © 2020 Jesse Dowell <jessedowell <at> gmail.com>
 ;;; Copyright © 2021 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -190,7 +191,7 @@ (define-public containerd
        `(#:import-path "github.com/containerd/containerd"
          #:phases
          (modify-phases %standard-phases
-           (add-after 'chdir 'patch-paths
+           (add-after 'unpack 'patch-paths
              (lambda* (#:key inputs import-path outputs #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (substitute* "runtime/v1/linux/runtime.go"
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:03 GMT) Full text and rfc822 format available.

Message #35 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 3/7] gnu: containerd: Update to 1.6.2.
Date: Fri,  1 Apr 2022 01:46:38 +0100
* gnu/packages/docker.scm (containerd): Update to 1.6.2.
[arguments]: Substitute runc binary for "pkg/cri/config/config_unix.go".  Set
PREFIX to empty string, as the install directory is $DESTDIR/$PREFIX.
---
 gnu/packages/docker.scm | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index b76db22d58..7a7594f2b1 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -174,7 +174,7 @@ (define-public python-docker-pycreds
 (define-public containerd
   (package
     (name "containerd")
-    (version "1.4.4")
+    (version "1.6.2")
     (source
      (origin
        (method git-fetch)
@@ -183,7 +183,7 @@ (define-public containerd
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
+        (base32 "0fw62aya0gwxaa2kkcjkbifp8n0xmk1x0qzjahlsls6g0pmh5pkq"))))
     (build-system go-build-system)
     (arguments
      (let ((make-flags (list (string-append "VERSION=" version)
@@ -203,6 +203,11 @@ (define-public containerd
                     (string-append "defaultShim = \""
                                    (assoc-ref outputs "out")
                                    "/bin/containerd-shim\"\n")))
+                 (substitute* "pkg/cri/config/config_unix.go"
+                   (("DefaultRuntimeName: \"runc\"")
+                    (string-append "DefaultRuntimeName: \""
+                                   (assoc-ref inputs "runc")
+                                   "/sbin/runc\"")))
                  (substitute* "vendor/github.com/containerd/go-runc/runc.go"
                    (("DefaultCommand[ \t]*=.*")
                     (string-append "DefaultCommand = \""
@@ -226,8 +231,8 @@ (define-public containerd
              (lambda* (#:key import-path outputs #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (let* ((out (assoc-ref outputs "out")))
-                   (apply invoke "make" (string-append "DESTDIR=" out) "install"
-                          ',make-flags)))))))))
+                   (apply invoke "make" (string-append "DESTDIR=" out)
+                          "PREFIX=" "install" ',make-flags)))))))))
     (inputs
      (list btrfs-progs libseccomp pigz runc util-linux))
     (native-inputs
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:03 GMT) Full text and rfc822 format available.

Message #38 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 4/7] gnu: containerd: Switch to gexp arguments.
Date: Fri,  1 Apr 2022 01:46:39 +0100
* gnu/packages/docker.scm (containerd)[arguments]: Rewrite as gexps.
Pass all flags via make-flags variable.  Switch to using
search-input-file.
---
 gnu/packages/docker.scm | 95 +++++++++++++++++++++--------------------
 1 file changed, 49 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 7a7594f2b1..d2c022f552 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -29,6 +29,7 @@ (define-module (gnu packages docker)
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
@@ -186,53 +187,55 @@ (define-public containerd
         (base32 "0fw62aya0gwxaa2kkcjkbifp8n0xmk1x0qzjahlsls6g0pmh5pkq"))))
     (build-system go-build-system)
     (arguments
-     (let ((make-flags (list (string-append "VERSION=" version)
-                             "REVISION=0")))
-       `(#:import-path "github.com/containerd/containerd"
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-paths
-             (lambda* (#:key inputs import-path outputs #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (substitute* "runtime/v1/linux/runtime.go"
-                   (("defaultRuntime[ \t]*=.*")
-                    (string-append "defaultRuntime = \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"\n"))
-                   (("defaultShim[ \t]*=.*")
-                    (string-append "defaultShim = \""
-                                   (assoc-ref outputs "out")
-                                   "/bin/containerd-shim\"\n")))
-                 (substitute* "pkg/cri/config/config_unix.go"
-                   (("DefaultRuntimeName: \"runc\"")
-                    (string-append "DefaultRuntimeName: \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"")))
-                 (substitute* "vendor/github.com/containerd/go-runc/runc.go"
-                   (("DefaultCommand[ \t]*=.*")
-                    (string-append "DefaultCommand = \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"\n")))
-                 (substitute* "vendor/github.com/containerd/continuity/testutil\
+     (let ((make-flags #~(list (string-append "VERSION=" #$version)
+                               (string-append "DESTDIR=" #$output)
+                               "PREFIX="
+                               "REVISION=0")))
+       (list
+        #:import-path "github.com/containerd/containerd"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-paths
+              (lambda* (#:key inputs import-path outputs #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (substitute* "runtime/v1/linux/runtime.go"
+                    (("defaultRuntime[ \t]*=.*")
+                     (string-append "defaultRuntime = \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"\n"))
+                    (("defaultShim[ \t]*=.*")
+                     (string-append "defaultShim = \""
+                                    (assoc-ref outputs "out")
+                                    "/bin/containerd-shim\"\n")))
+                  (substitute* "pkg/cri/config/config_unix.go"
+                    (("DefaultRuntimeName: \"runc\"")
+                     (string-append "DefaultRuntimeName: \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"")))
+                  (substitute* "vendor/github.com/containerd/go-runc/runc.go"
+                    (("DefaultCommand[ \t]*=.*")
+                     (string-append "DefaultCommand = \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"\n")))
+                  (substitute* "vendor/github.com/containerd/continuity/testutil\
 /loopback/loopback_linux.go"
-                   (("exec\\.Command\\(\"losetup\"")
-                    (string-append "exec.Command(\""
-                                   (assoc-ref inputs "util-linux")
-                                   "/sbin/losetup\"")))
-                 (substitute* "archive/compression/compression.go"
-                   (("exec\\.LookPath\\(\"unpigz\"\\)")
-                    (string-append "\"" (assoc-ref inputs "pigz")
-                                   "/bin/unpigz\", error(nil)"))))))
-           (replace 'build
-             (lambda* (#:key import-path #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (apply invoke "make" ',make-flags))))
-           (replace 'install
-             (lambda* (#:key import-path outputs #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (let* ((out (assoc-ref outputs "out")))
-                   (apply invoke "make" (string-append "DESTDIR=" out)
-                          "PREFIX=" "install" ',make-flags)))))))))
+                    (("exec\\.Command\\(\"losetup\"")
+                     (string-append "exec.Command(\""
+                                    (search-input-file inputs "/sbin/losetup")
+                                    "\"")))
+                  (substitute* "archive/compression/compression.go"
+                    (("exec\\.LookPath\\(\"unpigz\"\\)")
+                     (string-append "\""
+                                    (search-input-file inputs "/bin/unpigz")
+                                    "\", error(nil)"))))))
+            (replace 'build
+              (lambda* (#:key import-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (apply invoke "make" #$make-flags))))
+            (replace 'install
+              (lambda* (#:key import-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (apply invoke "make" "install" #$make-flags))))))))
     (inputs
      (list btrfs-progs libseccomp pigz runc util-linux))
     (native-inputs
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:04 GMT) Full text and rfc822 format available.

Message #41 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 5/7] gnu: docker: Fix mkfs.xfs reference.
Date: Fri,  1 Apr 2022 01:46:40 +0100
* gnu/packages/docker.scm (docker)[arguments]: Refer to sbin/mkfs.xfs
instead of bin/mkfs.xfs.
---
 gnu/packages/docker.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index d2c022f552..0d721ead38 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -440,7 +440,7 @@ (define-public docker
                  (substitute-LookPath*
                   ("containerd" "containerd" "bin/containerd")
                   ("ps" "procps" "bin/ps")
-                  ("mkfs.xfs" "xfsprogs" "bin/mkfs.xfs")
+                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
                   ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
                   ("pvdisplay" "lvm2" "sbin/pvdisplay")
                   ("blkid" "util-linux" "sbin/blkid")
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:04 GMT) Full text and rfc822 format available.

Message #44 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 6/7] gnu: docker: Update to 20.10.14.
Date: Fri,  1 Apr 2022 01:46:41 +0100
* 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.
                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
                  ;; Fail on other unsubstituted LookPaths.
                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))
-             #t))
+                 (("\\<LooxPath") "LookPath")))))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _
              ;; Needs internet access.
@@ -522,8 +511,7 @@ (define-public docker
              ;; This file uses /var.
              (delete-file "daemon/oci_linux_test.go")
              ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")
-             #t))
+             (delete-file "pkg/signal/signal_linux_test.go")))
          (replace 'configure
            (lambda _
              (setenv "DOCKER_BUILDTAGS" "seccomp")
@@ -536,8 +524,7 @@ (define-public docker
              ;; information, and the DWARF symbol table.
              (setenv "LDFLAGS" "-s -w")
              ;; Make build faster
-             (setenv "GOCACHE" "/tmp")
-             #t))
+             (setenv "GOCACHE" "/tmp")))
          (add-before 'build 'setup-go-environment
            (assoc-ref go:%standard-phases 'setup-go-environment))
          (replace 'build
@@ -559,8 +546,7 @@ (define-public docker
                                           "/.gopath/src/github.com/docker/docker"))
              (with-directory-excursion ".gopath/src/github.com/docker/docker"
                (invoke "hack/test/unit"))
-             (setenv "PWD" #f)
-             #t))
+             (setenv "PWD" #f)))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -568,8 +554,7 @@ (define-public docker
                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
                                             (getenv "VERSION"))
-                             out-bin)
-               #t)))
+                             out-bin))))
          (add-after 'install 'remove-go-references
            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
@@ -594,7 +579,7 @@ (define-public docker
        ("xz" ,xz)))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
-           go-1.14 gotestsum pkg-config))
+           go gotestsum pkg-config))
     (synopsis "Docker container component library, and daemon")
     (description "This package provides a framework to assemble specialized
 container systems.  It includes components for orchestration, image
@@ -615,7 +600,7 @@ (define-public docker-cli
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0"))))
+       (base32 "1nv6mzq9i9psgfbzx7hfx1qb6fjp649qg8y392z8z2kqbjl20g3q"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/docker/cli"
@@ -635,11 +620,11 @@ (define-public docker-cli
              ;; Make build reproducible.
              (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
              (symlink "src/github.com/docker/cli/scripts" "./scripts")
-             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
-             #t))
+             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")))
          (replace 'build
            (lambda _
-             (invoke "./scripts/build/dynbinary")))
+             (setenv "GO_LINKMODE" "dynamic")
+             (invoke "./scripts/build/binary")))
          (replace 'check
            (lambda* (#:key make-flags tests? #:allow-other-keys)
              (setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
@@ -648,8 +633,7 @@ (define-public docker-cli
                  (with-directory-excursion "src/github.com/docker/cli"
                    ;; TODO: Run test-e2e as well?
                    (apply invoke "make" "-f" "docker.Makefile" "test-unit"
-                          (or make-flags '())))
-                 #t)))
+                          (or make-flags '()))))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -662,8 +646,7 @@ (define-public docker-cli
                                (string-append etc "/fish/completions"))
                  (install-file "zsh/_docker"
                                (string-append etc "/zsh/site-functions")))
-               (install-file "build/docker" out-bin)
-               #t))))))
+               (install-file "build/docker" out-bin)))))))
     (native-inputs
      (list go libltdl pkg-config))
     (synopsis "Command line interface to Docker")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b45f2f79f2..54116e4f4c 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1691,8 +1691,8 @@ (define-public go-netns
 (define-public go-sctp
   ;; docker-libnetwork-cmd-proxy requires this exact commit.
   ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
-  (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847")
-        (revision "2"))
+  (let ((commit "f2269e66cdee387bd321445d5d300893449805be")
+        (revision "3"))
     (package
       (name "go-sctp")
       (version (git-version "0.0.0" revision commit))
@@ -1704,7 +1704,7 @@ (define-public go-sctp
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb"))))
+                  "04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g"))))
       (build-system go-build-system)
       (arguments
        `(#:tests? #f    ; Test suite is flakey.
diff --git a/gnu/packages/patches/docker-fix-tests.patch b/gnu/packages/patches/docker-fix-tests.patch
deleted file mode 100644
index 3e3e318e25..0000000000
--- a/gnu/packages/patches/docker-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Author: Danny Milosavljevic <dannym <at> scratchpost.org>
-The socket name ended up too long inside the container.
-Use a shorter one.
---- a/pkg/authorization/authz_unix_test.go	2019-01-10 01:55:02.997985947 +0100
-+++ b/pkg/authorization/authz_unix_test.go	2019-01-10 02:03:21.177439757 +0100
-@@ -24,7 +24,7 @@
- )
-
- const (
--	pluginAddress = "authz-test-plugin.sock"
-+	pluginAddress = "/tmp/authz-test-plugin.sock"
- )
-
- func TestAuthZRequestPluginError(t *testing.T) {
-@@ -263,12 +263,7 @@
-
- // createTestPlugin creates a new sample authorization plugin
- func createTestPlugin(t *testing.T) *authorizationPlugin {
--	pwd, err := os.Getwd()
--	if err != nil {
--		t.Fatal(err)
--	}
--
--	client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
-+	client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
- 	if err != nil {
- 		t.Fatalf("Failed to create client %v", err)
- 	}
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 00:49:05 GMT) Full text and rfc822 format available.

Message #47 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v2 7/7] gnu: docker: Switch to gexp and new input style.
Date: Fri,  1 Apr 2022 01:46:42 +0100
* 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 020c89bb11..b4095eb00f 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -326,257 +326,256 @@ (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 "\\<exec\\.LookPath\\(\""
-                                                   source-text
-                                                   "\")"))
-                                   (string-append "\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\", error(nil)")) ...))))
-                            (substitute-Command*
-                             (syntax-rules ()
-                               ((_ (source-text package relative-path) ...)
-                                (substitute* source-files
-                                  (((string-append "\\<(re)?exec\\.Command\\(\""
-                                                   source-text
-                                                   "\"") _ re?)
-                                   (string-append (if re? re? "")
-                                                  "exec.Command(\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\"")) ...)))))
-                 (substitute-LookPath*
-                  ("containerd" "containerd" "bin/containerd")
-                  ("ps" "procps" "bin/ps")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
-                  ("pvdisplay" "lvm2" "sbin/pvdisplay")
-                  ("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"))
+              (let ((source-files (filter (lambda (name)
+                                            (not (string-contains name "test")))
+                                          (find-files "." "\\.go$"))))
+                (let-syntax ((substitute-LookPath*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<exec\\.LookPath\\(\""
+                                                    source-text
+                                                    "\")"))
+                                    (string-append "\""
+                                                   (search-input-file inputs path)
+                                                   "\", error(nil)")) ...))))
+                             (substitute-Command*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<(re)?exec\\.Command\\(\""
+                                                    source-text
+                                                    "\"") _ re?)
+                                    (string-append (if re? re? "")
+                                                   "exec.Command(\""
+                                                   (search-input-file inputs path)
+                                                   "\"")) ...)))))
+                  (substitute-LookPath*
+                   ("containerd" "/bin/containerd")
+                   ("ps" "/bin/ps")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("lvmdiskscan" "/sbin/lvmdiskscan")
+                   ("pvdisplay" "/sbin/pvdisplay")
+                   ("blkid" "/sbin/blkid")
+                   ("unpigz" "/bin/unpigz")
+                   ("iptables" "/sbin/iptables")
+                   ("ip6tables" "/sbin/ip6tables")
+                   ("iptables-legacy" "/sbin/iptables")
+                   ("ip" "/sbin/ip"))

-                 (substitute-Command*
-                  ("modprobe" "kmod" "bin/modprobe")
-                  ("pvcreate" "lvm2" "sbin/pvcreate")
-                  ("vgcreate" "lvm2" "sbin/vgcreate")
-                  ("lvcreate" "lvm2" "sbin/lvcreate")
-                  ("lvconvert" "lvm2" "sbin/lvconvert")
-                  ("lvchange" "lvm2" "sbin/lvchange")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("xfs_growfs" "xfsprogs" "sbin/xfs_growfs")
-                  ("mkfs.ext4" "e2fsprogs" "sbin/mkfs.ext4")
-                  ("tune2fs" "e2fsprogs" "sbin/tune2fs")
-                  ("blkid" "util-linux" "sbin/blkid")
-                  ("resize2fs" "e2fsprogs" "sbin/resize2fs")
-                  ("ps" "procps" "bin/ps")
-                  ("losetup" "util-linux" "sbin/losetup")
-                  ("uname" "coreutils" "bin/uname")
-                  ("dbus-launch" "dbus" "bin/dbus-launch")
-                  ("git" "git" "bin/git")))
-               ;; docker-mountfrom ??
-               ;; docker
-               ;; docker-untar ??
-               ;; docker-applyLayer ??
-               ;; /usr/bin/uname
-               ;; grep
-               ;; apparmor_parser
+                  (substitute-Command*
+                   ("modprobe" "/bin/modprobe")
+                   ("pvcreate" "/sbin/pvcreate")
+                   ("vgcreate" "/sbin/vgcreate")
+                   ("lvcreate" "/sbin/lvcreate")
+                   ("lvconvert" "/sbin/lvconvert")
+                   ("lvchange" "/sbin/lvchange")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("xfs_growfs" "/sbin/xfs_growfs")
+                   ("mkfs.ext4" "/sbin/mkfs.ext4")
+                   ("tune2fs" "/sbin/tune2fs")
+                   ("blkid" "/sbin/blkid")
+                   ("resize2fs" "/sbin/resize2fs")
+                   ("ps" "/bin/ps")
+                   ("losetup" "/sbin/losetup")
+                   ("uname" "/bin/uname")
+                   ("dbus-launch" "/bin/dbus-launch")
+                   ("git" "/bin/git")))
+                ;; docker-mountfrom ??
+                ;; docker
+                ;; docker-untar ??
+                ;; docker-applyLayer ??
+                ;; /usr/bin/uname
+                ;; grep
+                ;; apparmor_parser

-               ;; Make compilation fail when, in future versions, Docker
-               ;; invokes other programs we don't know about and thus don't
-               ;; substitute.
-               (substitute* source-files
-                 ;; Search for Java in PATH.
-                 (("\\<exec\\.Command\\(\"java\"")
-                  "xxec.Command(\"java\"")
-                 ;; Search for AUFS in PATH (mainline Linux doesn't support it).
-                 (("\\<exec\\.Command\\(\"auplink\"")
-                  "xxec.Command(\"auplink\"")
-                 ;; Fail on other unsubstituted commands.
-                 (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
-                   _ executable)
-                  (string-append "exec.Guix_doesnt_want_Command(\""
-                                 executable "\""))
-                 (("\\<xxec\\.Command")
-                  "exec.Command")
-                 ;; Search for ZFS in PATH.
-                 (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
-                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
-                 ;; Fail on other unsubstituted LookPaths.
-                 (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))))
-         (add-after 'patch-paths 'delete-failing-tests
-           (lambda _
-             ;; Needs internet access.
-             (delete-file "builder/remotecontext/git/gitutils_test.go")
-             ;; Permission denied.
-             (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
-             ;; Operation not permitted (idtools.MkdirAllAndChown).
-             (delete-file "daemon/graphdriver/vfs/vfs_test.go")
-             ;; Timeouts after 5 min.
-             (delete-file "plugin/manager_linux_test.go")
-             ;; Operation not permitted.
-             (delete-file "daemon/graphdriver/aufs/aufs_test.go")
-             (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
-             (delete-file "daemon/graphdriver/overlay/overlay_test.go")
-             (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
-             (delete-file "pkg/chrootarchive/archive_unix_test.go")
-             (delete-file "daemon/container_unix_test.go")
-             ;; This file uses cgroups and /proc.
-             (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
-             ;; This file uses cgroups.
-             (delete-file "runconfig/config_test.go")
-             ;; This file uses /var.
-             (delete-file "daemon/oci_linux_test.go")
-             ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")))
-         (replace 'configure
-           (lambda _
-             (setenv "DOCKER_BUILDTAGS" "seccomp")
-             (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
-             (setenv "VERSION" (string-append ,%docker-version "-ce"))
-             ;; Automatically use bundled dependencies.
-             ;; TODO: Unbundle - see file "vendor.conf".
-             (setenv "AUTO_GOPATH" "1")
-             ;; Respectively, strip the symbol table and debug
-             ;; information, and the DWARF symbol table.
-             (setenv "LDFLAGS" "-s -w")
-             ;; Make build faster
-             (setenv "GOCACHE" "/tmp")))
-         (add-before 'build 'setup-go-environment
-           (assoc-ref go:%standard-phases 'setup-go-environment))
-         (replace 'build
-           (lambda _
-             ;; Our LD doesn't like the statically linked relocatable things
-             ;; that go produces, so install the dynamic version of
-             ;; dockerd instead.
-             (invoke "hack/make.sh" "dynbinary")))
-         (replace 'check
-           (lambda _
-             ;; The build process generated a file because the environment
-             ;; variable "AUTO_GOPATH" was set.  Use it.
-             (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
-             ;; ".gopath/src/github.com/docker/docker" is a link to the current
-             ;; directory and chdir would canonicalize to that.
-             ;; But go needs to have the uncanonicalized directory name, so
-             ;; store that.
-             (setenv "PWD" (string-append (getcwd)
-                                          "/.gopath/src/github.com/docker/docker"))
-             (with-directory-excursion ".gopath/src/github.com/docker/docker"
-               (invoke "hack/test/unit"))
-             (setenv "PWD" #f)))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (out-bin (string-append out "/bin")))
-               (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
-               (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
-                                            (getenv "VERSION"))
-                             out-bin))))
-         (add-after 'install 'remove-go-references
-           (assoc-ref go:%standard-phases 'remove-go-references)))))
+                ;; Make compilation fail when, in future versions, Docker
+                ;; invokes other programs we don't know about and thus don't
+                ;; substitute.
+                (substitute* source-files
+                  ;; Search for Java in PATH.
+                  (("\\<exec\\.Command\\(\"java\"")
+                   "xxec.Command(\"java\"")
+                  ;; Search for AUFS in PATH (mainline Linux doesn't support it).
+                  (("\\<exec\\.Command\\(\"auplink\"")
+                   "xxec.Command(\"auplink\"")
+                  ;; Fail on other unsubstituted commands.
+                  (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
+                    _ executable)
+                   (string-append "exec.Guix_doesnt_want_Command(\""
+                                  executable "\""))
+                  (("\\<xxec\\.Command")
+                   "exec.Command")
+                  ;; Search for ZFS in PATH.
+                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                  (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
+                  ;; Fail on other unsubstituted LookPaths.
+                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
+                  (("\\<LooxPath") "LookPath")))))
+          (add-after 'patch-paths 'delete-failing-tests
+            (lambda _
+              ;; Needs internet access.
+              (delete-file "builder/remotecontext/git/gitutils_test.go")
+              ;; Permission denied.
+              (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
+              ;; Operation not permitted (idtools.MkdirAllAndChown).
+              (delete-file "daemon/graphdriver/vfs/vfs_test.go")
+              ;; Timeouts after 5 min.
+              (delete-file "plugin/manager_linux_test.go")
+              ;; Operation not permitted.
+              (delete-file "daemon/graphdriver/aufs/aufs_test.go")
+              (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
+              (delete-file "daemon/graphdriver/overlay/overlay_test.go")
+              (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
+              (delete-file "pkg/chrootarchive/archive_unix_test.go")
+              (delete-file "daemon/container_unix_test.go")
+              ;; This file uses cgroups and /proc.
+              (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
+              ;; This file uses cgroups.
+              (delete-file "runconfig/config_test.go")
+              ;; This file uses /var.
+              (delete-file "daemon/oci_linux_test.go")
+              ;; Signal tests fail in bizarre ways
+              (delete-file "pkg/signal/signal_linux_test.go")))
+          (replace 'configure
+            (lambda _
+              (setenv "DOCKER_BUILDTAGS" "seccomp")
+              (setenv "DOCKER_GITCOMMIT" (string-append "v" #$%docker-version))
+              (setenv "VERSION" (string-append #$%docker-version "-ce"))
+              ;; Automatically use bundled dependencies.
+              ;; TODO: Unbundle - see file "vendor.conf".
+              (setenv "AUTO_GOPATH" "1")
+              ;; Respectively, strip the symbol table and debug
+              ;; information, and the DWARF symbol table.
+              (setenv "LDFLAGS" "-s -w")
+              ;; Make build faster
+              (setenv "GOCACHE" "/tmp")))
+          (add-before 'build 'setup-go-environment
+            (assoc-ref go:%standard-phases 'setup-go-environment))
+          (replace 'build
+            (lambda _
+              ;; Our LD doesn't like the statically linked relocatable things
+              ;; that go produces, so install the dynamic version of
+              ;; dockerd instead.
+              (invoke "hack/make.sh" "dynbinary")))
+          (replace 'check
+            (lambda _
+              ;; The build process generated a file because the environment
+              ;; variable "AUTO_GOPATH" was set.  Use it.
+              (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
+              ;; ".gopath/src/github.com/docker/docker" is a link to the current
+              ;; directory and chdir would canonicalize to that.
+              ;; But go needs to have the uncanonicalized directory name, so
+              ;; store that.
+              (setenv "PWD" (string-append (getcwd)
+                                           "/.gopath/src/github.com/docker/docker"))
+              (with-directory-excursion ".gopath/src/github.com/docker/docker"
+                (invoke "hack/test/unit"))
+              (setenv "PWD" #f)))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (out-bin (string-append out "/bin")))
+                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
+                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
+                                             (getenv "VERSION"))
+                              out-bin))))
+          (add-after 'install 'remove-go-references
+            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
-     `(("btrfs-progs" ,btrfs-progs)
-       ("containerd" ,containerd)       ; for containerd-shim
-       ("coreutils" ,coreutils)
-       ("dbus" ,dbus)
-       ("docker-proxy" ,docker-libnetwork-cmd-proxy)
-       ("e2fsprogs" ,e2fsprogs)
-       ("git" ,git)
-       ("iproute2" ,iproute)
-       ("iptables" ,iptables)
-       ("kmod" ,kmod)
-       ("libseccomp" ,libseccomp)
-       ("pigz" ,pigz)
-       ("procps" ,procps)
-       ("runc" ,runc)
-       ("util-linux" ,util-linux)
-       ("lvm2" ,lvm2)
-       ("tini" ,tini)
-       ("xfsprogs" ,xfsprogs)
-       ("xz" ,xz)))
+     (list btrfs-progs
+           containerd       ; for containerd-shim
+           coreutils
+           dbus
+           docker-libnetwork-cmd-proxy
+           e2fsprogs
+           git
+           iproute
+           iptables
+           kmod
+           libseccomp
+           pigz
+           procps
+           runc
+           util-linux
+           lvm2
+           tini
+           xfsprogs
+           xz))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
            go gotestsum pkg-config))
--
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Fri, 01 Apr 2022 01:17:02 GMT) Full text and rfc822 format available.

Message #50 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: Re: [PATCH v2 6/7] gnu: docker: Update to 20.10.14.
Date: Fri, 01 Apr 2022 02:11:56 +0100
[Message part 1 (text/plain, inline)]
Pierre Langlois <pierre.langlois <at> gmx.com> 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.
>                   (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
> +                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")

I forgot, I wanted to add a comment to clarify the qemu change here.
IIUC, docker can do qemu-based emulation, but we don't support it yet in
Guix, I believe we'd need to add the following packages:

  - https://github.com/moby/buildkit: Seems to be a "next-gen" generic
    image builder backend.
  - https://github.com/docker/buildx: To have a `docker buildx' command,
    to link docker with the buildkit backend.

Here's a new 2.5 patch that adds the following note:

;; Do not fail when buildkit-qemu-<target> isn't found.
;; FIXME: We might need to package buildkit and docker's
;; buildx plugin, to support qemu-based docker containers.

[signature.asc (application/pgp-signature, inline)]
[0006-gnu-docker-Update-to-20.10.14.patch (text/x-patch, inline)]
From 7c9a1ac422d802234099b7c57e067dbe217ac386 Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois <at> gmx.com>
Date: Sat, 25 Dec 2021 02:08:39 +0000
Subject: [PATCH v2.5 6/7] gnu: docker: Update to 20.10.14.

* 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                     | 72 +++++++++------------
 gnu/packages/networking.scm                 |  6 +-
 gnu/packages/patches/docker-fix-tests.patch | 28 --------
 4 files changed, 32 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..82c017157d 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,13 @@ (define-public docker
                   "exec.Command")
                  ;; Search for ZFS in PATH.
                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                 ;; Do not fail when buildkit-qemu-<target> isn't found.
+                 ;; FIXME: We might need to package buildkit and docker's
+                 ;; buildx plugin, to support qemu-based docker containers.
+                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
                  ;; Fail on other unsubstituted LookPaths.
                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))
-             #t))
+                 (("\\<LooxPath") "LookPath")))))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _
              ;; Needs internet access.
@@ -522,8 +514,7 @@ (define-public docker
              ;; This file uses /var.
              (delete-file "daemon/oci_linux_test.go")
              ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")
-             #t))
+             (delete-file "pkg/signal/signal_linux_test.go")))
          (replace 'configure
            (lambda _
              (setenv "DOCKER_BUILDTAGS" "seccomp")
@@ -536,8 +527,7 @@ (define-public docker
              ;; information, and the DWARF symbol table.
              (setenv "LDFLAGS" "-s -w")
              ;; Make build faster
-             (setenv "GOCACHE" "/tmp")
-             #t))
+             (setenv "GOCACHE" "/tmp")))
          (add-before 'build 'setup-go-environment
            (assoc-ref go:%standard-phases 'setup-go-environment))
          (replace 'build
@@ -559,8 +549,7 @@ (define-public docker
                                           "/.gopath/src/github.com/docker/docker"))
              (with-directory-excursion ".gopath/src/github.com/docker/docker"
                (invoke "hack/test/unit"))
-             (setenv "PWD" #f)
-             #t))
+             (setenv "PWD" #f)))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -568,8 +557,7 @@ (define-public docker
                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
                                             (getenv "VERSION"))
-                             out-bin)
-               #t)))
+                             out-bin))))
          (add-after 'install 'remove-go-references
            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
@@ -594,7 +582,7 @@ (define-public docker
        ("xz" ,xz)))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
-           go-1.14 gotestsum pkg-config))
+           go gotestsum pkg-config))
     (synopsis "Docker container component library, and daemon")
     (description "This package provides a framework to assemble specialized
 container systems.  It includes components for orchestration, image
@@ -615,7 +603,7 @@ (define-public docker-cli
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0"))))
+       (base32 "1nv6mzq9i9psgfbzx7hfx1qb6fjp649qg8y392z8z2kqbjl20g3q"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/docker/cli"
@@ -635,11 +623,11 @@ (define-public docker-cli
              ;; Make build reproducible.
              (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
              (symlink "src/github.com/docker/cli/scripts" "./scripts")
-             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
-             #t))
+             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")))
          (replace 'build
            (lambda _
-             (invoke "./scripts/build/dynbinary")))
+             (setenv "GO_LINKMODE" "dynamic")
+             (invoke "./scripts/build/binary")))
          (replace 'check
            (lambda* (#:key make-flags tests? #:allow-other-keys)
              (setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
@@ -648,8 +636,7 @@ (define-public docker-cli
                  (with-directory-excursion "src/github.com/docker/cli"
                    ;; TODO: Run test-e2e as well?
                    (apply invoke "make" "-f" "docker.Makefile" "test-unit"
-                          (or make-flags '())))
-                 #t)))
+                          (or make-flags '()))))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -662,8 +649,7 @@ (define-public docker-cli
                                (string-append etc "/fish/completions"))
                  (install-file "zsh/_docker"
                                (string-append etc "/zsh/site-functions")))
-               (install-file "build/docker" out-bin)
-               #t))))))
+               (install-file "build/docker" out-bin)))))))
     (native-inputs
      (list go libltdl pkg-config))
     (synopsis "Command line interface to Docker")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b45f2f79f2..54116e4f4c 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1691,8 +1691,8 @@ (define-public go-netns
 (define-public go-sctp
   ;; docker-libnetwork-cmd-proxy requires this exact commit.
   ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
-  (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847")
-        (revision "2"))
+  (let ((commit "f2269e66cdee387bd321445d5d300893449805be")
+        (revision "3"))
     (package
       (name "go-sctp")
       (version (git-version "0.0.0" revision commit))
@@ -1704,7 +1704,7 @@ (define-public go-sctp
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb"))))
+                  "04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g"))))
       (build-system go-build-system)
       (arguments
        `(#:tests? #f    ; Test suite is flakey.
diff --git a/gnu/packages/patches/docker-fix-tests.patch b/gnu/packages/patches/docker-fix-tests.patch
deleted file mode 100644
index 3e3e318e25..0000000000
--- a/gnu/packages/patches/docker-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Author: Danny Milosavljevic <dannym <at> scratchpost.org>
-The socket name ended up too long inside the container.
-Use a shorter one.
---- a/pkg/authorization/authz_unix_test.go	2019-01-10 01:55:02.997985947 +0100
-+++ b/pkg/authorization/authz_unix_test.go	2019-01-10 02:03:21.177439757 +0100
-@@ -24,7 +24,7 @@
- )
-
- const (
--	pluginAddress = "authz-test-plugin.sock"
-+	pluginAddress = "/tmp/authz-test-plugin.sock"
- )
-
- func TestAuthZRequestPluginError(t *testing.T) {
-@@ -263,12 +263,7 @@
-
- // createTestPlugin creates a new sample authorization plugin
- func createTestPlugin(t *testing.T) *authorizationPlugin {
--	pwd, err := os.Getwd()
--	if err != nil {
--		t.Fatal(err)
--	}
--
--	client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
-+	client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
- 	if err != nil {
- 		t.Fatalf("Failed to create client %v", err)
- 	}
--
2.34.0

[0007-gnu-docker-Switch-to-gexp-and-new-input-style.patch (text/x-patch, inline)]
From 4089db85b366e3f8fd394d254807ddd4b4631c3c Mon Sep 17 00:00:00 2001
From: Pierre Langlois <pierre.langlois <at> gmx.com>
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 "\\<exec\\.LookPath\\(\""
-                                                   source-text
-                                                   "\")"))
-                                   (string-append "\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\", error(nil)")) ...))))
-                            (substitute-Command*
-                             (syntax-rules ()
-                               ((_ (source-text package relative-path) ...)
-                                (substitute* source-files
-                                  (((string-append "\\<(re)?exec\\.Command\\(\""
-                                                   source-text
-                                                   "\"") _ re?)
-                                   (string-append (if re? re? "")
-                                                  "exec.Command(\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\"")) ...)))))
-                 (substitute-LookPath*
-                  ("containerd" "containerd" "bin/containerd")
-                  ("ps" "procps" "bin/ps")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
-                  ("pvdisplay" "lvm2" "sbin/pvdisplay")
-                  ("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"))
+              (let ((source-files (filter (lambda (name)
+                                            (not (string-contains name "test")))
+                                          (find-files "." "\\.go$"))))
+                (let-syntax ((substitute-LookPath*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<exec\\.LookPath\\(\""
+                                                    source-text
+                                                    "\")"))
+                                    (string-append "\""
+                                                   (search-input-file inputs path)
+                                                   "\", error(nil)")) ...))))
+                             (substitute-Command*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<(re)?exec\\.Command\\(\""
+                                                    source-text
+                                                    "\"") _ re?)
+                                    (string-append (if re? re? "")
+                                                   "exec.Command(\""
+                                                   (search-input-file inputs path)
+                                                   "\"")) ...)))))
+                  (substitute-LookPath*
+                   ("containerd" "/bin/containerd")
+                   ("ps" "/bin/ps")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("lvmdiskscan" "/sbin/lvmdiskscan")
+                   ("pvdisplay" "/sbin/pvdisplay")
+                   ("blkid" "/sbin/blkid")
+                   ("unpigz" "/bin/unpigz")
+                   ("iptables" "/sbin/iptables")
+                   ("ip6tables" "/sbin/ip6tables")
+                   ("iptables-legacy" "/sbin/iptables")
+                   ("ip" "/sbin/ip"))

-                 (substitute-Command*
-                  ("modprobe" "kmod" "bin/modprobe")
-                  ("pvcreate" "lvm2" "sbin/pvcreate")
-                  ("vgcreate" "lvm2" "sbin/vgcreate")
-                  ("lvcreate" "lvm2" "sbin/lvcreate")
-                  ("lvconvert" "lvm2" "sbin/lvconvert")
-                  ("lvchange" "lvm2" "sbin/lvchange")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("xfs_growfs" "xfsprogs" "sbin/xfs_growfs")
-                  ("mkfs.ext4" "e2fsprogs" "sbin/mkfs.ext4")
-                  ("tune2fs" "e2fsprogs" "sbin/tune2fs")
-                  ("blkid" "util-linux" "sbin/blkid")
-                  ("resize2fs" "e2fsprogs" "sbin/resize2fs")
-                  ("ps" "procps" "bin/ps")
-                  ("losetup" "util-linux" "sbin/losetup")
-                  ("uname" "coreutils" "bin/uname")
-                  ("dbus-launch" "dbus" "bin/dbus-launch")
-                  ("git" "git" "bin/git")))
-               ;; docker-mountfrom ??
-               ;; docker
-               ;; docker-untar ??
-               ;; docker-applyLayer ??
-               ;; /usr/bin/uname
-               ;; grep
-               ;; apparmor_parser
+                  (substitute-Command*
+                   ("modprobe" "/bin/modprobe")
+                   ("pvcreate" "/sbin/pvcreate")
+                   ("vgcreate" "/sbin/vgcreate")
+                   ("lvcreate" "/sbin/lvcreate")
+                   ("lvconvert" "/sbin/lvconvert")
+                   ("lvchange" "/sbin/lvchange")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("xfs_growfs" "/sbin/xfs_growfs")
+                   ("mkfs.ext4" "/sbin/mkfs.ext4")
+                   ("tune2fs" "/sbin/tune2fs")
+                   ("blkid" "/sbin/blkid")
+                   ("resize2fs" "/sbin/resize2fs")
+                   ("ps" "/bin/ps")
+                   ("losetup" "/sbin/losetup")
+                   ("uname" "/bin/uname")
+                   ("dbus-launch" "/bin/dbus-launch")
+                   ("git" "/bin/git")))
+                ;; docker-mountfrom ??
+                ;; docker
+                ;; docker-untar ??
+                ;; docker-applyLayer ??
+                ;; /usr/bin/uname
+                ;; grep
+                ;; apparmor_parser

-               ;; Make compilation fail when, in future versions, Docker
-               ;; invokes other programs we don't know about and thus don't
-               ;; substitute.
-               (substitute* source-files
-                 ;; Search for Java in PATH.
-                 (("\\<exec\\.Command\\(\"java\"")
-                  "xxec.Command(\"java\"")
-                 ;; Search for AUFS in PATH (mainline Linux doesn't support it).
-                 (("\\<exec\\.Command\\(\"auplink\"")
-                  "xxec.Command(\"auplink\"")
-                 ;; Fail on other unsubstituted commands.
-                 (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
-                   _ executable)
-                  (string-append "exec.Guix_doesnt_want_Command(\""
-                                 executable "\""))
-                 (("\\<xxec\\.Command")
-                  "exec.Command")
-                 ;; Search for ZFS in PATH.
-                 (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                ;; Make compilation fail when, in future versions, Docker
+                ;; invokes other programs we don't know about and thus don't
+                ;; substitute.
+                (substitute* source-files
+                  ;; Search for Java in PATH.
+                  (("\\<exec\\.Command\\(\"java\"")
+                   "xxec.Command(\"java\"")
+                  ;; Search for AUFS in PATH (mainline Linux doesn't support it).
+                  (("\\<exec\\.Command\\(\"auplink\"")
+                   "xxec.Command(\"auplink\"")
+                  ;; Fail on other unsubstituted commands.
+                  (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
+                    _ executable)
+                   (string-append "exec.Guix_doesnt_want_Command(\""
+                                  executable "\""))
+                  (("\\<xxec\\.Command")
+                   "exec.Command")
+                  ;; Search for ZFS in PATH.
+                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
                  ;; Do not fail when buildkit-qemu-<target> isn't found.
                  ;; FIXME: We might need to package buildkit and docker's
                  ;; buildx plugin, to support qemu-based docker containers.
-                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
-                 ;; Fail on other unsubstituted LookPaths.
-                 (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))))
-         (add-after 'patch-paths 'delete-failing-tests
-           (lambda _
-             ;; Needs internet access.
-             (delete-file "builder/remotecontext/git/gitutils_test.go")
-             ;; Permission denied.
-             (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
-             ;; Operation not permitted (idtools.MkdirAllAndChown).
-             (delete-file "daemon/graphdriver/vfs/vfs_test.go")
-             ;; Timeouts after 5 min.
-             (delete-file "plugin/manager_linux_test.go")
-             ;; Operation not permitted.
-             (delete-file "daemon/graphdriver/aufs/aufs_test.go")
-             (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
-             (delete-file "daemon/graphdriver/overlay/overlay_test.go")
-             (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
-             (delete-file "pkg/chrootarchive/archive_unix_test.go")
-             (delete-file "daemon/container_unix_test.go")
-             ;; This file uses cgroups and /proc.
-             (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
-             ;; This file uses cgroups.
-             (delete-file "runconfig/config_test.go")
-             ;; This file uses /var.
-             (delete-file "daemon/oci_linux_test.go")
-             ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")))
-         (replace 'configure
-           (lambda _
-             (setenv "DOCKER_BUILDTAGS" "seccomp")
-             (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
-             (setenv "VERSION" (string-append ,%docker-version "-ce"))
-             ;; Automatically use bundled dependencies.
-             ;; TODO: Unbundle - see file "vendor.conf".
-             (setenv "AUTO_GOPATH" "1")
-             ;; Respectively, strip the symbol table and debug
-             ;; information, and the DWARF symbol table.
-             (setenv "LDFLAGS" "-s -w")
-             ;; Make build faster
-             (setenv "GOCACHE" "/tmp")))
-         (add-before 'build 'setup-go-environment
-           (assoc-ref go:%standard-phases 'setup-go-environment))
-         (replace 'build
-           (lambda _
-             ;; Our LD doesn't like the statically linked relocatable things
-             ;; that go produces, so install the dynamic version of
-             ;; dockerd instead.
-             (invoke "hack/make.sh" "dynbinary")))
-         (replace 'check
-           (lambda _
-             ;; The build process generated a file because the environment
-             ;; variable "AUTO_GOPATH" was set.  Use it.
-             (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
-             ;; ".gopath/src/github.com/docker/docker" is a link to the current
-             ;; directory and chdir would canonicalize to that.
-             ;; But go needs to have the uncanonicalized directory name, so
-             ;; store that.
-             (setenv "PWD" (string-append (getcwd)
-                                          "/.gopath/src/github.com/docker/docker"))
-             (with-directory-excursion ".gopath/src/github.com/docker/docker"
-               (invoke "hack/test/unit"))
-             (setenv "PWD" #f)))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (out-bin (string-append out "/bin")))
-               (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
-               (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
-                                            (getenv "VERSION"))
-                             out-bin))))
-         (add-after 'install 'remove-go-references
-           (assoc-ref go:%standard-phases 'remove-go-references)))))
+                  (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
+                  ;; Fail on other unsubstituted LookPaths.
+                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
+                  (("\\<LooxPath") "LookPath")))))
+          (add-after 'patch-paths 'delete-failing-tests
+            (lambda _
+              ;; Needs internet access.
+              (delete-file "builder/remotecontext/git/gitutils_test.go")
+              ;; Permission denied.
+              (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
+              ;; Operation not permitted (idtools.MkdirAllAndChown).
+              (delete-file "daemon/graphdriver/vfs/vfs_test.go")
+              ;; Timeouts after 5 min.
+              (delete-file "plugin/manager_linux_test.go")
+              ;; Operation not permitted.
+              (delete-file "daemon/graphdriver/aufs/aufs_test.go")
+              (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
+              (delete-file "daemon/graphdriver/overlay/overlay_test.go")
+              (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
+              (delete-file "pkg/chrootarchive/archive_unix_test.go")
+              (delete-file "daemon/container_unix_test.go")
+              ;; This file uses cgroups and /proc.
+              (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
+              ;; This file uses cgroups.
+              (delete-file "runconfig/config_test.go")
+              ;; This file uses /var.
+              (delete-file "daemon/oci_linux_test.go")
+              ;; Signal tests fail in bizarre ways
+              (delete-file "pkg/signal/signal_linux_test.go")))
+          (replace 'configure
+            (lambda _
+              (setenv "DOCKER_BUILDTAGS" "seccomp")
+              (setenv "DOCKER_GITCOMMIT" (string-append "v" #$%docker-version))
+              (setenv "VERSION" (string-append #$%docker-version "-ce"))
+              ;; Automatically use bundled dependencies.
+              ;; TODO: Unbundle - see file "vendor.conf".
+              (setenv "AUTO_GOPATH" "1")
+              ;; Respectively, strip the symbol table and debug
+              ;; information, and the DWARF symbol table.
+              (setenv "LDFLAGS" "-s -w")
+              ;; Make build faster
+              (setenv "GOCACHE" "/tmp")))
+          (add-before 'build 'setup-go-environment
+            (assoc-ref go:%standard-phases 'setup-go-environment))
+          (replace 'build
+            (lambda _
+              ;; Our LD doesn't like the statically linked relocatable things
+              ;; that go produces, so install the dynamic version of
+              ;; dockerd instead.
+              (invoke "hack/make.sh" "dynbinary")))
+          (replace 'check
+            (lambda _
+              ;; The build process generated a file because the environment
+              ;; variable "AUTO_GOPATH" was set.  Use it.
+              (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
+              ;; ".gopath/src/github.com/docker/docker" is a link to the current
+              ;; directory and chdir would canonicalize to that.
+              ;; But go needs to have the uncanonicalized directory name, so
+              ;; store that.
+              (setenv "PWD" (string-append (getcwd)
+                                           "/.gopath/src/github.com/docker/docker"))
+              (with-directory-excursion ".gopath/src/github.com/docker/docker"
+                (invoke "hack/test/unit"))
+              (setenv "PWD" #f)))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (out-bin (string-append out "/bin")))
+                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
+                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
+                                             (getenv "VERSION"))
+                              out-bin))))
+          (add-after 'install 'remove-go-references
+            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
-     `(("btrfs-progs" ,btrfs-progs)
-       ("containerd" ,containerd)       ; for containerd-shim
-       ("coreutils" ,coreutils)
-       ("dbus" ,dbus)
-       ("docker-proxy" ,docker-libnetwork-cmd-proxy)
-       ("e2fsprogs" ,e2fsprogs)
-       ("git" ,git)
-       ("iproute2" ,iproute)
-       ("iptables" ,iptables)
-       ("kmod" ,kmod)
-       ("libseccomp" ,libseccomp)
-       ("pigz" ,pigz)
-       ("procps" ,procps)
-       ("runc" ,runc)
-       ("util-linux" ,util-linux)
-       ("lvm2" ,lvm2)
-       ("tini" ,tini)
-       ("xfsprogs" ,xfsprogs)
-       ("xz" ,xz)))
+     (list btrfs-progs
+           containerd       ; for containerd-shim
+           coreutils
+           dbus
+           docker-libnetwork-cmd-proxy
+           e2fsprogs
+           git
+           iproute
+           iptables
+           kmod
+           libseccomp
+           pigz
+           procps
+           runc
+           util-linux
+           lvm2
+           tini
+           xfsprogs
+           xz))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
            go gotestsum pkg-config))
--
2.34.0


Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:31:02 GMT) Full text and rfc822 format available.

Message #53 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 0/7] Update docker to 20.10.15.
Date: Tue, 10 May 2022 00:27:48 +0100
[Message part 1 (text/plain, inline)]
Hi Guix!

I just rebased this series, and did a quick round of new updates:

  runc: 1.1.0 -> 1.1.1
  containerd: 1.6.2 -> 1.6.4
  docker: 20.10.14 -> 20.10.15

Tested locally briefly and ran:

  make check-system TESTS="docker docker-system"

Thanks,
Pierre

Pierre Langlois (7):
  gnu: runc: Update to 1.1.1.
  gnu: containerd: Fix patch-paths build phase.
  gnu: containerd: Update to 1.6.4.
  gnu: containerd: Switch to gexp arguments.
  gnu: docker: Fix mkfs.xfs reference.
  gnu: docker: Update to 20.10.15.
  gnu: docker: Switch to gexp and new input style.

 gnu/local.mk                                |   1 -
 gnu/packages/docker.scm                     | 628 ++++++++++----------
 gnu/packages/networking.scm                 |   6 +-
 gnu/packages/patches/docker-fix-tests.patch |  28 -
 gnu/packages/virtualization.scm             |   9 +-
 5 files changed, 318 insertions(+), 354 deletions(-)
 delete mode 100644 gnu/packages/patches/docker-fix-tests.patch

-- 
2.36.0


Pierre Langlois <pierre.langlois <at> gmx.com> writes:

> Hi Guix!
>
> I rebased this series, updated it to 20.10.14 and did a bit of spring gexp
> cleanup.  Tested manually with a simple Ubuntu container, and with
>
>   make check-system TESTS="docker docker-system"
>
> I've seen reports of issues on help-guix that /look/ like patch number 2 might
> fix it, so we could submit that first if the rest needs more work.
>
> WDYT?
> Thanks,
> Pierre
>
> Pierre Langlois (7):
>   gnu: runc: Update to 1.1.0.
>   gnu: containerd: Fix patch-paths build phase.
>   gnu: containerd: Update to 1.6.2.
>   gnu: containerd: Switch to gexp arguments.
>   gnu: docker: Fix mkfs.xfs reference.
>   gnu: docker: Update to 20.10.14.
>   gnu: docker: Switch to gexp and new input style.
>
>  gnu/local.mk                                |   1 -
>  gnu/packages/docker.scm                     | 625 ++++++++++----------
>  gnu/packages/networking.scm                 |   6 +-
>  gnu/packages/patches/docker-fix-tests.patch |  28 -
>  gnu/packages/virtualization.scm             |   6 +-
>  5 files changed, 314 insertions(+), 352 deletions(-)
>  delete mode 100644 gnu/packages/patches/docker-fix-tests.patch

[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:01 GMT) Full text and rfc822 format available.

Message #56 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 2/7] gnu: containerd: Fix patch-paths build phase.
Date: Tue, 10 May 2022 00:35:14 +0100
* gnu/packages/docker.scm (containerd)[arguments]: Add 'patch-paths
phases after 'unpack because 'chdir doesn't exist.
---
 gnu/packages/docker.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 07731886ae..5c0f4d496d 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e <at> gmail.com>
 ;;; Copyright © 2020 Jesse Dowell <jessedowell <at> gmail.com>
 ;;; Copyright © 2021 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -190,7 +191,7 @@ (define-public containerd
        `(#:import-path "github.com/containerd/containerd"
          #:phases
          (modify-phases %standard-phases
-           (add-after 'chdir 'patch-paths
+           (add-after 'unpack 'patch-paths
              (lambda* (#:key inputs import-path outputs #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (substitute* "runtime/v1/linux/runtime.go"
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:02 GMT) Full text and rfc822 format available.

Message #59 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 1/7] gnu: runc: Update to 1.1.1.
Date: Tue, 10 May 2022 00:35:13 +0100
* gnu/packages/virtualization.scm (runc): Update to 1.1.1.
[native-inputs]: Use new style.
---
 gnu/packages/virtualization.scm | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index f3396e7c94..55f1878a18 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -18,7 +18,7 @@
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2020 Brett Gilio <brettg <at> gnu.org>
 ;;; Copyright © 2021 Leo Famulari <leo <at> famulari.name>
-;;; Copyright © 2021 Pierre Langlois <pierre.langlois <at> gmx.com>
+;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois <at> gmx.com>
 ;;; Copyright © 2021 Dion Mendel <guix <at> dm9.info>
 ;;; Copyright © 2021 Andrew Whatson <whatson <at> gmail.com>
 ;;; Copyright © 2021 Vincent Legoll <vincent.legoll <at> gmail.com>
@@ -1762,7 +1762,7 @@ (define-public looking-glass-client
 (define-public runc
   (package
     (name "runc")
-    (version "1.0.0-rc93")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1771,7 +1771,7 @@ (define-public runc
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0b90r1bkvlqli53ca1yc1l488dba0isd3i6l7nlhszxi8p7hzvkh"))))
+                "0jx56x49dgkygdbrfb3pmxycy1n37arj97jra8n422dj36xz1hbm"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/opencontainers/runc"
@@ -1796,8 +1796,7 @@ (define-public runc
                  (invoke "make" "install" "install-bash" "install-man"
                          (string-append "PREFIX=" out)))))))))
     (native-inputs
-     `(("go-md2man" ,go-github-com-go-md2man)
-       ("pkg-config" ,pkg-config)))
+     (list go-github-com-go-md2man pkg-config))
     (inputs
      (list libseccomp))
     (synopsis "Open container initiative runtime")
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:02 GMT) Full text and rfc822 format available.

Message #62 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 3/7] gnu: containerd: Update to 1.6.4.
Date: Tue, 10 May 2022 00:35:15 +0100
* gnu/packages/docker.scm (containerd): Update to 1.6.4.
[arguments]: Substitute runc binary for "pkg/cri/config/config_unix.go".  Set
PREFIX to empty string, as the install directory is $DESTDIR/$PREFIX.
---
 gnu/packages/docker.scm | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 5c0f4d496d..e95614cfae 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -174,7 +174,7 @@ (define-public python-docker-pycreds
 (define-public containerd
   (package
     (name "containerd")
-    (version "1.4.4")
+    (version "1.6.4")
     (source
      (origin
        (method git-fetch)
@@ -183,7 +183,7 @@ (define-public containerd
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
+        (base32 "1hy5jaf5x8lffh3p4hdkk6ar8i4w84i0b539k1h5baqx9gnq2l2s"))))
     (build-system go-build-system)
     (arguments
      (let ((make-flags (list (string-append "VERSION=" version)
@@ -203,6 +203,11 @@ (define-public containerd
                     (string-append "defaultShim = \""
                                    (assoc-ref outputs "out")
                                    "/bin/containerd-shim\"\n")))
+                 (substitute* "pkg/cri/config/config_unix.go"
+                   (("DefaultRuntimeName: \"runc\"")
+                    (string-append "DefaultRuntimeName: \""
+                                   (assoc-ref inputs "runc")
+                                   "/sbin/runc\"")))
                  (substitute* "vendor/github.com/containerd/go-runc/runc.go"
                    (("DefaultCommand[ \t]*=.*")
                     (string-append "DefaultCommand = \""
@@ -226,8 +231,8 @@ (define-public containerd
              (lambda* (#:key import-path outputs #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (let* ((out (assoc-ref outputs "out")))
-                   (apply invoke "make" (string-append "DESTDIR=" out) "install"
-                          ',make-flags)))))))))
+                   (apply invoke "make" (string-append "DESTDIR=" out)
+                          "PREFIX=" "install" ',make-flags)))))))))
     (inputs
      (list btrfs-progs libseccomp pigz runc util-linux))
     (native-inputs
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:02 GMT) Full text and rfc822 format available.

Message #65 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 4/7] gnu: containerd: Switch to gexp arguments.
Date: Tue, 10 May 2022 00:35:16 +0100
* gnu/packages/docker.scm (containerd)[arguments]: Rewrite as gexps.
Pass all flags via make-flags variable.  Switch to using
search-input-file.
---
 gnu/packages/docker.scm | 95 +++++++++++++++++++++--------------------
 1 file changed, 49 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index e95614cfae..aa5f4d523b 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -29,6 +29,7 @@ (define-module (gnu packages docker)
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
@@ -186,53 +187,55 @@ (define-public containerd
         (base32 "1hy5jaf5x8lffh3p4hdkk6ar8i4w84i0b539k1h5baqx9gnq2l2s"))))
     (build-system go-build-system)
     (arguments
-     (let ((make-flags (list (string-append "VERSION=" version)
-                             "REVISION=0")))
-       `(#:import-path "github.com/containerd/containerd"
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'unpack 'patch-paths
-             (lambda* (#:key inputs import-path outputs #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (substitute* "runtime/v1/linux/runtime.go"
-                   (("defaultRuntime[ \t]*=.*")
-                    (string-append "defaultRuntime = \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"\n"))
-                   (("defaultShim[ \t]*=.*")
-                    (string-append "defaultShim = \""
-                                   (assoc-ref outputs "out")
-                                   "/bin/containerd-shim\"\n")))
-                 (substitute* "pkg/cri/config/config_unix.go"
-                   (("DefaultRuntimeName: \"runc\"")
-                    (string-append "DefaultRuntimeName: \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"")))
-                 (substitute* "vendor/github.com/containerd/go-runc/runc.go"
-                   (("DefaultCommand[ \t]*=.*")
-                    (string-append "DefaultCommand = \""
-                                   (assoc-ref inputs "runc")
-                                   "/sbin/runc\"\n")))
-                 (substitute* "vendor/github.com/containerd/continuity/testutil\
+     (let ((make-flags #~(list (string-append "VERSION=" #$version)
+                               (string-append "DESTDIR=" #$output)
+                               "PREFIX="
+                               "REVISION=0")))
+       (list
+        #:import-path "github.com/containerd/containerd"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-paths
+              (lambda* (#:key inputs import-path outputs #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (substitute* "runtime/v1/linux/runtime.go"
+                    (("defaultRuntime[ \t]*=.*")
+                     (string-append "defaultRuntime = \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"\n"))
+                    (("defaultShim[ \t]*=.*")
+                     (string-append "defaultShim = \""
+                                    (assoc-ref outputs "out")
+                                    "/bin/containerd-shim\"\n")))
+                  (substitute* "pkg/cri/config/config_unix.go"
+                    (("DefaultRuntimeName: \"runc\"")
+                     (string-append "DefaultRuntimeName: \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"")))
+                  (substitute* "vendor/github.com/containerd/go-runc/runc.go"
+                    (("DefaultCommand[ \t]*=.*")
+                     (string-append "DefaultCommand = \""
+                                    (search-input-file inputs "/sbin/runc")
+                                    "\"\n")))
+                  (substitute* "vendor/github.com/containerd/continuity/testutil\
 /loopback/loopback_linux.go"
-                   (("exec\\.Command\\(\"losetup\"")
-                    (string-append "exec.Command(\""
-                                   (assoc-ref inputs "util-linux")
-                                   "/sbin/losetup\"")))
-                 (substitute* "archive/compression/compression.go"
-                   (("exec\\.LookPath\\(\"unpigz\"\\)")
-                    (string-append "\"" (assoc-ref inputs "pigz")
-                                   "/bin/unpigz\", error(nil)"))))))
-           (replace 'build
-             (lambda* (#:key import-path #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (apply invoke "make" ',make-flags))))
-           (replace 'install
-             (lambda* (#:key import-path outputs #:allow-other-keys)
-               (with-directory-excursion (string-append "src/" import-path)
-                 (let* ((out (assoc-ref outputs "out")))
-                   (apply invoke "make" (string-append "DESTDIR=" out)
-                          "PREFIX=" "install" ',make-flags)))))))))
+                    (("exec\\.Command\\(\"losetup\"")
+                     (string-append "exec.Command(\""
+                                    (search-input-file inputs "/sbin/losetup")
+                                    "\"")))
+                  (substitute* "archive/compression/compression.go"
+                    (("exec\\.LookPath\\(\"unpigz\"\\)")
+                     (string-append "\""
+                                    (search-input-file inputs "/bin/unpigz")
+                                    "\", error(nil)"))))))
+            (replace 'build
+              (lambda* (#:key import-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (apply invoke "make" #$make-flags))))
+            (replace 'install
+              (lambda* (#:key import-path #:allow-other-keys)
+                (with-directory-excursion (string-append "src/" import-path)
+                  (apply invoke "make" "install" #$make-flags))))))))
     (inputs
      (list btrfs-progs libseccomp pigz runc util-linux))
     (native-inputs
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:03 GMT) Full text and rfc822 format available.

Message #68 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 5/7] gnu: docker: Fix mkfs.xfs reference.
Date: Tue, 10 May 2022 00:35:17 +0100
* gnu/packages/docker.scm (docker)[arguments]: Refer to sbin/mkfs.xfs
instead of bin/mkfs.xfs.
---
 gnu/packages/docker.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index aa5f4d523b..ff9bbecab6 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -440,7 +440,7 @@ (define-public docker
                  (substitute-LookPath*
                   ("containerd" "containerd" "bin/containerd")
                   ("ps" "procps" "bin/ps")
-                  ("mkfs.xfs" "xfsprogs" "bin/mkfs.xfs")
+                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
                   ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
                   ("pvdisplay" "lvm2" "sbin/pvdisplay")
                   ("blkid" "util-linux" "sbin/blkid")
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:03 GMT) Full text and rfc822 format available.

Message #71 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 6/7] gnu: docker: Update to 20.10.15.
Date: Tue, 10 May 2022 00:35:18 +0100
* gnu/packages/docker.scm (%docker-version): Update to 20.10.15.
(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                     | 72 +++++++++------------
 gnu/packages/networking.scm                 |  6 +-
 gnu/packages/patches/docker-fix-tests.patch | 28 --------
 4 files changed, 32 insertions(+), 75 deletions(-)
 delete mode 100644 gnu/packages/patches/docker-fix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 3b7db46b26..69d3f404b7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1008,7 +1008,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 ff9bbecab6..a3d3e5fb51 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.15")

 (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 "1z816496aqla4nq0aksf0kpy8qk8x1a6y5hrazzkqliycbjnqizq"))))
     (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,13 @@ (define-public docker
                   "exec.Command")
                  ;; Search for ZFS in PATH.
                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                 ;; Do not fail when buildkit-qemu-<target> isn't found.
+                 ;; FIXME: We might need to package buildkit and docker's
+                 ;; buildx plugin, to support qemu-based docker containers.
+                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
                  ;; Fail on other unsubstituted LookPaths.
                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))
-             #t))
+                 (("\\<LooxPath") "LookPath")))))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _
              ;; Needs internet access.
@@ -522,8 +514,7 @@ (define-public docker
              ;; This file uses /var.
              (delete-file "daemon/oci_linux_test.go")
              ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")
-             #t))
+             (delete-file "pkg/signal/signal_linux_test.go")))
          (replace 'configure
            (lambda _
              (setenv "DOCKER_BUILDTAGS" "seccomp")
@@ -536,8 +527,7 @@ (define-public docker
              ;; information, and the DWARF symbol table.
              (setenv "LDFLAGS" "-s -w")
              ;; Make build faster
-             (setenv "GOCACHE" "/tmp")
-             #t))
+             (setenv "GOCACHE" "/tmp")))
          (add-before 'build 'setup-go-environment
            (assoc-ref go:%standard-phases 'setup-go-environment))
          (replace 'build
@@ -559,8 +549,7 @@ (define-public docker
                                           "/.gopath/src/github.com/docker/docker"))
              (with-directory-excursion ".gopath/src/github.com/docker/docker"
                (invoke "hack/test/unit"))
-             (setenv "PWD" #f)
-             #t))
+             (setenv "PWD" #f)))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -568,8 +557,7 @@ (define-public docker
                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
                                             (getenv "VERSION"))
-                             out-bin)
-               #t)))
+                             out-bin))))
          (add-after 'install 'remove-go-references
            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
@@ -594,7 +582,7 @@ (define-public docker
        ("xz" ,xz)))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
-           go-1.14 gotestsum pkg-config))
+           go gotestsum pkg-config))
     (synopsis "Docker container component library, and daemon")
     (description "This package provides a framework to assemble specialized
 container systems.  It includes components for orchestration, image
@@ -615,7 +603,7 @@ (define-public docker-cli
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
-       (base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0"))))
+       (base32 "1jnql7szdk2wd3f5g1bxcairsmzirzybn3hy7xzqx1i679f2fg5v"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/docker/cli"
@@ -635,11 +623,11 @@ (define-public docker-cli
              ;; Make build reproducible.
              (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
              (symlink "src/github.com/docker/cli/scripts" "./scripts")
-             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
-             #t))
+             (symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")))
          (replace 'build
            (lambda _
-             (invoke "./scripts/build/dynbinary")))
+             (setenv "GO_LINKMODE" "dynamic")
+             (invoke "./scripts/build/binary")))
          (replace 'check
            (lambda* (#:key make-flags tests? #:allow-other-keys)
              (setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
@@ -648,8 +636,7 @@ (define-public docker-cli
                  (with-directory-excursion "src/github.com/docker/cli"
                    ;; TODO: Run test-e2e as well?
                    (apply invoke "make" "-f" "docker.Makefile" "test-unit"
-                          (or make-flags '())))
-                 #t)))
+                          (or make-flags '()))))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -662,8 +649,7 @@ (define-public docker-cli
                                (string-append etc "/fish/completions"))
                  (install-file "zsh/_docker"
                                (string-append etc "/zsh/site-functions")))
-               (install-file "build/docker" out-bin)
-               #t))))))
+               (install-file "build/docker" out-bin)))))))
     (native-inputs
      (list go libltdl pkg-config))
     (synopsis "Command line interface to Docker")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 9010e1f120..28ef92679d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1691,8 +1691,8 @@ (define-public go-netns
 (define-public go-sctp
   ;; docker-libnetwork-cmd-proxy requires this exact commit.
   ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
-  (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847")
-        (revision "2"))
+  (let ((commit "f2269e66cdee387bd321445d5d300893449805be")
+        (revision "3"))
     (package
       (name "go-sctp")
       (version (git-version "0.0.0" revision commit))
@@ -1704,7 +1704,7 @@ (define-public go-sctp
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb"))))
+                  "04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g"))))
       (build-system go-build-system)
       (arguments
        `(#:tests? #f    ; Test suite is flakey.
diff --git a/gnu/packages/patches/docker-fix-tests.patch b/gnu/packages/patches/docker-fix-tests.patch
deleted file mode 100644
index 3e3e318e25..0000000000
--- a/gnu/packages/patches/docker-fix-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Author: Danny Milosavljevic <dannym <at> scratchpost.org>
-The socket name ended up too long inside the container.
-Use a shorter one.
---- a/pkg/authorization/authz_unix_test.go	2019-01-10 01:55:02.997985947 +0100
-+++ b/pkg/authorization/authz_unix_test.go	2019-01-10 02:03:21.177439757 +0100
-@@ -24,7 +24,7 @@
- )
-
- const (
--	pluginAddress = "authz-test-plugin.sock"
-+	pluginAddress = "/tmp/authz-test-plugin.sock"
- )
-
- func TestAuthZRequestPluginError(t *testing.T) {
-@@ -263,12 +263,7 @@
-
- // createTestPlugin creates a new sample authorization plugin
- func createTestPlugin(t *testing.T) *authorizationPlugin {
--	pwd, err := os.Getwd()
--	if err != nil {
--		t.Fatal(err)
--	}
--
--	client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
-+	client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
- 	if err != nil {
- 		t.Fatalf("Failed to create client %v", err)
- 	}
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Mon, 09 May 2022 23:36:03 GMT) Full text and rfc822 format available.

Message #74 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: 52790 <at> debbugs.gnu.org
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [PATCH v3 7/7] gnu: docker: Switch to gexp and new input style.
Date: Tue, 10 May 2022 00:35:19 +0100
* 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 a3d3e5fb51..2df4cdb98a 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -326,260 +326,259 @@ (define-public docker
         (base32 "1z816496aqla4nq0aksf0kpy8qk8x1a6y5hrazzkqliycbjnqizq"))))
     (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 "\\<exec\\.LookPath\\(\""
-                                                   source-text
-                                                   "\")"))
-                                   (string-append "\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\", error(nil)")) ...))))
-                            (substitute-Command*
-                             (syntax-rules ()
-                               ((_ (source-text package relative-path) ...)
-                                (substitute* source-files
-                                  (((string-append "\\<(re)?exec\\.Command\\(\""
-                                                   source-text
-                                                   "\"") _ re?)
-                                   (string-append (if re? re? "")
-                                                  "exec.Command(\""
-                                                  (assoc-ref inputs package)
-                                                  "/" relative-path
-                                                  "\"")) ...)))))
-                 (substitute-LookPath*
-                  ("containerd" "containerd" "bin/containerd")
-                  ("ps" "procps" "bin/ps")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
-                  ("pvdisplay" "lvm2" "sbin/pvdisplay")
-                  ("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"))
+              (let ((source-files (filter (lambda (name)
+                                            (not (string-contains name "test")))
+                                          (find-files "." "\\.go$"))))
+                (let-syntax ((substitute-LookPath*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<exec\\.LookPath\\(\""
+                                                    source-text
+                                                    "\")"))
+                                    (string-append "\""
+                                                   (search-input-file inputs path)
+                                                   "\", error(nil)")) ...))))
+                             (substitute-Command*
+                              (syntax-rules ()
+                                ((_ (source-text path) ...)
+                                 (substitute* source-files
+                                   (((string-append "\\<(re)?exec\\.Command\\(\""
+                                                    source-text
+                                                    "\"") _ re?)
+                                    (string-append (if re? re? "")
+                                                   "exec.Command(\""
+                                                   (search-input-file inputs path)
+                                                   "\"")) ...)))))
+                  (substitute-LookPath*
+                   ("containerd" "/bin/containerd")
+                   ("ps" "/bin/ps")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("lvmdiskscan" "/sbin/lvmdiskscan")
+                   ("pvdisplay" "/sbin/pvdisplay")
+                   ("blkid" "/sbin/blkid")
+                   ("unpigz" "/bin/unpigz")
+                   ("iptables" "/sbin/iptables")
+                   ("ip6tables" "/sbin/ip6tables")
+                   ("iptables-legacy" "/sbin/iptables")
+                   ("ip" "/sbin/ip"))

-                 (substitute-Command*
-                  ("modprobe" "kmod" "bin/modprobe")
-                  ("pvcreate" "lvm2" "sbin/pvcreate")
-                  ("vgcreate" "lvm2" "sbin/vgcreate")
-                  ("lvcreate" "lvm2" "sbin/lvcreate")
-                  ("lvconvert" "lvm2" "sbin/lvconvert")
-                  ("lvchange" "lvm2" "sbin/lvchange")
-                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
-                  ("xfs_growfs" "xfsprogs" "sbin/xfs_growfs")
-                  ("mkfs.ext4" "e2fsprogs" "sbin/mkfs.ext4")
-                  ("tune2fs" "e2fsprogs" "sbin/tune2fs")
-                  ("blkid" "util-linux" "sbin/blkid")
-                  ("resize2fs" "e2fsprogs" "sbin/resize2fs")
-                  ("ps" "procps" "bin/ps")
-                  ("losetup" "util-linux" "sbin/losetup")
-                  ("uname" "coreutils" "bin/uname")
-                  ("dbus-launch" "dbus" "bin/dbus-launch")
-                  ("git" "git" "bin/git")))
-               ;; docker-mountfrom ??
-               ;; docker
-               ;; docker-untar ??
-               ;; docker-applyLayer ??
-               ;; /usr/bin/uname
-               ;; grep
-               ;; apparmor_parser
+                  (substitute-Command*
+                   ("modprobe" "/bin/modprobe")
+                   ("pvcreate" "/sbin/pvcreate")
+                   ("vgcreate" "/sbin/vgcreate")
+                   ("lvcreate" "/sbin/lvcreate")
+                   ("lvconvert" "/sbin/lvconvert")
+                   ("lvchange" "/sbin/lvchange")
+                   ("mkfs.xfs" "/sbin/mkfs.xfs")
+                   ("xfs_growfs" "/sbin/xfs_growfs")
+                   ("mkfs.ext4" "/sbin/mkfs.ext4")
+                   ("tune2fs" "/sbin/tune2fs")
+                   ("blkid" "/sbin/blkid")
+                   ("resize2fs" "/sbin/resize2fs")
+                   ("ps" "/bin/ps")
+                   ("losetup" "/sbin/losetup")
+                   ("uname" "/bin/uname")
+                   ("dbus-launch" "/bin/dbus-launch")
+                   ("git" "/bin/git")))
+                ;; docker-mountfrom ??
+                ;; docker
+                ;; docker-untar ??
+                ;; docker-applyLayer ??
+                ;; /usr/bin/uname
+                ;; grep
+                ;; apparmor_parser

-               ;; Make compilation fail when, in future versions, Docker
-               ;; invokes other programs we don't know about and thus don't
-               ;; substitute.
-               (substitute* source-files
-                 ;; Search for Java in PATH.
-                 (("\\<exec\\.Command\\(\"java\"")
-                  "xxec.Command(\"java\"")
-                 ;; Search for AUFS in PATH (mainline Linux doesn't support it).
-                 (("\\<exec\\.Command\\(\"auplink\"")
-                  "xxec.Command(\"auplink\"")
-                 ;; Fail on other unsubstituted commands.
-                 (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
-                   _ executable)
-                  (string-append "exec.Guix_doesnt_want_Command(\""
-                                 executable "\""))
-                 (("\\<xxec\\.Command")
-                  "exec.Command")
-                 ;; Search for ZFS in PATH.
-                 (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                ;; Make compilation fail when, in future versions, Docker
+                ;; invokes other programs we don't know about and thus don't
+                ;; substitute.
+                (substitute* source-files
+                  ;; Search for Java in PATH.
+                  (("\\<exec\\.Command\\(\"java\"")
+                   "xxec.Command(\"java\"")
+                  ;; Search for AUFS in PATH (mainline Linux doesn't support it).
+                  (("\\<exec\\.Command\\(\"auplink\"")
+                   "xxec.Command(\"auplink\"")
+                  ;; Fail on other unsubstituted commands.
+                  (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
+                    _ executable)
+                   (string-append "exec.Guix_doesnt_want_Command(\""
+                                  executable "\""))
+                  (("\\<xxec\\.Command")
+                   "exec.Command")
+                  ;; Search for ZFS in PATH.
+                  (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
                  ;; Do not fail when buildkit-qemu-<target> isn't found.
                  ;; FIXME: We might need to package buildkit and docker's
                  ;; buildx plugin, to support qemu-based docker containers.
-                 (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
-                 ;; Fail on other unsubstituted LookPaths.
-                 (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
-                 (("\\<LooxPath") "LookPath")))))
-         (add-after 'patch-paths 'delete-failing-tests
-           (lambda _
-             ;; Needs internet access.
-             (delete-file "builder/remotecontext/git/gitutils_test.go")
-             ;; Permission denied.
-             (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
-             ;; Operation not permitted (idtools.MkdirAllAndChown).
-             (delete-file "daemon/graphdriver/vfs/vfs_test.go")
-             ;; Timeouts after 5 min.
-             (delete-file "plugin/manager_linux_test.go")
-             ;; Operation not permitted.
-             (delete-file "daemon/graphdriver/aufs/aufs_test.go")
-             (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
-             (delete-file "daemon/graphdriver/overlay/overlay_test.go")
-             (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
-             (delete-file "pkg/chrootarchive/archive_unix_test.go")
-             (delete-file "daemon/container_unix_test.go")
-             ;; This file uses cgroups and /proc.
-             (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
-             ;; This file uses cgroups.
-             (delete-file "runconfig/config_test.go")
-             ;; This file uses /var.
-             (delete-file "daemon/oci_linux_test.go")
-             ;; Signal tests fail in bizarre ways
-             (delete-file "pkg/signal/signal_linux_test.go")))
-         (replace 'configure
-           (lambda _
-             (setenv "DOCKER_BUILDTAGS" "seccomp")
-             (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
-             (setenv "VERSION" (string-append ,%docker-version "-ce"))
-             ;; Automatically use bundled dependencies.
-             ;; TODO: Unbundle - see file "vendor.conf".
-             (setenv "AUTO_GOPATH" "1")
-             ;; Respectively, strip the symbol table and debug
-             ;; information, and the DWARF symbol table.
-             (setenv "LDFLAGS" "-s -w")
-             ;; Make build faster
-             (setenv "GOCACHE" "/tmp")))
-         (add-before 'build 'setup-go-environment
-           (assoc-ref go:%standard-phases 'setup-go-environment))
-         (replace 'build
-           (lambda _
-             ;; Our LD doesn't like the statically linked relocatable things
-             ;; that go produces, so install the dynamic version of
-             ;; dockerd instead.
-             (invoke "hack/make.sh" "dynbinary")))
-         (replace 'check
-           (lambda _
-             ;; The build process generated a file because the environment
-             ;; variable "AUTO_GOPATH" was set.  Use it.
-             (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
-             ;; ".gopath/src/github.com/docker/docker" is a link to the current
-             ;; directory and chdir would canonicalize to that.
-             ;; But go needs to have the uncanonicalized directory name, so
-             ;; store that.
-             (setenv "PWD" (string-append (getcwd)
-                                          "/.gopath/src/github.com/docker/docker"))
-             (with-directory-excursion ".gopath/src/github.com/docker/docker"
-               (invoke "hack/test/unit"))
-             (setenv "PWD" #f)))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (out-bin (string-append out "/bin")))
-               (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
-               (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
-                                            (getenv "VERSION"))
-                             out-bin))))
-         (add-after 'install 'remove-go-references
-           (assoc-ref go:%standard-phases 'remove-go-references)))))
+                  (("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
+                  ;; Fail on other unsubstituted LookPaths.
+                  (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
+                  (("\\<LooxPath") "LookPath")))))
+          (add-after 'patch-paths 'delete-failing-tests
+            (lambda _
+              ;; Needs internet access.
+              (delete-file "builder/remotecontext/git/gitutils_test.go")
+              ;; Permission denied.
+              (delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
+              ;; Operation not permitted (idtools.MkdirAllAndChown).
+              (delete-file "daemon/graphdriver/vfs/vfs_test.go")
+              ;; Timeouts after 5 min.
+              (delete-file "plugin/manager_linux_test.go")
+              ;; Operation not permitted.
+              (delete-file "daemon/graphdriver/aufs/aufs_test.go")
+              (delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
+              (delete-file "daemon/graphdriver/overlay/overlay_test.go")
+              (delete-file "daemon/graphdriver/overlay2/overlay_test.go")
+              (delete-file "pkg/chrootarchive/archive_unix_test.go")
+              (delete-file "daemon/container_unix_test.go")
+              ;; This file uses cgroups and /proc.
+              (delete-file "pkg/sysinfo/sysinfo_linux_test.go")
+              ;; This file uses cgroups.
+              (delete-file "runconfig/config_test.go")
+              ;; This file uses /var.
+              (delete-file "daemon/oci_linux_test.go")
+              ;; Signal tests fail in bizarre ways
+              (delete-file "pkg/signal/signal_linux_test.go")))
+          (replace 'configure
+            (lambda _
+              (setenv "DOCKER_BUILDTAGS" "seccomp")
+              (setenv "DOCKER_GITCOMMIT" (string-append "v" #$%docker-version))
+              (setenv "VERSION" (string-append #$%docker-version "-ce"))
+              ;; Automatically use bundled dependencies.
+              ;; TODO: Unbundle - see file "vendor.conf".
+              (setenv "AUTO_GOPATH" "1")
+              ;; Respectively, strip the symbol table and debug
+              ;; information, and the DWARF symbol table.
+              (setenv "LDFLAGS" "-s -w")
+              ;; Make build faster
+              (setenv "GOCACHE" "/tmp")))
+          (add-before 'build 'setup-go-environment
+            (assoc-ref go:%standard-phases 'setup-go-environment))
+          (replace 'build
+            (lambda _
+              ;; Our LD doesn't like the statically linked relocatable things
+              ;; that go produces, so install the dynamic version of
+              ;; dockerd instead.
+              (invoke "hack/make.sh" "dynbinary")))
+          (replace 'check
+            (lambda _
+              ;; The build process generated a file because the environment
+              ;; variable "AUTO_GOPATH" was set.  Use it.
+              (setenv "GOPATH" (string-append (getcwd) "/.gopath"))
+              ;; ".gopath/src/github.com/docker/docker" is a link to the current
+              ;; directory and chdir would canonicalize to that.
+              ;; But go needs to have the uncanonicalized directory name, so
+              ;; store that.
+              (setenv "PWD" (string-append (getcwd)
+                                           "/.gopath/src/github.com/docker/docker"))
+              (with-directory-excursion ".gopath/src/github.com/docker/docker"
+                (invoke "hack/test/unit"))
+              (setenv "PWD" #f)))
+          (replace 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (out-bin (string-append out "/bin")))
+                (install-file "bundles/dynbinary-daemon/dockerd" out-bin)
+                (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
+                                             (getenv "VERSION"))
+                              out-bin))))
+          (add-after 'install 'remove-go-references
+            (assoc-ref go:%standard-phases 'remove-go-references)))))
     (inputs
-     `(("btrfs-progs" ,btrfs-progs)
-       ("containerd" ,containerd)       ; for containerd-shim
-       ("coreutils" ,coreutils)
-       ("dbus" ,dbus)
-       ("docker-proxy" ,docker-libnetwork-cmd-proxy)
-       ("e2fsprogs" ,e2fsprogs)
-       ("git" ,git)
-       ("iproute2" ,iproute)
-       ("iptables" ,iptables)
-       ("kmod" ,kmod)
-       ("libseccomp" ,libseccomp)
-       ("pigz" ,pigz)
-       ("procps" ,procps)
-       ("runc" ,runc)
-       ("util-linux" ,util-linux)
-       ("lvm2" ,lvm2)
-       ("tini" ,tini)
-       ("xfsprogs" ,xfsprogs)
-       ("xz" ,xz)))
+     (list btrfs-progs
+           containerd       ; for containerd-shim
+           coreutils
+           dbus
+           docker-libnetwork-cmd-proxy
+           e2fsprogs
+           git
+           iproute
+           iptables
+           kmod
+           libseccomp
+           pigz
+           procps
+           runc
+           util-linux
+           lvm2
+           tini
+           xfsprogs
+           xz))
     (native-inputs
      (list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
            go gotestsum pkg-config))
--
2.36.0





Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Tue, 10 May 2022 10:07:02 GMT) Full text and rfc822 format available.

Message #77 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 52790 <at> debbugs.gnu.org
Subject: Re: [bug#52790] [PATCH v3 5/7] gnu: docker: Fix mkfs.xfs reference.
Date: Tue, 10 May 2022 12:06:02 +0200
[Message part 1 (text/plain, inline)]
On Tue, 10 May 2022 00:35:17 +0100
Pierre Langlois <pierre.langlois <at> gmx.com> wrote:

> * gnu/packages/docker.scm (docker)[arguments]: Refer to sbin/mkfs.xfs
> instead of bin/mkfs.xfs.
> ---
>  gnu/packages/docker.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
> index aa5f4d523b..ff9bbecab6 100644
> --- a/gnu/packages/docker.scm
> +++ b/gnu/packages/docker.scm
> @@ -440,7 +440,7 @@ (define-public docker
>                   (substitute-LookPath*
>                    ("containerd" "containerd" "bin/containerd")
>                    ("ps" "procps" "bin/ps")
> -                  ("mkfs.xfs" "xfsprogs" "bin/mkfs.xfs")
> +                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
>                    ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
>                    ("pvdisplay" "lvm2" "sbin/pvdisplay")
>                    ("blkid" "util-linux" "sbin/blkid")

LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Tue, 10 May 2022 10:12:01 GMT) Full text and rfc822 format available.

Message #80 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 52790 <at> debbugs.gnu.org
Subject: Re: [bug#52790] [PATCH v3 6/7] gnu: docker: Update to 20.10.15.
Date: Tue, 10 May 2022 12:11:07 +0200
[Message part 1 (text/plain, inline)]
LGTM!
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Sat, 14 May 2022 16:05:01 GMT) Full text and rfc822 format available.

Message #83 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Langlois <pierre.langlois <at> gmx.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: Pierre Langlois <pierre.langlois <at> gmx.com>, 52790 <at> debbugs.gnu.org
Subject: Re: [bug#52790] [PATCH v3 6/7] gnu: docker: Update to 20.10.15.
Date: Sat, 14 May 2022 17:01:48 +0100
[Message part 1 (text/plain, inline)]
Hi Danny,

Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> [[PGP Signed Part:Undecided]]
> LGTM!

Just to be clear, are you OK with the two patches or the entire series?

Thanks for taking a look,
Pierre
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#52790; Package guix-patches. (Tue, 17 May 2022 20:29:02 GMT) Full text and rfc822 format available.

Message #86 received at 52790 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 52790 <at> debbugs.gnu.org
Subject: Re: [bug#52790] [PATCH v3 6/7] gnu: docker: Update to 20.10.15.
Date: Tue, 17 May 2022 22:28:27 +0200
Hi Pierre,

for some reason, I only see patch 5, 6, and 7 of the series.

I reviewed patch 5 and 6 already and found it good.

I am still reviewing patch 7.




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Fri, 24 Jun 2022 05:07:02 GMT) Full text and rfc822 format available.

Notification sent to Pierre Langlois <pierre.langlois <at> gmx.com>:
bug acknowledged by developer. (Fri, 24 Jun 2022 05:07:02 GMT) Full text and rfc822 format available.

Message #91 received at 52790-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Pierre Langlois <pierre.langlois <at> gmx.com>
Cc: 52790-done <at> debbugs.gnu.org
Subject: Re: bug#52790: [PATCH 0/4] Update docker to 20.10.11.
Date: Fri, 24 Jun 2022 01:05:56 -0400
Hi Pierre!

Very nice work, thanks for doing it!

I've reviewed the whole series (7 patches), made some changes mostly to
update to the latest current version of Docker 20.10.17 and containerd
at 1.6.6, added a commit to address 'guix lint' issues and another one
to allow the Docker system tests to pass on my old machine.  I tested
using some Docker load I had at hand and pushed the series.

Thanks again!

Closing.

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 22 Jul 2022 11:24:15 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 278 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.