Prevent msys2 conversion of "cmd /c" switch to a file path

Modern versions of msys2 have changed the treatment of "cmd /c" so that
the runtime will try to convert the switch to a native file path. This
patch adds a setting to inhibit that behaviour.

Discussion: https://postgr.es/m/3227042f-cfcc-745a-57dd-fb8c471f8ddf@2ndQuadrant.com

Backpatch to all live branches.
This commit is contained in:
Andrew Dunstan 2019-09-09 08:56:33 -04:00
parent 5f73d7294d
commit 3e5cf72f96

View File

@ -214,8 +214,11 @@ pg_upgrade $PG_UPGRADE_OPTS -d "${PGDATA}.old" -D "${PGDATA}" -b "$oldbindir" -B
pg_ctl start -l "$logdir/postmaster2.log" -o "$POSTMASTER_OPTS" -w
# In the commands below we inhibit msys2 from converting the "/c" switch
# in "cmd /c" to a file system path.
case $testhost in
MINGW*) cmd /c analyze_new_cluster.bat ;;
MINGW*) MSYS2_ARG_CONV_EXCL=/c cmd /c analyze_new_cluster.bat ;;
*) sh ./analyze_new_cluster.sh ;;
esac
@ -228,7 +231,7 @@ if [ -n "$pg_dumpall2_status" ]; then
fi
case $testhost in
MINGW*) cmd /c delete_old_cluster.bat ;;
MINGW*) MSYS2_ARG_CONV_EXCL=/c cmd /c delete_old_cluster.bat ;;
*) sh ./delete_old_cluster.sh ;;
esac