[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19742: 'wrap-program' should really preserve argv[0]
From: |
Ludovic Courtès |
Subject: |
bug#19742: 'wrap-program' should really preserve argv[0] |
Date: |
Mon, 23 Feb 2015 20:42:58 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) |
Andreas Enge <address@hidden> skribis:
> * guix/build/utils.scm (wrap-program): Create scripts that use $0 (which is
> usually just the base name) instead of the absolute path to the original
> program. Alternative implementation of 2ed11b3.
>
> Co-authored-by: Ludovic Courtès <address@hidden>
>
> Closes <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19742>.
> ---
> guix/build/utils.scm | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/guix/build/utils.scm b/guix/build/utils.scm
> index c7fdd1d..a3446cb 100644
> --- a/guix/build/utils.scm
> +++ b/guix/build/utils.scm
> @@ -816,7 +816,7 @@ contents:
> #!location/of/bin/bash
> export PATH=\"/gnu/.../bar/bin\"
> export CERT_PATH=\"$CERT_PATH${CERT_PATH:+:}/gnu/.../baz/certs:/qux/certs\"
> - exec -a location/of/foo location/of/.foo-real \"address@hidden"
> + exec -a $0 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
> @@ -870,11 +870,10 @@ the previous wrapper."
> (with-output-to-file prog-tmp
> (lambda ()
> (format #t
> - "#!~a~%~a~%exec -a \"~a\" \"~a\" \"address@hidden"~%"
> + "#!~a~%~a~%exec -a \"$0\" \"~a\" \"address@hidden"~%"
> (which "bash")
> (string-join (map export-variable vars)
> "\n")
> - (canonicalize-path prog)
Indeed, it’s better this way. Please apply to ‘core-updates’ if not
already done.
Thanks,
Ludo’.