[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: utils: Change 'wrap-program' to preserve the original argv[0].
From: |
Ludovic Courtès |
Subject: |
01/02: utils: Change 'wrap-program' to preserve the original argv[0]. |
Date: |
Sun, 14 Dec 2014 10:57:49 +0000 |
civodul pushed a commit to branch core-updates
in repository guix.
commit 2ed11b3a3e05549ed6ef8a604464f424c0eeae1c
Author: Ludovic Courtès <address@hidden>
Date: Sun Dec 14 11:54:12 2014 +0100
utils: Change 'wrap-program' to preserve the original argv[0].
Suggested by Mark H Weaver <address@hidden>
in <http://bugs.gnu.org/19138>.
* guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a
PROG" instead of just "exec".
---
guix/build/utils.scm | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index be91fb4..9b1e098 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -762,7 +762,7 @@ contents:
#!location/of/bin/bash
export PATH=\"/gnu/.../bar/bin\"
export CERT_PATH=\"$CERT_PATH${CERT_PATH:+:}/gnu/.../baz/certs:/qux/certs\"
- exec location/of/.foo-real
+ exec -a location/of/foo location/of/.foo-real \"address@hidden"
This is useful for scripts that expect particular programs to be in $PATH, for
programs that expect particular shared libraries to be in $LD_LIBRARY_PATH, or
@@ -786,6 +786,7 @@ the previous wrapper."
(copy-file prog prog-real)
prog-real)
(wrapper-file-name number)))
+
(let* ((number (next-wrapper-number))
(target (wrapper-target number))
(wrapper (wrapper-file-name (1+ number)))
@@ -815,10 +816,11 @@ the previous wrapper."
(with-output-to-file prog-tmp
(lambda ()
(format #t
- "#!~a~%~a~%exec \"~a\" \"address@hidden"~%"
+ "#!~a~%~a~%exec -a \"~a\" \"~a\" \"address@hidden"~%"
(which "bash")
(string-join (map export-variable vars)
"\n")
+ (canonicalize-path prog)
(canonicalize-path target))))
(chmod prog-tmp #o755)