guix-commits
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]