Andreas Enge <[email protected]> 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 <[email protected]> > > 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 \"$@\" > + exec -a $0 location/of/.foo-real \"$@\" > > 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\" \"$@\"~%" > + "#!~a~%~a~%exec -a \"$0\" \"~a\" \"$@\"~%" > (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’.
