summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2022-02-16 22:47:35 -0800
committerAndres Freund <andres@anarazel.de>2022-02-16 22:47:35 -0800
commit19252e8ec938bf07897c1519f367d0467a39242c (patch)
tree758f4c8bec53a4bb37717fa7a549bf1c94fb8ee1 /config
parent8f388f6f554b113f25a53fe3237238d2c58ed1eb (diff)
downloadpostgresql-19252e8ec938bf07897c1519f367d0467a39242c.tar.gz
plpython: Reject Python 2 during build configuration.
Python 2.7 went EOL 2020-01-01 and the support for Python 2 requires a fair bit of infrastructure. Therefore we are removing Python 2 support in plpython. This patch just rejects Python 2 during configure / mkvcbuild.pl. Future commits will remove the code and infrastructure for Python 2 support and adjust more of the documentation. This way we can see the buildfarm state after the removal sooner and we can be sure that failures are due to desupporting Python 2, rather than caused by infrastructure cleanup. Reviewed-By: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/20211031184548.g4sxfe47n2kyi55r@alap3.anarazel.de
Diffstat (limited to 'config')
-rw-r--r--config/python.m49
1 files changed, 6 insertions, 3 deletions
diff --git a/config/python.m4 b/config/python.m4
index c7310ee37d..52f34070dd 100644
--- a/config/python.m4
+++ b/config/python.m4
@@ -9,6 +9,9 @@
# Look for Python and set the output variable 'PYTHON' if found,
# fail otherwise.
#
+# Since we are supporting only Python 3.x, prefer python3 to plain python. If
+# the latter exists at all, it very possibly points to python2.
+
# As the Python 3 transition happens and PEP 394 isn't updated, we
# need to cater to systems that don't have unversioned "python" by
# default. Some systems ship with "python3" by default and perhaps
@@ -16,7 +19,7 @@
# "python2" and "python3", in which case it's reasonable to prefer the
# newer version.
AC_DEFUN([PGAC_PATH_PYTHON],
-[PGAC_PATH_PROGS(PYTHON, [python python3 python2])
+[PGAC_PATH_PROGS(PYTHON, [python3 python])
AC_ARG_VAR(PYTHON, [Python program])dnl
if test x"$PYTHON" = x""; then
AC_MSG_ERROR([Python not found])
@@ -37,8 +40,8 @@ python_majorversion=`echo "$python_fullversion" | sed '[s/^\([0-9]*\).*/\1/]'`
python_minorversion=`echo "$python_fullversion" | sed '[s/^[0-9]*\.\([0-9]*\).*/\1/]'`
python_version=`echo "$python_fullversion" | sed '[s/^\([0-9]*\.[0-9]*\).*/\1/]'`
# Reject unsupported Python versions as soon as practical.
-if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt 7; then
- AC_MSG_ERROR([Python version $python_version is too old (version 2.7 or later is required)])
+if test "$python_majorversion" -lt 3; then
+ AC_MSG_ERROR([Python version $python_version is too old (version 3 or later is required)])
fi
AC_MSG_CHECKING([for Python sysconfig module])