From 570564a3751c8ebf188c897e5ed3b8ea7e5724c0 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Tue, 7 Mar 2017 10:40:45 +0000 Subject: [PATCH] - Fix #1230: swig version 2.0.0 is required for pythonmod, with 1.3.40 it crashes when running repeatly unbound-control reload. git-svn-id: file:///svn/unbound/trunk@4034 be551aaa-1e26-0410-a405-d3ace91eadb9 --- ac_pkg_swig.m4 | 17 ++++++++++++++--- configure | 27 +++++++++++++++++++-------- configure.ac | 2 +- doc/Changelog | 4 ++++ 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/ac_pkg_swig.m4 b/ac_pkg_swig.m4 index 738f69d45..87f99fb2f 100644 --- a/ac_pkg_swig.m4 +++ b/ac_pkg_swig.m4 @@ -103,9 +103,20 @@ AC_DEFUN([AC_PROG_SWIG],[ if test -z "$available_patch" ; then [available_patch=0] fi - if test $available_major -ne $required_major \ - -o $available_minor -ne $required_minor \ - -o $available_patch -lt $required_patch ; then + [badversion=0] + if test $available_major -lt $required_major ; then + [badversion=1] + fi + if test $available_major -eq $required_major \ + -a $available_minor -lt $required_minor ; then + [badversion=1] + fi + if test $available_major -eq $required_major \ + -a $available_minor -eq $required_minor \ + -a $available_patch -lt $required_patch ; then + [badversion=1] + fi + if test $badversion -eq 1 ; then AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' else diff --git a/configure b/configure index 772655782..a9d47ce9d 100755 --- a/configure +++ b/configure @@ -16909,7 +16909,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&5 $as_echo "$as_me: WARNING: cannot find 'swig' program. You should look at http://www.swig.org" >&2;} SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false' - elif test -n "" ; then + elif test -n "2.0.0" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG version" >&5 $as_echo_n "checking for SWIG version... " >&6; } swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'` @@ -16917,7 +16917,7 @@ $as_echo_n "checking for SWIG version... " >&6; } $as_echo "$swig_version" >&6; } if test -n "$swig_version" ; then # Calculate the required version number components - required= + required=2.0.0 required_major=`echo $required | sed 's/[^0-9].*//'` if test -z "$required_major" ; then required_major=0 @@ -16948,12 +16948,23 @@ $as_echo "$swig_version" >&6; } if test -z "$available_patch" ; then available_patch=0 fi - if test $available_major -ne $required_major \ - -o $available_minor -ne $required_minor \ - -o $available_patch -lt $required_patch ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&5 -$as_echo "$as_me: WARNING: SWIG version >= is required. You have $swig_version. You should look at http://www.swig.org" >&2;} - SWIG='echo "Error: SWIG version >= is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' + badversion=0 + if test $available_major -lt $required_major ; then + badversion=1 + fi + if test $available_major -eq $required_major \ + -a $available_minor -lt $required_minor ; then + badversion=1 + fi + if test $available_major -eq $required_major \ + -a $available_minor -eq $required_minor \ + -a $available_patch -lt $required_patch ; then + badversion=1 + fi + if test $badversion -eq 1 ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version. You should look at http://www.swig.org" >&5 +$as_echo "$as_me: WARNING: SWIG version >= 2.0.0 is required. You have $swig_version. You should look at http://www.swig.org" >&2;} + SWIG='echo "Error: SWIG version >= 2.0.0 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' else { $as_echo "$as_me:${as_lineno-$LINENO}: SWIG executable is '$SWIG'" >&5 $as_echo "$as_me: SWIG executable is '$SWIG'" >&6;} diff --git a/configure.ac b/configure.ac index 44f126295..f5d72c5a9 100644 --- a/configure.ac +++ b/configure.ac @@ -551,7 +551,7 @@ if test x_$ub_test_python != x_no; then # Check for SWIG ub_have_swig=no - AC_PROG_SWIG + AC_PROG_SWIG(2.0.0) AC_MSG_CHECKING(SWIG) if test ! -x "$SWIG"; then AC_ERROR([failed to find swig tool, install it, or do not build Python module and PyUnbound]) diff --git a/doc/Changelog b/doc/Changelog index cc4e347b5..db75d0f25 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +7 March 2017: Wouter + - Fix #1230: swig version 2.0.0 is required for pythonmod, with + 1.3.40 it crashes when running repeatly unbound-control reload. + 6 March 2017: Wouter - Fix #1229: Systemd service sandboxing in contrib/unbound.service. - iana portlist update