From b6f828b331a8d73c73daca9707173160c02603b7 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Tue, 28 Apr 2026 08:39:57 +0300 Subject: [PATCH] domoticz: fix build and add test.sh boost::asio::post() without an explicit executor fails to compile with Boost >= 1.82 due to changes in the executor model: bare lambdas no longer have an implicit system executor that satisfies the blocking.never requirement. Pass io_context_ explicitly as the first argument so the handler is dispatched on the correct io_context thread, which is the original intent of the call (making stop() safe to call from any thread). Add test.sh domoticz is a daemon requiring a database and network port; it does not implement a --version flag. Verify the binary is present and executable. Disable LTO to fix link failure on i386 with musl fortify Suggested via https://github.com/openwrt/packages/pull/29239 Also tested. Signed-off-by: Alexandru Ardelean --- utils/domoticz/Makefile | 4 ++-- .../patches/002-fix-boost-asio-post-executor.patch | 11 +++++++++++ utils/domoticz/test.sh | 7 +++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 utils/domoticz/patches/002-fix-boost-asio-post-executor.patch create mode 100644 utils/domoticz/test.sh diff --git a/utils/domoticz/Makefile b/utils/domoticz/Makefile index 6b08373dcc..0ff1468811 100644 --- a/utils/domoticz/Makefile +++ b/utils/domoticz/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=domoticz PKG_VERSION:=2025.2 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/domoticz/domoticz/tar.gz/$(PKG_VERSION)? @@ -21,7 +21,7 @@ PKG_LICENSE_FILES:=License.txt PKG_CPE_ID:=cpe:/a:domoticz:domoticz PKG_BUILD_DEPENDS:=python3 minizip cereal boost jwt-cpp -PKG_BUILD_FLAGS:=no-mips16 lto +PKG_BUILD_FLAGS:=no-mips16 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk diff --git a/utils/domoticz/patches/002-fix-boost-asio-post-executor.patch b/utils/domoticz/patches/002-fix-boost-asio-post-executor.patch new file mode 100644 index 0000000000..f67c262d7e --- /dev/null +++ b/utils/domoticz/patches/002-fix-boost-asio-post-executor.patch @@ -0,0 +1,11 @@ +--- a/tcpserver/TCPServer.cpp ++++ b/tcpserver/TCPServer.cpp +@@ -59,7 +59,7 @@ namespace tcp { + // Post a call to the stop function so that server::stop() is safe to call + // from any thread. + flghandle_stop_Completed=false; +- boost::asio::post([this] { handle_stop(); }); ++ boost::asio::post(io_context_, [this] { handle_stop(); }); + } + + void CTCPServerInt::handle_stop() diff --git a/utils/domoticz/test.sh b/utils/domoticz/test.sh new file mode 100644 index 0000000000..cdfc88703c --- /dev/null +++ b/utils/domoticz/test.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +case "$1" in + domoticz) + [ -x /usr/bin/domoticz ] || exit 1 + ;; +esac