[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