From 50e1bf38004bf6a60d8599e59109c2aee5e599fe Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Mon, 25 Nov 2019 18:05:22 +1100 Subject: [PATCH 1/2] check for 'distutils.core setup' --- configure | 15 +++++++++++++++ configure.ac | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/configure b/configure index 86fc3270ee..49f92ae55a 100755 --- a/configure +++ b/configure @@ -12485,6 +12485,9 @@ except: exit(1)' testply='try: import ply except: exit(1)' +testsetup='try: from distutils.core import setup +except: exit(1)' + default_with_python="python python3 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python2 python2.7" @@ -12603,6 +12606,18 @@ $as_echo_n "checking Python module 'ply'... " >&6; } if "$PYTHON" -c "$testply" 2>/dev/null; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + unset PYTHON + continue +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python module 'distutils.core setup'" >&5 +$as_echo_n "checking Python module 'distutils.core setup'... " >&6; } + if "$PYTHON" -c "$testsetup" 2>/dev/null; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } diff --git a/configure.ac b/configure.ac index 7132612ac4..031206ca21 100644 --- a/configure.ac +++ b/configure.ac @@ -202,6 +202,9 @@ except: exit(1)' testply='try: import ply except: exit(1)' +testsetup='try: from distutils.core import setup +except: exit(1)' + default_with_python="python python3 python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python2 python2.7" AC_ARG_WITH([python], @@ -255,6 +258,13 @@ AS_IF([test "$with_python" = "no"], unset PYTHON continue]) + AC_MSG_CHECKING([Python module 'distutils.core setup']) + AS_IF(["$PYTHON" -c "$testsetup" 2>/dev/null], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + unset PYTHON + continue]) + # Stop looking any further once we find a Python interpreter # satisfying all requirements. break From 8bbafeb5efed9077c61f67afa0b62d64232a03a2 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Tue, 26 Nov 2019 09:53:19 +1100 Subject: [PATCH 2/2] add CHANGES and note in README.md --- CHANGES | 4 ++++ README.md | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index e1996edb4f..1cd85378c7 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +5326. [bug] Add python dependancy on 'distutils.core' to configure. + 'distutils.core' is required for installation. + [GL #1397] + 5325. [bug] Addressed several issues with TCP connections in the netmgr: restored support for TCP connection timeouts, restored TCP backlog support, actively diff --git a/README.md b/README.md index 14646569ff..2fb6ca18d1 100644 --- a/README.md +++ b/README.md @@ -191,9 +191,11 @@ or if you have Xcode already installed you can run `xcode-select --install`. Portions of BIND that are written in Python, including `dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the -system tests, require the `argparse` and `ply` modules to be available. +system tests, require the `argparse`, `ply` and `distutils.core` modules +to be available. `argparse` is a standard module as of Python 2.7 and Python 3.2. `ply` is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply). +`distutils.core` is required for installation. #### Compile-time options