aboutsummaryrefslogtreecommitdiff
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
parent6a6e5d84dacb4b127120ec150c52549a2bc111d6 (diff)
downloadguix-ffcd282702fedf90c80b5b2a05a5e2f473cf4c9c.tar
guix-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.
-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 _