From 3fc9f0a108636dd2b083b90b94576f61a1e79b1d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 25 Apr 2019 11:07:36 -0700 Subject: [PATCH] domoticz: fix boost 1.70 compat This is an upstream backport that deals with an API change in Boost. Signed-off-by: Rosen Penev --- utils/domoticz/Makefile | 2 +- .../domoticz/patches/010-boost-170-fix.patch | 71 +++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 utils/domoticz/patches/010-boost-170-fix.patch diff --git a/utils/domoticz/Makefile b/utils/domoticz/Makefile index b91e1dd67..1fee52fe7 100644 --- a/utils/domoticz/Makefile +++ b/utils/domoticz/Makefile @@ -12,7 +12,7 @@ PKG_VERSION_MAJOR:=4 PKG_VERSION_PATCH:=9700 PKG_COMMIT:= PKG_VERSION:=$(PKG_VERSION_MAJOR).$(PKG_VERSION_PATCH) -PKG_RELEASE:=1 +PKG_RELEASE:=2 ifeq ($(PKG_COMMIT),) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/utils/domoticz/patches/010-boost-170-fix.patch b/utils/domoticz/patches/010-boost-170-fix.patch new file mode 100644 index 000000000..4d2bd8a03 --- /dev/null +++ b/utils/domoticz/patches/010-boost-170-fix.patch @@ -0,0 +1,71 @@ +From 9d226dab339f5767ec01ea1bcc9043ceee185cca Mon Sep 17 00:00:00 2001 +From: Rob Peters +Date: Mon, 25 Mar 2019 08:50:23 +0100 +Subject: [PATCH] Fix for boot 1.70 get_io_service, fixed #3117 + +--- + hardware/Pinger.cpp | 10 ++++++++-- + hardware/TCPProxy/tcpproxy_server.cpp | 8 +++++++- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/hardware/Pinger.cpp b/hardware/Pinger.cpp +index 01a955ba4..184378738 100644 +--- a/hardware/Pinger.cpp ++++ b/hardware/Pinger.cpp +@@ -18,6 +18,12 @@ + + #include + ++#if BOOST_VERSION >= 107000 ++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) ++#else ++#define GET_IO_SERVICE(s) ((s).get_io_service()) ++#endif ++ + class pinger + : private domoticz::noncopyable + { +@@ -76,7 +82,7 @@ class pinger + num_tries_++; + if (num_tries_ > 4) + { +- resolver_.get_io_service().stop(); ++ GET_IO_SERVICE(resolver_).stop(); + } + else + { +@@ -118,7 +124,7 @@ class pinger + if (num_replies_++ == 0) + timer_.cancel(); + m_PingState = true; +- resolver_.get_io_service().stop(); ++ GET_IO_SERVICE(resolver_).stop(); + } + else + { +diff --git a/hardware/TCPProxy/tcpproxy_server.cpp b/hardware/TCPProxy/tcpproxy_server.cpp +index fddac08de..60445d9c2 100644 +--- a/hardware/TCPProxy/tcpproxy_server.cpp ++++ b/hardware/TCPProxy/tcpproxy_server.cpp +@@ -15,6 +15,12 @@ + #include "stdafx.h" + #include "tcpproxy_server.h" + ++#if BOOST_VERSION >= 107000 ++#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context()) ++#else ++#define GET_IO_SERVICE(s) ((s).get_io_service()) ++#endif ++ + namespace tcp_proxy + { + bridge::bridge(boost::asio::io_service& ios) +@@ -38,7 +44,7 @@ namespace tcp_proxy + boost::asio::ip::tcp::endpoint end; + + +- boost::asio::io_service &ios=downstream_socket_.get_io_service(); ++ boost::asio::io_service &ios= GET_IO_SERVICE(downstream_socket_); + boost::asio::ip::tcp::resolver resolver(ios); + boost::asio::ip::tcp::resolver::query query(upstream_host, upstream_port, boost::asio::ip::resolver_query_base::numeric_service); + boost::asio::ip::tcp::resolver::iterator i = resolver.resolve(query);