bug-guix
[Top][All Lists]
Advanced

[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’.





reply via email to

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