[packages/domoticz] up to 2026.1
atler
atler at pld-linux.org
Wed Mar 25 21:02:07 CET 2026
commit 800a1daecf192032c366fca0235a65aa7209b10b
Author: Jan Palus <atler at pld-linux.org>
Date: Wed Mar 25 21:01:54 2026 +0100
up to 2026.1
domoticz-no_updates.patch | 2 +-
domoticz-tinyxpath.patch | 60 +++++++++++++++++++++++++++++++++++++----------
domoticz.spec | 29 ++++++++++++++++-------
libwebem-minizip.patch | 21 +++++++++++++++++
libwebem-static.patch | 19 +++++++++++++++
no-git.patch | 2 +-
6 files changed, 110 insertions(+), 23 deletions(-)
---
diff --git a/domoticz.spec b/domoticz.spec
index 52699cb..bf9f909 100644
--- a/domoticz.spec
+++ b/domoticz.spec
@@ -1,14 +1,18 @@
+%define libwebem_ref 9010adf22d968828e15c2ed3b510de59ce59affe
+
Summary: Open source Home Automation System
Summary(pl.UTF-8): System automatyzacji domowej o otwartych źródłach
Name: domoticz
-Version: 2025.2
+Version: 2026.1
Release: 1
License: GPL v3+ and ASL 2.0 and Boost and BSD and MIT
Group: Base
Source0: https://github.com/domoticz/domoticz/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 2e16ef1dc9538e384c5c21b28a3cc8f2
-Source1: %{name}.service
-Source2: %{name}.conf
+# Source0-md5: 66db641342af99d6e21d43d380cd1a60
+Source1: https://github.com/domoticz/libwebem/archive/%{libwebem_ref}/libwebem-%{libwebem_ref}.tar.gz
+# Source1-md5: 6d45eb0d6c4ad9858d1032d944ff48e7
+Source2: %{name}.service
+Source3: %{name}.conf
# Use system tinyxpath (https://github.com/domoticz/domoticz/pull/1759)
Patch0: %{name}-tinyxpath.patch
# Fix python detection (https://github.com/domoticz/domoticz/pull/1749)
@@ -16,6 +20,8 @@ Patch1: %{name}-python.patch
Patch2: no-git.patch
Patch3: %{name}-no_updates.patch
Patch4: config.patch
+Patch5: libwebem-minizip.patch
+Patch6: libwebem-static.patch
URL: https://www.domoticz.com/
BuildRequires: boost-devel >= 1.66.0
BuildRequires: cmake >= 3.16.0
@@ -64,7 +70,7 @@ wody) itp. Powiatomienia i alarmy mogą być wysyłane na dowolne
urządzenie przenośne.
%prep
-%setup -q
+%setup -q -a1
%patch -P0 -p1
%patch -P1 -p1
%patch -P2 -p1
@@ -77,7 +83,13 @@ echo '#define APPHASH "%{snap}"' >> appversion.h
APPDATE=$(date --date="%{date}" "+%s")
echo "#define APPDATE ${APPDATE}" >> appversion.h
-%{__rm} -r extern tinyxpath
+%{__rm} -r extern/* tinyxpath
+
+%{__mv} libwebem-%{libwebem_ref} extern/libwebem
+%patch -P5 -p1 -d extern/libwebem
+%patch -P6 -p1 -d extern/libwebem
+
+%{__sed} -i -e '1s,/usr/bin/env bash,%{__bash},' scripts/install.sh
%build
install -d build && cd build
@@ -85,7 +97,6 @@ export CXXFLAGS="%{rpmcxxflags} -DPYTHON_LIBDIR=\\\"%{_libdir}\\\""
%cmake \
-DUSE_BUILTIN_JSONCPP=NO \
-DUSE_BUILTIN_MINIZIP=NO \
- -DUSE_BUILTIN_MQTT=NO \
-DUSE_BUILTIN_SQLITE=NO \
-DUSE_BUILTIN_TINYXPATH=NO \
-DUSE_BUILTIN_JWTCPP=NO \
@@ -115,11 +126,11 @@ install -d $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/{domoticz,sysconfig},%{syst
# move binary to standard directory
%{__mv} $RPM_BUILD_ROOT%{_datadir}/%{name}/%{name} $RPM_BUILD_ROOT%{_bindir}
-sed -e 's#@USERDATA_DIR@#%{_sharedstatedir}/%{name}#g' %{SOURCE1} > $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+sed -e 's#@USERDATA_DIR@#%{_sharedstatedir}/%{name}#g' %{SOURCE2} > $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
sed -e 's#@APP_DIR@#%{_datadir}/%{name}#g' \
-e 's#@USERDATA_DIR@#%{_sharedstatedir}/%{name}#g' \
scripts/domoticz.conf > $RPM_BUILD_ROOT%{_sysconfdir}/domoticz/domoticz.conf
-sed -e 's#@CONF_DIR@#%{_sysconfdir}/%{name}#' %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
+sed -e 's#@CONF_DIR@#%{_sysconfdir}/%{name}#' %{SOURCE3} > $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
# Unbundle DroidSans.ttf
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/www/styles/element{al,-light,-dark}/fonts/{Droid,Open}Sans.ttf
diff --git a/domoticz-no_updates.patch b/domoticz-no_updates.patch
index 47f2515..f14dfe4 100644
--- a/domoticz-no_updates.patch
+++ b/domoticz-no_updates.patch
@@ -1,8 +1,8 @@
--- domoticz-2020.2/main/domoticz.cpp.orig 2020-04-26 15:49:25.000000000 +0200
+++ domoticz-2020.2/main/domoticz.cpp 2021-04-10 16:50:37.189198278 +0200
@@ -152,7 +152,7 @@
- bool g_bUseSyslog = false;
bool g_bRunAsDaemon = false;
+ bool g_bWritePidFile = false; // true when -pidfile is explicitly requested (with or without -daemon)
http::server::_eWebCompressionMode g_wwwCompressMode = http::server::WWW_USE_GZIP;
-bool g_bUseUpdater = true;
+bool g_bUseUpdater = false;
diff --git a/domoticz-tinyxpath.patch b/domoticz-tinyxpath.patch
index 15681aa..863cf83 100644
--- a/domoticz-tinyxpath.patch
+++ b/domoticz-tinyxpath.patch
@@ -21,9 +21,9 @@ index bc231d8f6..334f203a6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -365,22 +365,6 @@
- webserver/server.cpp
- webserver/Websockets.cpp
- webserver/WebsocketHandler.cpp
+ smtpclient/SMTPClient.cpp
+ tcpserver/TCPClient.cpp
+ tcpserver/TCPServer.cpp
-tinyxpath/action_store.cpp
-tinyxpath/htmlutil.cpp
-tinyxpath/lex_util.cpp
@@ -42,7 +42,7 @@ index bc231d8f6..334f203a6 100644
-tinyxpath/xpath_syntax.cpp
)
- add_executable(domoticz ${domoticz_SRCS})
+ # Create dependency targets BEFORE libwebem so it finds them via parent scope
@@ -682,6 +666,47 @@
ENDIF(LIBUSB_FOUND)
ENDIF(WITH_LIBUSB)
@@ -118,14 +118,17 @@ index bc231d8f6..334f203a6 100644
#endif
#include "DelayedLink.h"
---- a/hardware/plugins/Plugins.cpp 2020-03-22 09:16:16.000000000 -0500
-+++ b/hardware/plugins/Plugins.cpp 2020-03-24 13:45:46.056965796 -0500
-@@ -16,10 +16,11 @@
- #include "../../main/Logger.h"
+--- domoticz-2026.1/hardware/plugins/Plugins.cpp.orig 2026-03-25 07:39:37.000000000 +0100
++++ domoticz-2026.1/hardware/plugins/Plugins.cpp 2026-03-25 18:52:07.418726270 +0100
+@@ -19,13 +19,14 @@
#include "../../main/SQLHelper.h"
+ #include "../../main/json_helper.h"
#include "../../main/mainworker.h"
-#include "../../tinyxpath/tinyxml.h"
+ #include <algorithm>
+ #include <set>
+
#include "../../notifications/NotificationHelper.h"
+#include <tinyxml.h>
@@ -152,7 +155,7 @@ index bc231d8f6..334f203a6 100644
#include "../httpclient/HTTPClient.h"
-#include "../tinyxpath/tinyxml.h"
-#include "../tinyxpath/xpath_static.h"
- #include "../webserver/Base64.h"
+ #include <libwebem/Base64.h>
#include "../main/json_helper.h"
#include <sstream>
+#include <tinyxml.h>
@@ -200,7 +203,7 @@ index bc231d8f6..334f203a6 100644
#include "../notifications/NotificationHelper.h"
-#include "../tinyxpath/tinyxml.h"
+#include <tinyxml.h>
- #include "../webserver/Base64.h"
+ #include <libwebem/Base64.h>
#include "hardwaretypes.h"
#include <iostream>
--- domoticz-2023.2/hardware/Enever.cpp.orig 2023-07-21 17:23:44.000000000 +0200
@@ -211,7 +214,7 @@ index bc231d8f6..334f203a6 100644
#include "../notifications/NotificationHelper.h"
-#include "../tinyxpath/tinyxml.h"
+#include <tinyxml.h>
- #include "../webserver/Base64.h"
+ #include <libwebem/Base64.h>
#include "hardwaretypes.h"
#include <iostream>
--- domoticz-2024.1/hardware/MitsubishiWF.cpp.orig 2024-01-01 12:59:22.000000000 +0100
@@ -221,10 +224,43 @@ index bc231d8f6..334f203a6 100644
#include "../main/SQLHelper.h"
#include "../notifications/NotificationHelper.h"
-#include "../tinyxpath/tinyxml.h"
- #include "../webserver/Base64.h"
+ #include <libwebem/Base64.h>
#include "hardwaretypes.h"
#include <iostream>
+#include <tinyxml.h>
#ifdef _DEBUG
+--- domoticz-2026.1/main/WebServerCmds.cpp.orig 2026-03-25 07:39:37.000000000 +0100
++++ domoticz-2026.1/main/WebServerCmds.cpp 2026-03-25 19:49:47.548752272 +0100
+@@ -43,7 +43,7 @@
+ #ifdef ENABLE_PYTHON
+ #include "../hardware/plugins/Plugins.h"
+ #include "../hardware/plugins/PluginManager.h"
+-#include "../tinyxpath/tinyxml.h"
++#include <tinyxml.h>
+ #endif
+
+ #ifndef WIN32
+--- domoticz-2026.1/main/LuaHandler.cpp.orig 2026-03-25 07:39:37.000000000 +0100
++++ domoticz-2026.1/main/LuaHandler.cpp 2026-03-25 19:50:53.930111099 +0100
+@@ -10,7 +10,7 @@
+ #include <lauxlib.h>
+ }
+
+-#include "../tinyxpath/xpath_processor.h"
++#include <xpath_processor.h>
+
+ #include <json/json.h>
+ #include "SQLHelper.h"
+--- domoticz-2026.1/main/LuaCommon.cpp.orig 2026-03-25 07:39:37.000000000 +0100
++++ domoticz-2026.1/main/LuaCommon.cpp 2026-03-25 19:51:20.775979199 +0100
+@@ -10,7 +10,7 @@
+ #include <lauxlib.h>
+ }
+
+-#include "../tinyxpath/xpath_processor.h"
++#include <xpath_processor.h>
+
+ #include "json_helper.h"
+ #include "SQLHelper.h"
diff --git a/libwebem-minizip.patch b/libwebem-minizip.patch
new file mode 100644
index 0000000..63746c1
--- /dev/null
+++ b/libwebem-minizip.patch
@@ -0,0 +1,21 @@
+--- libwebem/CMakeLists.txt.orig 2026-03-21 19:30:59.000000000 +0100
++++ libwebem/CMakeLists.txt 2026-03-25 19:37:49.720088229 +0100
+@@ -166,8 +166,16 @@
+ if(minizip_FOUND)
+ target_link_libraries(webem PRIVATE minizip::minizip)
+ else()
+- message(WARNING "minizip not found - disabling ZIP support. Install minizip to enable it.")
+- target_compile_definitions(webem PUBLIC WEBSERVER_DONT_USE_ZIP)
++ find_package(PkgConfig)
++ pkg_check_modules(minizip REQUIRED minizip)
++ if(minizip_FOUND)
++ target_include_directories(webem PRIVATE ${minizip_INCLUDE_DIRS})
++ target_link_directories(webem PRIVATE ${minizip_LIBRARY_DIRS})
++ target_link_libraries(webem PRIVATE ${minizip_LIBRARIES})
++ else()
++ message(WARNING "minizip not found - disabling ZIP support. Install minizip to enable it.")
++ target_compile_definitions(webem PUBLIC WEBSERVER_DONT_USE_ZIP)
++ endif()
+ endif()
+ endif()
+ else()
diff --git a/libwebem-static.patch b/libwebem-static.patch
new file mode 100644
index 0000000..29b7312
--- /dev/null
+++ b/libwebem-static.patch
@@ -0,0 +1,19 @@
+--- libwebem/CMakeLists.txt.orig 2026-03-25 20:47:51.707919529 +0100
++++ libwebem/CMakeLists.txt 2026-03-25 20:48:44.120955690 +0100
+@@ -21,7 +21,6 @@
+ option(WEBEM_ENABLE_GZIP "Enable GZip compression (requires zlib)" ON)
+ option(WEBEM_BUILD_EXAMPLES "Build example applications" OFF)
+ option(WEBEM_BUILD_TESTS "Build unit tests" OFF)
+-option(BUILD_SHARED_LIBS "Build shared library" OFF)
+
+ # Core source files (in src/)
+ set(WEBEM_SOURCES
+@@ -75,7 +74,7 @@
+ endif()
+
+ # Library target
+-add_library(webem ${WEBEM_SOURCES} ${WEBEM_PUBLIC_HEADERS} ${WEBEM_INTERNAL_HEADERS})
++add_library(webem STATIC ${WEBEM_SOURCES} ${WEBEM_PUBLIC_HEADERS} ${WEBEM_INTERNAL_HEADERS})
+ add_library(webem::webem ALIAS webem)
+
+ # Shared library versioning (for .so symlinks on Linux)
diff --git a/no-git.patch b/no-git.patch
index 74cebf2..efa6328 100644
--- a/no-git.patch
+++ b/no-git.patch
@@ -29,7 +29,7 @@
-# Update submodules as needed
- IF(GIT_SUBMODULE)
- message(STATUS "Submodule update")
-- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --remote --recursive
+- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- RESULT_VARIABLE GIT_SUBMOD_RESULT)
- IF(NOT GIT_SUBMOD_RESULT EQUAL "0")
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/domoticz.git/commitdiff/800a1daecf192032c366fca0235a65aa7209b10b
More information about the pld-cvs-commit
mailing list