git-gui: honor TCLTK_PATH in git-gui--askpass
Since its introduction in 8c76212 (git-gui: Add a simple implementation
of SSH_ASKPASS., 2008-10-15), git-gui--askpass has been calling whatever
wish interpreter is in the path, unlike git-gui.
Correct that by turning it into a script that would be processed at build
time.
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
This commit is contained in:
committed by
Johannes Sixt
parent
df41037be0
commit
0e3233b913
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,4 +4,5 @@ git-gui.tcl
|
||||
GIT-GUI-BUILD-OPTIONS
|
||||
GIT-VERSION-FILE
|
||||
git-gui
|
||||
git-gui--askpass
|
||||
lib/tclIndex
|
||||
|
||||
7
Makefile
7
Makefile
@@ -173,10 +173,13 @@ GIT-GUI-BUILD-OPTIONS: FORCE
|
||||
@if grep -q '^[A-Z][A-Z_]*=@.*@$$' $@+; then echo "Unsubstituted build options in $@" >&2 && exit 1; fi
|
||||
@if cmp $@+ $@ >/dev/null 2>&1; then $(RM) $@+; else mv $@+ $@; fi
|
||||
|
||||
git-gui--askpass: git-gui--askpass.sh GIT-GUI-BUILD-OPTIONS generate-script.sh
|
||||
$(QUIET_GEN)$(SHELL_PATH) generate-script.sh $@ $< ./GIT-GUI-BUILD-OPTIONS
|
||||
|
||||
ifdef GITGUI_WINDOWS_WRAPPER
|
||||
all:: git-gui
|
||||
endif
|
||||
all:: $(GITGUI_MAIN) lib/tclIndex $(ALL_MSGFILES)
|
||||
all:: $(GITGUI_MAIN) git-gui--askpass lib/tclIndex $(ALL_MSGFILES)
|
||||
|
||||
install: all
|
||||
$(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
|
||||
@@ -215,7 +218,7 @@ dist-version: GIT-VERSION-FILE
|
||||
@sed 's|^GITGUI_VERSION=||' <GIT-VERSION-FILE >$(TARDIR)/version
|
||||
|
||||
clean::
|
||||
$(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg $(PO_TEMPLATE)
|
||||
$(RM_RF) $(GITGUI_MAIN) git-gui--askpass lib/tclIndex po/*.msg $(PO_TEMPLATE)
|
||||
$(RM_RF) GIT-VERSION-FILE GIT-GUI-BUILD-OPTIONS
|
||||
ifdef GITGUI_WINDOWS_WRAPPER
|
||||
$(RM_RF) git-gui
|
||||
|
||||
22
generate-script.sh
Executable file
22
generate-script.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if test $# -ne 3
|
||||
then
|
||||
echo >&2 "USAGE: $0 <OUTPUT> <INPUT> <GIT-GUI-BUILD-OPTIONS>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OUTPUT="$1"
|
||||
INPUT="$2"
|
||||
BUILD_OPTIONS="$3"
|
||||
|
||||
. "$BUILD_OPTIONS"
|
||||
|
||||
sed \
|
||||
-e "1s|#!.*/sh|#!$SHELL_PATH|" \
|
||||
-e "1,3s|^exec wish|exec '$TCLTK_PATH'|" \
|
||||
"$INPUT" >"$OUTPUT"
|
||||
|
||||
chmod a+x "$OUTPUT"
|
||||
22
meson.build
22
meson.build
@@ -38,14 +38,6 @@ version_file = custom_target(
|
||||
build_always_stale: true,
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'git-gui--askpass',
|
||||
output: 'git-gui--askpass',
|
||||
copy: true,
|
||||
install: true,
|
||||
install_dir: get_option('libexecdir') / 'git-core',
|
||||
)
|
||||
|
||||
gitgui_main = 'git-gui'
|
||||
gitgui_main_install_dir = get_option('libexecdir') / 'git-core'
|
||||
|
||||
@@ -61,6 +53,20 @@ if target_machine.system() == 'windows'
|
||||
)
|
||||
endif
|
||||
|
||||
custom_target(
|
||||
output: 'git-gui--askpass',
|
||||
input: 'git-gui--askpass.sh',
|
||||
command: [
|
||||
shell,
|
||||
meson.current_source_dir() / 'generate-script.sh',
|
||||
'@OUTPUT@',
|
||||
'@INPUT@',
|
||||
meson.current_build_dir() / 'GIT-GUI-BUILD-OPTIONS',
|
||||
],
|
||||
install: true,
|
||||
install_dir: get_option('libexecdir') / 'git-core',
|
||||
)
|
||||
|
||||
custom_target(
|
||||
input: 'git-gui.sh',
|
||||
output: gitgui_main,
|
||||
|
||||
Reference in New Issue
Block a user