summary refs log tree commit diff
path: root/gnu/packages/docker.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2019-01-10 20:17:34 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2019-01-10 21:29:53 +0100
commitffcd282702fedf90c80b5b2a05a5e2f473cf4c9c (patch)
tree7d395291a50d54f2a015a82ca829fbaf78dea060 /gnu/packages/docker.scm
parent6a6e5d84dacb4b127120ec150c52549a2bc111d6 (diff)
downloadguix-ffcd282702fedf90c80b5b2a05a5e2f473cf4c9c.tar.gz
gnu: docker: Booby-trap "Command" and "LookPath" calls.
* gnu/packages/docker.scm (docker)[arguments]<#:phases>[patch-paths]:
Booby-trap "Command" and "LookPath" calls.
Diffstat (limited to 'gnu/packages/docker.scm')
-rw-r--r--gnu/packages/docker.scm21
1 files changed, 18 insertions, 3 deletions
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index ab1a575393..23695a0c06 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -363,9 +363,24 @@ network attachments.")
                ;; invokes other programs we don't know about and thus don't
                ;; substitute.
                (substitute* source-files
-                (("LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
-                (("LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"") ; ))
-                (("LooxPath") "LookPath")))
+                ;; 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\")")
+                ;; Fail on other unsubstituted LookPaths.
+                (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"") ; ))
+                (("\\<LooxPath") "LookPath")))
              #t))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _