Check for correct version of perltidy
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 26 Nov 2025 19:43:09 +0000 (20:43 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 26 Nov 2025 19:43:09 +0000 (20:43 +0100)
pgperltidy requires a particular version of perltidy, but the version
wasn't checked like how pgindent checks the underlying indent binary.
Fix by checking the version of perltidy and error out if an incorrect
version is used.

Author: Daniel Gustafsson <daniel@yesql.se>
Reported-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andrew Dunstan <andrew@dunslane.net>
Discussion: https://postgr.es/m/1209850.1764092152@sss.pgh.pa.us

src/tools/pgindent/pgperltidy

index 6af27d21d5531322c09a4eafe80950ab8c5e20e6..87838d6bde3a4f7c9a0fe1b19ca98148f2ab3a6d 100755 (executable)
@@ -7,6 +7,12 @@ set -e
 # set this to override default perltidy program:
 PERLTIDY=${PERLTIDY:-perltidy}
 
+PERLTIDY_VERSION=20230309
+if ! $PERLTIDY -v | grep -q $PERLTIDY_VERSION; then
+   echo "You do not appear to have $PERLTIDY version $PERLTIDY_VERSION installed on your system." >&2
+   exit 1
+fi
+
 . src/tools/perlcheck/find_perl_files
 
 find_perl_files "$@" | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc