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 <alex@shruggie.ro>
This commit is contained in:
Alexandru Ardelean
2026-04-28 08:39:57 +03:00
committed by Alexandru Ardelean
parent c3edf23676
commit b6f828b331
3 changed files with 20 additions and 2 deletions
+2 -2
View File
@@ -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
@@ -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()
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
case "$1" in
domoticz)
[ -x /usr/bin/domoticz ] || exit 1
;;
esac