diff --git a/configure.ac b/configure.ac index 69b53e28..5e6d6632 100644 --- a/configure.ac +++ b/configure.ac @@ -387,7 +387,18 @@ case "$enable_ecdsa" in ;; esac + AC_ARG_ENABLE(draft-dnssec-roadblock-avoidance, AC_HELP_STRING([--enable-draft-dnssec-roadblock-avoidance], [Enable experimental dnssec roadblock avoidance])) +AC_ARG_ENABLE(draft-edns-cookies, AC_HELP_STRING([--enable-draft-edns-cookies], [Enable experimental edns cookies])) +AC_ARG_ENABLE(all-drafts, AC_HELP_STRING([--enable-all-drafts], [Enable cookies and roadblock avoidance])) +case "$enable_all_drafts" in + yes) + enable_draft_dnssec_roadblock_avoidance=yes + enable_draft_edns_cookies=yes + ;; + no|*) + ;; +esac case "$enable_draft_dnssec_roadblock_avoidance" in yes) AC_DEFINE_UNQUOTED([DNSSEC_ROADBLOCK_AVOIDANCE], [1], [Define this to enable the experimental draft dnssec roadblock avoidance.]) @@ -395,8 +406,6 @@ case "$enable_draft_dnssec_roadblock_avoidance" in no|*) ;; esac - -AC_ARG_ENABLE(draft-edns-cookies, AC_HELP_STRING([--enable-draft-edns-cookies], [Enable experimental edns cookies])) case "$enable_draft_edns_cookies" in yes) if test "x_$HAVE_SSL" != "x_yes"; then diff --git a/src/Makefile.in b/src/Makefile.in index d6d90054..b5162ea4 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -203,7 +203,7 @@ configure.status: configure depend: (cd $(srcdir) ; awk 'BEGIN{P=1}{if(P)print}/^# Dependencies/{P=0}' Makefile.in > Makefile.in.new ) - (cd $(srcdir) ; gcc -MM -I. *.c gldns/*.c compat/*.c util/*.c extension/*.c| \ + (blddir=`pwd`; cd $(srcdir) ; gcc -MM -I. -I"$$blddir" *.c gldns/*.c compat/*.c util/*.c extension/*.c| \ sed -e 's?gldns/?$$(srcdir)/gldns/?g' \ -e 's?compat/?$$(srcdir)/compat/?g' \ -e 's?util/?$$(srcdir)/util/?g' \ diff --git a/src/test/Makefile.in b/src/test/Makefile.in index c6d76aa2..85b20c14 100644 --- a/src/test/Makefile.in +++ b/src/test/Makefile.in @@ -213,7 +213,7 @@ configure.status: configure depend: (cd $(srcdir) ; awk 'BEGIN{P=1}{if(P)print}/^# Dependencies/{P=0}' Makefile.in > Makefile.in.new ) - (cd $(srcdir) ; gcc -MM -I. -I.. *.c | \ + (blddir=`pwd`; cd $(srcdir) ; gcc -MM -I. -I.. -I"$$blddir"/.. *.c | \ sed -e 's? \([a-z_-]*\)\.\([ch]\)? $$(srcdir)/\1.\2?g' \ -e 's? \$$(srcdir)/config\.h? ../config.h?g' \ -e 's? $$(srcdir)/\.\./getdns/getdns_extra\.h? ../getdns/getdns_extra.h?g' \ diff --git a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.dsc b/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.dsc deleted file mode 100644 index d1fa5240..00000000 --- a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.dsc +++ /dev/null @@ -1,16 +0,0 @@ -BaseName: 300-event-loops-compile -Version: 1.0 -Description: Create a builddir and compile with event loops -CreationDate: do dec 10 11:38:35 CET 2015 -Maintainer: Willem Toorop -Category: -Component: -CmdDepends: -Depends: -Help: -Pre: 300-event-loops-compile.pre -Post: -Test: 300-event-loops-compile.test -AuxFiles: -Passed: -Failure: diff --git a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.pre b/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.pre deleted file mode 100644 index 87dfe2c6..00000000 --- a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.pre +++ /dev/null @@ -1,25 +0,0 @@ -# #-- 300-event-loops-compile.pre--# -# source the master var file when it's there -if [ -f ../.tpkg.var.master ] -then - source ../.tpkg.var.master -else - ( - cd .. - [ -f "${TPKG_SRCDIR}/setup-env.sh" ] \ - && sh "${TPKG_SRCDIR}/setup-env.sh" - ) && source ../.tpkg.var.master -fi -# use .tpkg.var.test for in test variable passing -[ -f .tpkg.var.test ] && source .tpkg.var.test - -rm -fr "${BUILDDIR}/build-event-loops" -mkdir "${BUILDDIR}/build-event-loops" -cd "${BUILDDIR}/build-event-loops" -"${SRCROOT}/configure" --with-libevent --with-libev --with-libuv \ - || "${SRCROOT}/configure" --with-libevent --with-libev \ - || "${SRCROOT}/configure" --with-libevent --with-libuv \ - || "${SRCROOT}/configure" --with-libev --with-libuv \ - || "${SRCROOT}/configure" --with-libevent \ - || "${SRCROOT}/configure" --with-libev \ - || "${SRCROOT}/configure" --with-libuv diff --git a/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.dsc b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.dsc new file mode 100644 index 00000000..c227ce63 --- /dev/null +++ b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.dsc @@ -0,0 +1,16 @@ +BaseName: 300-event-loops-configure +Version: 1.0 +Description: Create a build dir and configure for convering the largest codebase +CreationDate: vr dec 18 11:21:07 CET 2015 +Maintainer: Willem Toorop +Category: +Component: +CmdDepends: +Depends: +Help: +Pre: 300-event-loops-configure.pre +Post: +Test: 300-event-loops-configure.test +AuxFiles: +Passed: +Failure: diff --git a/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.pre b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.pre new file mode 100644 index 00000000..fab6c81a --- /dev/null +++ b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.pre @@ -0,0 +1,14 @@ +# #-- 300-event-loops-configure.pre--# +# source the master var file when it's there +if [ -f ../.tpkg.var.master ] +then + source ../.tpkg.var.master +else + ( + cd .. + [ -f "${TPKG_SRCDIR}/setup-env.sh" ] \ + && sh "${TPKG_SRCDIR}/setup-env.sh" + ) && source ../.tpkg.var.master +fi +# use .tpkg.var.test for in test variable passing +[ -f .tpkg.var.test ] && source .tpkg.var.test diff --git a/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.test b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.test new file mode 100644 index 00000000..693ff791 --- /dev/null +++ b/src/test/tpkg/300-event-loops-configure.tpkg/300-event-loops-configure.test @@ -0,0 +1,16 @@ +# #-- 300-event-loops-configure.test --# +# source the master var file when it's there +[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master +# use .tpkg.var.test for in test variable passing +[ -f .tpkg.var.test ] && source .tpkg.var.test + +rm -fr "${BUILDDIR}/build-event-loops" +mkdir "${BUILDDIR}/build-event-loops" +cd "${BUILDDIR}/build-event-loops" +"${SRCROOT}/configure" --enable-all-drafts --with-libevent --with-libev --with-libuv \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libevent --with-libev \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libevent --with-libuv \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libev --with-libuv \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libevent \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libev \ + || "${SRCROOT}/configure" --enable-all-drafts --with-libuv diff --git a/src/test/tpkg/310-dependencies.tpkg/310-dependencies.dsc b/src/test/tpkg/310-dependencies.tpkg/310-dependencies.dsc new file mode 100644 index 00000000..60b22bf8 --- /dev/null +++ b/src/test/tpkg/310-dependencies.tpkg/310-dependencies.dsc @@ -0,0 +1,16 @@ +BaseName: 310-dependencies +Version: 1.0 +Description: Check if all dependencies are (still) correct in the Makefiles +CreationDate: vr dec 18 11:25:59 CET 2015 +Maintainer: Willem Toorop +Category: +Component: +CmdDepends: +Depends: 300-event-loops-configure.tpkg +Help: +Pre: +Post: +Test: 310-dependencies.test +AuxFiles: +Passed: +Failure: diff --git a/src/test/tpkg/310-dependencies.tpkg/310-dependencies.test b/src/test/tpkg/310-dependencies.tpkg/310-dependencies.test new file mode 100644 index 00000000..985c420d --- /dev/null +++ b/src/test/tpkg/310-dependencies.tpkg/310-dependencies.test @@ -0,0 +1,49 @@ +# #-- 310-dependencies.test --# +# source the master var file when it's there +[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master +# use .tpkg.var.test for in test variable passing +[ -f .tpkg.var.test ] && source .tpkg.var.test + +export TPKG_HERE=`pwd` +# Temporarily copy Makefile.in files +find . -type f -name "Makefile.in" -print0 | xargs -0 rm -f && ( + cd "${SRCROOT}" + find . -maxdepth 3 -type f -name "Makefile.in" -print0 | xargs -0 tar cf - +) | ( + cd "${TPKG_HERE}" + tar xf - +) +( + cd "${BUILDDIR}/build-event-loops" + if ! ./config.status --config | grep -q 'enable-all-drafts.*--with-libevent.*--with-libev.*--with-libuv' + then + echo Skipping because not covering enough code + exit 0 + fi + make depend >/dev/null 2>&1 +) +CHANGED_DEPENDENCIES=0 +N_MAKEFILES=0 +for mf in `find . -type f -name "Makefile.in"` +do + N_MAKEFILES=`expr $N_MAKEFILES + 1` + if ! diff -q "${mf}" "${SRCROOT}"/"${mf#./}" + then + echo "${mf}" and "${SRCROOT}"/"${mf#./}" differ + CHANGED_DEPENDENCIES=1 + fi +done +if [ $N_MAKEFILES = 0 ] +then + echo "No Makefiles compared" + exit 1 +fi +# Restore Makefile.in files +( + cd "${TPKG_HERE}" + find . -type f -name "Makefile.in" -print0 | xargs -0 tar cf - +)| ( + cd "${SRCROOT}" + tar xf - +) +exit ${CHANGED_DEPENDENCIES} diff --git a/src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.dsc b/src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.dsc new file mode 100644 index 00000000..acbccc61 --- /dev/null +++ b/src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.dsc @@ -0,0 +1,16 @@ +BaseName: 320-event-loops-compile +Version: 1.0 +Description: Compile the with event loops configured getdns +CreationDate: vr dec 18 11:20:35 CET 2015 +Maintainer: Willem Toorop +Category: +Component: +CmdDepends: +Depends: 300-event-loops-configure.tpkg +Help: +Pre: +Post: +Test: 320-event-loops-compile.test +AuxFiles: +Passed: +Failure: diff --git a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.test b/src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.test similarity index 86% rename from src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.test rename to src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.test index 94c8ac4d..055f8f9b 100644 --- a/src/test/tpkg/300-event-loops-compile.tpkg/300-event-loops-compile.test +++ b/src/test/tpkg/320-event-loops-compile.tpkg/320-event-loops-compile.test @@ -1,4 +1,4 @@ -# #-- 300-event-loops-compile.test --# +# #-- 320-event-loops-compile.test --# # source the master var file when it's there [ -f ../.tpkg.var.master ] && source ../.tpkg.var.master # use .tpkg.var.test for in test variable passing diff --git a/src/test/tpkg/330-event-loops-unit-tests.tpkg/330-event-loops-unit-tests.dsc b/src/test/tpkg/330-event-loops-unit-tests.tpkg/330-event-loops-unit-tests.dsc index eb738511..4dc01259 100644 --- a/src/test/tpkg/330-event-loops-unit-tests.tpkg/330-event-loops-unit-tests.dsc +++ b/src/test/tpkg/330-event-loops-unit-tests.tpkg/330-event-loops-unit-tests.dsc @@ -6,7 +6,7 @@ Maintainer: Willem Toorop Category: Component: CmdDepends: -Depends: 300-event-loops-compile.tpkg +Depends: 320-event-loops-compile.tpkg Help: Pre: Post: