gnu: docker: Booby-trap "Command" and "LookPath" calls.

* gnu/packages/docker.scm (docker)[arguments]<#:phases>[patch-paths]:
Booby-trap "Command" and "LookPath" calls.
This commit is contained in:
Danny Milosavljevic 2019-01-10 20:17:34 +01:00
parent 6a6e5d84da
commit ffcd282702
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -363,9 +363,24 @@ (define-public docker
;; 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 _