Files
git/generate-perl.sh
D. Ben Knoble 38419bdd45 perl: also mark git-contacts executable
When installing git-contacts with Meson via -Dcontrib=contacts, the default
Perl generation fails to mark it executable. As a result, "git contacts"
reports "'contacts' is not a git command."

Unlike generate-script.sh, we aren't testing the basename here; so, glob
the script name in the case arm to match wherever the input comes from.

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-11-06 09:57:47 -08:00

38 lines
696 B
Bash
Executable File

#!/bin/sh
set -e
if test $# -ne 5
then
echo >&2 "USAGE: $0 <GIT_BUILD_OPTIONS> <GIT_VERSION_FILE> <PERL_HEADER> <INPUT> <OUTPUT>"
exit 1
fi
GIT_BUILD_OPTIONS="$1"
GIT_VERSION_FILE="$2"
PERL_HEADER="$3"
INPUT="$4"
OUTPUT="$5"
. "$GIT_BUILD_OPTIONS"
. "$GIT_VERSION_FILE"
sed -e '1{' \
-e " /^#!.*perl/!b" \
-e " s|#!.*perl|#!$PERL_PATH|" \
-e " r $PERL_HEADER" \
-e ' G' \
-e '}' \
-e "s|@GIT_VERSION@|$GIT_VERSION|g" \
-e "s|@LOCALEDIR@|$PERL_LOCALEDIR|g" \
-e "s|@NO_GETTEXT@|$NO_GETTEXT|g" \
-e "s|@NO_PERL_CPAN_FALLBACKS@|$NO_PERL_CPAN_FALLBACKS|g" \
"$INPUT" >"$OUTPUT"
case "$INPUT" in
*.perl|*git-contacts)
chmod a+x "$OUTPUT";;
*)
;;
esac