From 6a6426ed3da795cf4a36fb7b9e2ae7264b55879e Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Mon, 12 Mar 2018 19:35:25 +0200 Subject: [PATCH] build lua2 backend packages --- build-scripts/build-auth-rpm | 36 +++++++++++++++++++ .../config/pdns.local.lua2.conf | 10 ++++++ build-scripts/debian-authoritative/control.in | 12 +++++++ .../pdns-backend-lua2.examples | 1 + .../pdns-backend-lua2.install | 1 + .../pdns-backend-lua2.postinst | 21 +++++++++++ .../pdns-backend-lua2.prerm | 14 ++++++++ build-scripts/debian-authoritative/rules | 2 +- build-scripts/test-auth | 2 ++ 9 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 build-scripts/debian-authoritative/config/pdns.local.lua2.conf create mode 100644 build-scripts/debian-authoritative/pdns-backend-lua2.examples create mode 100644 build-scripts/debian-authoritative/pdns-backend-lua2.install create mode 100644 build-scripts/debian-authoritative/pdns-backend-lua2.postinst create mode 100644 build-scripts/debian-authoritative/pdns-backend-lua2.prerm diff --git a/build-scripts/build-auth-rpm b/build-scripts/build-auth-rpm index 0f29d21cb8..18c0d068b2 100755 --- a/build-scripts/build-auth-rpm +++ b/build-scripts/build-auth-rpm @@ -340,6 +340,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description backend-lua This package contains the lua backend for %{name} +%package backend-lua2 +Summary: New Lua backend for %{name} +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} +%global backends %{backends} lua2 + +%description backend-lua2 +This package contains the new lua backend for %{name} + %package backend-sqlite Summary: SQLite backend for %{name} Group: System Environment/Daemons @@ -497,6 +506,9 @@ fi %files backend-lua %{_libdir}/%{name}/libluabackend.so +%files backend-lua2 +%{_libdir}/%{name}/liblua2backend.so + %files backend-sqlite %doc %{_defaultdocdir}/%{name}/schema.sqlite3.sql %doc %{_defaultdocdir}/%{name}/nodnssec-3.x_to_3.4.0_schema.sqlite3.sql @@ -634,6 +646,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description backend-lua This package contains the lua backend for %{name} +%package backend-lua2 +Summary: New Lua backend for %{name} +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} +%global backends %{backends} lua2 + +%description backend-lua2 +This package contains the new lua backend for %{name} + %package backend-sqlite Summary: SQLite backend for %{name} Group: System Environment/Daemons @@ -818,6 +839,9 @@ exit 0 %files backend-lua %{_libdir}/%{name}/libluabackend.so +%files backend-lua2 +%{_libdir}/%{name}/liblua2backend.so + %files backend-sqlite %doc modules/gsqlite3backend/schema.sqlite3.sql %doc modules/gsqlite3backend/dnssec-3.x_to_3.4.0_schema.sqlite3.sql @@ -917,6 +941,15 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description backend-lua This package contains the lua backend for %{name} +%package backend-lua2 +Summary: New Lua backend for %{name} +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} +%global backends %{backends} lua2 + +%description backend-lua2 +This package contains the new lua backend for %{name} + %package backend-sqlite Summary: SQLite backend for %{name} Group: System Environment/Daemons @@ -1069,6 +1102,9 @@ exit 0 %files backend-lua %{_libdir}/%{name}/libluabackend.so +%files backend-lua2 +%{_libdir}/%{name}/liblua2backend.so + %files backend-sqlite %doc modules/gsqlite3backend/schema.sqlite3.sql %doc modules/gsqlite3backend/dnssec-3.x_to_3.4.0_schema.sqlite3.sql diff --git a/build-scripts/debian-authoritative/config/pdns.local.lua2.conf b/build-scripts/debian-authoritative/config/pdns.local.lua2.conf new file mode 100644 index 0000000000..acf2016d02 --- /dev/null +++ b/build-scripts/debian-authoritative/config/pdns.local.lua2.conf @@ -0,0 +1,10 @@ +#launch+=lua2 + +## lua2-api Lua backend API version +#lua2-api=2 + +## lua2-filename Filename of the script for lua backend +#lua2-filename=powerdns-luabackend.lua + +## lua2-query-logging Logging of the Lua2 Backend +#lua2-query-logging=no diff --git a/build-scripts/debian-authoritative/control.in b/build-scripts/debian-authoritative/control.in index 8a02d90873..3a0a1df92f 100644 --- a/build-scripts/debian-authoritative/control.in +++ b/build-scripts/debian-authoritative/control.in @@ -166,6 +166,18 @@ Description: Lua backend for PowerDNS . This package contains the Lua backend for PowerDNS. +Package: pdns-backend-lua2 +Architecture: any +Depends: pdns-server (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: pdns-backend +Description: New Lua backend for PowerDNS + PowerDNS is a versatile nameserver which supports a large number + of different backends ranging from simple zonefiles to relational + databases and load balancing/failover algorithms. + PowerDNS tries to emphasize speed and security. + . + This package contains the Lua2 backend for PowerDNS. + Package: pdns-backend-remote Architecture: any Depends: pdns-server (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends} diff --git a/build-scripts/debian-authoritative/pdns-backend-lua2.examples b/build-scripts/debian-authoritative/pdns-backend-lua2.examples new file mode 100644 index 0000000000..d6d918f89b --- /dev/null +++ b/build-scripts/debian-authoritative/pdns-backend-lua2.examples @@ -0,0 +1 @@ +debian/config/pdns.local.lua.conf diff --git a/build-scripts/debian-authoritative/pdns-backend-lua2.install b/build-scripts/debian-authoritative/pdns-backend-lua2.install new file mode 100644 index 0000000000..dcb8ce5e83 --- /dev/null +++ b/build-scripts/debian-authoritative/pdns-backend-lua2.install @@ -0,0 +1 @@ +usr/lib/*/pdns/liblua2backend.so* diff --git a/build-scripts/debian-authoritative/pdns-backend-lua2.postinst b/build-scripts/debian-authoritative/pdns-backend-lua2.postinst new file mode 100644 index 0000000000..dd662bc55a --- /dev/null +++ b/build-scripts/debian-authoritative/pdns-backend-lua2.postinst @@ -0,0 +1,21 @@ +#!/bin/sh +# +# postinst script for pdns-backend-lua2 + +set -e + +if [ -n "$PDNSDEBUG" ]; then + echo "now debugging $0 $@" + set -x +fi + +# Activate trigger +dpkg-trigger pdns-server + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + diff --git a/build-scripts/debian-authoritative/pdns-backend-lua2.prerm b/build-scripts/debian-authoritative/pdns-backend-lua2.prerm new file mode 100644 index 0000000000..3298654dde --- /dev/null +++ b/build-scripts/debian-authoritative/pdns-backend-lua2.prerm @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Add call to init script to actually stop pdns. + +set -e + +if [ -x "/etc/init.d/pdns" ]; then + invoke-rc.d pdns stop || exit $? +fi + +#DEBHELPER# + +exit 0 + diff --git a/build-scripts/debian-authoritative/rules b/build-scripts/debian-authoritative/rules index cb7afb5872..db29abecda 100755 --- a/build-scripts/debian-authoritative/rules +++ b/build-scripts/debian-authoritative/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f # Backends -backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lua mydns remote random opendbx tinydns +backends := bind ldap pipe gmysql godbc gpgsql gsqlite3 geoip lua lua2 mydns remote random opendbx tinydns DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) diff --git a/build-scripts/test-auth b/build-scripts/test-auth index e0ddf7724c..1b33511cca 100755 --- a/build-scripts/test-auth +++ b/build-scripts/test-auth @@ -101,6 +101,8 @@ if [ -z "$context" ]; then ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http || EXITCODE=1 ./timestamp timeout 120s ./start-test-stop 5300 remotebackend-http-dnssec || EXITCODE=1 + ./timestamp timeout 120s ./start-test-stop 5300 lua2 + ./timestamp timeout 120s ./start-test-stop 5300 lua2-dnssec # No 0MQ in the PowerDNS packages #./timestamp timeout 120s ./start-test-stop 5300 remotebackend-zeromq || EXITCODE=1 -- 2.47.2