* [Buildroot] [PATCH v8 01/84] package/qt5/qt5knx: remove package
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 02/84] package/qt5/qt5opcua: " Bernd Kuhls
` (83 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot; +Cc: Angelo Compagnucci
Build is broken with the upcoming bump of OpenSSL to 4.0.3:
ssl/qsslsocket_openssl_symbols.cpp: In function 'QDateTime QKnxPrivate::q_getTimeFromASN1(const ASN1_TIME*)':
ssl/qsslsocket_openssl_symbols.cpp:1352:31: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1352 | size_t lTimeLength = aTime->length;
ssl/qsslsocket_openssl_symbols.cpp:1353:35: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1353 | char *pString = (char *) aTime->data;
ssl/qsslsocket_openssl_symbols.cpp:1355:14: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1355 | if (aTime->type == V_ASN1_UTCTIME) {
ssl/qsslsocket_openssl_symbols.cpp:1415:21: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1415 | } else if (aTime->type == V_ASN1_GENERALIZEDTIME) {
Last update of the package dates back to 2020:
https://github.com/qt/qtknx/branches/all
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
Config.in.legacy | 7 +++++++
DEVELOPERS | 1 -
package/qt5/Config.in | 1 -
package/qt5/qt5knx/Config.in | 12 ------------
package/qt5/qt5knx/qt5knx.hash | 6 ------
package/qt5/qt5knx/qt5knx.mk | 15 ---------------
6 files changed, 7 insertions(+), 35 deletions(-)
delete mode 100644 package/qt5/qt5knx/Config.in
delete mode 100644 package/qt5/qt5knx/qt5knx.hash
delete mode 100644 package/qt5/qt5knx/qt5knx.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 9ba6ab243e..0c248095e5 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2026.11"
+config BR2_PACKAGE_QT5KNX
+ bool "qt5knx has been removed"
+ select BR2_LEGACY
+ help
+ The qt5knx package has been removed because it is
+ incompatible with OpenSSL >= 4.x
+
config BR2_PACKAGE_PYTHON3_2TO3
bool "python module 2to3 has been removed"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 32ac338dc8..47cda03a86 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -254,7 +254,6 @@ F: package/python-spidev/
F: package/python-web2py/
F: package/qpdf/
F: package/qt5/qt5coap/
-F: package/qt5/qt5knx/
F: package/qt5/qt5mqtt/
F: package/rtl8723ds/
F: package/rtl8723ds-bt/
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index f1b16ff39b..b837601dc6 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -44,7 +44,6 @@ source "package/qt5/qt5doc/Config.in"
source "package/qt5/qt5enginio/Config.in"
source "package/qt5/qt5graphicaleffects/Config.in"
source "package/qt5/qt5imageformats/Config.in"
-source "package/qt5/qt5knx/Config.in"
source "package/qt5/qt5location/Config.in"
source "package/qt5/qt5lottie/Config.in"
source "package/qt5/qt5mqtt/Config.in"
diff --git a/package/qt5/qt5knx/Config.in b/package/qt5/qt5knx/Config.in
deleted file mode 100644
index 991e93c8cb..0000000000
--- a/package/qt5/qt5knx/Config.in
+++ /dev/null
@@ -1,12 +0,0 @@
-config BR2_PACKAGE_QT5KNX
- bool "qt5knx"
- help
- Qt is a cross-platform application and UI framework for
- developers using C++.
-
- The Qt KNX module implements the client side of a connection
- between a client and a KNXnet/IP server. This connection
- can be used to send messages to the KNX bus and to control
- the functionalities of the KNX devices.
-
- https://doc.qt.io/QtKNX/index.html
diff --git a/package/qt5/qt5knx/qt5knx.hash b/package/qt5/qt5knx/qt5knx.hash
deleted file mode 100644
index 2600a739bc..0000000000
--- a/package/qt5/qt5knx/qt5knx.hash
+++ /dev/null
@@ -1,6 +0,0 @@
-# Hash locally calculated
-sha256 1648bd6d7e5d8fc91aaa6db1bf9d2744d0385a087ba78a00080f99f1d5027c8b qt5knx-5.15.2-git4.tar.gz
-
-# Hashes for license files:
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3
-sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT
diff --git a/package/qt5/qt5knx/qt5knx.mk b/package/qt5/qt5knx/qt5knx.mk
deleted file mode 100644
index 91b99aaa87..0000000000
--- a/package/qt5/qt5knx/qt5knx.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-################################################################################
-#
-# qt5knx
-#
-################################################################################
-
-QT5KNX_VERSION = 5.15.2
-QT5KNX_SITE = https://code.qt.io/qt/qtknx.git
-QT5KNX_SITE_METHOD = git
-QT5KNX_INSTALL_STAGING = YES
-QT5KNX_LICENSE = GPL-3.0 with exception
-QT5KNX_LICENSE_FILES = LICENSE.GPL3 LICENSE.GPL3-EXCEPT
-QT5KNX_SYNC_QT_HEADERS = YES
-
-$(eval $(qmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 02/84] package/qt5/qt5opcua: remove package
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 01/84] package/qt5/qt5knx: remove package Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 03/84] package/qt6/qt6opcua: " Bernd Kuhls
` (82 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
Build is broken with the upcoming bump of OpenSSL to 4.0.3:
x509/openssl_symbols.cpp: In function 'QDateTime q_getTimeFromASN1(const ASN1_TIME*)':
x509/openssl_symbols.cpp:1244:31: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1244 | size_t lTimeLength = aTime->length;
x509/openssl_symbols.cpp:1245:35: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1245 | char *pString = (char *) aTime->data;
x509/openssl_symbols.cpp:1247:14: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1247 | if (aTime->type == V_ASN1_UTCTIME) {
x509/openssl_symbols.cpp:1307:21: error: invalid use of incomplete type 'const ASN1_TIME' {aka 'const struct asn1_string_st'}
1307 | } else if (aTime->type == V_ASN1_GENERALIZEDTIME) {
and mbed TLS since it was bumped from 2.28.10 to 3.6.3.1 with buildroot
commit 3481a9643fc7223e400ed877f08ade34d44e6b78 as seen by the
autobuilders.
The last release of the 5.x series dates back to 2020:
https://github.com/qt/qtopcua/releases/tag/v5.15.2
Fixes:
https://autobuild.buildroot.net/results/1f0/1f06b1efdde65fcd99ff79a63ed01b749788dec8/
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Andreas Naumann <dev@andin.de>
---
Config.in.legacy | 7 +++++++
DEVELOPERS | 1 -
package/qt5/Config.in | 1 -
package/qt5/qt5opcua/Config.in | 9 ---------
package/qt5/qt5opcua/qt5opcua.hash | 10 ----------
package/qt5/qt5opcua/qt5opcua.mk | 19 -------------------
6 files changed, 7 insertions(+), 40 deletions(-)
delete mode 100644 package/qt5/qt5opcua/Config.in
delete mode 100644 package/qt5/qt5opcua/qt5opcua.hash
delete mode 100644 package/qt5/qt5opcua/qt5opcua.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 0c248095e5..dd40ff4357 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2026.11"
+config BR2_PACKAGE_QT5OPCUA
+ bool "qt5opcua has been removed"
+ select BR2_LEGACY
+ help
+ The qt5opcua package has been removed because it is
+ incompatible with OpenSSL >= 4.x and mbed TLS 3.x
+
config BR2_PACKAGE_QT5KNX
bool "qt5knx has been removed"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 47cda03a86..8b29542988 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -203,7 +203,6 @@ N: Andreas Naumann <dev@andin.de>
F: package/evemu/
F: package/libevdev/
F: package/pkg-qmake.mk
-F: package/qt5/qt5opcua/
F: package/qt6/qt6opcua/
N: Andreas Ziegler <br025@umbiko.net>
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index b837601dc6..8b4903a5ab 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -48,7 +48,6 @@ source "package/qt5/qt5location/Config.in"
source "package/qt5/qt5lottie/Config.in"
source "package/qt5/qt5mqtt/Config.in"
source "package/qt5/qt5multimedia/Config.in"
-source "package/qt5/qt5opcua/Config.in"
source "package/qt5/qt5quickcontrols/Config.in"
source "package/qt5/qt5quickcontrols2/Config.in"
source "package/qt5/qt5quicktimeline/Config.in"
diff --git a/package/qt5/qt5opcua/Config.in b/package/qt5/qt5opcua/Config.in
deleted file mode 100644
index 2b0ba37af3..0000000000
--- a/package/qt5/qt5opcua/Config.in
+++ /dev/null
@@ -1,9 +0,0 @@
-config BR2_PACKAGE_QT5OPCUA
- bool "qt5opcua"
- depends on BR2_PACKAGE_QT5
- help
- Qt is a cross-platform application and UI framework for
- developers using C++.
-
- The Qt OPC UA module implements a Qt API to interact with
- OPC UA on top of a 3rd party OPC UA stack.
diff --git a/package/qt5/qt5opcua/qt5opcua.hash b/package/qt5/qt5opcua/qt5opcua.hash
deleted file mode 100644
index a325653f80..0000000000
--- a/package/qt5/qt5opcua/qt5opcua.hash
+++ /dev/null
@@ -1,10 +0,0 @@
-# Hash locally calculated
-sha256 fa8e0e87aae6f321aecac2605e6ac1b858ba1ed4db3c4a78a193eb7b547ab224 qt5opcua-5.15.2-git4.tar.gz
-
-# Hashes for license files:
-sha256 d93cc415382f0013088fa276d9cf82373badf244c78220a926f15ee46f0fe3c4 LICENSE-CC0
-sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3
-sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT
-sha256 6c3f3c31b93985f1b93bfbb35fb609d37281697d0efc220c9f91cf4b59eaabde LICENSE.GPLv2
-sha256 75d800e60c8d58c2e7f0338e8552ea6123a9ce7e5dd8e1cdf2095e013b737488 LICENSE.LGPLv3
diff --git a/package/qt5/qt5opcua/qt5opcua.mk b/package/qt5/qt5opcua/qt5opcua.mk
deleted file mode 100644
index ef51abddf8..0000000000
--- a/package/qt5/qt5opcua/qt5opcua.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-################################################################################
-#
-# qt5opcua
-#
-################################################################################
-
-QT5OPCUA_VERSION = 5.15.2
-QT5OPCUA_SITE = https://code.qt.io/qt/qtopcua.git
-QT5OPCUA_SITE_METHOD = git
-QT5OPCUA_INSTALL_STAGING = YES
-QT5OPCUA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) CC0-1.0
-QT5OPCUA_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL LICENSE-CC0
-QT5OPCUA_SYNC_QT_HEADERS = YES
-
-ifeq ($(BR2_PACKAGE_MBEDTLS),y)
-QT5OPCUA_DEPENDENCIES += mbedtls
-endif
-
-$(eval $(qmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 03/84] package/qt6/qt6opcua: remove package
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 01/84] package/qt5/qt5knx: remove package Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 02/84] package/qt5/qt5opcua: " Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 04/84] package/domoticz: bump version to 2026.3 Bernd Kuhls
` (81 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
Build is broken with the upcoming bump of OpenSSL to 4.0.3.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Andreas Naumann <dev@andin.de>
---
Config.in.legacy | 7 ++++++
DEVELOPERS | 1 -
package/qt6/Config.in | 1 -
package/qt6/qt6opcua/Config.in | 14 -----------
package/qt6/qt6opcua/qt6opcua.hash | 10 --------
package/qt6/qt6opcua/qt6opcua.mk | 40 ------------------------------
6 files changed, 7 insertions(+), 66 deletions(-)
delete mode 100644 package/qt6/qt6opcua/Config.in
delete mode 100644 package/qt6/qt6opcua/qt6opcua.hash
delete mode 100644 package/qt6/qt6opcua/qt6opcua.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index dd40ff4357..0493087ae6 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2026.11"
+config BR2_PACKAGE_QT6OPCUA
+ bool "qt6opcua has been removed"
+ select BR2_LEGACY
+ help
+ The qt6opcua package has been removed because it is
+ incompatible with OpenSSL >= 4.x and mbed TLS 3.x
+
config BR2_PACKAGE_QT5OPCUA
bool "qt5opcua has been removed"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 8b29542988..9f5cc3819a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -203,7 +203,6 @@ N: Andreas Naumann <dev@andin.de>
F: package/evemu/
F: package/libevdev/
F: package/pkg-qmake.mk
-F: package/qt6/qt6opcua/
N: Andreas Ziegler <br025@umbiko.net>
F: package/mpd/
diff --git a/package/qt6/Config.in b/package/qt6/Config.in
index d6ee9f3ea3..31fa4582d2 100644
--- a/package/qt6/Config.in
+++ b/package/qt6/Config.in
@@ -52,7 +52,6 @@ source "package/qt6/qt6grpc/Config.in"
source "package/qt6/qt6languageserver/Config.in"
source "package/qt6/qt6mqtt/Config.in"
source "package/qt6/qt6multimedia/Config.in"
-source "package/qt6/qt6opcua/Config.in"
source "package/qt6/qt6positioning/Config.in"
source "package/qt6/qt6quick3d/Config.in"
source "package/qt6/qt6quicktimeline/Config.in"
diff --git a/package/qt6/qt6opcua/Config.in b/package/qt6/qt6opcua/Config.in
deleted file mode 100644
index 9b5359dd4c..0000000000
--- a/package/qt6/qt6opcua/Config.in
+++ /dev/null
@@ -1,14 +0,0 @@
-config BR2_PACKAGE_QT6OPCUA
- bool "qt6opcua"
- select BR2_PACKAGE_QT6BASE_NETWORK
- # qt6opcua needs host-qt6opcua, and host-qt6opcua needs
- # network support in qt6base.
- select BR2_PACKAGE_HOST_QT6BASE_NETWORK
-
- help
- Qt is a cross-platform application and UI framework for
- developers using C++.
-
- This package corresponds to the qt6opcua module.
-
- https://doc.qt.io/qt-6/qtopcua-index.html
diff --git a/package/qt6/qt6opcua/qt6opcua.hash b/package/qt6/qt6opcua/qt6opcua.hash
deleted file mode 100644
index e05212eaa8..0000000000
--- a/package/qt6/qt6opcua/qt6opcua.hash
+++ /dev/null
@@ -1,10 +0,0 @@
-# Locally computed
-sha256 41982d99b93bfde68f9ee5997376cd64f62d0e7cdca1a08e582a034840528ca1 qt6opcua-6.11.2-git4.tar.gz
-
-# Hashes for license files
-sha256 9f0490f18656c6f2435bd14f603ef0c96434d1825615363dce43abb42ed1dcce LICENSES/BSD-3-Clause.txt
-sha256 110535522396708cea37c72a802c5e7e81391139f5f7985631c93ef242b206a4 LICENSES/GFDL-1.3-no-invariants-only.txt
-sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0-only.txt
-sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSES/GPL-3.0-only.txt
-sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSES/LGPL-3.0-only.txt
-sha256 40678d338ce53cd93f8b22b281a2ecbcaa3ee65ce60b25ffb0c462b0530846b2 LICENSES/Qt-GPL-exception-1.0.txt
diff --git a/package/qt6/qt6opcua/qt6opcua.mk b/package/qt6/qt6opcua/qt6opcua.mk
deleted file mode 100644
index 28771ba8a5..0000000000
--- a/package/qt6/qt6opcua/qt6opcua.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-################################################################################
-#
-# qt6opcua
-#
-################################################################################
-
-QT6OPCUA_VERSION = $(QT6_VERSION)
-QT6OPCUA_SITE = $(QT6_GIT)/qt/qtopcua.git
-QT6OPCUA_SITE_METHOD = git
-QT6OPCUA_INSTALL_STAGING = YES
-QT6OPCUA_SUPPORTS_IN_SOURCE_BUILD = NO
-
-QT6OPCUA_CMAKE_BACKEND = ninja
-
-QT6OPCUA_LICENSE = \
- GPL-2.0 or GPL-3.0 or LGPL-3.0, \
- GFDL-1.3 no invariants (docs), \
- BSD-3-Clause (examples + buildsystem)
-
-QT6OPCUA_LICENSE_FILES = \
- LICENSES/BSD-3-Clause.txt \
- LICENSES/GFDL-1.3-no-invariants-only.txt \
- LICENSES/GPL-2.0-only.txt \
- LICENSES/GPL-3.0-only.txt \
- LICENSES/LGPL-3.0-only.txt
-
-QT6OPCUA_CONF_OPTS = \
- -DQT_HOST_PATH=$(HOST_DIR) \
- -DBUILD_WITH_PCH=OFF
-
-QT6OPCUA_DEPENDENCIES = \
- qt6base \
- host-qt6opcua
-
-ifeq ($(BR2_PACKAGE_OPENSSL),y)
-QT6OPCUA_DEPENDENCIES += openssl
-endif
-
-$(eval $(cmake-package))
-$(eval $(host-cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 04/84] package/domoticz: bump version to 2026.3
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (2 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 03/84] package/qt6/qt6opcua: " Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 05/84] package/libtorrent-rasterbar: bump version to 2.1.1 Bernd Kuhls
` (80 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Added new dependency jwt-cpp needed since 2025.1:
https://github.com/domoticz/domoticz/commit/b30d9e9436ad428a2cbfd1fbb273461bdbf50a82
Added _EXTRA_DOWNLOAD for libwebem after its split from domoticz:
https://github.com/domoticz/domoticz/commit/7de4834e9959e8a9a21a2b82bb7700ea5af6e618
to avoid fetching git submodules. Use version number from upstream repo:
https://github.com/domoticz/domoticz/tree/2026.3/extern
Raised minimum gcc version because libwebem depends on c++17:
https://github.com/domoticz/libwebem/blob/master/README.md
Removed configure option USE_BUILTIN_MQTT due to its upstream removal:
https://github.com/domoticz/domoticz/commit/be95eec094bf524c1ab011eebcd797d3b19b17fc
Link to libatomic to fix a build error
output/per-package/domoticz/host/opt/ext-toolchain/bin/../lib/gcc/arc-buildroot-linux-uclibc/15.3.0/../../../../arc-buildroot-linux-uclibc/bin/ld:
CMakeFiles/domoticz.dir/hardware/Matter.cpp.o:
undefined reference to symbol '__atomic_load_8@@LIBATOMIC_1.0'
detected by the Gitlab pipelines which is introduced by upstream
commit
https://github.com/domoticz/domoticz/commit/ec5488a7df963af4b260a92bfecea53edc20b136
that added hardware/Matter.cpp in version 2026.2.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fabrice.fontaine@orange.com>
---
package/domoticz/Config.in | 7 ++++---
package/domoticz/domoticz.hash | 3 ++-
package/domoticz/domoticz.mk | 27 +++++++++++++++++++++++----
3 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in
index a0e69a7601..2af63baecf 100644
--- a/package/domoticz/Config.in
+++ b/package/domoticz/Config.in
@@ -2,7 +2,7 @@ config BR2_PACKAGE_DOMOTICZ
bool "domoticz"
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
# pthread_condattr_setclock
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mosquitto
depends on BR2_INSTALL_LIBSTDCPP
@@ -17,6 +17,7 @@ config BR2_PACKAGE_DOMOTICZ
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_CEREAL
select BR2_PACKAGE_JSONCPP
+ select BR2_PACKAGE_JWT_CPP
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_MINIZIP_ZLIB
select BR2_PACKAGE_MOSQUITTO
@@ -32,11 +33,11 @@ config BR2_PACKAGE_DOMOTICZ
http://domoticz.com
-comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library"
+comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 7, NPTL, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
!BR2_PACKAGE_LUA_5_3
diff --git a/package/domoticz/domoticz.hash b/package/domoticz/domoticz.hash
index ae86a67b79..fc3904ade7 100644
--- a/package/domoticz/domoticz.hash
+++ b/package/domoticz/domoticz.hash
@@ -1,3 +1,4 @@
# Locally computed:
-sha256 d87113d7cacd0b52b9126fcc1ef24e140a4f7042d5bc6262e86e4b4752f5cf38 domoticz-2024.4.tar.gz
+sha256 10053191b4f6becdf244d2a416b9e655c91d357b51dd8280832c6e36f7d5d5c7 domoticz-2026.3.tar.gz
+sha256 937e31bfb4b414bb33e70cad1403afd023dfff6cebba3213ec62a9c91525dcab libwebem-9126af0ce3456c24b936dfb20d1b5a8bdb797104.tar.gz
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt
diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk
index 95d3335adb..5387076b97 100644
--- a/package/domoticz/domoticz.mk
+++ b/package/domoticz/domoticz.mk
@@ -4,16 +4,30 @@
#
################################################################################
-DOMOTICZ_VERSION = 2024.4
+DOMOTICZ_VERSION = 2026.3
DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION))
DOMOTICZ_LICENSE = GPL-3.0
DOMOTICZ_LICENSE_FILES = License.txt
DOMOTICZ_CPE_ID_VENDOR = domoticz
+
+DOMOTICZ_LIBWEBEM_VERSION = 9126af0ce3456c24b936dfb20d1b5a8bdb797104
+DOMOTICZ_EXTRA_DOWNLOADS = \
+ $(call github,domoticz,libwebem,$(DOMOTICZ_LIBWEBEM_VERSION))/libwebem-$(DOMOTICZ_LIBWEBEM_VERSION).tar.gz
+
+define DOMOTICZ_INSTALL_SUBPROJECTS
+ rm -rf $(@D)/extern/libwebem
+ mkdir -p $(@D)/extern/libwebem
+ $(TAR) --strip-components=1 -C $(@D)/extern/libwebem \
+ -xf $(DOMOTICZ_DL_DIR)/libwebem-$(DOMOTICZ_LIBWEBEM_VERSION).tar.gz
+endef
+DOMOTICZ_POST_EXTRACT_HOOKS += DOMOTICZ_INSTALL_SUBPROJECTS
+
DOMOTICZ_DEPENDENCIES = \
boost \
cereal \
host-pkgconf \
jsoncpp \
+ jwt-cpp \
libcurl \
lua \
minizip-zlib \
@@ -25,6 +39,11 @@ DOMOTICZ_DEPENDENCIES = \
# Disable precompiled header as it needs cmake >= 3.16
DOMOTICZ_CONF_OPTS = -DUSE_PRECOMPILED_HEADER=OFF
+# Uses __atomic_load_8
+ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
+DOMOTICZ_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
+endif
+
# Due to the dependency on mosquitto, domoticz depends on
# !BR2_STATIC_LIBS so set USE_STATIC_BOOST and USE_OPENSSL_STATIC to OFF
DOMOTICZ_CONF_OPTS += \
@@ -32,12 +51,12 @@ DOMOTICZ_CONF_OPTS += \
-DUSE_OPENSSL_STATIC=OFF
# Do not use any built-in libraries which are enabled by default for
-# jsoncpp, fmt, minizip, sqlite and mqtt
+# jsoncpp, jwt-cpp, minizip and sqlite
DOMOTICZ_CONF_OPTS += \
-DUSE_BUILTIN_JSONCPP=OFF \
+ -DUSE_BUILTIN_JWTCPP=OFF \
-DUSE_BUILTIN_MINIZIP=OFF \
- -DUSE_BUILTIN_SQLITE=OFF \
- -DUSE_BUILTIN_MQTT=OFF
+ -DUSE_BUILTIN_SQLITE=OFF
ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
DOMOTICZ_DEPENDENCIES += libexecinfo
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 05/84] package/libtorrent-rasterbar: bump version to 2.1.1
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (3 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 04/84] package/domoticz: bump version to 2026.3 Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-10 7:19 ` Thomas Petazzoni via buildroot
2026-10-06 16:19 ` [Buildroot] [PATCH v8 06/84] package/boost: bump version to 1.92.0 Bernd Kuhls
` (79 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot; +Cc: Philipp Richter
https://github.com/arvidn/libtorrent/blob/v2.1.1/ChangeLog
Switched to sha256 tarball hash provided by upstream.
Updated license hash due to copyright year bumps:
https://github.com/arvidn/libtorrent/commit/d3f7a363c2a413f4b3b4ddfd6cbe5a3208016b1c
https://github.com/arvidn/libtorrent/commit/fb2ab9946a130df7b5ee290ec363aa2214256e00
Added patch 0001 to fix a build error with gcc-9.3.0 detected by the
Gitlab pipelines which would be introduced by this bump.
Raised minimum gcc version to 8 to fix a build error detected by the
Gitlab pipelines which would be introduced by this bump:
/builds/bkuhls/buildroot/br-test-pkg/bootlin-aarch64-glibc-old/build/libtorrent-rasterbar-2.1.1/include/libtorrent/string_view.hpp:13:23:
fatal error: string_view: No such file or directory
Added dependency to BR2_USE_MMU to fix a build error detected by the
Gitlab pipelines which would be introduced by this bump:
/builds/bkuhls/buildroot/br-test-pkg/bootlin-armv7m-uclibc/build/libtorrent-rasterbar-2.1.1/src/mmap.cpp:283:19:
error: ‘::madvise’ has not been declared; did you mean ‘advise’?
Switched build system to cmake due to upstream removal of autotools:
https://github.com/arvidn/libtorrent/commit/d7db28663d3b6827c2fa8d5a44fad7c73828108a
Added new configure option webtorrent
https://github.com/arvidn/libtorrent/commit/4ef8be818fea440c921c39e5f90e5818a4749086
to disable the dependency to OpenSSL for libdatachannel:
https://github.com/paullouisageneau/libdatachannel/blob/a02b751917ac8afc8c58dc6f4461d25ff9465d48/CMakeLists.txt#L452
which was added to libtorrent-rasterbar in version 2.1.0:
https://github.com/arvidn/libtorrent/commit/8d7d82b0330f16297b21e77a5d7c355813687e16
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Philipp Richter <richterphilipp.pops@gmail.com>
---
.../0001-fix-more-c-17-that-made-it-in.patch | 53 +++++++++++++++++++
package/libtorrent-rasterbar/Config.in | 8 +--
.../libtorrent-rasterbar.hash | 5 +-
.../libtorrent-rasterbar.mk | 22 +++-----
4 files changed, 67 insertions(+), 21 deletions(-)
create mode 100644 package/libtorrent-rasterbar/0001-fix-more-c-17-that-made-it-in.patch
diff --git a/package/libtorrent-rasterbar/0001-fix-more-c-17-that-made-it-in.patch b/package/libtorrent-rasterbar/0001-fix-more-c-17-that-made-it-in.patch
new file mode 100644
index 0000000000..afce75b9ff
--- /dev/null
+++ b/package/libtorrent-rasterbar/0001-fix-more-c-17-that-made-it-in.patch
@@ -0,0 +1,53 @@
+From 2638789b7048e17aba7cc8674305f36bd349c795 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Mon, 14 Sep 2026 17:31:24 +0200
+Subject: [PATCH] fix more c++17 that made it in
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Patch was inspired by https://github.com/arvidn/libtorrent/pull/4805
+and fixes a build error with gcc-9.3.0
+
+buildroot/output/build/libtorrent-rasterbar-2.1.1/src/torrent_info.cpp:855:16:
+ error: function ‘libtorrent::torrent_info& libtorrent::torrent_info::operator=(libtorrent::torrent_info&&)’
+ defaulted on its redeclaration with an exception-specification that
+ differs from the implicit exception-specification ‘’
+
+Upstream: https://github.com/arvidn/libtorrent/pull/8869
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ include/libtorrent/torrent_info.hpp | 2 +-
+ src/torrent_info.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/libtorrent/torrent_info.hpp b/include/libtorrent/torrent_info.hpp
+index 8843179a2..add61c2d7 100644
+--- a/include/libtorrent/torrent_info.hpp
++++ b/include/libtorrent/torrent_info.hpp
+@@ -213,7 +213,7 @@ TORRENT_VERSION_NAMESPACE_4
+
+ // hidden
+ torrent_info& operator=(torrent_info const&) = delete;
+- torrent_info& operator=(torrent_info&&) noexcept;
++ torrent_info& operator=(torrent_info&&);
+
+ // The file_storage object contains the information on how to map the
+ // pieces to files. It is separated from the torrent_info object as the
+diff --git a/src/torrent_info.cpp b/src/torrent_info.cpp
+index 0a4b90b04..6fe584c39 100644
+--- a/src/torrent_info.cpp
++++ b/src/torrent_info.cpp
+@@ -856,7 +856,7 @@ namespace {
+ TORRENT_VERSION_NAMESPACE_4
+
+ torrent_info::torrent_info(torrent_info const&) = default;
+- torrent_info& torrent_info::operator=(torrent_info&&) noexcept = default;
++ torrent_info& torrent_info::operator=(torrent_info&&) = default;
+
+ #if TORRENT_ABI_VERSION < 4
+ void torrent_info::remap_files(file_storage const& f)
+--
+2.47.3
+
diff --git a/package/libtorrent-rasterbar/Config.in b/package/libtorrent-rasterbar/Config.in
index 459edc1be5..d78f9ac206 100644
--- a/package/libtorrent-rasterbar/Config.in
+++ b/package/libtorrent-rasterbar/Config.in
@@ -1,8 +1,9 @@
-comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
+comment "libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 8"
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+ depends on BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
comment "libtorrent-rasterbar needs exception_ptr"
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
@@ -11,9 +12,10 @@ comment "libtorrent-rasterbar needs exception_ptr"
config BR2_PACKAGE_LIBTORRENT_RASTERBAR
bool "libtorrent-rasterbar"
depends on BR2_INSTALL_LIBSTDCPP # boost
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # string_view
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
depends on BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK
+ depends on BR2_USE_MMU # madvise()
depends on BR2_USE_WCHAR # boost
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
select BR2_PACKAGE_BOOST
diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash
index 6b6175d9de..19f11665e6 100644
--- a/package/libtorrent-rasterbar/libtorrent-rasterbar.hash
+++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.hash
@@ -1,3 +1,4 @@
+# From https://github.com/arvidn/libtorrent/releases/tag/v2.1.1
+sha256 0f163516ecef2e3331500266751de3098835a3c3ae0c2290448046c632bc0e93 libtorrent-rasterbar-2.1.1.tar.gz
# Locally calculated
-sha256 ccbf8e8c21dc81635de95166b498922b4725f9725a23b2cfe2a6b2fead6fb9fc libtorrent-rasterbar-1.2.20.tar.gz
-sha256 f3a5dd1558cce616b12edad521427ec8976ce2bb0af33f7f359cfa648bf55ad8 COPYING
+sha256 f4b492afbde73d2f4e051050a619622876a13b77e7b8b6ea3ec2868a6929b31b COPYING
diff --git a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk
index 2cc24c487a..d71907b1be 100644
--- a/package/libtorrent-rasterbar/libtorrent-rasterbar.mk
+++ b/package/libtorrent-rasterbar/libtorrent-rasterbar.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBTORRENT_RASTERBAR_VERSION = 1.2.20
+LIBTORRENT_RASTERBAR_VERSION = 2.1.1
LIBTORRENT_RASTERBAR_SITE = \
https://github.com/arvidn/libtorrent/releases/download/v$(LIBTORRENT_RASTERBAR_VERSION)
LIBTORRENT_RASTERBAR_LICENSE = BSD-3-Clause
@@ -13,10 +13,7 @@ LIBTORRENT_RASTERBAR_CPE_ID_VENDOR = libtorrent
LIBTORRENT_RASTERBAR_CPE_ID_PRODUCT = libtorrent
LIBTORRENT_RASTERBAR_DEPENDENCIES = host-pkgconf boost
LIBTORRENT_RASTERBAR_INSTALL_STAGING = YES
-LIBTORRENT_RASTERBAR_CONF_OPTS = \
- --with-boost-libdir=$(STAGING_DIR)/usr/lib \
- --disable-invariant-checks
-LIBTORRENT_RASTERBAR_CXXFLAGS = $(TARGET_CXXFLAGS) -std=c++11
+LIBTORRENT_RASTERBAR_CXXFLAGS = $(TARGET_CXXFLAGS)
# Internal error, aborting at dwarf2cfi.c:2802 in connect_traces
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
@@ -28,20 +25,13 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
LIBTORRENT_RASTERBAR_CXXFLAGS += -O0
endif
-LIBTORRENT_RASTERBAR_CONF_OPTS += CXXFLAGS="$(LIBTORRENT_RASTERBAR_CXXFLAGS)"
-
-ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y)
-LIBTORRENT_RASTERBAR_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
-LIBTORRENT_RASTERBAR_CONF_OPTS += --with-libiconv
-else
-LIBTORRENT_RASTERBAR_CONF_OPTS += --without-libiconv
-endif
+LIBTORRENT_RASTERBAR_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(LIBTORRENT_RASTERBAR_CXXFLAGS)"
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBTORRENT_RASTERBAR_DEPENDENCIES += openssl
-LIBTORRENT_RASTERBAR_CONF_OPTS += --enable-encryption
+LIBTORRENT_RASTERBAR_CONF_OPTS += -Dencryption=ON -Dwebtorrent=ON
else
-LIBTORRENT_RASTERBAR_CONF_OPTS += --disable-encryption
+LIBTORRENT_RASTERBAR_CONF_OPTS += -Dencryption=OFF -Dwebtorrent=OFF
endif
-$(eval $(autotools-package))
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 06/84] package/boost: bump version to 1.92.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (4 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 05/84] package/libtorrent-rasterbar: bump version to 2.1.1 Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 07/84] package/boost: add new charconv and cobalt library Bernd Kuhls
` (78 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
https://www.boost.org/releases/1.92.0/
https://www.boost.org/releases/1.91.0/
https://www.boost.org/releases/1.90.0/
https://www.boost.org/releases/1.89.0/
https://www.boost.org/releases/1.88.0/
https://www.boost.org/releases/1.87.0/
https://www.boost.org/releases/1.86.0/
https://www.boost.org/releases/1.85.0/
https://www.boost.org/releases/1.84.0/
Removed patch which is included in this release.
Added patch 0001 to fix a build error introduced by upstream commit
https://github.com/boostorg/process/commit/406cd3ecf36c19b94b4376241a4b3b43d1eae308
first included in version 1.85.0.
Added patches 0002-0005 to fix more build errors detected by the Gitlab
pipelines.
Updated supported archs according to
https://www.boost.org/doc/libs/1_92_0/libs/context/doc/html/context/architectures.html
sparc64 passed Gitlab pipeline:
https://gitlab.com/bkuhls/buildroot/-/jobs/16491117298
loongarch64 passed this defconfig:
BR2_loongarch64=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_BOOST=y
BR2_PACKAGE_BOOST_CONTRACT=y
BR2_PACKAGE_BOOST_COROUTINE=y
BR2_PACKAGE_BOOST_DATE_TIME=y
BR2_PACKAGE_BOOST_EXCEPTION=y
BR2_PACKAGE_BOOST_FIBER=y
BR2_PACKAGE_BOOST_GRAPH=y
BR2_PACKAGE_BOOST_GRAPH_PARALLEL=y
BR2_PACKAGE_BOOST_IOSTREAMS=y
BR2_PACKAGE_BOOST_JSON=y
BR2_PACKAGE_BOOST_LOCALE=y
BR2_PACKAGE_BOOST_LOG=y
BR2_PACKAGE_BOOST_MATH=y
BR2_PACKAGE_BOOST_MPI=y
BR2_PACKAGE_BOOST_NOWIDE=y
BR2_PACKAGE_BOOST_PROGRAM_OPTIONS=y
BR2_PACKAGE_BOOST_STACKTRACE=y
BR2_PACKAGE_BOOST_SYSTEM=y
BR2_PACKAGE_BOOST_TEST=y
BR2_PACKAGE_BOOST_TIMER=y
BR2_PACKAGE_BOOST_TYPE_ERASURE=y
BR2_PACKAGE_BOOST_URL=y
BR2_PACKAGE_BOOST_WAVE=y
Updated module dependencies according to the Boost Dependency Report:
https://pdimov.github.io/boostdep-report/boost-1.92.0/module-overview.html
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
...xit_code-guard-static_asserts-on-MIP.patch | 59 +++++++++++++++++
.../0001-unordered-fix-copy-assign.patch | 22 -------
...-for-duplicate-definition-of-SIGLOST.patch | 30 +++++++++
package/boost/0003-Fix-build.patch | 39 +++++++++++
package/boost/0004-Fix-build.patch | 40 ++++++++++++
package/boost/0005-Fix-build.patch | 64 +++++++++++++++++++
package/boost/Config.in | 12 ++--
package/boost/boost.hash | 4 +-
package/boost/boost.mk | 2 +-
9 files changed, 242 insertions(+), 30 deletions(-)
create mode 100644 package/boost/0001-fix-process-v2-exit_code-guard-static_asserts-on-MIP.patch
delete mode 100644 package/boost/0001-unordered-fix-copy-assign.patch
create mode 100644 package/boost/0002-Add-check-for-duplicate-definition-of-SIGLOST.patch
create mode 100644 package/boost/0003-Fix-build.patch
create mode 100644 package/boost/0004-Fix-build.patch
create mode 100644 package/boost/0005-Fix-build.patch
diff --git a/package/boost/0001-fix-process-v2-exit_code-guard-static_asserts-on-MIP.patch b/package/boost/0001-fix-process-v2-exit_code-guard-static_asserts-on-MIP.patch
new file mode 100644
index 0000000000..3f96580e4e
--- /dev/null
+++ b/package/boost/0001-fix-process-v2-exit_code-guard-static_asserts-on-MIP.patch
@@ -0,0 +1,59 @@
+From 670ad64ea1f012bc06ed4d657e6b8a4b530abd82 Mon Sep 17 00:00:00 2001
+From: WXbet <57314510+WXbet@users.noreply.github.com>
+Date: Sat, 1 Aug 2026 17:01:19 +0200
+Subject: [PATCH] fix: process/v2/exit_code: guard static_asserts on MIPS
+
+glibc 2.44 added sysdeps/unix/sysv/linux/mips/bits/waitstatus.h
+(commit c19cdbf66ff62a4578ac2117d43ebb306ae36aeb) which defines
+WIFSTOPPED and WIFSIGNALED as `static inline int` functions rather
+than macros so that MIPS's SIGRTMAX=127 special-case (status 0x7f)
+can be handled. Since those inline functions are not constexpr, the
+four static_assert lines guarding still_active fail to compile on
+MIPS with
+
+ error: non-constant condition for static assertion
+ error: call to non-'constexpr' function 'int __WIFSTOPPED(int)'
+
+whenever env.cpp (or any other TU pulling exit_code.hpp) is compiled.
+
+Earlier glibc versions used the generic macro-based header on MIPS
+too and Boost.Process compiled fine there. musl has taken the same
+approach for MIPS since 2018 (musl commit 41c632824c...); this is the
+same class of problem previously reported for is_running.hpp / musl
+in issue #48, which was fixed by the v1 rewrite but resurfaced in
+v2's exit_code.hpp.
+
+The asserts are compile-time sanity checks on Boost's own still_active
+constant (0x17f); the semantics on MIPS are unchanged (WIFSTOPPED
+returns true, the other three return false, as intended). Guard the
+block with `#ifndef __mips__` so the checks keep firing on every port
+where they can, and are skipped only on the one arch where glibc
+implements the underlying primitives as inline functions.
+
+Upstream: https://github.com/boostorg/process/pull/565
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ boost/process/v2/exit_code.hpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/boost/process/v2/exit_code.hpp b/boost/process/v2/exit_code.hpp
+index 24e51fa..b87c544 100644
+--- a/boost/process/v2/exit_code.hpp
++++ b/boost/process/v2/exit_code.hpp
+@@ -73,10 +73,12 @@ typedef int native_exit_code_type;
+ namespace detail
+ {
+ constexpr native_exit_code_type still_active = 0x17f;
++#ifndef __mips__
+ static_assert(WIFSTOPPED(still_active), "Expected still_active to indicate WIFSTOPPED");
+ static_assert(!WIFEXITED(still_active), "Expected still_active to not indicate WIFEXITED");
+ static_assert(!WIFSIGNALED(still_active), "Expected still_active to not indicate WIFSIGNALED");
+ static_assert(!WIFCONTINUED(still_active), "Expected still_active to not indicate WIFCONTINUED");
++#endif
+ }
+
+ inline bool process_is_running(int code)
+--
+2.47.3
+
diff --git a/package/boost/0001-unordered-fix-copy-assign.patch b/package/boost/0001-unordered-fix-copy-assign.patch
deleted file mode 100644
index 670552535a..0000000000
--- a/package/boost/0001-unordered-fix-copy-assign.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream Patch for Unordered
-
-Prevent erroneous copying of groups data, update max load to properly propagate
-
-Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
-Upstream: https://github.com/boostorg/unordered/commit/067884a4e213352e7c81c441f1453c54735c39f3
-diff --git a/include/boost/unordered/detail/foa/core.hpp b/include/boost/unordered/detail/foa/core.hpp
-index 239d05d3..7ae9f2c8 100644
---- a/boost/unordered/detail/foa/core.hpp
-+++ b/boost/unordered/detail/foa/core.hpp
-@@ -1870,9 +1870,10 @@ private:
-
- void fast_copy_elements_from(const table_core& x)
- {
-- if(arrays.elements){
-+ if(arrays.elements&&x.arrays.elements){
- copy_elements_array_from(x);
- copy_groups_array_from(x);
-+ size_ctrl.ml=std::size_t(x.size_ctrl.ml);
- size_ctrl.size=std::size_t(x.size_ctrl.size);
- }
- }
diff --git a/package/boost/0002-Add-check-for-duplicate-definition-of-SIGLOST.patch b/package/boost/0002-Add-check-for-duplicate-definition-of-SIGLOST.patch
new file mode 100644
index 0000000000..56bb9cacb1
--- /dev/null
+++ b/package/boost/0002-Add-check-for-duplicate-definition-of-SIGLOST.patch
@@ -0,0 +1,30 @@
+From ea71ce1995ca861b1bbfacf01ed0d2e5fea50237 Mon Sep 17 00:00:00 2001
+From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
+Date: Tue, 17 Feb 2026 09:35:57 +0100
+Subject: [PATCH] Add check for duplicate definition of SIGLOST
+
+Closes #545
+
+Upstream: https://github.com/boostorg/process/commit/ea71ce1995ca861b1bbfacf01ed0d2e5fea50237
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libs/process/src/error.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libs/process/src/error.cpp b/libs/process/src/error.cpp
+index 3427072..0c93fb3 100644
+--- a/libs/process/src/error.cpp
++++ b/libs/process/src/error.cpp
+@@ -112,7 +112,7 @@ struct exit_code_category final : public error_category
+ # if defined(SIGKILL)
+ case SIGKILL: return "SIGKILL: Kill signal";
+ # endif
+-# if defined(SIGLOST)
++# if defined(SIGLOST) && SIGLOST != SIGPWR
+ case SIGLOST: return "SIGLOST: File lock lost (unused)";
+ # endif
+ # if defined(SIGPIPE)
+--
+2.47.3
+
diff --git a/package/boost/0003-Fix-build.patch b/package/boost/0003-Fix-build.patch
new file mode 100644
index 0000000000..10d81538f9
--- /dev/null
+++ b/package/boost/0003-Fix-build.patch
@@ -0,0 +1,39 @@
+From 22d487b7c02fab4e9633b8d9d3fada15c9ca70d0 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Sun, 13 Sep 2026 23:53:34 +0200
+Subject: [PATCH] Fix build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from ./boost/charconv/detail/fast_float/fast_float.hpp:11,
+ from output/build/boost-1.92.0/libs/charconv/build/../src/from_chars.cpp:16:
+./boost/charconv/detail/fast_float/float_common.hpp:349:20: error: conflicting declaration ‘constexpr const boost::uint64_t boost::charconv::detail::fast_float::binary_format_lookup_tables<double, U>::max_mantissa []’ [-Wtemplate-body]
+ 349 | constexpr uint64_t binary_format_lookup_tables<double, U>::max_mantissa[];
+
+./boost/charconv/detail/fast_float/float_common.hpp:318:34: note: previous declaration as ‘constexpr const uint64_t boost::charconv::detail::fast_float::binary_format_lookup_tables<double, U>::max_mantissa [24]’
+ 318 | static constexpr std::uint64_t max_mantissa[] = {
+
+Upstream: https://github.com/boostorg/charconv/pull/307
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ boost/charconv/detail/fast_float/float_common.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/boost/charconv/detail/fast_float/float_common.hpp b/boost/charconv/detail/fast_float/float_common.hpp
+index 0b9d3ae..627f97f 100644
+--- a/boost/charconv/detail/fast_float/float_common.hpp
++++ b/boost/charconv/detail/fast_float/float_common.hpp
+@@ -315,7 +315,7 @@ struct binary_format_lookup_tables<double, U> {
+
+ // Largest integer value v so that (5**index * v) <= 1<<53.
+ // 0x10000000000000 == 1 << 53
+- static constexpr std::uint64_t max_mantissa[] = {
++ static constexpr uint64_t max_mantissa[] = {
+ UINT64_C(0x10000000000000),
+ UINT64_C(0x10000000000000) / UINT64_C(5),
+ UINT64_C(0x10000000000000) / (UINT64_C(5) * UINT64_C(5)),
+--
+2.47.3
+
diff --git a/package/boost/0004-Fix-build.patch b/package/boost/0004-Fix-build.patch
new file mode 100644
index 0000000000..3c09d8bc5d
--- /dev/null
+++ b/package/boost/0004-Fix-build.patch
@@ -0,0 +1,40 @@
+From 3d5659f0a06b68864a2daed145c0897a4b18c893 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Mon, 14 Sep 2026 00:02:41 +0200
+Subject: [PATCH] Fix build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from ./boost/json/detail/charconv/detail/fast_float/fast_float.hpp:11,
+ from ./boost/json/detail/charconv/impl/from_chars.ipp:14,
+ from ./boost/json/src.hpp:59:
+./boost/json/detail/charconv/detail/fast_float/float_common.hpp:307:20: error: conflicting declaration ‘constexpr const boost::uint64_t boost::json::detail::charconv::detail::fast_float::binary_format_lookup_tables<double, U>::max_mantissa []’ [-Wtemplate-body]
+ 307 | constexpr uint64_t binary_format_lookup_tables<double, U>::max_mantissa[];
+
+./boost/json/detail/charconv/detail/fast_float/float_common.hpp:276:34: note: previous declaration as ‘constexpr const uint64_t boost::json::detail::charconv::detail::fast_float::binary_format_lookup_tables<double, U>::max_mantissa [24]’
+ 276 | static constexpr std::uint64_t max_mantissa[] = {
+
+Upstream: https://github.com/boostorg/json/pull/1197
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ boost/json/detail/charconv/detail/fast_float/float_common.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/boost/json/detail/charconv/detail/fast_float/float_common.hpp b/boost/json/detail/charconv/detail/fast_float/float_common.hpp
+index ef31140..a280095 100644
+--- a/boost/json/detail/charconv/detail/fast_float/float_common.hpp
++++ b/boost/json/detail/charconv/detail/fast_float/float_common.hpp
+@@ -273,7 +273,7 @@ struct binary_format_lookup_tables<double, U> {
+
+ // Largest integer value v so that (5**index * v) <= 1<<53.
+ // 0x10000000000000 == 1 << 53
+- static constexpr std::uint64_t max_mantissa[] = {
++ static constexpr uint64_t max_mantissa[] = {
+ UINT64_C(0x10000000000000),
+ UINT64_C(0x10000000000000) / UINT64_C(5),
+ UINT64_C(0x10000000000000) / (UINT64_C(5) * UINT64_C(5)),
+--
+2.47.3
+
diff --git a/package/boost/0005-Fix-build.patch b/package/boost/0005-Fix-build.patch
new file mode 100644
index 0000000000..0793283eb6
--- /dev/null
+++ b/package/boost/0005-Fix-build.patch
@@ -0,0 +1,64 @@
+From d51809b279440cd681f8adc4c03e954775fcdf50 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Mon, 14 Sep 2026 00:13:03 +0200
+Subject: [PATCH] Fix build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from ./boost/json/src.hpp:46,
+ from output/build/boost-1.92.0/libs/json/src/src.cpp:10:
+./boost/json/impl/value_stack.ipp:435:1: error: no declaration matches ‘void boost::json::value_stack::push_int64(boost::int64_t)’
+ 435 | value_stack::
+ | ^~~~~~~~~~~
+In file included from ./boost/json/detail/handler.hpp:18,
+ from ./boost/json/parser.hpp:17,
+ from ./boost/json.hpp:28,
+ from ./boost/json/src.hpp:27:
+./boost/json/value_stack.hpp:397:5: note: candidate is: ‘void boost::json::value_stack::push_int64(int64_t)’
+ 397 | push_int64(
+ | ^~~~~~~~~~
+./boost/json/value_stack.hpp:101:7: note: ‘class boost::json::value_stack’ defined here
+ 101 | class value_stack
+ | ^~~~~~~~~~~
+./boost/json/impl/value_stack.ipp:443:1: error: no declaration matches ‘void boost::json::value_stack::push_uint64(boost::uint64_t)’
+ 443 | value_stack::
+ | ^~~~~~~~~~~
+./boost/json/value_stack.hpp:411:5: note: candidate is: ‘void boost::json::value_stack::push_uint64(uint64_t)’
+ 411 | push_uint64(
+ | ^~~~~~~~~~~
+./boost/json/value_stack.hpp:101:7: note: ‘class boost::json::value_stack’ defined here
+ 101 | class value_stack
+
+Upstream: https://github.com/boostorg/json/pull/1197
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ boost/json/impl/value_stack.ipp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/boost/json/impl/value_stack.ipp b/boost/json/impl/value_stack.ipp
+index af1b107..4c3dbac 100644
+--- a/boost/json/impl/value_stack.ipp
++++ b/boost/json/impl/value_stack.ipp
+@@ -434,7 +434,7 @@ push_string(
+ void
+ value_stack::
+ push_int64(
+- int64_t i)
++ std::int64_t i)
+ {
+ st_.push(i, sp_);
+ }
+@@ -442,7 +442,7 @@ push_int64(
+ void
+ value_stack::
+ push_uint64(
+- uint64_t u)
++ std::uint64_t u)
+ {
+ st_.push(u, sp_);
+ }
+--
+2.47.3
+
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 7b78345798..da213dd2d3 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -41,9 +41,11 @@ config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM)
default y if (BR2_aarch64 || BR2_aarch64_be)
default y if BR2_i386
+ default y if BR2_loongarch64
default y if BR2_mips
default y if BR2_mipsel
default y if BR2_powerpc
+ default y if BR2_sparc64
default y if BR2_x86_64
config BR2_PACKAGE_BOOST_CONTEXT
@@ -73,9 +75,7 @@ config BR2_PACKAGE_BOOST_COROUTINE
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
- select BR2_PACKAGE_BOOST_CHRONO
select BR2_PACKAGE_BOOST_CONTEXT
- select BR2_PACKAGE_BOOST_THREAD
help
deprecated coroutine library, the non-deprecated coroutine2
library is a header-only library and does not need to be
@@ -154,6 +154,8 @@ config BR2_PACKAGE_BOOST_IOSTREAMS
bool "boost-iostreams"
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_BOOST_RANDOM
+ select BR2_PACKAGE_BOOST_REGEX
help
Boost.IOStreams provides a framework for defining streams,
stream buffers and i/o filters.
@@ -219,6 +221,7 @@ comment "boost-log needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_MATH
bool "boost-math"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+ select BR2_PACKAGE_BOOST_RANDOM
help
Boost.Math includes several contributions in the domain of
mathematics:
@@ -266,6 +269,7 @@ config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
config BR2_PACKAGE_BOOST_PYTHON
bool "boost-python"
depends on BR2_PACKAGE_PYTHON3
+ select BR2_PACKAGE_BOOST_GRAPH
help
The Boost Python Library is a framework for interfacing Python
and C++. It allows you to quickly and seamlessly expose C++
@@ -308,7 +312,6 @@ config BR2_PACKAGE_BOOST_SYSTEM
config BR2_PACKAGE_BOOST_TEST
bool "boost-test"
depends on BR2_USE_MMU # fork()
- select BR2_PACKAGE_BOOST_TIMER
help
Support for simple program testing, full unit testing, and for
program execution monitoring.
@@ -326,7 +329,6 @@ comment "boost-thread needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_TIMER
bool "boost-timer"
- select BR2_PACKAGE_BOOST_CHRONO
help
Event timer, progress timer, and progress display classes.
@@ -362,7 +364,7 @@ config BR2_PACKAGE_BOOST_WAVE
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_FILESYSTEM
- select BR2_PACKAGE_BOOST_THREAD
+ select BR2_PACKAGE_BOOST_SERIALIZATION
help
The Boost.Wave library is a Standards conformant, and highly
configurable implementation of the mandated C99/C++
diff --git a/package/boost/boost.hash b/package/boost/boost.hash
index 14403758ac..baf5fbd618 100644
--- a/package/boost/boost.hash
+++ b/package/boost/boost.hash
@@ -1,5 +1,5 @@
-# From https://www.boost.org/users/history/version_1_83_0.html
-sha256 6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e boost_1_83_0.tar.bz2
+# From https://www.boost.org/releases/1.92.0/
+sha256 5c1d40cb8e19adbf740a4ec2da35b3e58f3f5804b1dce44deb53df72193cbc6c boost_1_92_0.tar.bz2
# Locally computed
sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 1dcc4a4b3a..ed63a608ac 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BOOST_VERSION = 1.83.0
+BOOST_VERSION = 1.92.0
BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
BOOST_SITE = https://archives.boost.io/release/$(BOOST_VERSION)/source
BOOST_INSTALL_STAGING = YES
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 07/84] package/boost: add new charconv and cobalt library
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (5 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 06/84] package/boost: bump version to 1.92.0 Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 08/84] package/boost: add switch for boost-process Bernd Kuhls
` (77 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 29 +++++++++++++++++++++++++++++
package/boost/boost.mk | 6 +++++-
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index da213dd2d3..45b98ec0a2 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -22,11 +22,40 @@ config BR2_PACKAGE_BOOST_ATOMIC
help
C++11-style atomic<>.
+config BR2_PACKAGE_BOOST_CHARCONV
+ bool "boost-charconv"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+ help
+ An Implementation of <charconv> in C++11.
+
+comment "boost-charconv needs a toolchain w/ C++11, gcc>=4.9"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+
config BR2_PACKAGE_BOOST_CHRONO
bool "boost-chrono"
help
Useful time utilities. C++11.
+config BR2_PACKAGE_BOOST_COBALT
+ bool "boost-cobalt"
+ depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
+ select BR2_PACKAGE_BOOST_CONTEXT
+ select BR2_PACKAGE_BOOST_CONTAINER
+ select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_EXCEPTION
+ help
+ Basic algorithms and types for C++20 coroutines.
+
+comment "boost-cobalt needs a toolchain w/ C++20, gcc>=10"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10
+
+comment "boost-cobalt needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+
+
config BR2_PACKAGE_BOOST_CONTAINER
bool "boost-container"
help
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index ed63a608ac..87a576f277 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -40,7 +40,9 @@ endif
HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
--without-libraries=$(subst $(space),$(comma),\
atomic \
+ charconv \
chrono \
+ cobalt \
container \
context \
contract \
@@ -68,7 +70,7 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
timer \
type_erasure \
url \
- wave\
+ wave \
)
HOST_BOOST_OPTS += toolset=gcc threading=multi \
@@ -120,7 +122,9 @@ BOOST_DEPENDENCIES += $(if $(BR2_ENABLE_LOCALE),,libiconv)
endif
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHARCONV),,charconv)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COBALT),,cobalt)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract)
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 08/84] package/boost: add switch for boost-process
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (6 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 07/84] package/boost: add new charconv and cobalt library Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 09/84] package/boost: program_options needs container Bernd Kuhls
` (76 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
since boost 1.86 this is a buildable module.
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 22 ++++++++++++++++++++++
package/boost/boost.mk | 2 ++
2 files changed, 24 insertions(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 45b98ec0a2..736255a33c 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -287,6 +287,28 @@ config BR2_PACKAGE_BOOST_NOWIDE
help
Library for cross-platform, unicode aware programming.
+config BR2_PACKAGE_BOOST_PROCESS
+ bool "boost-process"
+ depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ select BR2_PACKAGE_BOOST_CONTAINER
+ select BR2_PACKAGE_BOOST_CONTEXT
+ select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_FILESYSTEM
+ help
+ Library to create processes in a portable way.
+
+comment "boost-process needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
+comment "boost-process needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
+ depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
bool "boost-program_options"
help
diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 87a576f277..37ec918aef 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -60,6 +60,7 @@ HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \
math \
mpi \
nowide \
+ process \
program_options \
python \
random \
@@ -142,6 +143,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_NOWIDE),,nowide)
+BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROCESS),,process)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random)
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 09/84] package/boost: program_options needs container
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (7 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 08/84] package/boost: add switch for boost-process Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 10/84] package/boost: thread needs more dependencies Bernd Kuhls
` (75 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 736255a33c..406a5b4d6c 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -311,6 +311,7 @@ comment "boost-process needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
bool "boost-program_options"
+ select BR2_PACKAGE_BOOST_CONTAINER
help
The program_options library allows program developers to
obtain program options, that is (name, value) pairs from the
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 10/84] package/boost: thread needs more dependencies
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (8 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 09/84] package/boost: program_options needs container Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 11/84] package/boost: contract needs thread Bernd Kuhls
` (74 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 406a5b4d6c..70e99aef11 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -370,13 +370,18 @@ config BR2_PACKAGE_BOOST_TEST
config BR2_PACKAGE_BOOST_THREAD
bool "boost-thread"
- depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
+ select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_CHRONO
+ select BR2_PACKAGE_BOOST_CONTAINER
+ select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_EXCEPTION
help
Portable C++ multi-threading. C++11, C++14.
comment "boost-thread needs a toolchain not affected by GCC bug 64735"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_TIMER
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 11/84] package/boost: contract needs thread
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (9 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 10/84] package/boost: thread needs more dependencies Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 12/84] package/boost: fix coroutine dependencies Bernd Kuhls
` (73 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 70e99aef11..929a9c3869 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -90,8 +90,9 @@ comment "boost-context needs a toolchain w/ C++11, gcc>=4.8"
config BR2_PACKAGE_BOOST_CONTRACT
bool "boost-contract"
- # pthread_condattr_setclock
- depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_condattr_setclock
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread -> atomic
+ select BR2_PACKAGE_BOOST_THREAD
help
Contract programming for C++.
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 12/84] package/boost: fix coroutine dependencies
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (10 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 11/84] package/boost: contract needs thread Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 13/84] package/boost: fiber needs exception Bernd Kuhls
` (72 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 929a9c3869..f22f263538 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -102,21 +102,21 @@ comment "boost-contract needs a toolchain w/ NPTL"
config BR2_PACKAGE_BOOST_COROUTINE
bool "boost-coroutine"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-context
- depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context, boost-thread
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context
select BR2_PACKAGE_BOOST_CONTEXT
+ select BR2_PACKAGE_BOOST_EXCEPTION
help
deprecated coroutine library, the non-deprecated coroutine2
library is a header-only library and does not need to be
selected.
comment "boost-coroutine needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
comment "boost-coroutine needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_DATE_TIME
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 13/84] package/boost: fiber needs exception
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (11 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 12/84] package/boost: fix coroutine dependencies Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 14/84] package/boost: update graph dependencies Bernd Kuhls
` (71 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index f22f263538..362cd6c95c 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -147,6 +147,7 @@ config BR2_PACKAGE_BOOST_FIBER
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
select BR2_PACKAGE_BOOST_CONTEXT
select BR2_PACKAGE_BOOST_FILESYSTEM
+ select BR2_PACKAGE_BOOST_EXCEPTION
help
C++11 userland threads library.
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 14/84] package/boost: update graph dependencies
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (12 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 13/84] package/boost: fiber needs exception Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 15/84] package/boost: math needs container Bernd Kuhls
` (70 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
needs match, serialization and thread
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 362cd6c95c..63c50d9835 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -170,7 +170,12 @@ config BR2_PACKAGE_BOOST_FILESYSTEM
config BR2_PACKAGE_BOOST_GRAPH
bool "boost-graph"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ select BR2_PACKAGE_BOOST_MATH
select BR2_PACKAGE_BOOST_REGEX
+ select BR2_PACKAGE_BOOST_SERIALIZATION
+ select BR2_PACKAGE_BOOST_THREAD
help
The BGL graph interface and graph components are generic, in
the same sense as the the Standard Template Library (STL).
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 15/84] package/boost: math needs container
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (13 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 14/84] package/boost: update graph dependencies Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 16/84] package/boost: log needs serialization Bernd Kuhls
` (69 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 63c50d9835..e88f497f6a 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -257,6 +257,7 @@ comment "boost-log needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_MATH
bool "boost-math"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+ select BR2_PACKAGE_BOOST_CONTAINER
select BR2_PACKAGE_BOOST_RANDOM
help
Boost.Math includes several contributions in the domain of
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 16/84] package/boost: log needs serialization
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (14 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 15/84] package/boost: math needs container Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 17/84] package/boost: test needs exception Bernd Kuhls
` (68 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index e88f497f6a..5ab351d8e4 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -243,6 +243,7 @@ config BR2_PACKAGE_BOOST_LOG
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_REGEX
+ select BR2_PACKAGE_BOOST_SERIALIZATION
select BR2_PACKAGE_BOOST_THREAD
help
Logging library.
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 17/84] package/boost: test needs exception
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (15 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 16/84] package/boost: log needs serialization Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:19 ` [Buildroot] [PATCH v8 18/84] package/boost: wave needs thread Bernd Kuhls
` (67 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 5ab351d8e4..0f52bbd475 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -373,6 +373,7 @@ config BR2_PACKAGE_BOOST_SYSTEM
config BR2_PACKAGE_BOOST_TEST
bool "boost-test"
depends on BR2_USE_MMU # fork()
+ select BR2_PACKAGE_BOOST_EXCEPTION
help
Support for simple program testing, full unit testing, and for
program execution monitoring.
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 18/84] package/boost: wave needs thread
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (16 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 17/84] package/boost: test needs exception Bernd Kuhls
@ 2026-10-06 16:19 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 19/84] package/boost: update locale dependencies Bernd Kuhls
` (66 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:19 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 0f52bbd475..d4626bf79a 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -432,6 +432,7 @@ config BR2_PACKAGE_BOOST_WAVE
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_SERIALIZATION
+ select BR2_PACKAGE_BOOST_THREAD
help
The Boost.Wave library is a Standards conformant, and highly
configurable implementation of the mandated C99/C++
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 19/84] package/boost: update locale dependencies
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (17 preceding siblings ...)
2026-10-06 16:19 ` [Buildroot] [PATCH v8 18/84] package/boost: wave needs thread Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 20/84] package/boost: update C++ version dependencies Bernd Kuhls
` (65 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
- now always need thread
- charconv
this changed in boost 1.88.
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index d4626bf79a..93ba15df50 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -217,10 +217,11 @@ config BR2_PACKAGE_BOOST_LOCALE
# https://svn.boost.org/trac/boost/ticket/9685 for more
# details.
depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU)
- depends on !(BR2_TOOLCHAIN_HAS_GCC_BUG_64735 && BR2_PACKAGE_ICU) # boost-thread
- depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS \
- || !BR2_PACKAGE_ICU # boost-thread
- select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # charconv
+ select BR2_PACKAGE_BOOST_CHARCONV
+ select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
help
Provide localization and Unicode handling tools for C++.
@@ -232,7 +233,6 @@ comment "boost-locale needs a toolchain w/ dynamic library"
comment "boost-locale needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
- depends on BR2_PACKAGE_ICU
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
config BR2_PACKAGE_BOOST_LOG
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 20/84] package/boost: update C++ version dependencies
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (18 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 19/84] package/boost: update locale dependencies Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 21/84] package/boost: system: update description Bernd Kuhls
` (64 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Simon Dawson, Thomas Petazzoni
From: Michael Nosthoff <buildroot@heine.tech>
1.84: Atomic, Chrono, Filesystem, Log, Random, Stacktrace, Test and
Thread require C++11
1.85: Boost.System requires C++11
1.86: Boost.Graph requires C++14
1.88: Boost.JSON dropped support for GCC versions older than 5
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: James Hilliard <james.hilliard1@gmail.com>
Cc: Johan Derycke <johanderycke@gmail.com>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Simon Dawson <spdawson@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 90 +++++++++++++++++++++++++++++-
package/log4cxx/Config.in | 5 ++
package/python-libconfig/Config.in | 5 +-
package/resiprocate/Config.in | 4 ++
package/zmqpp/Config.in | 5 +-
5 files changed, 103 insertions(+), 6 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index 93ba15df50..dede9b946e 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -19,9 +19,13 @@ if BR2_PACKAGE_BOOST
config BR2_PACKAGE_BOOST_ATOMIC
bool "boost-atomic"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
C++11-style atomic<>.
+comment "boost-atomic needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_CHARCONV
bool "boost-charconv"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
@@ -33,9 +37,13 @@ comment "boost-charconv needs a toolchain w/ C++11, gcc>=4.9"
config BR2_PACKAGE_BOOST_CHRONO
bool "boost-chrono"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
Useful time utilities. C++11.
+comment "boost-chrono needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_COBALT
bool "boost-cobalt"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
@@ -55,7 +63,6 @@ comment "boost-cobalt needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
-
config BR2_PACKAGE_BOOST_CONTAINER
bool "boost-container"
help
@@ -92,6 +99,7 @@ config BR2_PACKAGE_BOOST_CONTRACT
bool "boost-contract"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_condattr_setclock
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread -> atomic
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-thread
select BR2_PACKAGE_BOOST_THREAD
help
Contract programming for C++.
@@ -99,6 +107,11 @@ config BR2_PACKAGE_BOOST_CONTRACT
comment "boost-contract needs a toolchain w/ NPTL"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+comment "boost-contract needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_COROUTINE
bool "boost-coroutine"
depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
@@ -163,15 +176,20 @@ comment "boost-fiber needs a toolchain not affected by GCC bug 64735"
config BR2_PACKAGE_BOOST_FILESYSTEM
bool "boost-filesystem"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
select BR2_PACKAGE_BOOST_ATOMIC
help
The Boost Filesystem Library provides portable facilities to
query and manipulate paths, files, and directories.
+comment "boost-filesystem needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_GRAPH
bool "boost-graph"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
select BR2_PACKAGE_BOOST_MATH
select BR2_PACKAGE_BOOST_REGEX
select BR2_PACKAGE_BOOST_SERIALIZATION
@@ -180,14 +198,22 @@ config BR2_PACKAGE_BOOST_GRAPH
The BGL graph interface and graph components are generic, in
the same sense as the the Standard Template Library (STL).
+comment "boost-graph needs a toolchain w/ C++14, gcc>=5.0"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
config BR2_PACKAGE_BOOST_GRAPH_PARALLEL
bool "boost-graph_parallel"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # boost-graph
help
The PBGL graph interface and graph components are generic, in
the same sense as the the Standard Template Library (STL).
+comment "boost-graph_parallel needs a toolchain w/ C++14, gcc>=5.0"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
config BR2_PACKAGE_BOOST_IOSTREAMS
bool "boost-iostreams"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-random
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_BOOST_RANDOM
@@ -196,8 +222,12 @@ config BR2_PACKAGE_BOOST_IOSTREAMS
Boost.IOStreams provides a framework for defining streams,
stream buffers and i/o filters.
+comment "boost-iostreams needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_JSON
bool "boost-json"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++11
select BR2_PACKAGE_BOOST_CONTAINER
help
Boost.JSON is a portable C++ library which provides containers
@@ -206,6 +236,9 @@ config BR2_PACKAGE_BOOST_JSON
To use the library "header-only" this option is not needed.
+comment "boost-json needs a toolchain w/ C++11, gcc>=5.0"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
config BR2_PACKAGE_BOOST_LOCALE
bool "boost-locale"
# When boost-locale is enabled with icu support, Boost no
@@ -231,6 +264,9 @@ comment "boost-locale needs a toolchain w/ dynamic library"
depends on BR2_PACKAGE_ICU
depends on BR2_STATIC_LIBS
+comment "boost-locale needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
comment "boost-locale needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
@@ -240,6 +276,7 @@ config BR2_PACKAGE_BOOST_LOG
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_REGEX
@@ -252,6 +289,11 @@ comment "boost-log needs a toolchain w/ NPTL"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+comment "boost-log needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
comment "boost-log needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
@@ -304,7 +346,7 @@ config BR2_PACKAGE_BOOST_PROCESS
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-filesystem
select BR2_PACKAGE_BOOST_CONTAINER
select BR2_PACKAGE_BOOST_CONTEXT
- select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_DATE_TIME
select BR2_PACKAGE_BOOST_FILESYSTEM
help
Library to create processes in a portable way.
@@ -330,6 +372,7 @@ config BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
config BR2_PACKAGE_BOOST_PYTHON
bool "boost-python"
depends on BR2_PACKAGE_PYTHON3
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # boost-graph
select BR2_PACKAGE_BOOST_GRAPH
help
The Boost Python Library is a framework for interfacing Python
@@ -337,11 +380,19 @@ config BR2_PACKAGE_BOOST_PYTHON
classes functions and objects to Python, and vice-versa,
using no special tools -- just your C++ compiler.
+comment "boost-python needs a toolchain w/ C++14, gcc>=5.0"
+ depends on BR2_PACKAGE_PYTHON3
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+
config BR2_PACKAGE_BOOST_RANDOM
bool "boost-random"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
A complete system for random number generation.
+comment "boost-random needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_REGEX
bool "boost-regex"
help
@@ -356,32 +407,47 @@ config BR2_PACKAGE_BOOST_SERIALIZATION
config BR2_PACKAGE_BOOST_STACKTRACE
bool "boost-stacktrace"
depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
Gather, store, copy and print backtraces.
comment "boost-stacktrace needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
+comment "boost-stacktrace needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_STATIC_LIBS
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_SYSTEM
bool "boost-system"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
help
Extensible Error Reporting.
This library is now header only. Building a stub library
is still supported for backward compatibility.
+comment "boost-system needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_TEST
bool "boost-test"
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
select BR2_PACKAGE_BOOST_EXCEPTION
help
Support for simple program testing, full unit testing, and for
program execution monitoring.
+comment "boost-test needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
config BR2_PACKAGE_BOOST_THREAD
bool "boost-thread"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
select BR2_PACKAGE_BOOST_ATOMIC
select BR2_PACKAGE_BOOST_CHRONO
select BR2_PACKAGE_BOOST_CONTAINER
@@ -390,6 +456,11 @@ config BR2_PACKAGE_BOOST_THREAD
help
Portable C++ multi-threading. C++11, C++14.
+comment "boost-thread needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
comment "boost-thread needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-atomic
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
@@ -403,10 +474,16 @@ config BR2_PACKAGE_BOOST_TYPE_ERASURE
bool "boost-type_erasure"
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-thread
select BR2_PACKAGE_BOOST_THREAD
help
Runtime polymorphism based on concepts.
+comment "boost-type_erasure needs a toolchain w/ C++11, gcc>=4.8"
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
comment "boost-type_erasure needs a toolchain not affected by GCC bug 64735"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
@@ -430,6 +507,7 @@ config BR2_PACKAGE_BOOST_WAVE
depends on !BR2_m68k_cf
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-filesystem
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_SERIALIZATION
select BR2_PACKAGE_BOOST_THREAD
@@ -439,7 +517,15 @@ config BR2_PACKAGE_BOOST_WAVE
preprocessor functionality packed behind an easy to use
iterator interface.
+comment "boost-wave needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_m68k_cf
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
+ depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-thread
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
comment "boost-wave needs a toolchain not affected by GCC bug 64735"
+ depends on !BR2_m68k_cf
+ depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
endif
diff --git a/package/log4cxx/Config.in b/package/log4cxx/Config.in
index 8305217a48..4eddc1a227 100644
--- a/package/log4cxx/Config.in
+++ b/package/log4cxx/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_LOG4CXX
depends on BR2_USE_WCHAR # mbsinit
depends on BR2_USE_MMU # apr
depends on BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost
depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # boost-thread
select BR2_PACKAGE_APR
@@ -30,6 +31,10 @@ comment "log4cxx needs a toolchain w/ wchar or gcc >= 7"
depends on !(BR2_USE_WCHAR || BR2_TOOLCHAIN_GCC_AT_LEAST_7)
depends on BR2_USE_MMU
+comment "log4cxx needs a toolchain w/ gcc >= 4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+ depends on BR2_USE_MMU
+
comment "log4cxx needs a toolchain not affected by GCC bug 64735"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
diff --git a/package/python-libconfig/Config.in b/package/python-libconfig/Config.in
index 00688719ee..f0d56602ac 100644
--- a/package/python-libconfig/Config.in
+++ b/package/python-libconfig/Config.in
@@ -1,6 +1,6 @@
-comment "python-libconfig needs a glibc or uClibc toolchain w/ C++, threads"
+comment "python-libconfig needs a glibc or uClibc toolchain w/ C++, threads, gcc>=5.0"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
- BR2_TOOLCHAIN_USES_MUSL
+ BR2_TOOLCHAIN_USES_MUSL || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
config BR2_PACKAGE_PYTHON_LIBCONFIG
bool "python-libconfig"
@@ -8,6 +8,7 @@ config BR2_PACKAGE_PYTHON_LIBCONFIG
depends on BR2_TOOLCHAIN_HAS_THREADS
# error: invalid use of incomplete type 'struct _IO_FILE'
depends on !BR2_TOOLCHAIN_USES_MUSL
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # boost-python -> boost-graph
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_PYTHON
select BR2_PACKAGE_LIBCONFIG
diff --git a/package/resiprocate/Config.in b/package/resiprocate/Config.in
index ba68ad8e59..584f8d9e86 100644
--- a/package/resiprocate/Config.in
+++ b/package/resiprocate/Config.in
@@ -32,6 +32,7 @@ config BR2_PACKAGE_RESIPROCATE_DTLS_SUPPORT
config BR2_PACKAGE_RESIPROCATE_REND
bool "resiprocate-rend"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost-system
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_OPENSSL
@@ -40,4 +41,7 @@ config BR2_PACKAGE_RESIPROCATE_REND
Rend is tool that is was created specifically to load test
gtSIP based presence servers.
+comment "resiprocate-rend needs a toolchain w/ C++11, gcc>=4.8"
+ depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
endif # BR2_PACKAGE_RESIPROCATE
diff --git a/package/zmqpp/Config.in b/package/zmqpp/Config.in
index 8c08b9d862..a913e71b89 100644
--- a/package/zmqpp/Config.in
+++ b/package/zmqpp/Config.in
@@ -21,15 +21,16 @@ config BR2_PACKAGE_ZMQPP_CLIENT
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
depends on BR2_USE_WCHAR # boost
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # boost
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
help
Build and install the zmqpp client, a command line tool that
can be used to listen or send to zeromq sockets.
-comment "zmqpp client needs a toolchain w/ dynamic library, threads, wchar"
+comment "zmqpp client needs a toolchain w/ dynamic library, threads, wchar, gcc>=4.8"
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
- || !BR2_USE_WCHAR
+ || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
endif
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 21/84] package/boost: system: update description
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (19 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 20/84] package/boost: update C++ version dependencies Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 22/84] package/openvmtools: bump version to 13.1.0 Bernd Kuhls
` (63 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
From: Michael Nosthoff <buildroot@heine.tech>
After removing the stub library in 1.89 a CMake config
was added in 1.91 to not break 3rd party packages requiring.
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Michael Nosthoff <buildroot@heine.tech>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/boost/Config.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/boost/Config.in b/package/boost/Config.in
index dede9b946e..5eadbff2d3 100644
--- a/package/boost/Config.in
+++ b/package/boost/Config.in
@@ -424,8 +424,8 @@ config BR2_PACKAGE_BOOST_SYSTEM
help
Extensible Error Reporting.
- This library is now header only. Building a stub library
- is still supported for backward compatibility.
+ This library is header only. Enabling this option will
+ install a CMake config file for backward compatibility.
comment "boost-system needs a toolchain w/ C++11, gcc>=4.8"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 22/84] package/openvmtools: bump version to 13.1.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (20 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 21/84] package/boost: system: update description Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 6:54 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 23/84] package/poco: bump version to 1.15.3 Bernd Kuhls
` (62 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Karoly Kasza
Rebased patch set in two steps:
1.: downloaded patch set from home-assistant
https://github.com/home-assistant/buildroot/tree/2025.02.x-haos/package/openvmtools
which is based on 13.0.0
2.: rebased again on 13.1.0 (no changes needed)
Added patches 0011 to fix build errors with glibc 2.43.
Renumbered patches.
Added tarball hash provided by upstream.
Removed CVE entries in openvmtools.mk due to patches 0013 and 0014
being added to upstream release.
Ported various configure options from home-assistant commit
https://github.com/home-assistant/buildroot/commit/3206b3fa58a636c7a98ff7a65f76fcf23a4302ee
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Karoly Kasza <kaszak@gmail.com>
---
.checkpackageignore | 9 +-
.../0001-configure.ac-disable-Werror.patch | 32 +
.../openvmtools/0001-no_cflags_werror.patch | 18 -
.../0002-dont-force-cppflags.patch | 21 -
...-not-force-I-usr-include-in-CPPFLAGS.patch | 36 +
..._poll-h-to-fix-build-failure-on-musl.patch | 813 ------------------
...to-vm_poll.h-to-fix-build-failure-on.patch | 133 +++
...ns-about-glibc-being-only-libc-imple.patch | 27 +-
...e-configure-test-for-struct-timespec.patch | 31 +-
...finition-of-ALLPERMS-and-ACCESSPERMS.patch | 35 +-
...-test-for-feature-instead-of-platfor.patch | 74 +-
...onfigure-test-for-sys-stat.h-include.patch | 21 +-
...gfs-fuse-fsutils.h-fix-build-on-mus.patch} | 8 +-
...FromNtTimeNsec-aware-of-64-bit-time_.patch | 51 ++
...on-discards-const-qualifier-from-poi.patch | 148 ++++
...FromNtTimeNsec-aware-of-64-bit-time_.patch | 80 --
...GLib-g_free-macro-redefinition-erro.patch} | 11 +-
...uthorization-on-incoming-guestOps-re.patch | 41 -
...-2025-22247-1100-1225-VGAuth-updates.patch | 383 ---------
package/openvmtools/openvmtools.hash | 3 +-
package/openvmtools/openvmtools.mk | 22 +-
21 files changed, 535 insertions(+), 1462 deletions(-)
create mode 100644 package/openvmtools/0001-configure.ac-disable-Werror.patch
delete mode 100644 package/openvmtools/0001-no_cflags_werror.patch
delete mode 100644 package/openvmtools/0002-dont-force-cppflags.patch
create mode 100644 package/openvmtools/0002-m4-do-not-force-I-usr-include-in-CPPFLAGS.patch
delete mode 100644 package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch
create mode 100644 package/openvmtools/0003-Rename-poll.h-into-vm_poll.h-to-fix-build-failure-on.patch
rename package/openvmtools/{0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch => 0009-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch} (86%)
create mode 100644 package/openvmtools/0010-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
create mode 100644 package/openvmtools/0011-fix-initialization-discards-const-qualifier-from-poi.patch
delete mode 100644 package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
rename package/openvmtools/{0015-glib_stubs-avoid-GLib-g_free-macro-redefinition-error.patch => 0012-glib_stubs-avoid-GLib-g_free-macro-redefinition-erro.patch} (84%)
delete mode 100644 package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch
delete mode 100644 package/openvmtools/0014-CVE-2025-22247-1100-1225-VGAuth-updates.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index a23cb51c77..2dc7bf9039 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -681,16 +681,15 @@ package/openrc/0004-init.d-agetty-start-agetty-after-all-sevices.patch lib_patch
package/openrc/0005-runlevels-do-not-add-agetty.tty-1-6-if-MKSYSVINIT-ye.patch lib_patch.Upstream
package/openrc/0006-Also-create-run-lock-subsys-directory.patch lib_patch.Upstream
package/opentyrian/0001-Move-definitions-that-don-t-need-to-be-exposed-from-opl-h-to-opl-c.patch lib_patch.Upstream
-package/openvmtools/0001-no_cflags_werror.patch lib_patch.Upstream
-package/openvmtools/0002-dont-force-cppflags.patch lib_patch.Upstream
-package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch lib_patch.Upstream
+package/openvmtools/0001-configure.ac-disable-Werror.patch lib_patch.Upstream
+package/openvmtools/0002-m4-do-not-force-I-usr-include-in-CPPFLAGS.patch lib_patch.Upstream
package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch lib_patch.Upstream
package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch lib_patch.Upstream
package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch lib_patch.Upstream
package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch lib_patch.Upstream
package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch lib_patch.Upstream
-package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch lib_patch.Upstream
-package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch lib_patch.Upstream
+package/openvmtools/0009-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch lib_patch.Upstream
+package/openvmtools/0010-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch lib_patch.Upstream
package/openvmtools/shutdown Shellcheck
package/openvpn/S60openvpn Shellcheck lib_sysv.Indent lib_sysv.Variables
package/oprofile/0001-musl.patch lib_patch.Upstream
diff --git a/package/openvmtools/0001-configure.ac-disable-Werror.patch b/package/openvmtools/0001-configure.ac-disable-Werror.patch
new file mode 100644
index 0000000000..5b7c20d0e9
--- /dev/null
+++ b/package/openvmtools/0001-configure.ac-disable-Werror.patch
@@ -0,0 +1,32 @@
+From 818066b581f6cfedbec83031dd8b084178f622e1 Mon Sep 17 00:00:00 2001
+From: Stefan Agner <stefan@agner.ch>
+Date: Tue, 5 Sep 2023 13:11:18 +0200
+Subject: [PATCH] configure.ac: disable -Werror
+
+Disable the mandatory flag -Werror in configure.ac.
+
+Signed-off-by: Karoly Kasza <kaszak@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 92b610429..89b0bd8db 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1403,7 +1403,7 @@ AC_C_VOLATILE
+
+ ### General flags / actions
+ CFLAGS="$CFLAGS -Wall"
+-CFLAGS="$CFLAGS -Werror"
++# CFLAGS="$CFLAGS -Werror"
+
+ # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident'
+ # in Xlib.h on OpenSolaris.
+--
+2.47.3
+
diff --git a/package/openvmtools/0001-no_cflags_werror.patch b/package/openvmtools/0001-no_cflags_werror.patch
deleted file mode 100644
index 3378cb8e7d..0000000000
--- a/package/openvmtools/0001-no_cflags_werror.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-configure.ac: disable -Werror
-
-Disable the mandatory flag -Werror in configure.ac.
-
-Signed-off-by: Karoly Kasza <kaszak@gmail.com>
-
---- open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200
-+++ open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200
-@@ -935,7 +935,7 @@
-
- ### General flags / actions
- CFLAGS="$CFLAGS -Wall"
--CFLAGS="$CFLAGS -Werror"
-+# CFLAGS="$CFLAGS -Werror"
-
- # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident'
- # in Xlib.h on OpenSolaris.
-
diff --git a/package/openvmtools/0002-dont-force-cppflags.patch b/package/openvmtools/0002-dont-force-cppflags.patch
deleted file mode 100644
index eb2fe16ba9..0000000000
--- a/package/openvmtools/0002-dont-force-cppflags.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-m4: do not force -I/usr/include in CPPFLAGS
-
-This is so horribly broken for cross-compilation. :-(
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-
---- open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200
-+++ open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200
-@@ -281,10 +281,10 @@
- if test "$os" = freebsd; then
- CUSTOM_$1_CPPFLAGS="-I/usr/local/include"
- else
-- CUSTOM_$1_CPPFLAGS="-I/usr/include"
-+ CUSTOM_$1_CPPFLAGS=" "
- fi
- if test -n "$2"; then
-- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2"
-+ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2"
- fi
- fi
- ])
diff --git a/package/openvmtools/0002-m4-do-not-force-I-usr-include-in-CPPFLAGS.patch b/package/openvmtools/0002-m4-do-not-force-I-usr-include-in-CPPFLAGS.patch
new file mode 100644
index 0000000000..141dc5664b
--- /dev/null
+++ b/package/openvmtools/0002-m4-do-not-force-I-usr-include-in-CPPFLAGS.patch
@@ -0,0 +1,36 @@
+From 4c45151dd99e4025be5d9e85e49c1af3e951cc9d Mon Sep 17 00:00:00 2001
+From: Stefan Agner <stefan@agner.ch>
+Date: Tue, 5 Sep 2023 13:14:04 +0200
+Subject: [PATCH] m4: do not force -I/usr/include in CPPFLAGS
+
+This is so horribly broken for cross-compilation. :-(
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ m4/vmtools.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/m4/vmtools.m4 b/m4/vmtools.m4
+index 055b39d9b..d281f81d1 100644
+--- a/m4/vmtools.m4
++++ b/m4/vmtools.m4
+@@ -279,10 +279,10 @@ AC_DEFUN([AC_VMW_DEFAULT_FLAGS],[
+ if test "$os" = freebsd; then
+ CUSTOM_$1_CPPFLAGS="-I/usr/local/include"
+ else
+- CUSTOM_$1_CPPFLAGS="-I/usr/include"
++ CUSTOM_$1_CPPFLAGS=" "
+ fi
+ if test -n "$2"; then
+- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2"
++ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2"
+ fi
+ fi
+ ])
+--
+2.47.3
+
diff --git a/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch b/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch
deleted file mode 100644
index b4e94d870d..0000000000
--- a/package/openvmtools/0003-Rename-poll-h-into-vm_poll-h-to-fix-build-failure-on-musl.patch
+++ /dev/null
@@ -1,813 +0,0 @@
-From 1dfab46d367d11e9132506ee0f7d3eb2ceff5f3c Mon Sep 17 00:00:00 2001
-Message-Id: <1dfab46d367d11e9132506ee0f7d3eb2ceff5f3c.1652913832.git.stefan@agner.ch>
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Mon, 30 Sep 2019 13:32:35 +0200
-Subject: [PATCH] Rename poll.h into vm_poll.h to fix build failure on musl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-musl libc redirects include of sys/poll.h to poll.h. But since poll.h is
-also a local header file, the musl libc header is never included. This
-leads to the following build failure:
-
-In file included from asyncsocket.c:73:0:
-.../host/i586-buildroot-linux-musl/sysroot/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
- #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
-asyncsocket.c: In function ‘AsyncTCPSocketPollWork’:
-asyncsocket.c:2537:13: error: invalid use of undefined type ‘struct pollfd’
- pfd[i].fd = asock[i]->fd;
- ^
-asyncsocket.c:2537:13: error: dereferencing pointer to incomplete type ‘struct pollfd’
-asyncsocket.c:2538:13: error: invalid use of undefined type ‘struct pollfd’
- pfd[i].events = read ? POLLIN : POLLOUT;
- ^
-asyncsocket.c:2538:33: error: ‘POLLIN’ undeclared (first use in this function); did you mean ‘POLL_IN’?
- pfd[i].events = read ? POLLIN : POLLOUT;
-
-So rename poll.h into vm_poll.h as suggested by srowe in
-https://github.com/vmware/open-vm-tools/issues/359#issuecomment-533529956
-
-Fixes:
- - http://autobuild.buildroot.org/results/4f575ef42bbc4387a07e396205052b2da081c64d
-
-Fix #359
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/vmware/open-vm-tools/pull/383]
----
- lib/asyncsocket/asyncsocket.c | 4 +-
- lib/hgfsServer/hgfsServer.c | 2 +-
- lib/include/asyncsocket.h | 2 +-
- lib/include/poll.h | 337 --------------------
- lib/include/pollImpl.h | 2 +-
- lib/include/vm_poll.h | 337 ++++++++++++++++++++
- lib/rpcIn/rpcin.c | 2 +-
- 7 files changed, 343 insertions(+), 343 deletions(-)
- delete mode 100644 lib/include/poll.h
- create mode 100644 lib/include/vm_poll.h
-
-diff --git a/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-index 05147d2e..16949567 100644
---- a/lib/asyncsocket/asyncsocket.c
-+++ b/lib/asyncsocket/asyncsocket.c
-@@ -70,8 +70,8 @@
- #else
- #include <stddef.h>
- #include <ctype.h>
-+#include <poll.h>
- #include <sys/types.h>
--#include <sys/poll.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <netdb.h>
-@@ -87,7 +87,7 @@
- #include "random.h"
- #include "asyncsocket.h"
- #include "asyncSocketBase.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "log.h"
- #include "err.h"
- #include "hostinfo.h"
-diff --git a/lib/hgfsServer/hgfsServer.c b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-index 98f5b3f0..b436f0c7 100644
---- a/lib/hgfsServer/hgfsServer.c
-+++ b/lib/hgfsServer/hgfsServer.c
-@@ -51,7 +51,7 @@
- #include "hgfsDirNotify.h"
- #include "hgfsThreadpool.h"
- #include "userlock.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "mutexRankLib.h"
- #include "vm_basic_asm.h"
- #include "unicodeOperations.h"
-diff --git a/lib/include/asyncsocket.h b/open-vm-tools/lib/include/asyncsocket.h
-index 47b5b873..b8b0149e 100644
---- a/lib/include/asyncsocket.h
-+++ b/lib/include/asyncsocket.h
-@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket;
- * Or the client can specify its favorite poll class and locking behavior.
- * Use of IVmdbPoll is only supported for regular sockets and for Attach.
- */
--#include "poll.h"
-+#include "vm_poll.h"
- struct IVmdbPoll;
- typedef struct AsyncSocketPollParams {
- int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
-diff --git a/lib/include/poll.h b/open-vm-tools/lib/include/poll.h
-deleted file mode 100644
-index c90f5dcd..00000000
---- a/lib/include/poll.h
-+++ /dev/null
-@@ -1,337 +0,0 @@
--/*********************************************************
-- * Copyright (C) 1998-2020 VMware, Inc. All rights reserved.
-- *
-- * This program is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU Lesser General Public License as published
-- * by the Free Software Foundation version 2.1 and no later version.
-- *
-- * This program is distributed in the hope that it will be useful, but
-- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
-- * License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * along with this program; if not, write to the Free Software Foundation, Inc.,
-- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- *********************************************************/
--
--/*********************************************************
-- * The contents of this file are subject to the terms of the Common
-- * Development and Distribution License (the "License") version 1.0
-- * and no later version. You may not use this file except in
-- * compliance with the License.
-- *
-- * You can obtain a copy of the License at
-- * http://www.opensource.org/licenses/cddl1.php
-- *
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- *********************************************************/
--
--
--#ifndef _POLL_H_
--#define _POLL_H_
--
--#define INCLUDE_ALLOW_USERLEVEL
--#define INCLUDE_ALLOW_VMCORE
--#include "includeCheck.h"
--
--#include "vm_basic_types.h"
--#include "vm_basic_defs.h"
--#include "vmware.h"
--#include "userlock.h"
--
--#if defined(__cplusplus)
--extern "C" {
--#endif
--
--#ifdef _WIN32
--#define HZ 100
--#elif defined __linux__
--#include <asm/param.h>
--#elif __APPLE__
--#include <TargetConditionals.h>
--/*
-- * Old SDKs don't define TARGET_OS_IPHONE at all.
-- * New ones define it to 0 on Mac OS X, 1 on iOS.
-- */
--#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
--#include <sys/kernel.h>
--#endif
--#include <sys/poll.h>
--#define HZ 100
--#endif
--#ifdef __ANDROID__
--/*
-- * <poll.h> of android should be included, but its name is same
-- * with this file. So its content is put here to avoid conflict.
-- */
--#include <asm/poll.h>
--#define HZ 100
--typedef unsigned int nfds_t;
--int poll(struct pollfd *, nfds_t, long);
--#endif
--
--
--/*
-- * Poll event types: each type has a different reason for firing,
-- * or condition that must be met before firing.
-- */
--
--typedef enum {
-- /*
-- * Actual Poll queue types against which you can register callbacks.
-- */
-- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-- POLL_VTIME = 0,
-- POLL_REALTIME,
-- POLL_DEVICE,
-- POLL_MAIN_LOOP,
-- POLL_NUM_QUEUES
--} PollEventType;
--
--
--/*
-- * Classes of events
-- *
-- * These are the predefined classes. More can be declared
-- * with Poll_AllocClass().
-- */
--
--typedef enum PollClass {
-- POLL_CLASS_MAIN,
-- POLL_CLASS_PAUSE,
-- POLL_CLASS_IPC,
-- POLL_CLASS_CPT,
-- POLL_CLASS_MKS,
-- POLL_FIXED_CLASSES,
-- POLL_DEFAULT_FIXED_CLASSES,
-- /* Size enum to maximum */
-- POLL_MAX_CLASSES = 31,
--} PollClass;
--
--/*
-- * Do not use; Special pseudo private poll class supported by
-- * PollDefault only
-- */
--#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
--#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
--
--/*
-- * Each callback is registered in a set of classes
-- */
--
--typedef struct PollClassSet {
-- uintptr_t bits;
--} PollClassSet;
--
--/* An empty PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Empty(void)
--{
-- PollClassSet set = { 0 };
-- return set;
--}
--
--/* A PollClassSet with the single member. */
--static INLINE PollClassSet
--PollClassSet_Singleton(PollClass c)
--{
-- PollClassSet s = PollClassSet_Empty();
--
-- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-- ASSERT(c < POLL_MAX_CLASSES);
--
-- s.bits = CONST3264U(1) << c;
-- return s;
--}
--
--/* Combine two PollClassSets. */
--static INLINE PollClassSet
--PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
--{
-- PollClassSet set;
-- set.bits = lhs.bits | rhs.bits;
-- return set;
--}
--
--/* Add single class to PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Include(PollClassSet set, PollClass c)
--{
-- return PollClassSet_Union(set, PollClassSet_Singleton(c));
--}
--
--
--#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
--#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
-- PollClassSet_Singleton(POLL_CLASS_PAUSE))
--#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
-- PollClassSet_Singleton(POLL_CLASS_CPT))
--#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
-- PollClassSet_Singleton(POLL_CLASS_IPC))
--#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
--#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
--/*
-- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
-- */
--#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
--
--/*
-- * Poll class-set taxonomy:
-- * POLL_CS_MAIN
-- * - Unless you NEED another class, use POLL_CS_MAIN.
-- * POLL_CS_PAUSE
-- * - For callbacks that must occur even if the guest is paused.
-- * Most VMDB or Foundry commands are in this category.
-- * POLL_CS_CPT
-- * - Only for callbacks which can trigger intermediate Checkpoint
-- * transitions.
-- * The ONLY such callback is Migrate.
-- * POLL_CS_IPC
-- * - Only for callbacks which can contain Msg_(Post|Hint|Question)
-- * responses, and for signal handlers (why)?
-- * Vigor, VMDB, and Foundry can contain Msg_* responses.
-- * POLL_CS_MKS
-- * - Callback runs in MKS thread.
-- * POLL_CS_ALWAYS
-- * - Only for events that must be processed immediately.
-- * The ONLY such callback is OvhdMemVmxSizeCheck.
-- */
--
--
--/*
-- * Poll_Callback flags
-- */
--
--#define POLL_FLAG_PERIODIC 0x01 // keep after firing
--#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
--#define POLL_FLAG_READ 0x04 // device is ready for reading
--#define POLL_FLAG_WRITE 0x08 // device is ready for writing
--#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
--#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
--#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
--#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
--#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
--#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
--
--
--typedef void (*PollerFunction)(void *clientData);
--typedef void (*PollerFireWrapper)(PollerFunction func,
-- void *funcData,
-- void *wrapperData);
--typedef Bool (*PollerErrorFn)(const char *errorStr);
--
--/*
-- * Initialisers:
-- *
-- * For the sake of convenience, we declare the initialisers
-- * for custom implmentations here, even though the actual
-- * implementations are distinct from the core poll code.
-- */
--
--
--/* Socket pair created with non-blocking mode */
--#define POLL_OPTIONS_SOCKET_PAIR_NONBLOCK_CONN 0x01
--
--typedef unsigned int SocketSpecialOpts;
--
--typedef struct PollOptions {
-- Bool locked; // Use internal MXUser for locking
-- Bool allowFullQueue; // Don't assert when device event queue is full.
-- VThreadID windowsMsgThread; // thread that processes Windows messages
-- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
-- void *fireWrapperData; // optional
-- PollerErrorFn errorFn; // optional; called upon unrecoverable error
-- SocketSpecialOpts pollSocketOpts;
--} PollOptions;
--
--
--void Poll_InitDefault(void);
--void Poll_InitDefaultEx(const PollOptions *opts);
--void Poll_InitGtk(void); // On top of glib for Linux
--void Poll_InitCF(void); // On top of CoreFoundation for OSX
--
--
--/*
-- * Functions
-- */
--int Poll_SocketPair(Bool vmci, Bool stream, int fds[2], SocketSpecialOpts opts);
--void Poll_Loop(Bool loop, Bool *exit, PollClass c);
--void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
--Bool Poll_LockingEnabled(void);
--void Poll_Exit(void);
--
--
--/*
-- * Poll_Callback adds a callback regardless of whether an identical one exists.
-- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-- * one read and one write callback per fd.
-- *
-- * Poll_CallbackRemove removes one callback. If there are multiple identical
-- * callbacks, which one is removed is an implementation detail. Note that in
-- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-- * create the callback is not specified when removing, so all callbacks
-- * of those types with the same flags, function, and clientData are considered
-- * "identical" even if their fd/delay differed.
-- */
--
--VMwareStatus Poll_Callback(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- void *clientData,
-- PollEventType type,
-- PollDevHandle info, // fd/microsec delay
-- MXUserRecLock *lck);
--Bool Poll_CallbackRemove(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- void *clientData,
-- PollEventType type);
--Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- PollEventType type,
-- void **clientData);
--
--void Poll_NotifyChange(PollClassSet classSet);
--
--/*
-- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-- * simpler subsets of those interfaces.
-- */
--
--VMwareStatus Poll_CB_Device(PollerFunction f,
-- void *clientData,
-- PollDevHandle device,
-- Bool periodic);
--
--Bool Poll_CB_DeviceRemove(PollerFunction f,
-- void *clientData,
-- Bool periodic);
--
--
--VMwareStatus Poll_CB_RTime(PollerFunction f,
-- void *clientData,
-- int64 delay, // microseconds
-- Bool periodic,
-- MXUserRecLock *lock);
--
--Bool Poll_CB_RTimeRemove(PollerFunction f,
-- void *clientData,
-- Bool periodic);
--
--
--#ifdef _WIN32
--void Poll_SetPumpsWindowsMessages(Bool pumps);
--void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
--Bool Poll_FireWndCallback(void *lparam);
--#endif
--
--#if defined(__cplusplus)
--} // extern "C"
--#endif
--
--#endif // _POLL_H_
-diff --git a/lib/include/pollImpl.h b/open-vm-tools/lib/include/pollImpl.h
-index 46442e55..8bc66997 100644
---- a/lib/include/pollImpl.h
-+++ b/lib/include/pollImpl.h
-@@ -44,7 +44,7 @@
- #define INCLUDE_ALLOW_USERLEVEL
- #include "includeCheck.h"
-
--#include "poll.h"
-+#include "vm_poll.h"
- #include "vm_basic_asm.h"
-
- #if defined(__cplusplus)
-diff --git a/lib/include/vm_poll.h b/open-vm-tools/lib/include/vm_poll.h
-new file mode 100644
-index 00000000..c90f5dcd
---- /dev/null
-+++ b/lib/include/vm_poll.h
-@@ -0,0 +1,337 @@
-+/*********************************************************
-+ * Copyright (C) 1998-2020 VMware, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU Lesser General Public License as published
-+ * by the Free Software Foundation version 2.1 and no later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
-+ * License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ *********************************************************/
-+
-+/*********************************************************
-+ * The contents of this file are subject to the terms of the Common
-+ * Development and Distribution License (the "License") version 1.0
-+ * and no later version. You may not use this file except in
-+ * compliance with the License.
-+ *
-+ * You can obtain a copy of the License at
-+ * http://www.opensource.org/licenses/cddl1.php
-+ *
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ *********************************************************/
-+
-+
-+#ifndef _POLL_H_
-+#define _POLL_H_
-+
-+#define INCLUDE_ALLOW_USERLEVEL
-+#define INCLUDE_ALLOW_VMCORE
-+#include "includeCheck.h"
-+
-+#include "vm_basic_types.h"
-+#include "vm_basic_defs.h"
-+#include "vmware.h"
-+#include "userlock.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+#ifdef _WIN32
-+#define HZ 100
-+#elif defined __linux__
-+#include <asm/param.h>
-+#elif __APPLE__
-+#include <TargetConditionals.h>
-+/*
-+ * Old SDKs don't define TARGET_OS_IPHONE at all.
-+ * New ones define it to 0 on Mac OS X, 1 on iOS.
-+ */
-+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
-+#include <sys/kernel.h>
-+#endif
-+#include <sys/poll.h>
-+#define HZ 100
-+#endif
-+#ifdef __ANDROID__
-+/*
-+ * <poll.h> of android should be included, but its name is same
-+ * with this file. So its content is put here to avoid conflict.
-+ */
-+#include <asm/poll.h>
-+#define HZ 100
-+typedef unsigned int nfds_t;
-+int poll(struct pollfd *, nfds_t, long);
-+#endif
-+
-+
-+/*
-+ * Poll event types: each type has a different reason for firing,
-+ * or condition that must be met before firing.
-+ */
-+
-+typedef enum {
-+ /*
-+ * Actual Poll queue types against which you can register callbacks.
-+ */
-+ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-+ POLL_VTIME = 0,
-+ POLL_REALTIME,
-+ POLL_DEVICE,
-+ POLL_MAIN_LOOP,
-+ POLL_NUM_QUEUES
-+} PollEventType;
-+
-+
-+/*
-+ * Classes of events
-+ *
-+ * These are the predefined classes. More can be declared
-+ * with Poll_AllocClass().
-+ */
-+
-+typedef enum PollClass {
-+ POLL_CLASS_MAIN,
-+ POLL_CLASS_PAUSE,
-+ POLL_CLASS_IPC,
-+ POLL_CLASS_CPT,
-+ POLL_CLASS_MKS,
-+ POLL_FIXED_CLASSES,
-+ POLL_DEFAULT_FIXED_CLASSES,
-+ /* Size enum to maximum */
-+ POLL_MAX_CLASSES = 31,
-+} PollClass;
-+
-+/*
-+ * Do not use; Special pseudo private poll class supported by
-+ * PollDefault only
-+ */
-+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
-+#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
-+
-+/*
-+ * Each callback is registered in a set of classes
-+ */
-+
-+typedef struct PollClassSet {
-+ uintptr_t bits;
-+} PollClassSet;
-+
-+/* An empty PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Empty(void)
-+{
-+ PollClassSet set = { 0 };
-+ return set;
-+}
-+
-+/* A PollClassSet with the single member. */
-+static INLINE PollClassSet
-+PollClassSet_Singleton(PollClass c)
-+{
-+ PollClassSet s = PollClassSet_Empty();
-+
-+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-+ ASSERT(c < POLL_MAX_CLASSES);
-+
-+ s.bits = CONST3264U(1) << c;
-+ return s;
-+}
-+
-+/* Combine two PollClassSets. */
-+static INLINE PollClassSet
-+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
-+{
-+ PollClassSet set;
-+ set.bits = lhs.bits | rhs.bits;
-+ return set;
-+}
-+
-+/* Add single class to PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Include(PollClassSet set, PollClass c)
-+{
-+ return PollClassSet_Union(set, PollClassSet_Singleton(c));
-+}
-+
-+
-+#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
-+#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
-+ PollClassSet_Singleton(POLL_CLASS_PAUSE))
-+#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
-+ PollClassSet_Singleton(POLL_CLASS_CPT))
-+#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
-+ PollClassSet_Singleton(POLL_CLASS_IPC))
-+#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
-+#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
-+/*
-+ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
-+ */
-+#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
-+
-+/*
-+ * Poll class-set taxonomy:
-+ * POLL_CS_MAIN
-+ * - Unless you NEED another class, use POLL_CS_MAIN.
-+ * POLL_CS_PAUSE
-+ * - For callbacks that must occur even if the guest is paused.
-+ * Most VMDB or Foundry commands are in this category.
-+ * POLL_CS_CPT
-+ * - Only for callbacks which can trigger intermediate Checkpoint
-+ * transitions.
-+ * The ONLY such callback is Migrate.
-+ * POLL_CS_IPC
-+ * - Only for callbacks which can contain Msg_(Post|Hint|Question)
-+ * responses, and for signal handlers (why)?
-+ * Vigor, VMDB, and Foundry can contain Msg_* responses.
-+ * POLL_CS_MKS
-+ * - Callback runs in MKS thread.
-+ * POLL_CS_ALWAYS
-+ * - Only for events that must be processed immediately.
-+ * The ONLY such callback is OvhdMemVmxSizeCheck.
-+ */
-+
-+
-+/*
-+ * Poll_Callback flags
-+ */
-+
-+#define POLL_FLAG_PERIODIC 0x01 // keep after firing
-+#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
-+#define POLL_FLAG_READ 0x04 // device is ready for reading
-+#define POLL_FLAG_WRITE 0x08 // device is ready for writing
-+#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
-+#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
-+#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
-+#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
-+#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
-+#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
-+
-+
-+typedef void (*PollerFunction)(void *clientData);
-+typedef void (*PollerFireWrapper)(PollerFunction func,
-+ void *funcData,
-+ void *wrapperData);
-+typedef Bool (*PollerErrorFn)(const char *errorStr);
-+
-+/*
-+ * Initialisers:
-+ *
-+ * For the sake of convenience, we declare the initialisers
-+ * for custom implmentations here, even though the actual
-+ * implementations are distinct from the core poll code.
-+ */
-+
-+
-+/* Socket pair created with non-blocking mode */
-+#define POLL_OPTIONS_SOCKET_PAIR_NONBLOCK_CONN 0x01
-+
-+typedef unsigned int SocketSpecialOpts;
-+
-+typedef struct PollOptions {
-+ Bool locked; // Use internal MXUser for locking
-+ Bool allowFullQueue; // Don't assert when device event queue is full.
-+ VThreadID windowsMsgThread; // thread that processes Windows messages
-+ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
-+ void *fireWrapperData; // optional
-+ PollerErrorFn errorFn; // optional; called upon unrecoverable error
-+ SocketSpecialOpts pollSocketOpts;
-+} PollOptions;
-+
-+
-+void Poll_InitDefault(void);
-+void Poll_InitDefaultEx(const PollOptions *opts);
-+void Poll_InitGtk(void); // On top of glib for Linux
-+void Poll_InitCF(void); // On top of CoreFoundation for OSX
-+
-+
-+/*
-+ * Functions
-+ */
-+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2], SocketSpecialOpts opts);
-+void Poll_Loop(Bool loop, Bool *exit, PollClass c);
-+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
-+Bool Poll_LockingEnabled(void);
-+void Poll_Exit(void);
-+
-+
-+/*
-+ * Poll_Callback adds a callback regardless of whether an identical one exists.
-+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-+ * one read and one write callback per fd.
-+ *
-+ * Poll_CallbackRemove removes one callback. If there are multiple identical
-+ * callbacks, which one is removed is an implementation detail. Note that in
-+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-+ * create the callback is not specified when removing, so all callbacks
-+ * of those types with the same flags, function, and clientData are considered
-+ * "identical" even if their fd/delay differed.
-+ */
-+
-+VMwareStatus Poll_Callback(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ void *clientData,
-+ PollEventType type,
-+ PollDevHandle info, // fd/microsec delay
-+ MXUserRecLock *lck);
-+Bool Poll_CallbackRemove(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ void *clientData,
-+ PollEventType type);
-+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ PollEventType type,
-+ void **clientData);
-+
-+void Poll_NotifyChange(PollClassSet classSet);
-+
-+/*
-+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-+ * simpler subsets of those interfaces.
-+ */
-+
-+VMwareStatus Poll_CB_Device(PollerFunction f,
-+ void *clientData,
-+ PollDevHandle device,
-+ Bool periodic);
-+
-+Bool Poll_CB_DeviceRemove(PollerFunction f,
-+ void *clientData,
-+ Bool periodic);
-+
-+
-+VMwareStatus Poll_CB_RTime(PollerFunction f,
-+ void *clientData,
-+ int64 delay, // microseconds
-+ Bool periodic,
-+ MXUserRecLock *lock);
-+
-+Bool Poll_CB_RTimeRemove(PollerFunction f,
-+ void *clientData,
-+ Bool periodic);
-+
-+
-+#ifdef _WIN32
-+void Poll_SetPumpsWindowsMessages(Bool pumps);
-+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
-+Bool Poll_FireWndCallback(void *lparam);
-+#endif
-+
-+#if defined(__cplusplus)
-+} // extern "C"
-+#endif
-+
-+#endif // _POLL_H_
-diff --git a/lib/rpcIn/rpcin.c b/open-vm-tools/lib/rpcIn/rpcin.c
-index 8b1fe759..f22fcd40 100644
---- a/lib/rpcIn/rpcin.c
-+++ b/lib/rpcIn/rpcin.c
-@@ -57,7 +57,7 @@
-
- #if defined(VMTOOLS_USE_VSOCKET)
- # include <glib.h>
--# include "poll.h"
-+# include "vm_poll.h"
- # include "asyncsocket.h"
- # include "vmci_defs.h"
- #include "dataMap.h"
---
-2.36.1
-
diff --git a/package/openvmtools/0003-Rename-poll.h-into-vm_poll.h-to-fix-build-failure-on.patch b/package/openvmtools/0003-Rename-poll.h-into-vm_poll.h-to-fix-build-failure-on.patch
new file mode 100644
index 0000000000..f7afb1891a
--- /dev/null
+++ b/package/openvmtools/0003-Rename-poll.h-into-vm_poll.h-to-fix-build-failure-on.patch
@@ -0,0 +1,133 @@
+From 23e25f489bc054b90ebfaed0b9726544ad5a6aba Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 30 Sep 2019 13:32:35 +0200
+Subject: [PATCH] Rename poll.h into vm_poll.h to fix build failure on musl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+musl libc redirects include of sys/poll.h to poll.h. But since poll.h is
+also a local header file, the musl libc header is never included. This
+leads to the following build failure:
+
+In file included from asyncsocket.c:73:0:
+.../host/i586-buildroot-linux-musl/sysroot/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
+ #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
+asyncsocket.c: In function ‘AsyncTCPSocketPollWork’:
+asyncsocket.c:2537:13: error: invalid use of undefined type ‘struct pollfd’
+ pfd[i].fd = asock[i]->fd;
+ ^
+asyncsocket.c:2537:13: error: dereferencing pointer to incomplete type ‘struct pollfd’
+asyncsocket.c:2538:13: error: invalid use of undefined type ‘struct pollfd’
+ pfd[i].events = read ? POLLIN : POLLOUT;
+ ^
+asyncsocket.c:2538:33: error: ‘POLLIN’ undeclared (first use in this function); did you mean ‘POLL_IN’?
+ pfd[i].events = read ? POLLIN : POLLOUT;
+
+So rename poll.h into vm_poll.h as suggested by srowe in
+https://github.com/vmware/open-vm-tools/issues/359#issuecomment-533529956
+
+Fixes:
+ - http://autobuild.buildroot.org/results/4f575ef42bbc4387a07e396205052b2da081c64d
+
+Fix #359
+
+Upstream: https://github.com/vmware/open-vm-tools/pull/383
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/asyncsocket/asyncsocket.c | 4 ++--
+ lib/hgfsServer/hgfsServer.c | 2 +-
+ lib/include/asyncsocket.h | 2 +-
+ lib/include/pollImpl.h | 2 +-
+ lib/include/{poll.h => vm_poll.h} | 0
+ lib/rpcIn/rpcin.c | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+ rename lib/include/{poll.h => vm_poll.h} (100%)
+
+diff --git a/lib/asyncsocket/asyncsocket.c b/lib/asyncsocket/asyncsocket.c
+index d61777601..3f75b85ad 100644
+--- a/lib/asyncsocket/asyncsocket.c
++++ b/lib/asyncsocket/asyncsocket.c
+@@ -70,8 +70,8 @@
+ #else
+ #include <stddef.h>
+ #include <ctype.h>
++#include <poll.h>
+ #include <sys/types.h>
+-#include <sys/poll.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <netdb.h>
+@@ -87,7 +87,7 @@
+ #include "random.h"
+ #include "asyncsocket.h"
+ #include "asyncSocketBase.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "log.h"
+ #include "err.h"
+ #include "hostinfo.h"
+diff --git a/lib/hgfsServer/hgfsServer.c b/lib/hgfsServer/hgfsServer.c
+index c7b4cdd0f..d6e0cdc0e 100644
+--- a/lib/hgfsServer/hgfsServer.c
++++ b/lib/hgfsServer/hgfsServer.c
+@@ -51,7 +51,7 @@
+ #include "hgfsDirNotify.h"
+ #include "hgfsThreadpool.h"
+ #include "userlock.h"
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "mutexRankLib.h"
+ #include "vm_basic_asm.h"
+ #include "unicodeOperations.h"
+diff --git a/lib/include/asyncsocket.h b/lib/include/asyncsocket.h
+index 57d491570..283e2d796 100644
+--- a/lib/include/asyncsocket.h
++++ b/lib/include/asyncsocket.h
+@@ -177,7 +177,7 @@ typedef struct AsyncSocket AsyncSocket;
+ * Or the client can specify its favorite poll class and locking behavior.
+ * Use of IVmdbPoll is only supported for regular sockets and for Attach.
+ */
+-#include "poll.h"
++#include "vm_poll.h"
+ struct IVmdbPoll;
+ typedef struct AsyncSocketPollParams {
+ int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
+diff --git a/lib/include/pollImpl.h b/lib/include/pollImpl.h
+index 46442e556..8bc669970 100644
+--- a/lib/include/pollImpl.h
++++ b/lib/include/pollImpl.h
+@@ -44,7 +44,7 @@
+ #define INCLUDE_ALLOW_USERLEVEL
+ #include "includeCheck.h"
+
+-#include "poll.h"
++#include "vm_poll.h"
+ #include "vm_basic_asm.h"
+
+ #if defined(__cplusplus)
+diff --git a/lib/include/poll.h b/lib/include/vm_poll.h
+similarity index 100%
+rename from lib/include/poll.h
+rename to lib/include/vm_poll.h
+diff --git a/lib/rpcIn/rpcin.c b/lib/rpcIn/rpcin.c
+index f1709fe03..c1a5dfdba 100644
+--- a/lib/rpcIn/rpcin.c
++++ b/lib/rpcIn/rpcin.c
+@@ -57,7 +57,7 @@
+
+ #if defined(VMTOOLS_USE_VSOCKET)
+ # include <glib.h>
+-# include "poll.h"
++# include "vm_poll.h"
+ # include "asyncsocket.h"
+ # include "vmci_defs.h"
+ #include "dataMap.h"
+--
+2.47.3
+
diff --git a/package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch b/package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch
index 5960006f2f..db6c61ca91 100644
--- a/package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch
+++ b/package/openvmtools/0004-Remove-assumptions-about-glibc-being-only-libc-imple.patch
@@ -1,22 +1,26 @@
-From a0983d84185f04c4e40778fe951fde4439894882 Mon Sep 17 00:00:00 2001
+From 4421d88ca9248173baa8eb4fcd563e6705f8aeb0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 16 Jul 2017 07:37:03 -0700
-Subject: [PATCH] Remove assumptions about glibc being only libc
- implementation on linux
+Subject: [PATCH] Remove assumptions about glibc being only libc implementation
+ on linux
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[Retrieved (and updated to work on current version) from:
http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Remove-assumptions-about-glibc-being-only-libc-imple.patch?h=sumo]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/lib/file/fileIOPosix.c | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
+ lib/file/fileIOPosix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
-Index: open-vm-tools/lib/file/fileIOPosix.c
-===================================================================
---- open-vm-tools.orig/lib/file/fileIOPosix.c
-+++ open-vm-tools/lib/file/fileIOPosix.c
-@@ -205,7 +205,7 @@ static AlignedPool alignedPool;
+diff --git a/lib/file/fileIOPosix.c b/lib/file/fileIOPosix.c
+index 4dedb08fc..1e16f06bd 100644
+--- a/lib/file/fileIOPosix.c
++++ b/lib/file/fileIOPosix.c
+@@ -204,7 +204,7 @@ static AlignedPool alignedPool;
* are not available in any header file.
*/
@@ -25,3 +29,6 @@ Index: open-vm-tools/lib/file/fileIOPosix.c
#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
/*
* We want preadv/pwritev. But due to FOB=64, the symbols are -64.
+--
+2.47.3
+
diff --git a/package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch b/package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch
index 3386faec15..5a3088cf5d 100644
--- a/package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch
+++ b/package/openvmtools/0005-Use-configure-test-for-struct-timespec.patch
@@ -1,4 +1,4 @@
-From bf1eafb07297711baf9320b1edcca8a3376f117d Mon Sep 17 00:00:00 2001
+From c51e6ceb7f1443603e9713d297b0386db91f524e Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:03:00 +0000
Subject: [PATCH] Use configure test for struct timespec
@@ -10,16 +10,20 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
[Retrieved from:
http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-test-for-struct-timespec.patch?h=sumo]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/configure.ac | 1 +
- open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
+ configure.ac | 1 +
+ lib/include/hgfsUtil.h | 8 +-------
2 files changed, 2 insertions(+), 7 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -1127,6 +1127,7 @@ AC_TYPE_OFF_T
+diff --git a/configure.ac b/configure.ac
+index 89b0bd8db..0ba2f6658 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1393,6 +1393,7 @@ AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
@@ -27,10 +31,10 @@ Index: open-vm-tools/configure.ac
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
-Index: open-vm-tools/lib/include/hgfsUtil.h
-===================================================================
---- open-vm-tools.orig/lib/include/hgfsUtil.h
-+++ open-vm-tools/lib/include/hgfsUtil.h
+diff --git a/lib/include/hgfsUtil.h b/lib/include/hgfsUtil.h
+index 609f4c000..a3a022d42 100644
+--- a/lib/include/hgfsUtil.h
++++ b/lib/include/hgfsUtil.h
@@ -53,13 +53,7 @@
# include <time.h>
# endif
@@ -46,3 +50,6 @@ Index: open-vm-tools/lib/include/hgfsUtil.h
struct timespec {
time_t tv_sec;
long tv_nsec;
+--
+2.47.3
+
diff --git a/package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
index 371004c90f..23719e8ad6 100644
--- a/package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
+++ b/package/openvmtools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
@@ -1,4 +1,4 @@
-From 31ae6f42458f90d4994a4ad8e2b7673691612c36 Mon Sep 17 00:00:00 2001
+From 8ff21c861f204b502085f93352c182e7d449755f Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 09:10:14 +0000
Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS
@@ -12,16 +12,20 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
[Retrieved from:
http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch?h=sumo]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
- open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
+ lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
+ services/plugins/dndcp/dnd/dndLinux.c | 3 +--
2 files changed, 6 insertions(+), 5 deletions(-)
-Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-===================================================================
---- open-vm-tools.orig/lib/hgfsServer/hgfsServerLinux.c
-+++ open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -107,11 +107,13 @@ typedef struct DirectoryEntry {
+diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
+index 4a0bc9378..6ed49e2b7 100644
+--- a/lib/hgfsServer/hgfsServerLinux.c
++++ b/lib/hgfsServer/hgfsServerLinux.c
+@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
#endif
/*
@@ -38,11 +42,11 @@ Index: open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
#endif
-Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-===================================================================
---- open-vm-tools.orig/services/plugins/dndcp/dnd/dndLinux.c
-+++ open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-@@ -51,7 +51,7 @@
+diff --git a/services/plugins/dndcp/dnd/dndLinux.c b/services/plugins/dndcp/dnd/dndLinux.c
+index 219065f74..b5b7e6203 100644
+--- a/services/plugins/dndcp/dnd/dndLinux.c
++++ b/services/plugins/dndcp/dnd/dndLinux.c
+@@ -53,7 +53,7 @@
#define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
@@ -51,7 +55,7 @@ Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
#endif
#ifdef __ANDROID__
-@@ -60,7 +60,6 @@
+@@ -62,7 +62,6 @@
*/
#define NO_SETMNTENT
#define NO_ENDMNTENT
@@ -59,3 +63,6 @@ Index: open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
#endif
+--
+2.47.3
+
diff --git a/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch b/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
index f10e74e152..4a0e11b87d 100644
--- a/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ b/package/openvmtools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch
@@ -1,4 +1,4 @@
-From 6cc1c22cc30320f56da552a76bd956db8f255b6a Mon Sep 17 00:00:00 2001
+From bb3b5f66bb71aa7d7af0e58ec0a5992e08814d5e Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:05:07 +0000
Subject: [PATCH] Use configure to test for feature instead of platform
@@ -18,23 +18,25 @@ The features we test for are:
This is needed for musl libc.
+Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c
+
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-[Retrieved (and slightly updated) from:
-http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Use-configure-to-test-for-feature-instead-of-platfor.patch?h=sumo]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Dario: make the patch to be applied with fuzz factor 0]
-Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
+Signed-off-by: Randy MacLeod <randy.macleod@windriver.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/configure.ac | 4 ++++
- open-vm-tools/lib/misc/idLinux.c | 30 ++++++++++++++----------------
- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 8 ++++++--
- 3 files changed, 24 insertions(+), 18 deletions(-)
+ configure.ac | 4 ++++
+ lib/misc/idLinux.c | 30 ++++++++++++++----------------
+ lib/nicInfo/nicInfoPosix.c | 6 +++++-
+ 3 files changed, 23 insertions(+), 17 deletions(-)
-Index: open-vm-tools/configure.ac
-===================================================================
---- open-vm-tools.orig/configure.ac
-+++ open-vm-tools/configure.ac
-@@ -940,6 +940,7 @@
+diff --git a/configure.ac b/configure.ac
+index 0ba2f6658..31d61c154 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1121,6 +1121,7 @@ AC_CHECK_FUNCS(
AC_CHECK_FUNCS([ecvt])
AC_CHECK_FUNCS([fcvt])
@@ -42,7 +44,7 @@ Index: open-vm-tools/configure.ac
AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
-@@ -1149,10 +1150,13 @@
+@@ -1330,10 +1331,13 @@ fi
###
AC_CHECK_HEADERS([crypt.h])
@@ -56,10 +58,10 @@ Index: open-vm-tools/configure.ac
AC_CHECK_HEADERS([sys/inttypes.h])
AC_CHECK_HEADERS([sys/io.h])
AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
-Index: open-vm-tools/lib/misc/idLinux.c
-===================================================================
---- open-vm-tools.orig/lib/misc/idLinux.c
-+++ open-vm-tools/lib/misc/idLinux.c
+diff --git a/lib/misc/idLinux.c b/lib/misc/idLinux.c
+index 3d7d1e303..0e12ac5bd 100644
+--- a/lib/misc/idLinux.c
++++ b/lib/misc/idLinux.c
@@ -27,12 +27,9 @@
#include <sys/syscall.h>
#include <string.h>
@@ -74,7 +76,7 @@ Index: open-vm-tools/lib/misc/idLinux.c
#ifdef __APPLE__
#include <sys/socket.h>
#include <TargetConditionals.h>
-@@ -1025,31 +1022,32 @@
+@@ -1025,24 +1022,23 @@ Id_EndSuperUser(uid_t uid) // IN:
static Bool
IdIsSetUGid(void)
{
@@ -108,10 +110,11 @@ Index: open-vm-tools/lib/misc/idLinux.c
+#elif HAVE___SECURE_GETENV
static const char envName[] = "VMW_SETUGID_TEST";
- if (setenv(envName, "1", TRUE) == -1) {
- return TRUE; /* Conservative */
+ /*
+@@ -1062,7 +1058,9 @@ IdIsSetUGid(void)
+ return secure_getenv(envName) == NULL;
}
- return __secure_getenv(envName) == NULL;
+ return TRUE;
-#endif
+#else
+ /* Android does not have a secure_getenv, so be conservative. */
@@ -119,10 +122,10 @@ Index: open-vm-tools/lib/misc/idLinux.c
#endif
}
#endif
-Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c
-===================================================================
---- open-vm-tools.orig/lib/nicInfo/nicInfoPosix.c
-+++ open-vm-tools/lib/nicInfo/nicInfoPosix.c
+diff --git a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
+index 0135e6a09..6f20547b2 100644
+--- a/lib/nicInfo/nicInfoPosix.c
++++ b/lib/nicInfo/nicInfoPosix.c
@@ -35,9 +35,13 @@
#include <sys/stat.h>
#include <errno.h>
@@ -138,15 +141,6 @@ Index: open-vm-tools/lib/nicInfo/nicInfoPosix.c
# include <net/if.h>
#endif
#ifndef NO_DNET
-@@ -499,10 +503,7 @@
- *
- ******************************************************************************
- */
--#if defined(__FreeBSD__) || \
-- defined(__APPLE__) || \
-- defined(USERWORLD) || \
-- (defined(__linux__) && defined(NO_DNET))
-+#if defined(NO_DNET) && defined(HAVE_GETIFADDRS)
-
- char *
- GuestInfoGetPrimaryIP(void)
+--
+2.47.3
+
diff --git a/package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch b/package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch
index c058dfe6c3..198abb3f45 100644
--- a/package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch
+++ b/package/openvmtools/0008-Use-configure-test-for-sys-stat.h-include.patch
@@ -1,4 +1,4 @@
-From 95c6184d9ff70a47c41768850923a96de9e544aa Mon Sep 17 00:00:00 2001
+From 2b1df418ff114676ba93c005d96925a068e41944 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Wed, 18 Nov 2015 10:41:01 +0000
Subject: [PATCH] Use configure test for sys/stat.h include
@@ -9,15 +9,19 @@ Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
[Retrieved from:
http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-configure-test-for-sys-stat.h-include.patch?h=sumo]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
+ services/plugins/vix/vixTools.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: open-vm-tools/services/plugins/vix/vixTools.c
-===================================================================
---- open-vm-tools.orig/services/plugins/vix/vixTools.c
-+++ open-vm-tools/services/plugins/vix/vixTools.c
-@@ -66,7 +66,7 @@
+diff --git a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c
+index 694371d10..b2079a10d 100644
+--- a/services/plugins/vix/vixTools.c
++++ b/services/plugins/vix/vixTools.c
+@@ -67,7 +67,7 @@
#include <unistd.h>
#endif
@@ -26,3 +30,6 @@ Index: open-vm-tools/services/plugins/vix/vixTools.c
#include <sys/stat.h>
#endif
+--
+2.47.3
+
diff --git a/package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch b/package/openvmtools/0009-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch
similarity index 86%
rename from package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch
rename to package/openvmtools/0009-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch
index e2984a38b7..d3adc738cd 100644
--- a/package/openvmtools/0011-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch
+++ b/package/openvmtools/0009-open-vm-tools-vmhgfs-fuse-fsutils.h-fix-build-on-mus.patch
@@ -1,4 +1,4 @@
-From 0a5032669951ffd6735c294a6f309b0ec6667ea5 Mon Sep 17 00:00:00 2001
+From 84adbc466ed1ae2b87b383880ff724324866f59b Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 8 Mar 2020 18:49:00 +0100
Subject: [PATCH] open-vm-tools/vmhgfs-fuse/fsutils.h: fix build on musl
@@ -18,12 +18,14 @@ Fixes:
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: not sent yet (upstream is not reactive on third patch]
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
vmhgfs-fuse/fsutil.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/vmhgfs-fuse/fsutil.h b/vmhgfs-fuse/fsutil.h
-index 34b6d489..a94f9fbb 100644
+index 34b6d489a..a94f9fbb1 100644
--- a/vmhgfs-fuse/fsutil.h
+++ b/vmhgfs-fuse/fsutil.h
@@ -32,7 +32,8 @@
@@ -37,5 +39,5 @@ index 34b6d489..a94f9fbb 100644
#endif
--
-2.25.0
+2.47.3
diff --git a/package/openvmtools/0010-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/package/openvmtools/0010-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
new file mode 100644
index 0000000000..df69be32d6
--- /dev/null
+++ b/package/openvmtools/0010-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
@@ -0,0 +1,51 @@
+From bedbcfcf347ff1a11d1a54f8f780f560e4b241a4 Mon Sep 17 00:00:00 2001
+From: Stefan Agner <stefan@agner.ch>
+Date: Tue, 5 Sep 2023 15:03:56 +0200
+Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386
+
+I verified that this function behaves as expected on x86_64, i386 with
+32-bit time_t, and i386 with 64-bit time_t for the following values of
+ntTtime:
+
+UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX,
+UNIX_S32_MAX+1, UNIX_S32_MAX*2+1
+
+I did not verify whether the use of Div643264 is optimal, performance
+wise.
+
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+[rebased against stable-12.3.0]
+Signed-off-by: Stefan Agner <stefan@agner.ch>
+[Bernd: rebased against stable-13.0.10]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/hgfs/hgfsUtil.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/lib/hgfs/hgfsUtil.c b/lib/hgfs/hgfsUtil.c
+index fcd7fb726..f86061562 100644
+--- a/lib/hgfs/hgfsUtil.c
++++ b/lib/hgfs/hgfsUtil.c
+@@ -131,13 +131,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
+ unixTime->tv_sec = sec;
+ unixTime->tv_nsec = nsec * 100;
+-
+- return 0;
++ } else {
++ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec);
++ unixTime->tv_sec = sec64;
++ unixTime->tv_nsec = nsec * 100;
+ }
+-#endif
+-
++#else
+ unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
+ unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
++#endif // __i386__
+
+ return 0;
+ }
+--
+2.47.3
+
diff --git a/package/openvmtools/0011-fix-initialization-discards-const-qualifier-from-poi.patch b/package/openvmtools/0011-fix-initialization-discards-const-qualifier-from-poi.patch
new file mode 100644
index 0000000000..525984ebd0
--- /dev/null
+++ b/package/openvmtools/0011-fix-initialization-discards-const-qualifier-from-poi.patch
@@ -0,0 +1,148 @@
+From ba2005c94cc9ebe1b09f83e8c70ef9f0d0b5a353 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Mon, 26 Jan 2026 11:55:03 +0000
+Subject: [PATCH] fix initialization discards 'const' qualifier from pointer
+ target type
+
+Since glibc-2.43:
+
+For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
+strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return
+pointers into their input arrays now have definitions as macros that
+return a pointer to a const-qualified type when the input argument is
+a pointer to a const-qualified type.
+
+https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+
+Upstream: https://github.com/vmware/open-vm-tools/pull/783
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/hgfs/hgfsEscape.c | 6 +++---
+ lib/hgfsServer/hgfsServerLinux.c | 2 +-
+ lib/misc/strutil.c | 7 ++++---
+ lib/nicInfo/nicInfoPosix.c | 2 +-
+ libvmtools/i18n.c | 2 +-
+ services/plugins/vix/vixTools.c | 2 +-
+ 6 files changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/lib/hgfs/hgfsEscape.c b/lib/hgfs/hgfsEscape.c
+index c4d39b12d..212ea1c79 100644
+--- a/lib/hgfs/hgfsEscape.c
++++ b/lib/hgfs/hgfsEscape.c
+@@ -175,7 +175,7 @@ HgfsAddEscapeCharacter(char const * bufIn, // IN: input name
+ HgfsEscapeContext *escapeContext = (HgfsEscapeContext *)context;
+ uint32 charactersToCopy;
+ uint32 outputSpace;
+- char* illegal;
++ const char* illegal;
+ Bool result = TRUE;
+
+ ASSERT(offset >= escapeContext->processedOffset); // Scanning forward
+@@ -573,7 +573,7 @@ HgfsIsEscapeSequence(char const *bufIn, // IN: input name
+ uint32 length) // IN: length of the name in characters
+ {
+ if (bufIn[offset] == HGFS_ESCAPE_CHAR && offset > 0) {
+- char *substitute;
++ const char *substitute;
+ if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR && offset > 1) {
+ /*
+ * Possibly a valid sequence, check it must be preceded with a substitute
+@@ -887,7 +887,7 @@ HgfsEscapeUndoComponent(char *bufIn, // IN: Characters to be unesc
+ size_t offset = escapePointer - bufIn;
+
+ if (HgfsIsEscapeSequence(bufIn, offset, sizeIn)) {
+- char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]);
++ const char* substitute = strchr(HGFS_SUBSTITUTE_CHARS, bufIn[offset - 1]);
+ if (substitute != NULL) {
+ bufIn[offset - 1] = HGFS_ILLEGAL_CHARS[substitute - HGFS_SUBSTITUTE_CHARS];
+ } else if (bufIn[offset - 1] == HGFS_ESCAPE_SUBSTITUE_CHAR) {
+diff --git a/lib/hgfsServer/hgfsServerLinux.c b/lib/hgfsServer/hgfsServerLinux.c
+index 6ed49e2b7..00bed5684 100644
+--- a/lib/hgfsServer/hgfsServerLinux.c
++++ b/lib/hgfsServer/hgfsServerLinux.c
+@@ -1366,7 +1366,7 @@ static void
+ HgfsGetHiddenAttr(char const *fileName, // IN: Input filename
+ HgfsFileAttrInfo *attr) // OUT: Struct to copy into
+ {
+- char *baseName;
++ const char *baseName;
+
+ ASSERT(fileName);
+ ASSERT(attr);
+diff --git a/lib/misc/strutil.c b/lib/misc/strutil.c
+index 4fc6502e4..4be63b7b8 100644
+--- a/lib/misc/strutil.c
++++ b/lib/misc/strutil.c
+@@ -1454,6 +1454,7 @@ StrUtil_ReplaceAll(const char *orig, // IN
+ char *result;
+ const char *current;
+ char *tmp;
++ const char *tmp2;
+ size_t lenWhat;
+ size_t lenWith;
+ size_t occurrences = 0;
+@@ -1467,8 +1468,8 @@ StrUtil_ReplaceAll(const char *orig, // IN
+ lenWith = strlen(with);
+
+ current = orig;
+- while ((tmp = strstr(current, what)) != NULL) {
+- current = tmp + lenWhat;
++ while ((tmp2 = strstr(current, what)) != NULL) {
++ current = tmp2 + lenWhat;
+ ++occurrences;
+ }
+
+@@ -1695,7 +1696,7 @@ StrUtilHasListItem(char const *list, // IN:
+ char const *item, // IN:
+ int (*ncmp)(char const *, char const*, size_t)) // IN:
+ {
+- char *foundDelim;
++ const char *foundDelim;
+ int itemLen = strlen(item);
+
+ if (list == NULL) {
+diff --git a/lib/nicInfo/nicInfoPosix.c b/lib/nicInfo/nicInfoPosix.c
+index 6f20547b2..a387e377b 100644
+--- a/lib/nicInfo/nicInfoPosix.c
++++ b/lib/nicInfo/nicInfoPosix.c
+@@ -267,7 +267,7 @@ static Bool
+ IpEntryMatchesDevice(const char *devName,
+ const char *label)
+ {
+- char *p;
++ const char *p;
+ size_t n;
+
+ if ((p = strchr(label, ':')) != NULL) {
+diff --git a/libvmtools/i18n.c b/libvmtools/i18n.c
+index 3085f72d7..f61406d14 100644
+--- a/libvmtools/i18n.c
++++ b/libvmtools/i18n.c
+@@ -698,7 +698,7 @@ VMTools_BindTextDomain(const char *domain,
+ * If we couldn't find the catalog file for the user's language, see if
+ * we can find a more generic language (e.g., for "en_US", also try "en").
+ */
+- char *sep = Str_Strrchr(lang, '_');
++ const char *sep = Str_Strrchr(lang, '_');
+ if (sep != NULL) {
+ if (usrlang == NULL) {
+ usrlang = Util_SafeStrdup(lang);
+diff --git a/services/plugins/vix/vixTools.c b/services/plugins/vix/vixTools.c
+index b2079a10d..6a8498ffb 100644
+--- a/services/plugins/vix/vixTools.c
++++ b/services/plugins/vix/vixTools.c
+@@ -925,7 +925,7 @@ VixToolsBuildUserEnvironmentTable(const char * const *envp) // IN: optional
+ for (; NULL != *envp; envp++) {
+ char *name;
+ char *value;
+- char *whereToSplit;
++ const char *whereToSplit;
+ size_t nameLen;
+
+ whereToSplit = strchr(*envp, '=');
+--
+2.47.3
+
diff --git a/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
deleted file mode 100644
index dbe2c29a2b..0000000000
--- a/package/openvmtools/0012-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 3f0580f2546de8be7acf1bc78a55a257bc638ebe Mon Sep 17 00:00:00 2001
-From: Bartosz Brachaczek <b.brachaczek@gmail.com>
-Date: Tue, 12 Nov 2019 14:31:08 +0100
-Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386
-
-I verified that this function behaves as expected on x86_64, i386 with
-32-bit time_t, and i386 with 64-bit time_t for the following values of
-ntTtime:
-
-UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX,
-UNIX_S32_MAX+1, UNIX_S32_MAX*2+1
-
-I did not verify whether the use of Div643264 is optimal, performance
-wise.
-
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++++---------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/lib/hgfs/hgfsUtil.c b/lib/hgfs/hgfsUtil.c
-index cc580ab8..49b10040 100644
---- a/lib/hgfs/hgfsUtil.c
-+++ b/lib/hgfs/hgfsUtil.c
-@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
- uint64 ntTime) // IN: Time in Windows NT format
- {
- #ifdef __i386__
-- uint32 sec;
-- uint32 nsec;
-+ uint64 sec64;
-+ uint32 sec32, nsec;
-+#endif
-
- ASSERT(unixTime);
-- /* We assume that time_t is 32bit */
-- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4);
-
-- /* Cap NT time values that are outside of Unix time's range */
-+ if (sizeof (unixTime->tv_sec) == 4) {
-+ /* Cap NT time values that are outside of Unix time's range */
-
-- if (ntTime >= UNIX_S32_MAX) {
-- unixTime->tv_sec = 0x7FFFFFFF;
-- unixTime->tv_nsec = 0;
-- return 1;
-+ if (ntTime >= UNIX_S32_MAX) {
-+ unixTime->tv_sec = 0x7FFFFFFF;
-+ unixTime->tv_nsec = 0;
-+ return 1;
-+ }
- }
--#else
-- ASSERT(unixTime);
--#endif
-
- if (ntTime < UNIX_EPOCH) {
- unixTime->tv_sec = 0;
-@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
- }
-
- #ifdef __i386__
-- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
-- unixTime->tv_sec = sec;
-- unixTime->tv_nsec = nsec * 100;
-+ if (sizeof (unixTime->tv_sec) == 4) {
-+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec);
-+ unixTime->tv_sec = sec32;
-+ unixTime->tv_nsec = nsec * 100;
-+ } else {
-+ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec);
-+ unixTime->tv_sec = sec64;
-+ unixTime->tv_nsec = nsec * 100;
-+ }
- #else
- unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
- unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
---
-2.25.1
-
diff --git a/package/openvmtools/0015-glib_stubs-avoid-GLib-g_free-macro-redefinition-error.patch b/package/openvmtools/0012-glib_stubs-avoid-GLib-g_free-macro-redefinition-erro.patch
similarity index 84%
rename from package/openvmtools/0015-glib_stubs-avoid-GLib-g_free-macro-redefinition-error.patch
rename to package/openvmtools/0012-glib_stubs-avoid-GLib-g_free-macro-redefinition-erro.patch
index 226fd5a15f..6b58002c4b 100644
--- a/package/openvmtools/0015-glib_stubs-avoid-GLib-g_free-macro-redefinition-error.patch
+++ b/package/openvmtools/0012-glib_stubs-avoid-GLib-g_free-macro-redefinition-erro.patch
@@ -1,4 +1,4 @@
-From bfd12cf73d81919843383598e4a9e64c6e5fd97a Mon Sep 17 00:00:00 2001
+From 34b3bfcbb8162a96b5a65a6864f736dff1ccd70b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 21 Nov 2025 00:29:10 -0800
Subject: [PATCH] glib_stubs: avoid GLib g_free macro redefinition error
@@ -9,13 +9,13 @@ inside the function signature and breaking the build.
Undefine the macro before defining the stub.
-Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream: https://github.com/vmware/open-vm-tools/pull/779
-Signed-off-by: John Ernberg <j@j-ernberg.se>
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
- open-vm-tools/lib/rpcChannel/glib_stubs.c | 3 +++
+ lib/rpcChannel/glib_stubs.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/rpcChannel/glib_stubs.c b/lib/rpcChannel/glib_stubs.c
@@ -32,3 +32,6 @@ index c32deb073..cb89c6a87 100644
void g_free(void *p) { free(p); }
void g_mutex_init(GMutex *mutex) { }
+--
+2.47.3
+
diff --git a/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch b/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch
deleted file mode 100644
index c257e77504..0000000000
--- a/package/openvmtools/0013-Properly-check-authorization-on-incoming-guestOps-re.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From bb9f9ffbb151397545f921cee5b6a4933c6eea80 Mon Sep 17 00:00:00 2001
-Message-Id: <bb9f9ffbb151397545f921cee5b6a4933c6eea80.1666169374.git.stefan@agner.ch>
-From: John Wolfe <jwolfe@vmware.com>
-Date: Wed, 10 Aug 2022 06:12:02 -0700
-Subject: [PATCH] Properly check authorization on incoming guestOps requests
-
-Fix public pipe request checks. Only a SessionRequest type should
-be accepted on the public pipe.
-
-CVE: CVE-2022-31676
-Upstream: https://github.com/vmware/open-vm-tools/blob/CVE-2022-31676.patch/1205-Properly-check-authorization-on-incoming-guestOps-re.patch
-Signed-off-by: Stefan Agner <stefan@agner.ch>
----
- vgauth/serviceImpl/proto.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/vgauth/serviceImpl/proto.c b/vgauth/serviceImpl/proto.c
-index db7159ee..c4f85b02 100644
---- a/vgauth/serviceImpl/proto.c
-+++ b/vgauth/serviceImpl/proto.c
-@@ -1,5 +1,5 @@
- /*********************************************************
-- * Copyright (C) 2011-2016,2019-2021 VMware, Inc. All rights reserved.
-+ * Copyright (c) 2011-2016,2019-2022 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published
-@@ -1201,6 +1201,10 @@ Proto_SecurityCheckRequest(ServiceConnection *conn,
- VGAuthError err;
- gboolean isSecure = ServiceNetworkIsConnectionPrivateSuperUser(conn);
-
-+ if (conn->isPublic && req->reqType != PROTO_REQUEST_SESSION_REQ) {
-+ return VGAUTH_E_PERMISSION_DENIED;
-+ }
-+
- switch (req->reqType) {
- /*
- * This comes over the public connection; alwsys let it through.
---
-2.38.0
-
diff --git a/package/openvmtools/0014-CVE-2025-22247-1100-1225-VGAuth-updates.patch b/package/openvmtools/0014-CVE-2025-22247-1100-1225-VGAuth-updates.patch
deleted file mode 100644
index 48962857ba..0000000000
--- a/package/openvmtools/0014-CVE-2025-22247-1100-1225-VGAuth-updates.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-From 2a2607c6bd94ae22a937fd2adde7472d9a6d506c Mon Sep 17 00:00:00 2001
-From: John Wolfe <john.wolfe@broadcom.com>
-Date: Mon, 5 May 2025 16:10:07 -0700
-Subject: [PATCH] Validate user names and file paths
-
-Prevent usage of illegal characters in user names and file paths.
-Also, disallow unexpected symlinks in file paths.
-
-This patch contains changes to common source files not applicable
-to open-vm-tools.
-
-All files being updated should be consider to have the copyright to
-be updated to:
-
- * Copyright (c) XXXX-2025 Broadcom. All Rights Reserved.
- * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
-
-The 2025 Broadcom copyright information update is not part of this
-patch set to allow the patch to be easily applied to previous
-open-vm-tools source releases.
-
-CVE: CVE-2025-22247
-Upstream: https://github.com/vmware/blob/CVE-2025-22247.patch/CVE-2025-22247-1100-1225-VGAuth-updates.patch
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- vgauth/common/VGAuthUtil.c | 33 +++++++++
- vgauth/common/VGAuthUtil.h | 2 +
- vgauth/common/prefs.h | 3 +
- vgauth/common/usercheck.c | 28 +++++--
- vgauth/serviceImpl/alias.c | 74 ++++++++++++++++++-
- vgauth/serviceImpl/service.c | 27 +++++++
- vgauth/serviceImpl/serviceInt.h | 1 +
- 7 files changed, 160 insertions(+), 8 deletions(-)
-
-diff --git a/vgauth/common/VGAuthUtil.c b/vgauth/common/VGAuthUtil.c
-index 76383c462..9c2adb8d0 100644
---- a/vgauth/common/VGAuthUtil.c
-+++ b/vgauth/common/VGAuthUtil.c
-@@ -309,3 +309,36 @@ Util_Assert(const char *cond,
- #endif
- g_assert(0);
- }
-+
-+
-+/*
-+ ******************************************************************************
-+ * Util_Utf8CaseCmp -- */ /**
-+ *
-+ * Case insensitive comparison for utf8 strings which can have non-ascii
-+ * characters.
-+ *
-+ * @param[in] str1 Null terminated utf8 string.
-+ * @param[in] str2 Null terminated utf8 string.
-+ *
-+ ******************************************************************************
-+ */
-+
-+int
-+Util_Utf8CaseCmp(const gchar *str1,
-+ const gchar *str2)
-+{
-+ int ret;
-+ gchar *str1Case;
-+ gchar *str2Case;
-+
-+ str1Case = g_utf8_casefold(str1, -1);
-+ str2Case = g_utf8_casefold(str2, -1);
-+
-+ ret = g_strcmp0(str1Case, str2Case);
-+
-+ g_free(str1Case);
-+ g_free(str2Case);
-+
-+ return ret;
-+}
-diff --git a/vgauth/common/VGAuthUtil.h b/vgauth/common/VGAuthUtil.h
-index f7f3aa216..ef32a91da 100644
---- a/vgauth/common/VGAuthUtil.h
-+++ b/vgauth/common/VGAuthUtil.h
-@@ -105,4 +105,6 @@ gboolean Util_CheckExpiration(const GTimeVal *start, unsigned int duration);
-
- void Util_Assert(const char *cond, const char *file, int lineNum);
-
-+int Util_Utf8CaseCmp(const gchar *str1, const gchar *str2);
-+
- #endif
-diff --git a/vgauth/common/prefs.h b/vgauth/common/prefs.h
-index ff116928c..7cddb3e17 100644
---- a/vgauth/common/prefs.h
-+++ b/vgauth/common/prefs.h
-@@ -165,6 +165,9 @@ msgCatalog = /etc/vmware-tools/vgauth/messages
- /** Where the localized version of the messages were installed. */
- #define VGAUTH_PREF_LOCALIZATION_DIR "msgCatalog"
-
-+/** If symlinks or junctions are allowed in alias store file path */
-+#define VGAUTH_PREF_ALLOW_SYMLINKS "allowSymlinks"
-+
- /*
- * Pref values
- */
-diff --git a/vgauth/common/usercheck.c b/vgauth/common/usercheck.c
-index 31eeb5a77..145f1f056 100644
---- a/vgauth/common/usercheck.c
-+++ b/vgauth/common/usercheck.c
-@@ -78,6 +78,8 @@
- * Solaris as well, but that path is untested.
- */
-
-+#define MAX_USER_NAME_LEN 256
-+
- /*
- * A single retry works for the LDAP case, but try more often in case NIS
- * or something else has a related issue. Note that a bad username/uid won't
-@@ -354,17 +356,29 @@ Usercheck_UsernameIsLegal(const gchar *userName)
- *
- */
- size_t len;
--#ifdef _WIN32
-- // allow '\' in for Windows domain usernames
-- char *illegalChars = "<>/";
--#else
-- char *illegalChars = "\\<>/";
--#endif
-+ size_t i = 0;
-+ int backSlashCnt = 0;
-+ /*
-+ * As user names are used to generate its alias store file name/path, it
-+ * should not contain path traversal characters ('/' and '\').
-+ */
-+ char *illegalChars = "<>/\\";
-
- len = strlen(userName);
-- if (strcspn(userName, illegalChars) != len) {
-+ if (len > MAX_USER_NAME_LEN) {
- return FALSE;
- }
-+
-+ while ((i += strcspn(userName + i, illegalChars)) < len) {
-+ /*
-+ * One backward slash is allowed for domain\username separator.
-+ */
-+ if (userName[i] != '\\' || ++backSlashCnt > 1) {
-+ return FALSE;
-+ }
-+ ++i;
-+ }
-+
- return TRUE;
- }
-
-diff --git a/vgauth/serviceImpl/alias.c b/vgauth/serviceImpl/alias.c
-index b28351eea..687d1b373 100644
---- a/vgauth/serviceImpl/alias.c
-+++ b/vgauth/serviceImpl/alias.c
-@@ -41,6 +41,7 @@
- #include "certverify.h"
- #include "VGAuthProto.h"
- #include "vmxlog.h"
-+#include "VGAuthUtil.h"
-
- // puts the identity store in an easy to find place
- #undef WIN_TEST_MODE
-@@ -66,6 +67,7 @@
- #define ALIASSTORE_FILE_PREFIX "user-"
- #define ALIASSTORE_FILE_SUFFIX ".xml"
-
-+static gboolean allowSymlinks = FALSE;
- static gchar *aliasStoreRootDir = DEFAULT_ALIASSTORE_ROOT_DIR;
-
- #ifdef _WIN32
-@@ -252,6 +254,12 @@ mapping file layout:
-
- */
-
-+#ifdef _WIN32
-+#define ISPATHSEP(c) ((c) == '\\' || (c) == '/')
-+#else
-+#define ISPATHSEP(c) ((c) == '/')
-+#endif
-+
-
- /*
- ******************************************************************************
-@@ -466,6 +474,7 @@ ServiceLoadFileContentsWin(const gchar *fileName,
- gunichar2 *fileNameW = NULL;
- BOOL ok;
- DWORD bytesRead;
-+ gchar *realPath = NULL;
-
- *fileSize = 0;
- *contents = NULL;
-@@ -622,6 +631,22 @@ ServiceLoadFileContentsWin(const gchar *fileName,
- goto done;
- }
-
-+ if (!allowSymlinks) {
-+ /*
-+ * Check if fileName is real path.
-+ */
-+ if ((realPath = ServiceFileGetPathByHandle(hFile)) == NULL) {
-+ err = VGAUTH_E_FAIL;
-+ goto done;
-+ }
-+ if (Util_Utf8CaseCmp(realPath, fileName) != 0) {
-+ Warning("%s: Real path (%s) is not same as file path (%s)\n",
-+ __FUNCTION__, realPath, fileName);
-+ err = VGAUTH_E_FAIL;
-+ goto done;
-+ }
-+ }
-+
- /*
- * Now finally read the contents.
- */
-@@ -650,6 +675,7 @@ done:
- CloseHandle(hFile);
- }
- g_free(fileNameW);
-+ g_free(realPath);
-
- return err;
- }
-@@ -672,6 +698,7 @@ ServiceLoadFileContentsPosix(const gchar *fileName,
- gchar *buf;
- gchar *bp;
- int fd = -1;
-+ gchar realPath[PATH_MAX] = { 0 };
-
- *fileSize = 0;
- *contents = NULL;
-@@ -817,6 +844,23 @@ ServiceLoadFileContentsPosix(const gchar *fileName,
- goto done;
- }
-
-+ if (!allowSymlinks) {
-+ /*
-+ * Check if fileName is real path.
-+ */
-+ if (realpath(fileName, realPath) == NULL) {
-+ Warning("%s: realpath() failed. errno (%d)\n", __FUNCTION__, errno);
-+ err = VGAUTH_E_FAIL;
-+ goto done;
-+ }
-+ if (g_strcmp0(realPath, fileName) != 0) {
-+ Warning("%s: Real path (%s) is not same as file path (%s)\n",
-+ __FUNCTION__, realPath, fileName);
-+ err = VGAUTH_E_FAIL;
-+ goto done;
-+ }
-+ }
-+
- /*
- * All sanity checks passed; read the bits.
- */
-@@ -2803,8 +2847,13 @@ ServiceAliasRemoveAlias(const gchar *reqUserName,
-
- /*
- * We don't verify the user exists in a Remove operation, to allow
-- * cleanup of deleted user's stores.
-+ * cleanup of deleted user's stores, but we do check whether the
-+ * user name is legal or not.
- */
-+ if (!Usercheck_UsernameIsLegal(userName)) {
-+ Warning("%s: Illegal user name '%s'\n", __FUNCTION__, userName);
-+ return VGAUTH_E_FAIL;
-+ }
-
- if (!CertVerify_IsWellFormedPEMCert(pemCert)) {
- return VGAUTH_E_INVALID_CERTIFICATE;
-@@ -3036,6 +3085,16 @@ ServiceAliasQueryAliases(const gchar *userName,
- }
- #endif
-
-+ /*
-+ * We don't verify the user exists in a Query operation to allow
-+ * cleaning up after a deleted user, but we do check whether the
-+ * user name is legal or not.
-+ */
-+ if (!Usercheck_UsernameIsLegal(userName)) {
-+ Warning("%s: Illegal user name '%s'\n", __FUNCTION__, userName);
-+ return VGAUTH_E_FAIL;
-+ }
-+
- err = AliasLoadAliases(userName, num, aList);
- if (VGAUTH_E_OK != err) {
- Warning("%s: failed to load Aliases for '%s'\n", __FUNCTION__, userName);
-@@ -3294,6 +3353,7 @@ ServiceAliasInitAliasStore(void)
- VGAuthError err = VGAUTH_E_OK;
- gboolean saveBadDir = FALSE;
- char *defaultDir = NULL;
-+ size_t len;
-
- #ifdef _WIN32
- {
-@@ -3324,6 +3384,10 @@ ServiceAliasInitAliasStore(void)
- defaultDir = g_strdup(DEFAULT_ALIASSTORE_ROOT_DIR);
- #endif
-
-+ allowSymlinks = Pref_GetBool(gPrefs,
-+ VGAUTH_PREF_ALLOW_SYMLINKS,
-+ VGAUTH_PREF_GROUP_NAME_SERVICE,
-+ FALSE);
- /*
- * Find the alias store directory. This allows an installer to put
- * it somewhere else if necessary.
-@@ -3337,6 +3401,14 @@ ServiceAliasInitAliasStore(void)
- VGAUTH_PREF_GROUP_NAME_SERVICE,
- defaultDir);
-
-+ /*
-+ * Remove the trailing separator if any from aliasStoreRootDir path.
-+ */
-+ len = strlen(aliasStoreRootDir);
-+ if (ISPATHSEP(aliasStoreRootDir[len - 1])) {
-+ aliasStoreRootDir[len - 1] = '\0';
-+ }
-+
- Log("Using '%s' for alias store root directory\n", aliasStoreRootDir);
-
- g_free(defaultDir);
-diff --git a/vgauth/serviceImpl/service.c b/vgauth/serviceImpl/service.c
-index d4716526c..e053ed0fa 100644
---- a/vgauth/serviceImpl/service.c
-+++ b/vgauth/serviceImpl/service.c
-@@ -28,6 +28,7 @@
- #include "VGAuthUtil.h"
- #ifdef _WIN32
- #include "winUtil.h"
-+#include <glib.h>
- #endif
-
- static ServiceStartListeningForIOFunc startListeningIOFunc = NULL;
-@@ -283,9 +284,35 @@ static gchar *
- ServiceUserNameToPipeName(const char *userName)
- {
- gchar *escapedName = ServiceEncodeUserName(userName);
-+#ifdef _WIN32
-+ /*
-+ * Adding below pragma only in windows to suppress the compile time warning
-+ * about unavailability of g_uuid_string_random() since compiler flag
-+ * GLIB_VERSION_MAX_ALLOWED is defined to GLIB_VERSION_2_34.
-+ * TODO: Remove below pragma when GLIB_VERSION_MAX_ALLOWED is bumped up to
-+ * or greater than GLIB_VERSION_2_52.
-+ */
-+#pragma warning(suppress : 4996)
-+ gchar *uuidStr = g_uuid_string_random();
-+ /*
-+ * Add a unique suffix to avoid a name collision with an existing named pipe
-+ * created by someone else (intentionally or by accident).
-+ * This is not needed for Linux; name collisions on sockets are already
-+ * avoided there since (1) file system paths to VGAuthService sockets are in
-+ * a directory that is writable only by root and (2) VGAuthService unlinks a
-+ * socket path before binding it to a newly created socket.
-+ */
-+ gchar *pipeName = g_strdup_printf("%s-%s-%s",
-+ SERVICE_PUBLIC_PIPE_NAME,
-+ escapedName,
-+ uuidStr);
-+
-+ g_free(uuidStr);
-+#else
- gchar *pipeName = g_strdup_printf("%s-%s",
- SERVICE_PUBLIC_PIPE_NAME,
- escapedName);
-+#endif
-
- g_free(escapedName);
- return pipeName;
-diff --git a/vgauth/serviceImpl/serviceInt.h b/vgauth/serviceImpl/serviceInt.h
-index ef49f42c2..c37f42fa6 100644
---- a/vgauth/serviceImpl/serviceInt.h
-+++ b/vgauth/serviceImpl/serviceInt.h
-@@ -441,6 +441,7 @@ VGAuthError ServiceFileVerifyAdminGroupOwnedByHandle(const HANDLE hFile);
- VGAuthError ServiceFileVerifyEveryoneReadableByHandle(const HANDLE hFile);
- VGAuthError ServiceFileVerifyUserAccessByHandle(const HANDLE hFile,
- const char *userName);
-+gchar *ServiceFileGetPathByHandle(HANDLE hFile);
- #else
- VGAuthError ServiceFileVerifyFileOwnerAndPerms(const char *fileName,
- const char *userName,
---
-2.43.5
-
diff --git a/package/openvmtools/openvmtools.hash b/package/openvmtools/openvmtools.hash
index 081538fbf3..a3532c6a02 100644
--- a/package/openvmtools/openvmtools.hash
+++ b/package/openvmtools/openvmtools.hash
@@ -1,3 +1,4 @@
+# From https://github.com/vmware/open-vm-tools/releases/tag/stable-13.1.0
+sha256 67a23d505aca77127b081445f758e269b1009e8824cf7f6f2d6efafb0b14d0fd open-vm-tools-13.1.0-25218885.tar.gz
# locally computed
-sha256 2053daf7b224ab7ae1a9cfcd6ae12494c646e2bf9aaca998225bd082a4a43fb7 open-vm-tools-11.3.5-18557794.tar.gz
sha256 f734933bd7d49aef25aaf897ed7281ee822e8635056e69b895a7d2e668937fc5 COPYING
diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk
index 58876c877a..97e1c2f9ee 100644
--- a/package/openvmtools/openvmtools.mk
+++ b/package/openvmtools/openvmtools.mk
@@ -4,8 +4,8 @@
#
################################################################################
-OPENVMTOOLS_VERSION_MAJOR = 11.3.5
-OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-18557794
+OPENVMTOOLS_VERSION_MAJOR = 13.1.0
+OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-25218885
OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION_MAJOR)
OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz
OPENVMTOOLS_LICENSE = LGPL-2.1
@@ -17,18 +17,13 @@ OPENVMTOOLS_CPE_ID_PRODUCT = tools
# previously connected to this CVE ID because of a typo, is at CVE-2022-31693
OPENVMTOOLS_IGNORE_CVES += CVE-2021-31693
-# 0013-Properly-check-authorization-on-incoming-guestOps-re.patch
-OPENVMTOOLS_IGNORE_CVES += CVE-2022-31676
-
-# 0014-CVE-2025-22247-1100-1225-VGAuth-updates.patch
-OPENVMTOOLS_IGNORE_CVES += CVE-2025-22247
-
# configure.ac is patched
OPENVMTOOLS_AUTORECONF = YES
OPENVMTOOLS_CONF_OPTS = --with-dnet \
--without-icu --without-x --without-gtk2 \
--without-gtkmm --without-kernel-modules \
- --disable-deploypkg --without-xerces
+ --disable-deploypkg --without-xerces \
+ --disable-vgauth --disable-containerinfo
OPENVMTOOLS_CONF_ENV += \
CUSTOM_DNET_CPPFLAGS=" " \
LIBS=$(TARGET_NLS_LIBS)
@@ -39,7 +34,10 @@ OPENVMTOOLS_DEPENDENCIES = \
$(TARGET_NLS_DEPENDENCIES)
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+OPENVMTOOLS_CONF_OPTS += --with-tirpc
OPENVMTOOLS_DEPENDENCIES += libtirpc
+else
+OPENVMTOOLS_CONF_OPTS += --without-tirpc
endif
ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
@@ -48,7 +46,11 @@ endif
# When libfuse is available, openvmtools can build vmblock-fuse, so
# make sure that libfuse gets built first
-ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+ifeq ($(BR2_PACKAGE_LIBFUSE3),y)
+OPENVMTOOLS_CONF_OPTS += --with-fuse=fuse3
+OPENVMTOOLS_DEPENDENCIES += libfuse3
+else ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+OPENVMTOOLS_CONF_OPTS += --with-fuse=fuse
OPENVMTOOLS_DEPENDENCIES += libfuse
endif
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 23/84] package/poco: bump version to 1.15.3
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (21 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 22/84] package/openvmtools: bump version to 13.1.0 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 6:58 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 24/84] package/snort3: fix build error with numa support Bernd Kuhls
` (61 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
https://github.com/pocoproject/poco/blob/poco-1.15.3-release/CHANGELOG
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
package/poco/poco.hash | 2 +-
package/poco/poco.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/poco/poco.hash b/package/poco/poco.hash
index 6979a9a1e4..4c132f9742 100644
--- a/package/poco/poco.hash
+++ b/package/poco/poco.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 47394ea7ddb7b0a40e1a5be896f8f5dc77cfdc4f561d2e7131ecf582df5a0c3a poco-1.14.2.tar.gz
+sha256 4f112fea59e0c65f0fffe30a4957f8d66cf41528c21dd9903e6d7550022c794e poco-1.15.3.tar.gz
sha256 c4b1e1e5f36d8331737231fefcc30f5714326aec7c387ad59a8115eb0ba7d6b5 LICENSE
diff --git a/package/poco/poco.mk b/package/poco/poco.mk
index 63279d530e..7e2a9014bd 100644
--- a/package/poco/poco.mk
+++ b/package/poco/poco.mk
@@ -4,7 +4,7 @@
#
################################################################################
-POCO_VERSION = 1.14.2
+POCO_VERSION = 1.15.3
POCO_SITE = $(call github,pocoproject,poco,poco-$(POCO_VERSION)-release)
POCO_LICENSE = BSL-1.0
POCO_LICENSE_FILES = LICENSE
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 24/84] package/snort3: fix build error with numa support
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (22 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 23/84] package/poco: bump version to 1.15.3 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 7:33 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 25/84] package/snort3: Fix build with OpenSSL 4.0.0 Bernd Kuhls
` (60 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Buildroot commit 5e78c6cf3323b4a45f84bcbc504f511dd268e270 bumped the
package from 3.1.40.0 to 3.11.1.0. Upstream commit
https://github.com/snort3/snort3/commit/83e9a2dda250a0ced9a105454a5a4fe59c304601
added numa support, first included in release 3.1.65.0.
This causes a build error due to the numactl package being pulled-in as
optional dependency by hwloc, the latter being a hard dependency of
snort3.
Fixes:
https://autobuild.buildroot.net/results/e8a/e8a9d787973fd109c07c185103de1f9f7339d506/
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
.../0001-Rename-numa.h-to-numa_snort.h.patch | 79 +++++++++++++++++++
1 file changed, 79 insertions(+)
create mode 100644 package/snort3/0001-Rename-numa.h-to-numa_snort.h.patch
diff --git a/package/snort3/0001-Rename-numa.h-to-numa_snort.h.patch b/package/snort3/0001-Rename-numa.h-to-numa_snort.h.patch
new file mode 100644
index 0000000000..ca8f7774f1
--- /dev/null
+++ b/package/snort3/0001-Rename-numa.h-to-numa_snort.h.patch
@@ -0,0 +1,79 @@
+From 3bb2a8fc1244fcbdf24235e541fa2a06a655dcea Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Tue, 8 Sep 2026 21:20:04 +0200
+Subject: [PATCH] Rename numa.h to numa_snort.h
+
+Fixes https://github.com/snort3/snort3/issues/368
+
+and a build error seen with gcc 15.1.0 by the buildroot autobuilders:
+https://autobuild.buildroot.net/results/e8a/e8a9d787973fd109c07c185103de1f9f7339d506/build-end.log
+
+/home/autobuild/autobuild/instance-44/output-1/build/snort3-3.11.1.0/src/main/numa.h:
+ In member function 'virtual int NumaWrapper::available()':
+/home/autobuild/autobuild/instance-44/output-1/build/snort3-3.11.1.0/src/main/numa.h:50:16:
+ error: 'numa_available' was not declared in this scope; did you mean 'available'?
+ 50 | return numa_available();
+
+/home/autobuild/autobuild/instance-44/output-1/build/snort3-3.11.1.0/src/main/numa.h:
+ In member function 'virtual int NumaWrapper::max_node()':
+/home/autobuild/autobuild/instance-44/output-1/build/snort3-3.11.1.0/src/main/numa.h:54:16:
+ error: 'numa_max_node' was not declared in this scope; did you mean 'max_node'?
+ 54 | return numa_max_node();
+
+Upstream: https://github.com/snort3/snort3/pull/479
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/main/CMakeLists.txt | 2 +-
+ src/main/numa.cc | 2 +-
+ src/main/{numa.h => numa_snort.h} | 0
+ src/main/thread_config.h | 2 +-
+ 4 files changed, 3 insertions(+), 3 deletions(-)
+ rename src/main/{numa.h => numa_snort.h} (100%)
+
+diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt
+index 117612b94..e4e816d15 100644
+--- a/src/main/CMakeLists.txt
++++ b/src/main/CMakeLists.txt
+@@ -23,7 +23,7 @@ endif ( ENABLE_SHELL )
+ add_subdirectory(test)
+
+ if ( HAVE_NUMA )
+- set ( NUMA_SOURCES numa.h numa.cc)
++ set ( NUMA_SOURCES numa_snort.h numa.cc)
+ endif( HAVE_NUMA )
+
+ add_library (main OBJECT
+diff --git a/src/main/numa.cc b/src/main/numa.cc
+index 259f776b7..5cb23e26b 100644
+--- a/src/main/numa.cc
++++ b/src/main/numa.cc
+@@ -17,7 +17,7 @@
+ //--------------------------------------------------------------------------
+ // numa.cc author Denys Zikratyi <dzikraty@cisco.com>
+
+-#include "numa.h"
++#include "numa_snort.h"
+
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+diff --git a/src/main/numa.h b/src/main/numa_snort.h
+similarity index 100%
+rename from src/main/numa.h
+rename to src/main/numa_snort.h
+diff --git a/src/main/thread_config.h b/src/main/thread_config.h
+index 93bfe63d2..8134da8bf 100644
+--- a/src/main/thread_config.h
++++ b/src/main/thread_config.h
+@@ -26,7 +26,7 @@
+ #include "main/thread.h"
+
+ #ifdef HAVE_NUMA
+-#include "numa.h"
++#include "numa_snort.h"
+ #endif
+
+ struct CpuSet;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 24/84] package/snort3: fix build error with numa support
2026-10-06 16:20 ` [Buildroot] [PATCH v8 24/84] package/snort3: fix build error with numa support Bernd Kuhls
@ 2026-10-10 7:33 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 7:33 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Fabrice Fontaine
On Tue, Oct 06, 2026 at 06:20:05PM +0200, Bernd Kuhls wrote:
> Buildroot commit 5e78c6cf3323b4a45f84bcbc504f511dd268e270 bumped the
> package from 3.1.40.0 to 3.11.1.0. Upstream commit
> https://github.com/snort3/snort3/commit/83e9a2dda250a0ced9a105454a5a4fe59c304601
> added numa support, first included in release 3.1.65.0.
>
> This causes a build error due to the numactl package being pulled-in as
> optional dependency by hwloc, the latter being a hard dependency of
> snort3.
>
> Fixes:
> https://autobuild.buildroot.net/results/e8a/e8a9d787973fd109c07c185103de1f9f7339d506/
>
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 25/84] package/snort3: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (23 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 24/84] package/snort3: fix build error with numa support Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 7:32 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 26/84] package/xtables-addons: use kernel-module infra Bernd Kuhls
` (59 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
...fix-const-qualifiers-for-OpenSSL-4.0.patch | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 package/snort3/0002-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch
diff --git a/package/snort3/0002-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch b/package/snort3/0002-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch
new file mode 100644
index 0000000000..9f4232901a
--- /dev/null
+++ b/package/snort3/0002-ssl-fix-const-qualifiers-for-OpenSSL-4.0.patch
@@ -0,0 +1,63 @@
+From a32587b0fc22a716b70f242f7a130de003fb3b42 Mon Sep 17 00:00:00 2001
+From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+Date: Thu, 27 Aug 2026 11:45:48 +0000
+Subject: [PATCH] ssl: fix const qualifiers for OpenSSL 4.0
+
+OpenSSL 4.0 returns const pointers from X509_get_subject_name(),
+X509_get_issuer_name(), X509_NAME_get_entry(), and
+X509_NAME_ENTRY_get_data(). Update local variables to match.
+
+This is backward-compatible with older OpenSSL versions since
+assigning non-const to const is always valid.
+
+Fixes: https://github.com/snort3/snort3/issues/476
+
+Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+
+Upstream: https://github.com/snort3/snort3/pull/477
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/protocols/ssl.cc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/protocols/ssl.cc b/src/protocols/ssl.cc
+index 733d19adf..4afac05dd 100644
+--- a/src/protocols/ssl.cc
++++ b/src/protocols/ssl.cc
+@@ -860,8 +860,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data)
+ while (len > 2 and !(common_name and org_unit))
+ {
+ X509* cert = nullptr;
+- X509_NAME* cert_subject = nullptr;
+- X509_NAME* cert_issuer = nullptr;
++ const X509_NAME* cert_subject = nullptr;
++ const X509_NAME* cert_issuer = nullptr;
+
+ int cert_len = ntoh3(data);
+ data += 3;
+@@ -918,8 +918,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data)
+ lastpos = X509_NAME_get_index_by_NID(cert_subject, NID_commonName, lastpos);
+ if (lastpos != -1)
+ {
+- X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos);
+- ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e);
++ const X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos);
++ const ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e);
+ const unsigned char* str_data = ASN1_STRING_get0_data(asn1_str);
+ int length = ASN1_STRING_length(asn1_str);
+
+@@ -941,8 +941,8 @@ ParseResult parse_server_certificates(SSLV3ServerCertData* server_cert_data)
+ lastpos = X509_NAME_get_index_by_NID(cert_subject, NID_organizationalUnitName, lastpos);
+ if (lastpos != -1)
+ {
+- X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos);
+- ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e);
++ const X509_NAME_ENTRY* e = X509_NAME_get_entry(cert_subject, lastpos);
++ const ASN1_STRING* asn1_str = X509_NAME_ENTRY_get_data(e);
+ const unsigned char* str_data = ASN1_STRING_get0_data(asn1_str);
+ org_unit_len = ASN1_STRING_length(asn1_str);
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 26/84] package/xtables-addons: use kernel-module infra
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (24 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 25/84] package/snort3: Fix build with OpenSSL 4.0.0 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 27/84] package/xtables-addons: bump version to 3.31 Bernd Kuhls
` (58 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
This package does not need the kernel-module infra because the kernel
module is build by autoconf but the MIPS fix from buildroot commit
1d8d9e8d6cd824b2a43a0b92d71cfb25a3f9300a is not added to _LINUX_CONFIG_
FIXUPS causing a build error with this defconfig:
BR2_mips64el=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE=y
BR2_PER_PACKAGE_DIRECTORIES=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.156"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_XTABLES_ADDONS=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
MODPOST /home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/Module.symvers
ERROR: modpost: "memcmp" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/compat_xtables.ko] undefined!
ERROR: modpost: "register_pernet_subsys" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "_printk" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "nf_register_sockopt" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "unregister_pernet_subsys" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "xt_register_target" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "nf_unregister_sockopt" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "kfree" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "free_pages" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
ERROR: modpost: "xt_unregister_target" [/home/buildroot/buildroot/output/build/xtables-addons-3.24/extensions/ACCOUNT/xt_ACCOUNT.ko] undefined!
WARNING: modpost: suppressed 342 unresolved symbol warnings because there were too many)
To fix the problem we add the kernel-module infra to the package.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/xtables-addons/Config.in | 2 +-
package/xtables-addons/xtables-addons.mk | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/package/xtables-addons/Config.in b/package/xtables-addons/Config.in
index 36a42c7efc..8943276843 100644
--- a/package/xtables-addons/Config.in
+++ b/package/xtables-addons/Config.in
@@ -10,7 +10,7 @@ config BR2_PACKAGE_XTABLES_ADDONS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS # extensions are .so
select BR2_PACKAGE_IPTABLES
- select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra
+ select BR2_LINUX_NEEDS_MODULES
help
Xtables-addons is the successor to patch-o-matic(-ng).
Likewise, it contains extensions that were not, or are not
diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk
index efd8bd98ce..a3174725d0 100644
--- a/package/xtables-addons/xtables-addons.mk
+++ b/package/xtables-addons/xtables-addons.mk
@@ -39,4 +39,5 @@ define XTABLES_ADDONS_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT)
endef
+$(eval $(kernel-module))
$(eval $(autotools-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 27/84] package/xtables-addons: bump version to 3.31
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (25 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 26/84] package/xtables-addons: use kernel-module infra Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 28/84] package/boinc: Fix build with OpenSSL 4.0.0 Bernd Kuhls
` (57 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
https://codeberg.org/jengelh/xtables-addons/src/tag/v3.31/doc/changelog.rst
Upstream switched tarball format to zst.
Enabled CONFIG_NETFILTER_XT_MATCH_STRING in kernel config to provide the
new upstream dependency CONFIG_TEXTSEARCH_BM:
https://codeberg.org/jengelh/xtables-addons/commit/6b7c62d83ea1b589c3115d959867e0fcbfcf74ea
Enabled CONFIG_XFRM_USER to fix build errors detected by the Gitlab
pipelines:
ERROR: modpost: "crypto_alloc_shash" [pknock/xt_pknock.ko] undefined!
ERROR: modpost: "crypto_shash_setkey" [pknock/xt_pknock.ko] undefined!
ERROR: modpost: "crypto_shash_init" [pknock/xt_pknock.ko] undefined!
ERROR: modpost: "crypto_shash_finup" [pknock/xt_pknock.ko] undefined!
ERROR: modpost: "crypto_destroy_tfm" [pknock/xt_pknock.ko] undefined!
Upstream uses these functions for > 10 years so recent changes in the
Linux kernel dependency handling are responsible for the build errors.
Enabled CONFIG_{INET, NET} to fix a build error detected by the Gitlab
pipelines for bootlin-powerpc-e500mc-uclibc:
In file included from pknock/xt_pknock.c:31:
./pknock/../compat_xtables.h:19:9: warning: #warning You need
CONFIG_NF_CONNTRACK. [-Wcpp]
19 | # warning You need CONFIG_NF_CONNTRACK.
ACCOUNT/xt_ACCOUNT.c:1179:10: error: 'struct nf_sockopt_ops' has no
member named 'set_optmin'
1179 | .set_optmin = IPT_SO_SET_ACCOUNT_HANDLE_FREE,
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/xtables-addons/xtables-addons.hash | 2 +-
package/xtables-addons/xtables-addons.mk | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/package/xtables-addons/xtables-addons.hash b/package/xtables-addons/xtables-addons.hash
index 7bdbbb8578..a77ac1a230 100644
--- a/package/xtables-addons/xtables-addons.hash
+++ b/package/xtables-addons/xtables-addons.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 3e823f71720519ced31c4c7d2bfaf7120d9c01c59a0843dfcbe93c95c64d81c1 xtables-addons-3.24.tar.xz
+sha256 e22efc25b7bbb3436d1b7cdc309b1857ea933f7e5c7d88fbe6951a1e3e582a80 xtables-addons-3.31.tar.zst
sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE
diff --git a/package/xtables-addons/xtables-addons.mk b/package/xtables-addons/xtables-addons.mk
index a3174725d0..9f70518fed 100644
--- a/package/xtables-addons/xtables-addons.mk
+++ b/package/xtables-addons/xtables-addons.mk
@@ -4,8 +4,8 @@
#
################################################################################
-XTABLES_ADDONS_VERSION = 3.24
-XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.xz
+XTABLES_ADDONS_VERSION = 3.31
+XTABLES_ADDONS_SOURCE = xtables-addons-$(XTABLES_ADDONS_VERSION).tar.zst
XTABLES_ADDONS_SITE = https://inai.de/files/xtables-addons
XTABLES_ADDONS_DEPENDENCIES = iptables linux host-pkgconf
XTABLES_ADDONS_LICENSE = GPL-2.0+
@@ -33,10 +33,14 @@ endef
XTABLES_ADDONS_POST_INSTALL_TARGET_HOOKS += XTABLES_ADDONS_REMOVE_GEOIP_HELPERS
define XTABLES_ADDONS_LINUX_CONFIG_FIXUPS
+ $(call KCONFIG_ENABLE_OPT,CONFIG_INET)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_NET)
$(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_ADVANCED)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_NETFILTER_XT_MATCH_STRING)
$(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK)
$(call KCONFIG_ENABLE_OPT,CONFIG_NF_CONNTRACK_MARK)
$(call KCONFIG_ENABLE_OPT,CONFIG_NF_NAT)
+ $(call KCONFIG_ENABLE_OPT,CONFIG_XFRM_USER)
endef
$(eval $(kernel-module))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 28/84] package/boinc: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (26 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 27/84] package/xtables-addons: bump version to 3.31 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 7:36 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 29/84] package/clamav: " Bernd Kuhls
` (56 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
...fix-a-build-failure-with-openssl-4.0.patch | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 package/boinc/0001-Adapt-code-to-fix-a-build-failure-with-openssl-4.0.patch
diff --git a/package/boinc/0001-Adapt-code-to-fix-a-build-failure-with-openssl-4.0.patch b/package/boinc/0001-Adapt-code-to-fix-a-build-failure-with-openssl-4.0.patch
new file mode 100644
index 0000000000..22e2ef65a7
--- /dev/null
+++ b/package/boinc/0001-Adapt-code-to-fix-a-build-failure-with-openssl-4.0.patch
@@ -0,0 +1,26 @@
+From 9cdcef8261be4891b4814c6f728dcee65027e5da Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <locutusofborg@debian.org>
+Date: Wed, 26 Aug 2026 12:27:54 +0200
+Subject: [PATCH] Adapt code to fix a build failure with openssl-4.0
+
+Upstream: https://github.com/BOINC/boinc/commit/9cdcef8261be4891b4814c6f728dcee65027e5da
+
+[Bernd: backported to 8.2.15]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/crypt.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/crypt.cpp b/lib/crypt.cpp
+index 17a9b57b3eb..b54e2f050ad 100644
+--- a/lib/crypt.cpp
++++ b/lib/crypt.cpp
+@@ -774,7 +774,7 @@
+ DATA_BLOCK sig_db;
+ BIO *bio;
+ X509 *cert;
+- X509_NAME *subj;
++ const X509_NAME *subj;
+
+ if (signatures->signatures.size() == 0) {
+ printf("No signatures available for file ('%s').\n", origFile);
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 29/84] package/clamav: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (27 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 28/84] package/boinc: Fix build with OpenSSL 4.0.0 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:05 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 30/84] package/freeradius-server: Add support for " Bernd Kuhls
` (55 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...-crypto-Remove-cl_ASN1_GetTimeT-1731.patch | 136 ++++++++++++++++++
1 file changed, 136 insertions(+)
create mode 100644 package/clamav/0001-libclamav-crypto-Remove-cl_ASN1_GetTimeT-1731.patch
diff --git a/package/clamav/0001-libclamav-crypto-Remove-cl_ASN1_GetTimeT-1731.patch b/package/clamav/0001-libclamav-crypto-Remove-cl_ASN1_GetTimeT-1731.patch
new file mode 100644
index 0000000000..60e29a1fdb
--- /dev/null
+++ b/package/clamav/0001-libclamav-crypto-Remove-cl_ASN1_GetTimeT-1731.patch
@@ -0,0 +1,136 @@
+From 0097a6f99d9f6b78381e12b677a38fb62242c41a Mon Sep 17 00:00:00 2001
+From: sebastianas <sebastianas@users.noreply.github.com>
+Date: Sat, 1 Aug 2026 00:13:13 +0200
+Subject: [PATCH] libclamav/crypto: Remove cl_ASN1_GetTimeT() (#1731)
+
+The last user has been removed in commit fa15aa98c7d5e ("bb11594 - allow
+for compilation against openssl 1.1.0"). This function is only exported
+under CLAMAV_PRIVATE to be used within clamav, not by external users.
+
+Removing the function will not cause an ABI break since it was not part
+of the officially exported ABI. As a side effect it will compile against
+OpenSSL 4.0 where the ASN1_TIME type has been made opaque.
+
+Remove cl_ASN1_GetTimeT().
+
+Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
+
+Upstream: https://github.com/Cisco-Talos/clamav/commit/0097a6f99d9f6b78381e12b677a38fb62242c41a
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libclamav/clamav.h | 8 -----
+ libclamav/crypto.c | 65 -----------------------------------------
+ libclamav/libclamav.map | 1 -
+ 3 files changed, 74 deletions(-)
+
+diff --git a/libclamav/clamav.h b/libclamav/clamav.h
+index 8a3767f78..fa75677ad 100644
+--- a/libclamav/clamav.h
++++ b/libclamav/clamav.h
+@@ -2413,14 +2413,6 @@ extern int cl_validate_certificate_chain(char **authorities, char *crlpath, char
+ */
+ extern X509 *cl_load_cert(const char *certpath);
+
+-/**
+- * @brief Parse an ASN1_TIME object.
+- *
+- * @param timeobj The ASN1_TIME object.
+- * @return A pointer to a (struct tm). Adjusted for time zone and daylight savings time.
+- */
+-extern struct tm *cl_ASN1_GetTimeT(ASN1_TIME *timeobj);
+-
+ /**
+ * @brief Load a CRL file into an X509_CRL object.
+ *
+diff --git a/libclamav/crypto.c b/libclamav/crypto.c
+index 8b398e402..968264811 100644
+--- a/libclamav/crypto.c
++++ b/libclamav/crypto.c
+@@ -1746,71 +1746,6 @@ X509 *cl_load_cert(const char *certpath)
+ return cert;
+ }
+
+-struct tm *cl_ASN1_GetTimeT(ASN1_TIME *timeobj)
+-{
+- struct tm *t;
+- char *str;
+- const char *fmt = NULL;
+- time_t localt;
+-#ifdef _WIN32
+- struct tm localtm, *ltm;
+-#else
+- struct tm localtm;
+-#endif
+-
+- if (!(timeobj) || !(timeobj->data))
+- return NULL;
+-
+- str = (char *)(timeobj->data);
+- if (strlen(str) < 12)
+- return NULL;
+-
+- t = (struct tm *)calloc(1, sizeof(struct tm));
+- if (!(t))
+- return NULL;
+-
+- if (timeobj->type == V_ASN1_UTCTIME) {
+- /* two digit year */
+- fmt = "%y%m%d%H%M%S";
+- if (str[3] == '0') {
+- str[2] = '0';
+- str[3] = '9';
+- } else {
+- str[3]--;
+- }
+- } else if (timeobj->type == V_ASN1_GENERALIZEDTIME) {
+- /* four digit year */
+- fmt = "%Y%m%d%H%M%S";
+- if (str[5] == '0') {
+- str[4] = '0';
+- str[5] = '9';
+- } else {
+- str[5]--;
+- }
+- }
+-
+- if (!(fmt)) {
+- free(t);
+- return NULL;
+- }
+-
+- if (!strptime(str, fmt, t)) {
+- free(t);
+- return NULL;
+- }
+-
+- /* Convert to local time */
+- localt = time(NULL);
+-#ifdef _WIN32
+- ltm = localtime(&localt);
+- memcpy((void *)(&localtm), (void *)ltm, sizeof(struct tm));
+-#else
+- localtime_r(&localt, &localtm);
+-#endif
+- t->tm_isdst = localtm.tm_isdst;
+- return t;
+-}
+-
+ X509_CRL *cl_load_crl(const char *file)
+ {
+ X509_CRL *x = NULL;
+diff --git a/libclamav/libclamav.map b/libclamav/libclamav.map
+index 809341f42..f3efe1a33 100644
+--- a/libclamav/libclamav.map
++++ b/libclamav/libclamav.map
+@@ -271,7 +271,6 @@ CLAMAV_PRIVATE {
+ cl_verify_signature_hash_x509;
+ cl_verify_signature_hash_x509_keyfile;
+ cl_load_cert;
+- cl_ASN1_GetTimeT;
+ cl_load_crl;
+ cl_sign_data_keyfile;
+ cl_sign_data;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 30/84] package/freeradius-server: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (28 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 29/84] package/clamav: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:34 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 31/84] package/freeswitch: " Bernd Kuhls
` (54 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: David GOUARIN
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: David GOUARIN <dgouarin@gmail.com>
---
...ING-functions-for-OpenSSL-4.0-compat.patch | 80 +++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 package/freeradius-server/0009-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch
diff --git a/package/freeradius-server/0009-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch b/package/freeradius-server/0009-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch
new file mode 100644
index 0000000000..78d332ef1f
--- /dev/null
+++ b/package/freeradius-server/0009-Use-ASN1_STRING-functions-for-OpenSSL-4.0-compat.patch
@@ -0,0 +1,80 @@
+From 6658c9e375637ce0bd14bed733270d863224431e Mon Sep 17 00:00:00 2001
+From: Antonio Torres <antorres@redhat.com>
+Date: Tue, 5 May 2026 14:42:27 +0200
+Subject: [PATCH] Use ASN1_STRING functions for OpenSSL 4.0 compat
+
+Use ASN1_STRING accessor functions instead of direct field access
+for ASN1_IA5STRING, ASN1_INTEGER, and ASN1_TIME structures.
+
+This fixes compatibility with OpenSSL 4.0.
+
+Signed-off-by: Antonio Torres <antorres@redhat.com>
+
+Upstream: https://github.com/FreeRADIUS/freeradius-server/commit/6658c9e375637ce0bd14bed733270d863224431e
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/main/tls.c | 26 ++++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+diff --git a/src/main/tls.c b/src/main/tls.c
+index 4f4cd0c28022..27b69a06229f 100644
+--- a/src/main/tls.c
++++ b/src/main/tls.c
+@@ -2584,7 +2584,7 @@ static int ocsp_parse_cert_url(X509 *cert, char **host_out, char **port_out,
+ if (OBJ_obj2nid(ad->method) != NID_ad_OCSP) continue;
+ if (ad->location->type != GEN_URI) continue;
+
+- if (OCSP_parse_url((char *) ad->location->d.ia5->data, host_out,
++ if (OCSP_parse_url((const char *) ASN1_STRING_get0_data(ad->location->d.ia5), host_out,
+ port_out, path_out, is_https)) {
+ ret = 1;
+ break;
+@@ -3066,12 +3066,14 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ * we're at the client or issuing certificate.
+ */
+ if (certs &&
+- (lookup <= 1) && sn && ((size_t) sn->length < (sizeof(buf) / 2))) {
++ (lookup <= 1) && sn && ((size_t) ASN1_STRING_length(sn) < (sizeof(buf) / 2))) {
+ char *p = buf;
+ int i;
++ int sn_len = ASN1_STRING_length(sn);
++ const unsigned char *sn_data = ASN1_STRING_get0_data(sn);
+
+- for (i = 0; i < sn->length; i++) {
+- sprintf(p, "%02x", (unsigned int)sn->data[i]);
++ for (i = 0; i < sn_len; i++) {
++ sprintf(p, "%02x", (unsigned int)sn_data[i]);
+ p += 2;
+ }
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_SERIAL][lookup], buf, T_OP_SET);
+@@ -3084,9 +3086,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ buf[0] = '\0';
+ asn_time = X509_get_notAfter(client_cert);
+ if (certs && (lookup <= 1) && asn_time &&
+- (asn_time->length < (int) sizeof(buf))) {
+- memcpy(buf, (char*) asn_time->data, asn_time->length);
+- buf[asn_time->length] = '\0';
++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) {
++ int time_len = ASN1_STRING_length(asn_time);
++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time);
++ memcpy(buf, time_data, time_len);
++ buf[time_len] = '\0';
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_EXPIRATION][lookup], buf, T_OP_SET);
+ rdebug_pair(L_DBG_LVL_2, request, vp, NULL);
+ }
+@@ -3097,9 +3101,11 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx)
+ buf[0] = '\0';
+ asn_time = X509_get_notBefore(client_cert);
+ if (certs && (lookup <= 1) && asn_time &&
+- (asn_time->length < (int) sizeof(buf))) {
+- memcpy(buf, (char*) asn_time->data, asn_time->length);
+- buf[asn_time->length] = '\0';
++ (ASN1_STRING_length(asn_time) < (int) sizeof(buf))) {
++ int time_len = ASN1_STRING_length(asn_time);
++ const unsigned char *time_data = ASN1_STRING_get0_data(asn_time);
++ memcpy(buf, time_data, time_len);
++ buf[time_len] = '\0';
+ vp = fr_pair_make(talloc_ctx, certs, cert_attr_names[FR_TLS_VALID_SINCE][lookup], buf, T_OP_SET);
+ rdebug_pair(L_DBG_LVL_2, request, vp, NULL);
+ }
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 31/84] package/freeswitch: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (29 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 30/84] package/freeradius-server: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:35 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 32/84] package/ibm-sw-tpm2: Fix build with OpenSSL 4.{0, 1} Bernd Kuhls
` (53 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...robe-TLS_method-to-detect-libssl-Ope.patch | 38 +++++++++++
...tem-Fix-build-against-OpenSSL-4-3185.patch | 67 +++++++++++++++++++
package/freeswitch/freeswitch.mk | 3 +
3 files changed, 108 insertions(+)
create mode 100644 package/freeswitch/0004-sac-openssl.m4-probe-TLS_method-to-detect-libssl-Ope.patch
create mode 100644 package/freeswitch/0005-Build-System-Fix-build-against-OpenSSL-4-3185.patch
diff --git a/package/freeswitch/0004-sac-openssl.m4-probe-TLS_method-to-detect-libssl-Ope.patch b/package/freeswitch/0004-sac-openssl.m4-probe-TLS_method-to-detect-libssl-Ope.patch
new file mode 100644
index 0000000000..5805818213
--- /dev/null
+++ b/package/freeswitch/0004-sac-openssl.m4-probe-TLS_method-to-detect-libssl-Ope.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Bradley Reid <130598986+bereizy@users.noreply.github.com>
+Date: Fri, 2 Oct 2026 09:43:47 -0400
+Subject: [PATCH] sac-openssl.m4: probe TLS_method to detect libssl (OpenSSL 4)
+
+SAC_OPENSSL decides whether libssl is usable with
+AC_CHECK_LIB(ssl, TLSv1_method). OpenSSL 4.0 removed the fixed-version
+method functions, so the probe fails there, HAVE_TLS is cleared and -lssl
+is not added to LIBS. With #3185 applied configure then succeeds but the
+build stops when linking mod_sofia's test program:
+
+ undefined reference to symbol 'SSL_CTX_check_private_key@@OPENSSL_4.0.0'
+
+TLS_method is available from OpenSSL 1.1.0 on.
+
+Upstream: https://github.com/signalwire/freeswitch/pull/3211
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ build/config/sac-openssl.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/config/sac-openssl.m4 b/build/config/sac-openssl.m4
+index 289d3e132e..76ba9f2f22 100644
+--- a/build/config/sac-openssl.m4
++++ b/build/config/sac-openssl.m4
+@@ -30,7 +30,7 @@ else
+ HAVE_OPENSSL=0
+ AC_MSG_WARN(OpenSSL crypto library was not found))
+
+- AC_CHECK_LIB(ssl, TLSv1_method,,
++ AC_CHECK_LIB(ssl, TLS_method,,
+ HAVE_TLS=0
+ AC_MSG_WARN(OpenSSL protocol library was not found))
+ ],[AC_MSG_WARN(OpenSSL include files were not found)],[#include <openssl/safestack.h>])
+--
+2.47.3
+
diff --git a/package/freeswitch/0005-Build-System-Fix-build-against-OpenSSL-4-3185.patch b/package/freeswitch/0005-Build-System-Fix-build-against-OpenSSL-4-3185.patch
new file mode 100644
index 0000000000..63e15ff3c0
--- /dev/null
+++ b/package/freeswitch/0005-Build-System-Fix-build-against-OpenSSL-4-3185.patch
@@ -0,0 +1,67 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Andrey Volk <andywolk@gmail.com>
+Date: Thu, 24 Sep 2026 00:31:38 +0300
+Subject: [PATCH] [Build-System] Fix build against OpenSSL 4 (#3185)
+
+Upstream: https://github.com/signalwire/freeswitch/commit/fd1cab5117cd4c711293439354885a559ef783bb
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ configure.ac | 6 +++++-
+ src/switch_core_cert.c | 13 ++++++++++---
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ae42b22f6f..16af18ce2d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1726,7 +1726,11 @@ if test x$HAVE_OPENSSL = x1; then
+ openssl_CFLAGS="$openssl_CFLAGS -DHAVE_OPENSSL";
+ APR_ADDTO(SWITCH_AM_CFLAGS, -DHAVE_OPENSSL)
+ AC_CHECK_LIB(ssl, SSL_CTX_set_tlsext_use_srtp, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS_SRTP, 1, HAVE_OPENSSL_DTLS_SRTP), AC_MSG_ERROR([OpenSSL >= 1.0.1e and associated developement headers required]))
+- AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS), AC_MSG_ERROR([OpenSSL >= 1.0.1e and associaed developement headers required]))
++ dnl DTLS_method is what the code calls from OpenSSL 1.1.0 on; DTLSv1_method is
++ dnl the pre 1.1.0 spelling, deprecated since and gone from OpenSSL 4.
++ AC_CHECK_LIB(ssl, DTLS_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS),
++ [AC_CHECK_LIB(ssl, DTLSv1_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLS, 1, HAVE_OPENSSL_DTLS),
++ AC_MSG_ERROR([OpenSSL >= 1.0.1e and associated development headers required]))])
+ AC_CHECK_LIB(ssl, DTLSv1_2_method, AC_DEFINE_UNQUOTED(HAVE_OPENSSL_DTLSv1_2_method, 1, [DTLS version 1.2 is available]))
+ else
+ AC_MSG_ERROR([OpenSSL >= 1.0.1e and associated developement headers required])
+diff --git a/src/switch_core_cert.c b/src/switch_core_cert.c
+index 218016e63b..174a2b1809 100644
+--- a/src/switch_core_cert.c
++++ b/src/switch_core_cert.c
+@@ -496,7 +496,12 @@ static int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days
+ X509_gmtime_adj(X509_get_notAfter(x), (long)60*60*24*days);
+ X509_set_pubkey(x, pk);
+
+- name = X509_get_subject_name(x);
++ /* OpenSSL 4 hands out the certificate's own name as const, so build one
++ * here and set it instead of filling in the one inside the certificate.
++ */
++ if ((name = X509_NAME_new()) == NULL) {
++ goto err;
++ }
+
+ /* This function creates and adds the entry, working out the
+ * correct string type and performing checks on its length.
+@@ -505,11 +510,13 @@ static int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days
+ X509_NAME_add_entry_by_txt(name, "C", MBSTRING_ASC, (unsigned char *)"US", -1, -1, 0);
+ X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, (unsigned char *)"FreeSWITCH", -1, -1, 0);
+
+-
+ /* Its self signed so set the issuer name to be the same as the
+- * subject.
++ * subject. Both calls copy the name, so ours is ours to free.
+ */
++ X509_set_subject_name(x, name);
+ X509_set_issuer_name(x, name);
++ X509_NAME_free(name);
++ name = NULL;
+
+ #if OPENSSL_VERSION_NUMBER >= 0x30000000
+ if (!X509_sign(x, pk, EVP_sha256())) {
+--
+2.47.3
+
diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk
index e27c53650f..6d46cbed23 100644
--- a/package/freeswitch/freeswitch.mk
+++ b/package/freeswitch/freeswitch.mk
@@ -7,6 +7,9 @@
FREESWITCH_VERSION = 1.11.3
FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).-release.tar.xz
FREESWITCH_SITE = https://files.freeswitch.org/freeswitch-releases
+# 0004-sac-openssl.m4-probe-TLS_method-to-detect-libssl-Ope.patch
+# 0005-Build-System-Fix-build-against-OpenSSL-4-3185.patch
+FREESWITCH_AUTORECONF = YES
# External modules need headers/libs from staging
FREESWITCH_INSTALL_STAGING = YES
FREESWITCH_LICENSE = MPL-1.1, \
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 32/84] package/ibm-sw-tpm2: Fix build with OpenSSL 4.{0, 1}
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (30 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 31/84] package/freeswitch: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:36 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 33/84] package/ibrdtnd: Fix build with OpenSSL 4.0.0 Bernd Kuhls
` (52 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Philippe Reynes
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Philippe Reynes <philippe.reynes@softathome.com>
---
.../0002-tpm-Update-to-OpenSSL-4.1.patch | 28 +++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 package/ibm-sw-tpm2/0002-tpm-Update-to-OpenSSL-4.1.patch
diff --git a/package/ibm-sw-tpm2/0002-tpm-Update-to-OpenSSL-4.1.patch b/package/ibm-sw-tpm2/0002-tpm-Update-to-OpenSSL-4.1.patch
new file mode 100644
index 0000000000..3b4e3d815e
--- /dev/null
+++ b/package/ibm-sw-tpm2/0002-tpm-Update-to-OpenSSL-4.1.patch
@@ -0,0 +1,28 @@
+From 66921ee5ba05ffb92700b00f17cf1e8b75522aee Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Sun, 13 Sep 2026 11:11:24 +0200
+Subject: [PATCH] tpm: Update to OpenSSL 4.1
+
+Upstream: https://github.com/kgoldman/ibmswtpm2/pull/24
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/BnToOsslMath.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/BnToOsslMath.h b/src/BnToOsslMath.h
+index 731957e..345d29f 100644
+--- a/src/BnToOsslMath.h
++++ b/src/BnToOsslMath.h
+@@ -77,7 +77,7 @@
+ #include <openssl/ec.h>
+ #include <openssl/bn.h>
+
+-#if OPENSSL_VERSION_NUMBER >= 0x30600ff0L
++#if OPENSSL_VERSION_NUMBER >= 0x40100ff0L
+ // Check the bignum_st definition against the one below and either update the
+ // version check or provide the new definition for this version.
+ # error Untested OpenSSL version
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 32/84] package/ibm-sw-tpm2: Fix build with OpenSSL 4.{0, 1}
2026-10-06 16:20 ` [Buildroot] [PATCH v8 32/84] package/ibm-sw-tpm2: Fix build with OpenSSL 4.{0, 1} Bernd Kuhls
@ 2026-10-10 8:36 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 8:36 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Philippe Reynes
On Tue, Oct 06, 2026 at 06:20:13PM +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> Cc: Philippe Reynes <philippe.reynes@softathome.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 33/84] package/ibrdtnd: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (31 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 32/84] package/ibm-sw-tpm2: Fix build with OpenSSL 4.{0, 1} Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:37 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 34/84] package/lftp: Add support for " Bernd Kuhls
` (51 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...ateManager.cpp-fix-build-with-OpenSS.patch | 41 +++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 package/ibrdtnd/0003-SecurityCertificateManager.cpp-fix-build-with-OpenSS.patch
diff --git a/package/ibrdtnd/0003-SecurityCertificateManager.cpp-fix-build-with-OpenSS.patch b/package/ibrdtnd/0003-SecurityCertificateManager.cpp-fix-build-with-OpenSS.patch
new file mode 100644
index 0000000000..4755409747
--- /dev/null
+++ b/package/ibrdtnd/0003-SecurityCertificateManager.cpp-fix-build-with-OpenSS.patch
@@ -0,0 +1,41 @@
+From 7dce31ed85b2e2299e63e7704ae2ffa7ce08d1c5 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Tue, 1 Sep 2026 22:44:06 +0200
+Subject: [PATCH] SecurityCertificateManager.cpp: fix build with OpenSSL 4.0.0
+
+https://github.com/openssl/openssl/issues/29117
+
+Upstream: https://github.com/ibrdtn/ibrdtn/pull/287
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/security/SecurityCertificateManager.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/security/SecurityCertificateManager.cpp b/src/security/SecurityCertificateManager.cpp
+index f2bbb017..0093d418 100644
+--- a/src/security/SecurityCertificateManager.cpp
++++ b/src/security/SecurityCertificateManager.cpp
+@@ -146,8 +146,8 @@ namespace dtn
+ throw SecurityCertificateException("certificate or common-name is empty");
+ }
+
+- X509_NAME *cert_name;
+- X509_NAME_ENTRY *name_entry;
++ const X509_NAME *cert_name;
++ const X509_NAME_ENTRY *name_entry;
+ ASN1_STRING *eid_string;
+ int lastpos = -1;
+ unsigned char *utf8_eid;
+@@ -188,7 +188,7 @@ namespace dtn
+ }
+
+ /* retrieve the string */
+- ASN1_STRING *asn1 = X509_NAME_ENTRY_get_data(name_entry);
++ const ASN1_STRING *asn1 = X509_NAME_ENTRY_get_data(name_entry);
+ if(!asn1){
+ IBRCOMMON_LOGGER_TAG(SecurityCertificateManager::TAG, error) << "X509_NAME_ENTRY_get_data returned NULL unexpectedly." << IBRCOMMON_LOGGER_ENDL;
+ continue;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 34/84] package/lftp: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (32 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 33/84] package/ibrdtnd: Fix build with OpenSSL 4.0.0 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:40 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 35/84] package/libesmtp: Fix build with " Bernd Kuhls
` (50 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
.../0002-allow-build-with-OpenSSL-4.x.patch | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 package/lftp/0002-allow-build-with-OpenSSL-4.x.patch
diff --git a/package/lftp/0002-allow-build-with-OpenSSL-4.x.patch b/package/lftp/0002-allow-build-with-OpenSSL-4.x.patch
new file mode 100644
index 0000000000..258d08fb2d
--- /dev/null
+++ b/package/lftp/0002-allow-build-with-OpenSSL-4.x.patch
@@ -0,0 +1,56 @@
+From e5d53bcb31b1f3792c6ab321e20d566b9a4ff0a5 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Sat, 21 Mar 2026 03:56:46 +0000
+Subject: [PATCH] allow build with OpenSSL 4.x
+
+Upstream: https://github.com/lavv17/lftp/commit/e5d53bcb31b1f3792c6ab321e20d566b9a4ff0a5
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/lftp_ssl.cc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/lftp_ssl.cc b/src/lftp_ssl.cc
+index f53edf24..49328f74 100644
+--- a/src/lftp_ssl.cc
++++ b/src/lftp_ssl.cc
+@@ -1022,8 +1022,8 @@ const char *lftp_ssl_openssl::strerror()
+ int lftp_ssl_openssl::verify_crl(X509_STORE_CTX *ctx)
+ {
+ X509_OBJECT *obj=0;
+- X509_NAME *subject=0;
+- X509_NAME *issuer=0;
++ const X509_NAME *subject=0;
++ const X509_NAME *issuer=0;
+ X509 *xs=0;
+ X509_CRL *crl=0;
+ X509_REVOKED *revoked=0;
+@@ -1436,7 +1436,7 @@ void lftp_ssl_openssl::check_certificate()
+ unsigned char *nulstr = (unsigned char *)"";
+ unsigned char *peer_CN = nulstr;
+
+- X509_NAME *name = X509_get_subject_name(server_cert) ;
++ const X509_NAME *name = X509_get_subject_name(server_cert) ;
+ if(name)
+ while((j = X509_NAME_get_index_by_NID(name, NID_commonName, i))>=0)
+ i=j;
+@@ -1446,7 +1446,7 @@ void lftp_ssl_openssl::check_certificate()
+ UTF8 etc. */
+
+ if(i>=0) {
+- ASN1_STRING *tmp = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name,i));
++ const ASN1_STRING *tmp = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(name,i));
+
+ /* In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8 fails if the input
+ is already UTF-8 encoded. We check for this case and copy the raw
+@@ -1522,8 +1522,8 @@ int lftp_ssl_openssl::verify_callback(int ok,X509_STORE_CTX *ctx)
+ if(cert!=prev_cert)
+ {
+ int depth = X509_STORE_CTX_get_error_depth(ctx);
+- X509_NAME *subject = X509_get_subject_name(cert);
+- X509_NAME *issuer = X509_get_issuer_name(cert);
++ const X509_NAME *subject = X509_get_subject_name(cert);
++ const X509_NAME *issuer = X509_get_issuer_name(cert);
+ char *subject_line = X509_NAME_oneline(subject, NULL, 0);
+ char *issuer_line = X509_NAME_oneline(issuer, NULL, 0);
+ Log::global->Format(3,"Certificate depth: %d; subject: %s; issuer: %s\n",
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 35/84] package/libesmtp: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (33 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 34/84] package/lftp: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:42 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 36/84] package/libkrb5: Add support for " Bernd Kuhls
` (49 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...-with-OpenSSL-4.0-opaque-ASN1_STRING.patch | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 package/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch
diff --git a/package/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch b/package/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch
new file mode 100644
index 0000000000..f38435b68a
--- /dev/null
+++ b/package/libesmtp/0001-Fix-build-with-OpenSSL-4.0-opaque-ASN1_STRING.patch
@@ -0,0 +1,36 @@
+From 0705423e2596a21e2d4e1f3fd492792956a4bad3 Mon Sep 17 00:00:00 2001
+From: Ravi Kant Sharma <ravi.kant.sharma@canonical.com>
+Date: Tue, 28 Jul 2026 20:35:48 +0200
+Subject: [PATCH] Fix build with OpenSSL 4.0 opaque ASN1_STRING
+
+OpenSSL 4.0 made ASN1_STRING opaque, so direct access to ->data and
+->length fields no longer compiles. Use ASN1_STRING_get0_data() and
+ASN1_STRING_length() accessors which are available since OpenSSL 1.1.0.
+
+Fixes #33
+
+Upstream: https://github.com/libesmtp/libESMTP/pull/34
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ smtp-tls.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/smtp-tls.c b/smtp-tls.c
+index 9f3e50e..981284e 100644
+--- a/smtp-tls.c
++++ b/smtp-tls.c
+@@ -599,8 +599,8 @@ check_acceptable_security (smtp_session_t session, SSL *ssl)
+
+ if (name->type == GEN_DNS)
+ {
+- const char *ia5str = (const char *) name->d.ia5->data;
+- size_t ia5len = name->d.ia5->length;
++ const char *ia5str = (const char *) ASN1_STRING_get0_data(name->d.ia5);
++ size_t ia5len = ASN1_STRING_length(name->d.ia5);
+
+ hasaltname = 1;
+ if (strlen (ia5str) == ia5len && match_domain (host, ia5str))
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 36/84] package/libkrb5: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (34 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 35/84] package/libesmtp: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 8:46 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 37/84] package/luvi: fix build without c++ Bernd Kuhls
` (48 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: André Zwing
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: André Zwing <nerv@dawncrow.de>
---
...eck_host-to-verify-KKDCP-server-cert.patch | 252 ++++++++++++++
...Improve-future-OpenSSL-compatibility.patch | 327 ++++++++++++++++++
2 files changed, 579 insertions(+)
create mode 100644 package/libkrb5/0002-Use-X509_check_host-to-verify-KKDCP-server-cert.patch
create mode 100644 package/libkrb5/0003-Improve-future-OpenSSL-compatibility.patch
diff --git a/package/libkrb5/0002-Use-X509_check_host-to-verify-KKDCP-server-cert.patch b/package/libkrb5/0002-Use-X509_check_host-to-verify-KKDCP-server-cert.patch
new file mode 100644
index 0000000000..d1411cf0d5
--- /dev/null
+++ b/package/libkrb5/0002-Use-X509_check_host-to-verify-KKDCP-server-cert.patch
@@ -0,0 +1,252 @@
+From f5bbfa4821cf590a4748f96d0e016bc0485e95c4 Mon Sep 17 00:00:00 2001
+From: Greg Hudson <ghudson@mit.edu>
+Date: Wed, 25 Feb 2026 19:05:40 -0500
+Subject: [PATCH] Use X509_check_host() to verify KKDCP server cert
+
+In the k5tls module, rely on X509_check_host() and
+X509_check_ip_asc(), which were added in OpenSSL 1.0.2, instead of
+doing our own verification.
+
+There is one notable difference in behavior: X509_check_host() admits
+wildcards with a prefix or suffix (but not both) within the label,
+like "kdc*.mydomain.com". The old code only allows a wildcard to
+match a complete label.
+
+ticket: 9198 (new)
+
+Upstream: https://github.com/krb5/krb5/commit/f5bbfa4821cf590a4748f96d0e016bc0485e95c4
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/plugins/tls/k5tls/openssl.c | 211 +-------------------------------
+ 1 file changed, 6 insertions(+), 205 deletions(-)
+
+diff --git a/src/plugins/tls/k5tls/openssl.c b/src/plugins/tls/k5tls/openssl.c
+index aab67c01cbc..42d72dc9ec2 100644
+--- a/src/plugins/tls/k5tls/openssl.c
++++ b/src/plugins/tls/k5tls/openssl.c
+@@ -71,218 +71,19 @@ flush_errors(krb5_context context)
+ }
+ }
+
+-/* Return the passed-in character, lower-cased if it's an ASCII character. */
+-static inline char
+-ascii_tolower(char p)
+-{
+- if (KRB5_UPPER(p))
+- return p + ('a' - 'A');
+- return p;
+-}
+-
+-/*
+- * Check a single label. If allow_wildcard is true, and the presented name
+- * includes a wildcard, return true and note that we matched a wildcard.
+- * Otherwise, for both the presented and expected values, do a case-insensitive
+- * comparison of ASCII characters, and a case-sensitive comparison of
+- * everything else.
+- */
+-static krb5_boolean
+-label_match(const char *presented, size_t plen, const char *expected,
+- size_t elen, krb5_boolean allow_wildcard, krb5_boolean *wildcard)
+-{
+- unsigned int i;
+-
+- if (allow_wildcard && plen == 1 && presented[0] == '*') {
+- *wildcard = TRUE;
+- return TRUE;
+- }
+-
+- if (plen != elen)
+- return FALSE;
+-
+- for (i = 0; i < elen; i++) {
+- if (ascii_tolower(presented[i]) != ascii_tolower(expected[i]))
+- return FALSE;
+- }
+- return TRUE;
+-}
+-
+-/* Break up the two names and check them, label by label. */
+-static krb5_boolean
+-domain_match(const char *presented, size_t plen, const char *expected)
+-{
+- const char *p, *q, *r, *s;
+- int n_label;
+- krb5_boolean used_wildcard = FALSE;
+-
+- n_label = 0;
+- p = presented;
+- r = expected;
+- while (p < presented + plen && *r != '\0') {
+- q = memchr(p, '.', plen - (p - presented));
+- if (q == NULL)
+- q = presented + plen;
+- s = r + strcspn(r, ".");
+- if (!label_match(p, q - p, r, s - r, n_label == 0, &used_wildcard))
+- return FALSE;
+- p = q < presented + plen ? q + 1 : q;
+- r = *s ? s + 1 : s;
+- n_label++;
+- }
+- if (used_wildcard && n_label <= 2)
+- return FALSE;
+- if (p == presented + plen && *r == '\0')
+- return TRUE;
+- return FALSE;
+-}
+-
+-/* Fetch the list of subjectAltNames from a certificate. */
+-static GENERAL_NAMES *
+-get_cert_sans(X509 *x)
+-{
+- int ext;
+- X509_EXTENSION *san_ext;
+-
+- ext = X509_get_ext_by_NID(x, NID_subject_alt_name, -1);
+- if (ext < 0)
+- return NULL;
+- san_ext = X509_get_ext(x, ext);
+- if (san_ext == NULL)
+- return NULL;
+- return X509V3_EXT_d2i(san_ext);
+-}
+-
+-/* Fetch a CN value from the subjct name field, returning its length, or -1 if
+- * there is no subject name or it contains no CN value. */
+-static int
+-get_cert_cn(X509 *x, char *buf, size_t bufsize)
+-{
+- X509_NAME *name;
+-
+- name = X509_get_subject_name(x);
+- if (name == NULL)
+- return -1;
+- return X509_NAME_get_text_by_NID(name, NID_commonName, buf, bufsize);
+-}
+-
+-/* Return true if text matches any of the addresses we can recover from x. */
+-static krb5_boolean
+-check_cert_address(X509 *x, const char *text)
+-{
+- char buf[1024];
+- GENERAL_NAMES *sans;
+- GENERAL_NAME *san = NULL;
+- ASN1_OCTET_STRING *ip;
+- krb5_boolean found_ip_san = FALSE, matched = FALSE;
+- int n_sans, i;
+- int name_length;
+- struct in_addr sin;
+- struct in6_addr sin6;
+-
+- /* Parse the IP address into an octet string. */
+- ip = ASN1_OCTET_STRING_new();
+- if (ip == NULL)
+- return FALSE;
+- if (inet_pton(AF_INET, text, &sin)) {
+- ASN1_OCTET_STRING_set(ip, (unsigned char *)&sin, sizeof(sin));
+- } else if (inet_pton(AF_INET6, text, &sin6)) {
+- ASN1_OCTET_STRING_set(ip, (unsigned char *)&sin6, sizeof(sin6));
+- } else {
+- ASN1_OCTET_STRING_free(ip);
+- return FALSE;
+- }
+-
+- /* Check for matches in ipaddress subjectAltName values. */
+- sans = get_cert_sans(x);
+- if (sans != NULL) {
+- n_sans = sk_GENERAL_NAME_num(sans);
+- for (i = 0; i < n_sans; i++) {
+- san = sk_GENERAL_NAME_value(sans, i);
+- if (san->type != GEN_IPADD)
+- continue;
+- found_ip_san = TRUE;
+- matched = (ASN1_OCTET_STRING_cmp(ip, san->d.iPAddress) == 0);
+- if (matched)
+- break;
+- }
+- sk_GENERAL_NAME_pop_free(sans, GENERAL_NAME_free);
+- }
+- ASN1_OCTET_STRING_free(ip);
+-
+- if (found_ip_san)
+- return matched;
+-
+- /* Check for a match against the CN value in the peer's subject name. */
+- name_length = get_cert_cn(x, buf, sizeof(buf));
+- if (name_length >= 0) {
+- /* Do a string compare to check if it's an acceptable value. */
+- return strlen(text) == (size_t)name_length &&
+- strncmp(text, buf, name_length) == 0;
+- }
+-
+- /* We didn't find a match. */
+- return FALSE;
+-}
+-
+-/* Return true if expected matches any of the names we can recover from x. */
+-static krb5_boolean
+-check_cert_servername(X509 *x, const char *expected)
+-{
+- char buf[1024];
+- GENERAL_NAMES *sans;
+- GENERAL_NAME *san = NULL;
+- unsigned char *dnsname;
+- krb5_boolean found_dns_san = FALSE, matched = FALSE;
+- int name_length, n_sans, i;
+-
+- /* Check for matches in dnsname subjectAltName values. */
+- sans = get_cert_sans(x);
+- if (sans != NULL) {
+- n_sans = sk_GENERAL_NAME_num(sans);
+- for (i = 0; i < n_sans; i++) {
+- san = sk_GENERAL_NAME_value(sans, i);
+- if (san->type != GEN_DNS)
+- continue;
+- found_dns_san = TRUE;
+- dnsname = NULL;
+- name_length = ASN1_STRING_to_UTF8(&dnsname, san->d.dNSName);
+- if (dnsname == NULL)
+- continue;
+- matched = domain_match((char *)dnsname, name_length, expected);
+- OPENSSL_free(dnsname);
+- if (matched)
+- break;
+- }
+- sk_GENERAL_NAME_pop_free(sans, GENERAL_NAME_free);
+- }
+-
+- if (matched)
+- return TRUE;
+- if (found_dns_san)
+- return matched;
+-
+- /* Check for a match against the CN value in the peer's subject name. */
+- name_length = get_cert_cn(x, buf, sizeof(buf));
+- if (name_length >= 0)
+- return domain_match(buf, name_length, expected);
+-
+- /* We didn't find a match. */
+- return FALSE;
+-}
+-
+ static krb5_boolean
+ check_cert_name_or_ip(X509 *x, const char *expected_name)
+ {
+ struct in_addr in;
+ struct in6_addr in6;
++ int r;
+
+ if (inet_pton(AF_INET, expected_name, &in) != 0 ||
+- inet_pton(AF_INET6, expected_name, &in6) != 0) {
+- return check_cert_address(x, expected_name);
+- } else {
+- return check_cert_servername(x, expected_name);
+- }
++ inet_pton(AF_INET6, expected_name, &in6) != 0)
++ r = X509_check_ip_asc(x, expected_name, 0);
++ else
++ r = X509_check_host(x, expected_name, 0, 0, NULL);
++ return r == 1;
+ }
+
+ static int
diff --git a/package/libkrb5/0003-Improve-future-OpenSSL-compatibility.patch b/package/libkrb5/0003-Improve-future-OpenSSL-compatibility.patch
new file mode 100644
index 0000000000..6b68af89e9
--- /dev/null
+++ b/package/libkrb5/0003-Improve-future-OpenSSL-compatibility.patch
@@ -0,0 +1,327 @@
+From 5e4e8452328804948d042235bbf58ca457795857 Mon Sep 17 00:00:00 2001
+From: Bob Beck <beck@openssl.org>
+Date: Mon, 16 Feb 2026 15:15:55 -0700
+Subject: [PATCH] Improve future OpenSSL compatibility
+
+Avoid calling deprecated OpenSSL functions when compiling against
+versions of OpenSSL where they are deprecated. Add
+-DOPENSSL_NO_DEPRECATED to the linux-clang-openssl CI build to help
+detect calls to deprecated functions in the future.
+
+Use const pointer variables to hold values retrieved by accessors
+which will return const pointers in OpenSSL 4.0. Define macros to
+make certain functions accept these const pointers in versions of
+OpenSSL where they don't already do so.
+
+Use accessor functions instead of direct field access for ASN1_STRING
+values, as the type will become opaque in OpenSSL 4.0.
+
+The PKINIT code is written to assume that DHX support was not present
+until OpenSSL 1.1, but it was added in release 1.0.2, causing a
+compilation error against 1.0.2 from a double definition of
+EVP_PKEY_DHX. Minimally fix the compilation error. (The custom DHX
+marshalling code to support 1.0.x could be removed, as 1.0.2 is the
+minimum version after commit f5bbfa4821cf590a4748f96d0e016bc0485e95c4,
+but the plan is to remove 1.0.x compatibility shortly.)
+
+Contains work by Frederik Wedel-Heinen
+<frederik.wedel-heinen@dencrypt.dk> and Dimitri John Ledkov
+<dimitri.ledkov@surgut.co.uk>.
+
+[ghudson@mit.edu: combined numerous commits; added compatibility
+macros; rewrote commit message; fixed 1.0.2 compatibility issue]
+
+Upstream: https://github.com/krb5/krb5/commit/5e4e8452328804948d042235bbf58ca457795857
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ .github/workflows/build.yml | 10 ++--
+ .../preauth/pkinit/pkinit_crypto_openssl.c | 54 ++++++++++++++-----
+ src/plugins/tls/k5tls/openssl.c | 26 +++++++--
+ 3 files changed, 68 insertions(+), 22 deletions(-)
+
+diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
+index f12422d19a..97f1082c59 100644
+--- a/.github/workflows/build.yml
++++ b/.github/workflows/build.yml
+@@ -16,17 +16,17 @@ jobs:
+ - name: linux-clang
+ os: ubuntu-latest
+ compiler: clang
+- makevars: CPPFLAGS=-Werror
++ flags: -Werror
+ configureopts: --enable-asan
+ - name: linux-clang-openssl
+ os: ubuntu-latest
+ compiler: clang
+- makevars: CPPFLAGS=-Werror
++ flags: -Werror -DOPENSSL_NO_DEPRECATED
+ configureopts: --with-crypto-impl=openssl
+ - name: linux-gcc
+ os: ubuntu-latest
+ compiler: gcc
+- makevars: CPPFLAGS=-D_FORTIFY_SOURCE=3
++ flags: -D_FORTIFY_SOURCE=3
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v1
+@@ -39,7 +39,7 @@ jobs:
+ - name: Build
+ env:
+ CC: ${{ matrix.compiler }}
+- MAKEVARS: ${{ matrix.makevars }}
++ FLAGS: ${{ matrix.flags }}
+ CONFIGURE_OPTS: ${{ matrix.configureopts }}
+ run: |
+ # For the ksu tests, allow homedir access from other users.
+@@ -49,7 +49,7 @@ jobs:
+ cd src
+ autoreconf
+ ./configure --enable-maintainer-mode --with-ldap $CONFIGURE_OPTS --prefix=$HOME/inst
+- make $MAKEVARS
++ make CPPFLAGS="$FLAGS"
+ make check
+ make install
+ (cd clients/ksu && make check-ksu)
+diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+index d1fe18e5ab..aa969aa37c 100644
+--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
++++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+@@ -209,13 +209,20 @@ create_identifiers_from_stack(STACK_OF(X509) *sk,
+ #define EVP_MD_CTX_new EVP_MD_CTX_create
+ #define EVP_MD_CTX_free EVP_MD_CTX_destroy
+ #define ASN1_STRING_get0_data ASN1_STRING_data
++#define X509_STORE_CTX_set0_trusted_stack X509_STORE_CTX_trusted_stack
+
+ /*
+- * 1.1 adds DHX support, which uses the RFC 3279 DomainParameters encoding we
++ * 1.0.2 adds DHX support, which uses the RFC 3279 DomainParameters encoding we
+ * need for PKINIT. For 1.0 we must use the original DH type when creating
+ * EVP_PKEY objects.
+ */
++#ifndef EVP_PKEY_DHX
+ #define EVP_PKEY_DHX EVP_PKEY_DH
++#endif
++
++/* Make X509_NAME_print_ex() accept a const name pointer by adding a cast. */
++#define X509_NAME_print_ex(a, b, c, d) \
++ X509_NAME_print_ex(a, (X509_NAME *)b, c, d)
+
+ /* 1.1 makes many handle types opaque and adds accessors. Add compatibility
+ * versions of the new accessors we use for pre-1.1. */
+@@ -295,6 +302,10 @@ compat_ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
+ #define EVP_PKEY_get_bits EVP_PKEY_bits
+ #define EVP_PKEY_get_base_id EVP_PKEY_base_id
+
++/* Make X509_dup() accept a const pointer by adding a cast. */
++#define X509_dup(a) X509_dup((X509 *)a)
++#define i2d_X509_NAME(a, b) i2d_X509_NAME((X509_NAME *)a, b)
++
+ /*
+ * Convert *dh to an EVP_PKEY object, taking ownership of *dh and setting it to
+ * NULL. On error, return NULL and do not take ownership of or change *dh.
+@@ -318,6 +329,11 @@ dh_to_pkey(DH **dh)
+ }
+ #endif /* OPENSSL_VERSION_NUMBER < 0x30000000L */
+
++#if OPENSSL_VERSION_NUMBER < 0x40000000L
++/* Make X509V3_EXT_d2i() accept a const pointer by adding a cast. */
++#define X509V3_EXT_d2i(a) X509V3_EXT_d2i((X509_EXTENSION *)a)
++#endif
++
+ /* Encode a bignum as an ASN.1 integer in DER. */
+ static int
+ encode_bn_der(const BIGNUM *bn, uint8_t **der_out, int *len_out)
+@@ -1134,6 +1150,13 @@ oerr_cert(krb5_context context, krb5_error_code code, X509_STORE_CTX *certctx,
+ return oerr(context, code, _("%s (depth %d): %s"), msg, depth, errstr);
+ }
+
++/* Convert an OpenSSL ASN.1 string value to krb5_data, without copying. */
++static inline krb5_data
++asn1string_to_data(ASN1_STRING *s)
++{
++ return make_data((char *)ASN1_STRING_get0_data(s), ASN1_STRING_length(s));
++}
++
+ krb5_error_code
+ pkinit_init_plg_crypto(krb5_context context,
+ pkinit_plg_crypto_context *cryptoctx)
+@@ -1775,7 +1798,7 @@ cms_signeddata_create(krb5_context context,
+ goto cleanup;
+ X509_STORE_CTX_init(certctx, certstore, id_cryptoctx->my_cert,
+ id_cryptoctx->intermediateCAs);
+- X509_STORE_CTX_trusted_stack(certctx, id_cryptoctx->trustedCAs);
++ X509_STORE_CTX_set0_trusted_stack(certctx, id_cryptoctx->trustedCAs);
+ if (!X509_verify_cert(certctx)) {
+ retval = oerr_cert(context, 0, certctx,
+ _("Failed to verify own certificate"));
+@@ -2002,7 +2025,7 @@ cms_signeddata_verify(krb5_context context,
+ unsigned char *d;
+ *is_signed = 0;
+ octets = CMS_get0_content(cms);
+- if (!octets || ((*octets)->type != V_ASN1_OCTET_STRING)) {
++ if (!octets || (ASN1_STRING_type(*octets) != V_ASN1_OCTET_STRING)) {
+ retval = KRB5KDC_ERR_PREAUTH_FAILED;
+ krb5_set_error_message(context, retval,
+ _("Invalid pkinit packet: octet string "
+@@ -2058,7 +2081,8 @@ cms_signeddata_verify(krb5_context context,
+ /* We cannot use CMS_dataInit because there may be no digest */
+ octets = CMS_get0_content(cms);
+ if (octets)
+- out = BIO_new_mem_buf((*octets)->data, (*octets)->length);
++ out = BIO_new_mem_buf(ASN1_STRING_get0_data(*octets),
++ ASN1_STRING_length(*octets));
+ if (out == NULL)
+ goto cleanup;
+ } else {
+@@ -2118,7 +2142,7 @@ cms_signeddata_verify(krb5_context context,
+
+ /* add trusted CAs certificates for cert verification */
+ if (idctx->trustedCAs != NULL)
+- X509_STORE_CTX_trusted_stack(cert_ctx, idctx->trustedCAs);
++ X509_STORE_CTX_set0_trusted_stack(cert_ctx, idctx->trustedCAs);
+ else {
+ pkiDebug("unable to find any trusted CAs\n");
+ goto cleanup;
+@@ -2156,7 +2180,7 @@ cms_signeddata_verify(krb5_context context,
+ i = X509_verify_cert(cert_ctx);
+ if (i <= 0) {
+ int j = X509_STORE_CTX_get_error(cert_ctx);
+- X509 *cert;
++ const X509 *cert;
+
+ cert = X509_STORE_CTX_get_current_cert(cert_ctx);
+ reqctx->received_cert = X509_dup(cert);
+@@ -2316,7 +2340,7 @@ crypto_retrieve_X509_sans(krb5_context context,
+ krb5_principal *princs = NULL;
+ char **upns = NULL;
+ unsigned char **dnss = NULL;
+- X509_EXTENSION *ext = NULL;
++ const X509_EXTENSION *ext = NULL;
+ GENERAL_NAMES *ialt = NULL;
+ GENERAL_NAME *gen = NULL;
+
+@@ -2379,8 +2403,7 @@ crypto_retrieve_X509_sans(krb5_context context,
+ gen = sk_GENERAL_NAME_value(ialt, i);
+ switch (gen->type) {
+ case GEN_OTHERNAME:
+- name.length = gen->d.otherName->value->value.sequence->length;
+- name.data = (char *)gen->d.otherName->value->value.sequence->data;
++ name = asn1string_to_data(gen->d.otherName->value->value.sequence);
+ if (princs != NULL &&
+ OBJ_cmp(plgctx->id_pkinit_san,
+ gen->d.otherName->type_id) == 0) {
+@@ -2414,12 +2437,13 @@ crypto_retrieve_X509_sans(krb5_context context,
+ case GEN_DNS:
+ if (dnss != NULL) {
+ /* Prevent abuse of embedded null characters. */
+- if (memchr(gen->d.dNSName->data, '\0', gen->d.dNSName->length))
++ if (memchr(ASN1_STRING_get0_data(gen->d.dNSName), '\0',
++ ASN1_STRING_length(gen->d.dNSName)))
+ break;
+ pkiDebug("%s: found dns name = %s\n", __FUNCTION__,
+- gen->d.dNSName->data);
++ ASN1_STRING_get0_data(gen->d.dNSName));
+ dnss[d] = (unsigned char *)
+- strdup((char *)gen->d.dNSName->data);
++ strdup((char *)ASN1_STRING_get0_data(gen->d.dNSName));
+ if (dnss[d] == NULL) {
+ pkiDebug("%s: failed to duplicate dns name\n",
+ __FUNCTION__);
+@@ -3094,8 +3118,10 @@ int
+ pkinit_openssl_init(void)
+ {
+ /* Initialize OpenSSL. */
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_algorithms();
++#endif
+ return 0;
+ }
+
+@@ -4766,7 +4792,7 @@ crypto_retrieve_X509_key_usage(krb5_context context,
+ }
+
+ static krb5_error_code
+-rfc2253_name(X509_NAME *name, char **str_out)
++rfc2253_name(const X509_NAME *name, char **str_out)
+ {
+ BIO *b = NULL;
+ char *str;
+@@ -5227,7 +5253,7 @@ create_identifiers_from_stack(STACK_OF(X509) *sk,
+ int i = 0, sk_size = sk_X509_num(sk);
+ krb5_external_principal_identifier **krb5_cas = NULL;
+ X509 *x = NULL;
+- X509_NAME *xn = NULL;
++ const X509_NAME *xn = NULL;
+ unsigned char *p = NULL;
+ int len = 0;
+ PKCS7_ISSUER_AND_SERIAL *is = NULL;
+diff --git a/src/plugins/tls/k5tls/openssl.c b/src/plugins/tls/k5tls/openssl.c
+index 42d72dc9ec..7763327b7a 100644
+--- a/src/plugins/tls/k5tls/openssl.c
++++ b/src/plugins/tls/k5tls/openssl.c
+@@ -38,6 +38,24 @@
+ #include <openssl/x509v3.h>
+ #include <dirent.h>
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++/* Make X509_get_subject_name() accept a const pointer by adding a cast. */
++#define X509_get_subject_name(a) X509_get_subject_name((X509 *)a)
++
++/* OpenSSL 1.0 did not have TLS_client_method(); use the best alternative. */
++#define TLS_client_method() SSLv23_client_method()
++#endif
++
++#if OPENSSL_VERSION_NUMBER < 0x40000000L
++/*
++ * OpenSSL 4.0 constifies the result of X509_STORE_CTX_get_current_cert() and
++ * the input of X509_check_host() and X509_check_ip_asc(). For prior versions,
++ * make the latter two functions accept const pointers via a cast.
++ */
++#define X509_check_host(a, b, c, d, e) X509_check_host((X509 *)a, b, c, d, e)
++#define X509_check_ip_asc(a, b, c) X509_check_ip_asc((X509 *)a, b, c)
++#endif
++
+ struct k5_tls_handle_st {
+ SSL *ssl;
+ char *servername;
+@@ -51,9 +69,11 @@ MAKE_INIT_FUNCTION(init_openssl);
+ int
+ init_openssl(void)
+ {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ SSL_library_init();
+ SSL_load_error_strings();
+ OpenSSL_add_all_algorithms();
++#endif
+ ex_context_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
+ ex_handle_id = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
+ return 0;
+@@ -72,7 +92,7 @@ flush_errors(krb5_context context)
+ }
+
+ static krb5_boolean
+-check_cert_name_or_ip(X509 *x, const char *expected_name)
++check_cert_name_or_ip(const X509 *x, const char *expected_name)
+ {
+ struct in_addr in;
+ struct in6_addr in6;
+@@ -89,7 +109,7 @@ check_cert_name_or_ip(X509 *x, const char *expected_name)
+ static int
+ verify_callback(int preverify_ok, X509_STORE_CTX *store_ctx)
+ {
+- X509 *x;
++ const X509 *x;
+ SSL *ssl;
+ BIO *bio;
+ krb5_context context;
+@@ -246,7 +266,7 @@ setup(krb5_context context, SOCKET fd, const char *servername,
+ return KRB5_PLUGIN_OP_NOTSUPP;
+
+ /* Do general SSL library setup. */
+- ctx = SSL_CTX_new(SSLv23_client_method());
++ ctx = SSL_CTX_new(TLS_client_method());
+ if (ctx == NULL)
+ goto error;
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 37/84] package/luvi: fix build without c++
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (35 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 36/84] package/libkrb5: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:05 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 38/84] package/luvi: bump version to 102-g9fa6c141a Bernd Kuhls
` (47 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Buildroot commit 00317f0aff243986983650671fd220ab040af50f bumped the
package to 2.15.0 which first included upstream commit
https://github.com/luvit/luvi/commit/262d5f7dff3484285cd8b3bf2ed32ff0f13c8741
that added the miniz submodule.
The version of miniz used by luvi contains commit
https://github.com/richgel999/miniz/commit/05ab4dc05c9d1e1f951f5849b659e2c7e291a620
which removed "C" from the project variable causing a dependency to c++
which causes build errors when the toolchain does not support c++:
-- Check for working CXX compiler: /bin/false - broken
This dependency was not intended so we add an upstream commit to fix the
problem.
Fixes:
https://autobuild.buildroot.net/results/2a5/2a5cf09dc9303b11e2a2769c5b0b319284ec1bbb/
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...eLists.txt-only-require-a-C-compiler.patch | 47 +++++++++++++++++++
1 file changed, 47 insertions(+)
create mode 100644 package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch
diff --git a/package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch b/package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch
new file mode 100644
index 0000000000..c68e05bdc7
--- /dev/null
+++ b/package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch
@@ -0,0 +1,47 @@
+From 383e551cccf41fc2ce1177712d6a37a85d936642 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Tue, 1 Apr 2025 22:56:00 +0200
+Subject: [PATCH] CMakeLists.txt: only require a C compiler
+
+Commit 05ab4dc05c9d1e1f951f5849b659e2c7e291a620
+"Add some catch2 tests" dropped that C flag,
+but should instead only have added a simple
+enable_language call for tests only.
+
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+
+Upstream: https://github.com/richgel999/miniz/commit/383e551cccf41fc2ce1177712d6a37a85d936642
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ deps/miniz/CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/deps/miniz/CMakeLists.txt b/deps/miniz/CMakeLists.txt
+index 156df83..e0933f8 100644
+--- a/deps/miniz/CMakeLists.txt
++++ b/deps/miniz/CMakeLists.txt
+@@ -7,10 +7,10 @@ if(DEFINED PROJECT_NAME)
+ endif()
+
+ if(CMAKE_MINOR_VERSION LESS 12)
+- project(miniz)
++ project(miniz C)
+ # see issue https://gitlab.kitware.com/cmake/cmake/merge_requests/1799
+ else()
+- project(miniz)
++ project(miniz C)
+ set(CMAKE_C_STANDARD 90)
+ set(CMAKE_VERBOSE_MAKEFILE ON)
+ # set(CMAKE_C_VISIBILITY_PRESET hidden)
+@@ -309,6 +309,7 @@ if(BUILD_FUZZERS)
+ endif()
+
+ if(BUILD_TESTS)
++ enable_language(CXX)
+ set(CMAKE_CXX_STANDARD 20)
+ set(CMAKE_CXX_STANDARD_REQUIRED YES)
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 38/84] package/luvi: bump version to 102-g9fa6c141a
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (36 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 37/84] package/luvi: fix build without c++ Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:08 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 39/84] package/luvi: Fix build with OpenSSL 4.0.0 Bernd Kuhls
` (46 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
This bump includes a bump of the lua-openssl submodule
https://github.com/luvit/luvi/commit/98fa10f2823d4a9bb93306bf445d596aa8c4a75f
which is a prerequisite for the upcoming bump of OpenSSL to 4.0.2.
Removed patches 0001 & 0002 which are included in this bump.
Renumbered and rebased remaining patch.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...Lists.txt-only-require-a-C-compiler.patch} | 9 ++-
...ly-disable-GCC-diagnostics-in-ocsp.c.patch | 80 -------------------
...isable-Wincompatible-pointer-types-f.patch | 54 -------------
package/luvi/luvi.hash | 2 +-
package/luvi/luvi.mk | 2 +-
5 files changed, 7 insertions(+), 140 deletions(-)
rename package/luvi/{0003-CMakeLists.txt-only-require-a-C-compiler.patch => 0001-CMakeLists.txt-only-require-a-C-compiler.patch} (89%)
delete mode 100644 package/luvi/0001-Selectively-disable-GCC-diagnostics-in-ocsp.c.patch
delete mode 100644 package/luvi/0002-CMakeLists.txt-disable-Wincompatible-pointer-types-f.patch
diff --git a/package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch b/package/luvi/0001-CMakeLists.txt-only-require-a-C-compiler.patch
similarity index 89%
rename from package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch
rename to package/luvi/0001-CMakeLists.txt-only-require-a-C-compiler.patch
index c68e05bdc7..550c0fecf8 100644
--- a/package/luvi/0003-CMakeLists.txt-only-require-a-C-compiler.patch
+++ b/package/luvi/0001-CMakeLists.txt-only-require-a-C-compiler.patch
@@ -12,6 +12,7 @@ Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
Upstream: https://github.com/richgel999/miniz/commit/383e551cccf41fc2ce1177712d6a37a85d936642
+[Bernd: rebased for 102-g9fa6c141a]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
deps/miniz/CMakeLists.txt | 5 +++--
@@ -34,14 +35,14 @@ index 156df83..e0933f8 100644
set(CMAKE_C_STANDARD 90)
set(CMAKE_VERBOSE_MAKEFILE ON)
# set(CMAKE_C_VISIBILITY_PRESET hidden)
-@@ -309,6 +309,7 @@ if(BUILD_FUZZERS)
+@@ -298,6 +298,7 @@ if(BUILD_FUZZERS)
endif()
if(BUILD_TESTS)
+ enable_language(CXX)
- set(CMAKE_CXX_STANDARD 20)
- set(CMAKE_CXX_STANDARD_REQUIRED YES)
-
+ set(CMAKE_CXX_STANDARD 20)
+ set(CMAKE_CXX_STANDARD_REQUIRED YES)
+
--
2.47.3
diff --git a/package/luvi/0001-Selectively-disable-GCC-diagnostics-in-ocsp.c.patch b/package/luvi/0001-Selectively-disable-GCC-diagnostics-in-ocsp.c.patch
deleted file mode 100644
index d29ba37bcf..0000000000
--- a/package/luvi/0001-Selectively-disable-GCC-diagnostics-in-ocsp.c.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 52bc36f5a548543835c24b87e7b7b72a327b1df7 Mon Sep 17 00:00:00 2001
-From: RDW <duckwhale@mail.ru>
-Date: Sun, 14 Sep 2025 00:33:10 +0200
-Subject: [PATCH] Selectively disable GCC diagnostics in ocsp.c
-
-GCC 14 fails to compile the library because -Wincompatible-pointer-types is now fatal.
-Since the warning is already disabled for clang here, might as well include GCC also.
-Needless to say, this is a workaround and a proper fix would require upstream changes.
-
-Upstream: https://github.com/zhaozg/lua-openssl/commit/bfeedbe8c06d8b4400fa670edecd452a433ddac4
-[Romain:
- - rebase on lua-openssl 0.9.0-0
- - format the patch as luvi patch (patching lua-openssl submodule)
-]
-Signed-off-by: Romain Naour <romain.naour@smile.fr>
----
- deps/lua-openssl/src/ocsp.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/deps/lua-openssl/src/ocsp.c b/deps/lua-openssl/src/ocsp.c
-index ac67a53..00e3b61 100644
---- a/deps/lua-openssl/src/ocsp.c
-+++ b/deps/lua-openssl/src/ocsp.c
-@@ -183,15 +183,26 @@ static int openssl_ocsp_request_read(lua_State *L)
- BIO *bio = load_bio_object(L, 1);
- int pem = lua_gettop(L) > 1 ? auxiliar_checkboolean(L, 2) : 0;
-
-+#if defined(__GNUC__)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
-+#endif
-+
- #if defined(__clang__)
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wincompatible-pointer-types"
- #endif
- OCSP_REQUEST *req = pem ? PEM_read_bio_OCSP_REQUEST(bio, NULL, NULL)
- : d2i_OCSP_REQUEST_bio(bio, NULL);
-+
-+#if defined(__GNUC__)
-+#pragma GCC diagnostic pop
-+#endif
-+
- #if defined(__clang__)
- #pragma clang diagnostic pop
- #endif
-+
- BIO_free(bio);
-
- if (req)
-@@ -359,15 +370,26 @@ static int openssl_ocsp_response_read(lua_State *L)
- int pem = lua_gettop(L) > 1 ? auxiliar_checkboolean(L, 2) : 0;
- int ret = 0;
-
-+#if defined(__GNUC__)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wincompatible-pointer-types"
-+#endif
-+
- #if defined(__clang__)
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wincompatible-pointer-types"
- #endif
- OCSP_RESPONSE *res = pem ? PEM_read_bio_OCSP_RESPONSE(bio, NULL, NULL)
- : d2i_OCSP_RESPONSE_bio(bio, NULL);
-+
-+#if defined(__GNUC__)
-+#pragma GCC diagnostic pop
-+#endif
-+
- #if defined(__clang__)
- #pragma clang diagnostic pop
- #endif
-+
- if (res)
- {
- PUSH_OBJECT(res, "openssl.ocsp_response");
---
-2.51.0
-
diff --git a/package/luvi/0002-CMakeLists.txt-disable-Wincompatible-pointer-types-f.patch b/package/luvi/0002-CMakeLists.txt-disable-Wincompatible-pointer-types-f.patch
deleted file mode 100644
index b658fed202..0000000000
--- a/package/luvi/0002-CMakeLists.txt-disable-Wincompatible-pointer-types-f.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From c82c147e83d6a21f572353bf6e95dcf3a736490c Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@smile.fr>
-Date: Sat, 13 Sep 2025 23:21:04 +0200
-Subject: [PATCH] CMakeLists.txt: disable Wincompatible-pointer-types for gcc
- >= 14
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Backport partially a patch [1] disabling GCC 14 warning
-Wincompatible-pointer-types.
-
-From [1]:
-"lua-openssl triggering the incompatible pointer types error by
-silencing the warning, which lua-openssl does internally but only for
-clang."
-
-Latest lua-openssl version (0.9.1-0) also disable this warning [2].
-
-Fixes:
-https://gitlab.com/buildroot.org/buildroot/-/jobs/11271124430 (TestLuvi)
-
-[1] https://github.com/luvit/luvi/commit/85d7d7bf51bc523159ad579d846cbefbbff38fdb
-[2] https://github.com/zhaozg/lua-openssl/commit/bfeedbe8c06d8b4400fa670edecd452a433ddac4
-
-Upstream: https://github.com/luvit/luvi/commit/85d7d7bf51bc523159ad579d846cbefbbff38fdb
-
-Signed-off-by: Romain Naour <romain.naour@smile.fr>
----
- CMakeLists.txt | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b0007d..bf10de5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -141,6 +141,14 @@ if (WIN32)
- add_library (luvi_renamed src/luvi_renamed.c)
- endif ()
-
-+if (CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
-+ add_compile_options(-Wno-incompatible-pointer-types)
-+endif()
-+
-+if(UNIX)
-+ add_definitions(-Wall)
-+endif()
-+
- if (WITH_LUA_ENGINE STREQUAL Lua)
- add_definitions(-DWITH_PLAIN_LUA)
- endif ()
---
-2.51.0
-
diff --git a/package/luvi/luvi.hash b/package/luvi/luvi.hash
index d8825487db..4b322c119e 100644
--- a/package/luvi/luvi.hash
+++ b/package/luvi/luvi.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 f933bf1899a5419b26d46d7f111aaa50101831922716ffaed62e355b1bc9de1d luvi-v2.15.0-git4.tar.gz
+sha256 8dee14773ffa59e3015c2f3923d4fb62f0021961aa5669373f6bcf553847c73b luvi-102-g9fa6c141abf24a5a7fe49ca39335210fa1be3ab4-git4.tar.gz
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
diff --git a/package/luvi/luvi.mk b/package/luvi/luvi.mk
index 78de76aa45..157d9a1401 100644
--- a/package/luvi/luvi.mk
+++ b/package/luvi/luvi.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LUVI_VERSION = v2.15.0
+LUVI_VERSION = 102-g9fa6c141abf24a5a7fe49ca39335210fa1be3ab4
LUVI_SITE = https://github.com/luvit/luvi.git
LUVI_SITE_METHOD = git
LUVI_GIT_SUBMODULES = YES
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 39/84] package/luvi: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (37 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 38/84] package/luvi: bump version to 102-g9fa6c141a Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:24 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 40/84] package/mender-artifact: " Bernd Kuhls
` (45 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../luvi/0002-feat-support-openssl-4.0.patch | 403 ++++++++++++++++++
1 file changed, 403 insertions(+)
create mode 100644 package/luvi/0002-feat-support-openssl-4.0.patch
diff --git a/package/luvi/0002-feat-support-openssl-4.0.patch b/package/luvi/0002-feat-support-openssl-4.0.patch
new file mode 100644
index 0000000000..fa35b70435
--- /dev/null
+++ b/package/luvi/0002-feat-support-openssl-4.0.patch
@@ -0,0 +1,403 @@
+From 529b4a42eeb2b77f8f8c829f856977c5b50d0b7b Mon Sep 17 00:00:00 2001
+From: zhaozg <zhaozg@gmail.com>
+Date: Thu, 16 Apr 2026 14:04:32 +0800
+Subject: [PATCH] feat: support openssl 4.0
+
+Upstream: https://github.com/zhaozg/lua-openssl/commit/529b4a42eeb2b77f8f8c829f856977c5b50d0b7b
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ deps/lua-openssl/src/asn1.c | 59 +++++++++++++++++++++++++++++++------------------
+ deps/lua-openssl/src/crl.c | 9 ++++----
+ deps/lua-openssl/src/csr.c | 30 +++++++++++++++++--------
+ deps/lua-openssl/src/openssl.c | 2 ++
+ deps/lua-openssl/src/private.h | 2 +-
+ deps/lua-openssl/src/ssl.c | 2 +-
+ deps/lua-openssl/src/x509.c | 2 +-
+ deps/lua-openssl/src/xalgor.c | 2 +-
+ deps/lua-openssl/src/xname.c | 2 +-
+ deps/lua-openssl/test/helper.lua | 2 +-
+ 10 files changed, 71 insertions(+), 41 deletions(-)
+
+diff --git a/deps/lua-openssl/src/asn1.c b/deps/lua-openssl/src/asn1.c
+index d7972738..566d78ee 100644
+--- a/deps/lua-openssl/src/asn1.c
++++ b/deps/lua-openssl/src/asn1.c
+@@ -499,7 +499,14 @@ openssl_asn1object_new(lua_State *L)
+ ret = 1;
+ }
+ } else if (lua_isnone(L, 1)) {
+- ASN1_OBJECT *obj = ASN1_OBJECT_new();
++ /* ASN1_OBJECT_new() is deprecated in OpenSSL 4.0,
++ * but there's no direct replacement for creating an empty object.
++ * We create an object from a dummy NID instead. */
++ ASN1_OBJECT *obj = OBJ_nid2obj(NID_undef);
++ if (obj == NULL) {
++ /* Fallback: create from empty string */
++ obj = OBJ_txt2obj("", 1);
++ }
+ PUSH_OBJECT(obj, "openssl.asn1_object");
+ ret = 1;
+ }
+@@ -658,11 +665,13 @@ openssl_push_asn1type(lua_State *L, const ASN1_TYPE *type)
+ {
+ lua_newtable(L);
+
+-#define P(V, v) \
+- case V_##V: { \
+- V *s = (V *)type->value.ptr; \
+- AUXILIAR_SETLSTR(L, -1, "value", (const char *)s->data, s->length); \
+- break; \
++#define P(V, v) \
++ case V_##V: { \
++ V *s = (V *)type->value.ptr; \
++ AUXILIAR_SETLSTR(L, -1, "value", \
++ (const char *)ASN1_STRING_get0_data(s), \
++ ASN1_STRING_length(s)); \
++ break; \
+ }
+
+ switch (type->type) {
+@@ -695,7 +704,7 @@ openssl_push_asn1type(lua_State *L, const ASN1_TYPE *type)
+
+ default: {
+ ASN1_STRING *s = (ASN1_STRING *)type->value.asn1_string;
+- AUXILIAR_SETLSTR(L, -1, "value", (const char *)s->data, s->length);
++ AUXILIAR_SETLSTR(L, -1, "value", ASN1_STRING_get0_data(s), ASN1_STRING_length(s));
+ break;
+ }
+ }
+@@ -1004,8 +1013,9 @@ openssl_asn1group_set(lua_State *L)
+ {
+ ASN1_STRING *s = CHECK_GROUP(1, ASN1_STRING, "openssl.asn1group");
+ int ret = 1;
++ int type = ASN1_STRING_type(s);
+
+- switch (s->type) {
++ switch (type) {
+ case V_ASN1_INTEGER: {
+ ASN1_INTEGER *ai = CHECK_OBJECT(1, ASN1_INTEGER, "openssl.asn1_integer");
+ long v = luaL_checklong(L, 2);
+@@ -1044,16 +1054,19 @@ static time_t
+ ASN1_TIME_get(ASN1_TIME *time, time_t off)
+ {
+ struct tm t;
+- const char *str = (const char *)time->data;
+ size_t i = 0;
++ const char *str = (const char *)ASN1_STRING_get0_data(time);
++ size_t len = ASN1_STRING_length(time);
++ int type = ASN1_STRING_type(time);
+
++ if (len < 13) return 0; /* Invalid time format */
+ memset(&t, 0, sizeof(t));
+
+- if (time->type == V_ASN1_UTCTIME) /* two digit year */ {
++ if (type == V_ASN1_UTCTIME) /* two digit year */ {
+ t.tm_year = (str[i++] - '0') * 10;
+ t.tm_year += (str[i++] - '0');
+ if (t.tm_year < 70) t.tm_year += 100;
+- } else if (time->type == V_ASN1_GENERALIZEDTIME) /* four digit year */ {
++ } else if (type == V_ASN1_GENERALIZEDTIME) /* four digit year */ {
+ t.tm_year = (str[i++] - '0') * 1000;
+ t.tm_year += (str[i++] - '0') * 100;
+ t.tm_year += (str[i++] - '0') * 10;
+@@ -1086,7 +1099,7 @@ openssl_asn1group_get(lua_State *L)
+ {
+ ASN1_STRING *s = CHECK_GROUP(1, ASN1_STRING, "openssl.asn1group");
+ int ret = 0;
+- switch (s->type) {
++ switch (ASN1_STRING_type(s)) {
+ case V_ASN1_INTEGER: {
+ ASN1_INTEGER *ai = CHECK_OBJECT(1, ASN1_INTEGER, "openssl.asn1_integer");
+ BIGNUM *bn = ASN1_INTEGER_to_BN(ai, NULL);
+@@ -1128,7 +1141,7 @@ openssl_asn1group_i2d(lua_State *L)
+ break; \
+ }
+
+- switch (s->type) {
++ switch (ASN1_STRING_type(s)) {
+ /*
+ P(ASN1_BOOLEAN);
+ case V_ASN1_BOOLEAN:
+@@ -1220,7 +1233,7 @@ openssl_asn1group_d2i(lua_State *L)
+ break; \
+ }
+
+- switch (s->type) {
++ switch (ASN1_STRING_type(s)) {
+ /*
+ P(ASN1_BOOLEAN);
+ case V_ASN1_BOOLEAN:
+@@ -1374,7 +1387,8 @@ openssl_asn1group_eq(lua_State *L)
+ ASN1_STRING *s = CHECK_GROUP(1, ASN1_STRING, "openssl.asn1group");
+ ASN1_STRING *ss = CHECK_GROUP(2, ASN1_STRING, "openssl.asn1group");
+
+- lua_pushboolean(L, (s->type == ss->type && ASN1_STRING_cmp(s, ss) == 0));
++ lua_pushboolean(L, (ASN1_STRING_type(s) == ASN1_STRING_type(ss)
++ && ASN1_STRING_cmp(s, ss) == 0));
+ return 1;
+ }
+
+@@ -1434,7 +1448,7 @@ openssl_asn1group_toprint(lua_State *L)
+ unsigned long flags = luaL_optint(L, 2, 0);
+ BIO *out = BIO_new(BIO_s_mem());
+ BUF_MEM *mem;
+- switch (s->type) {
++ switch (ASN1_STRING_type(s)) {
+ case V_ASN1_UTCTIME: {
+ ASN1_TIME *a = (ASN1_TIME *)s;
+ ASN1_TIME_print(out, a);
+@@ -1484,7 +1498,7 @@ static int
+ openssl_asn1group_dup(lua_State *L)
+ {
+ ASN1_STRING *s = CHECK_GROUP(1, ASN1_STRING, "openssl.asn1group");
+- openssl_push_asn1(L, s, s->type);
++ openssl_push_asn1(L, s, ASN1_STRING_type(s));
+ return 1;
+ }
+
+@@ -1517,7 +1531,7 @@ openssl_asn1time_adj(lua_State *L)
+ int offset_day = luaL_optint(L, 3, 0);
+ long offset_sec = luaL_optlong(L, 4, 0);
+
+- switch (at->type) {
++ switch (ASN1_STRING_type(at)) {
+ case V_ASN1_UTCTIME: {
+ ASN1_UTCTIME *a = (ASN1_UTCTIME *)at;
+ ASN1_UTCTIME_adj(a, t, offset_day, offset_sec);
+@@ -1549,7 +1563,7 @@ openssl_asn1time_diff(lua_State *L)
+ ASN1_TIME *from = CHECK_OBJECT(1, ASN1_TIME, "openssl.asn1_time");
+ ASN1_TIME *to = lua_isnoneornil(L, 2) ? NULL : CHECK_OBJECT(2, ASN1_TIME, "openssl.asn1_time");
+
+- luaL_argcheck(L, to->type == from->type, 2, "asn1_time with mismatched type");
++ luaL_argcheck(L, ASN1_STRING_type(to) == ASN1_STRING_type(from), 2, "asn1_time with mismatched type");
+
+ ret = ASN1_TIME_diff(&day, &sec, from, to);
+ if (ret == 1) {
+@@ -1644,12 +1658,13 @@ openssl_push_asn1object(lua_State *L, const ASN1_OBJECT *obj)
+ int
+ openssl_push_asn1(lua_State *L, const ASN1_STRING *string, int type)
+ {
+- if ((string->type & V_ASN1_GENERALIZEDTIME) == V_ASN1_GENERALIZEDTIME && type == V_ASN1_UTCTIME)
++ int strType = ASN1_STRING_type(string);
++ if ((strType & V_ASN1_GENERALIZEDTIME) == V_ASN1_GENERALIZEDTIME && type == V_ASN1_UTCTIME)
+ type = V_ASN1_GENERALIZEDTIME;
+- else if ((string->type & V_ASN1_UTCTIME) == V_ASN1_UTCTIME && type == V_ASN1_GENERALIZEDTIME)
++ else if ((strType & V_ASN1_UTCTIME) == V_ASN1_UTCTIME && type == V_ASN1_GENERALIZEDTIME)
+ type = V_ASN1_UTCTIME;
+ else if (type == V_ASN1_UNDEF)
+- type = string->type;
++ type = strType;
+
+ switch (type) {
+ case V_ASN1_INTEGER: {
+diff --git a/deps/lua-openssl/src/crl.c b/deps/lua-openssl/src/crl.c
+index 4950b4ca..2958daa0 100644
+--- a/deps/lua-openssl/src/crl.c
++++ b/deps/lua-openssl/src/crl.c
+@@ -770,7 +770,7 @@ static int openssl_crl_parse(lua_State *L)
+ lua_setfield(L, -2, "sig_alg");
+ }
+
+- if (sig != NULL && sig->length > 0) {
++ if (sig != NULL && ASN1_STRING_length(sig) > 0) {
+ PUSH_ASN1_STRING(L, sig);
+ lua_setfield(L, -2, "signature");
+ }
+@@ -995,16 +995,17 @@ static time_t
+ ASN1_GetTimeT(const ASN1_TIME *time)
+ {
+ struct tm t;
+- const char *str = (const char *)time->data;
++ const char *str = ASN1_STRING_get0_data(time);
++ int type = ASN1_STRING_type(time);
+ size_t i = 0;
+
+ memset(&t, 0, sizeof(t));
+
+- if (time->type == V_ASN1_UTCTIME) /* two digit year */ {
++ if (type == V_ASN1_UTCTIME) /* two digit year */ {
+ t.tm_year = (str[i++] - '0') * 10;
+ t.tm_year += (str[i++] - '0');
+ if (t.tm_year < 70) t.tm_year += 100;
+- } else if (time->type == V_ASN1_GENERALIZEDTIME) /* four digit year */ {
++ } else if (type == V_ASN1_GENERALIZEDTIME) /* four digit year */ {
+ t.tm_year = (str[i++] - '0') * 1000;
+ t.tm_year += (str[i++] - '0') * 100;
+ t.tm_year += (str[i++] - '0') * 10;
+diff --git a/deps/lua-openssl/src/csr.c b/deps/lua-openssl/src/csr.c
+index b9aaeece..fd4743e8 100644
+--- a/deps/lua-openssl/src/csr.c
++++ b/deps/lua-openssl/src/csr.c
+@@ -120,8 +120,8 @@ static int
+ copy_extensions(X509 *x, X509_REQ *req, int override)
+ {
+ STACK_OF(X509_EXTENSION) *exts = NULL;
+- X509_EXTENSION *ext, *tmpext;
+- ASN1_OBJECT *obj;
++ const X509_EXTENSION *ext, *tmpext;
++ const ASN1_OBJECT *obj;
+ int i, idx, ret = 0;
+ if (!x || !req) return 1;
+ exts = X509_REQ_get_extensions(req);
+@@ -138,7 +138,7 @@ copy_extensions(X509 *x, X509_REQ *req, int override)
+ do {
+ tmpext = X509_get_ext(x, idx);
+ X509_delete_ext(x, idx);
+- X509_EXTENSION_free(tmpext);
++ X509_EXTENSION_free((X509_EXTENSION*)tmpext);
+ idx = X509_get_ext_by_OBJ(x, obj, -1);
+ } while (idx != -1);
+ }
+@@ -157,7 +157,7 @@ static int
+ X509_REQ_to_X509_ex(X509_REQ *r, int days, EVP_PKEY *pkey, const EVP_MD *md, X509 **x)
+ {
+ X509 *ret = NULL;
+- X509_NAME *xn = NULL;
++ const X509_NAME *xn = NULL;
+ EVP_PKEY *pubkey = NULL;
+ ASN1_TIME *notBefore = NULL, *notAfter = NULL;
+ ASN1_INTEGER *serial = NULL;
+@@ -412,9 +412,21 @@ static int openssl_csr_sign(lua_State *L)
+ /*
+ * In the interests of compatibility, I'll make sure that the bit string
+ * has a 'not-used bits' value of 0
++ *
++ * Instead of directly manipulating the internal flags (which is not allowed
++ * in OpenSSL 4.0+), we use ASN1_BIT_STRING_set_bit to properly manage the
++ * unused bits count. Setting the last bit explicitly ensures the unused
++ * bits count is calculated correctly by OpenSSL.
+ */
+- sig->flags &= ~(ASN1_STRING_FLAG_BITS_LEFT | 0x07);
+- sig->flags |= ASN1_STRING_FLAG_BITS_LEFT;
++ if (siglen > 0) {
++ /* Set the last bit of the signature to its current value.
++ * This forces OpenSSL to recalculate and set the unused bits count
++ * to 0 (since the signature is byte-aligned). */
++ int last_bit = (siglen * 8) - 1;
++ int bit_value = (sigdata[siglen - 1] & 1) ? 1 : 0;
++ ASN1_BIT_STRING_set_bit(sig, last_bit, bit_value);
++ }
++
+ lua_pushboolean(L, 1);
+ return 1;
+ } else {
+@@ -442,7 +454,7 @@ parse x509_req object as table
+ static int openssl_csr_parse(lua_State *L)
+ {
+ X509_REQ *csr = CHECK_OBJECT(1, X509_REQ, "openssl.x509_req");
+- X509_NAME *subject = X509_REQ_get_subject_name(csr);
++ const X509_NAME *subject = X509_REQ_get_subject_name(csr);
+ STACK_OF(X509_EXTENSION) *exts = X509_REQ_get_extensions(csr);
+
+ lua_newtable(L);
+@@ -457,7 +469,7 @@ static int openssl_csr_parse(lua_State *L)
+ PUSH_OBJECT(alg, "openssl.x509_algor");
+ lua_setfield(L, -2, "sig_alg");
+ }
+- if (sig->length) {
++ if (sig) {
+ openssl_push_asn1(L, sig, V_ASN1_BIT_STRING);
+ lua_setfield(L, -2, "signature");
+ }
+@@ -585,7 +597,7 @@ static int openssl_csr_subject(lua_State *L)
+ int ret = 0;
+
+ if (lua_isnone(L, 2)) {
+- X509_NAME *xn = X509_REQ_get_subject_name(csr);
++ const X509_NAME *xn = X509_REQ_get_subject_name(csr);
+ if (xn) {
+ openssl_push_xname_asobject(L, xn);
+ ret = 1;
+diff --git a/deps/lua-openssl/src/openssl.c b/deps/lua-openssl/src/openssl.c
+index 42004449..985b342b 100644
+--- a/deps/lua-openssl/src/openssl.c
++++ b/deps/lua-openssl/src/openssl.c
+@@ -544,7 +544,9 @@ openssl_initialize()
+ sizeof(LOPENSSL_VERSION LUA_VERSION OPENSSL_VERSION_TEXT));
+ #else
+ OPENSSL_init_ssl(OPENSSL_INIT_ENGINE_ALL_BUILTIN |
++#if defined (OPENSSL_INIT_ENGINE_OPENSSL)
+ OPENSSL_INIT_ENGINE_OPENSSL |
++#endif
+ OPENSSL_INIT_LOAD_CRYPTO_STRINGS |
+ OPENSSL_INIT_LOAD_SSL_STRINGS |
+ OPENSSL_INIT_ADD_ALL_CIPHERS |
+diff --git a/deps/lua-openssl/src/private.h b/deps/lua-openssl/src/private.h
+index c6010209..00728c6a 100644
+--- a/deps/lua-openssl/src/private.h
++++ b/deps/lua-openssl/src/private.h
+@@ -332,7 +332,7 @@ int openssl_push_x509_signature(lua_State *L, const X509_ALGOR *alg, const ASN1_
+ #define PUSH_ASN1_OCTET_STRING(L, s) openssl_push_asn1(L, (ASN1_STRING*)(s), V_ASN1_OCTET_STRING)
+ #define PUSH_ASN1_STRING(L, s) openssl_push_asn1(L, (ASN1_STRING*)(s), V_ASN1_UNDEF)
+
+-int openssl_push_xname_asobject(lua_State*L, X509_NAME* xname);
++int openssl_push_xname_asobject(lua_State*L, const X509_NAME* xname);
+ int openssl_push_bit_string_bitname(lua_State* L, const BIT_STRING_BITNAME* name);
+
+ ASN1_OBJECT* openssl_get_asn1object(lua_State*L, int idx, int retnil);
+diff --git a/deps/lua-openssl/src/ssl.c b/deps/lua-openssl/src/ssl.c
+index a71d71fd..9a8598fd 100644
+--- a/deps/lua-openssl/src/ssl.c
++++ b/deps/lua-openssl/src/ssl.c
+@@ -158,7 +158,7 @@ openssl_ssl_ctx_new(lua_State *L)
+ method = TLSv1_client_method();
+ #endif
+
+-#ifndef OPENSSL_NO_SSL3_METHOD
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_SSL3_METHOD)
+ else if (strcmp(meth, "SSLv3") == 0)
+ method = SSLv3_method();
+ else if (strcmp(meth, "SSLv3_server") == 0)
+diff --git a/deps/lua-openssl/src/x509.c b/deps/lua-openssl/src/x509.c
+index 99096090..4dcc960e 100644
+--- a/deps/lua-openssl/src/x509.c
++++ b/deps/lua-openssl/src/x509.c
+@@ -466,7 +466,7 @@ int openssl_push_x509_signature(lua_State *L, const X509_ALGOR *alg, const ASN1_
+ if (sig != NULL)
+ {
+ lua_pushliteral(L, "sig");
+- lua_pushlstring(L, (const char *)sig->data, sig->length);
++ lua_pushlstring(L, ASN1_STRING_get0_data(sig), ASN1_STRING_length(sig));
+ lua_rawset(L, i==0 ? -3 : i);
+ }
+
+diff --git a/deps/lua-openssl/src/xalgor.c b/deps/lua-openssl/src/xalgor.c
+index 95957b6f..2d7c5668 100644
+--- a/deps/lua-openssl/src/xalgor.c
++++ b/deps/lua-openssl/src/xalgor.c
+@@ -151,7 +151,7 @@ openssl_xalgor_set(lua_State *L)
+ obj = OBJ_dup(obj);
+ if (val) {
+ val = ASN1_STRING_dup(val);
+- ret = X509_ALGOR_set0(alg, obj, val->type, val);
++ ret = X509_ALGOR_set0(alg, obj, ASN1_STRING_type(val), val);
+ } else {
+ ret = X509_ALGOR_set0(alg, obj, 0, NULL);
+ }
+diff --git a/deps/lua-openssl/src/xname.c b/deps/lua-openssl/src/xname.c
+index f2fa9be6..ed5939df 100644
+--- a/deps/lua-openssl/src/xname.c
++++ b/deps/lua-openssl/src/xname.c
+@@ -10,7 +10,7 @@ x509.name module to mapping X509_NAME to lua object.
+ #include "sk.h"
+
+ int
+-openssl_push_xname_asobject(lua_State *L, X509_NAME *xname)
++openssl_push_xname_asobject(lua_State *L, const X509_NAME *xname)
+ {
+ const X509_NAME *dup = X509_NAME_dup(xname);
+ PUSH_OBJECT(dup, "openssl.x509_name");
+diff --git a/deps/lua-openssl/test/helper.lua b/deps/lua-openssl/test/helper.lua
+index ea64feb7..0634ea3c 100644
+--- a/deps/lua-openssl/test/helper.lua
++++ b/deps/lua-openssl/test/helper.lua
+@@ -6,7 +6,7 @@ local M = {}
+ M.luaopensslv, M.luav, M.opensslv = openssl.version()
+ M._luaopensslv, M._luav, M._opensslv = openssl.version(true)
+ M.libressl = M.opensslv:find("^LibreSSL")
+-M.openssl3 = M.opensslv:find("^OpenSSL 3")
++M.openssl3 = M.opensslv:find("^OpenSSL 3") or M.opensslv:find("^OpenSSL 4")
+
+ function M.sslProtocol(srv, protocol)
+ protocol = protocol or openssl.ssl.default
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 40/84] package/mender-artifact: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (38 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 39/84] package/luvi: Fix build with OpenSSL 4.0.0 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:24 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 41/84] package/perl-net-ssleay: Add support for " Bernd Kuhls
` (44 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Angelo Compagnucci
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
.../0001-openssl-v4-update.patch | 180 ++++++++++++++++++
1 file changed, 180 insertions(+)
create mode 100644 package/mender-artifact/0001-openssl-v4-update.patch
diff --git a/package/mender-artifact/0001-openssl-v4-update.patch b/package/mender-artifact/0001-openssl-v4-update.patch
new file mode 100644
index 0000000000..010872e69f
--- /dev/null
+++ b/package/mender-artifact/0001-openssl-v4-update.patch
@@ -0,0 +1,180 @@
+Fix build with OpenSSL 4.0
+
+Downloaded from Ubuntu:
+https://git.launchpad.net/ubuntu/+source/golang-github-mendersoftware-openssl/tree/debian/patches/0004-openssl-v4-update.patch?h=applied/ubuntu/stonking-devel
+
+Upstream: not applicable, upstream moved to c++ in newer versions
+
+[Bernd: rebased for vendored download by buildroot infra]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+diff -uNr mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/engine.go mender-3.5.3/vendor/github.com/mendersoftware/openssl/engine.go
+--- mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/engine.go 2024-05-24 12:07:27.000000000 +0200
++++ mender-3.5.3/vendor/github.com/mendersoftware/openssl/engine.go 2026-09-20 18:37:50.270612314 +0200
+@@ -15,6 +15,7 @@
+ package openssl
+
+ /*
++#include "shim.h"
+ #include "openssl/engine.h"
+ */
+ import "C"
+@@ -33,18 +34,18 @@
+ cname := C.CString(name)
+ defer C.free(unsafe.Pointer(cname))
+ e := &Engine{
+- e: C.ENGINE_by_id(cname),
++ e: C.X_ENGINE_by_id(cname),
+ }
+ if e.e == nil {
+ return nil, fmt.Errorf("engine %s missing", name)
+ }
+- if C.ENGINE_init(e.e) == 0 {
+- C.ENGINE_free(e.e)
++ if C.X_ENGINE_init(e.e) == 0 {
++ C.X_ENGINE_free(e.e)
+ return nil, fmt.Errorf("engine %s not initialized", name)
+ }
+ runtime.SetFinalizer(e, func(e *Engine) {
+- C.ENGINE_finish(e.e)
+- C.ENGINE_free(e.e)
++ C.X_ENGINE_finish(e.e)
++ C.X_ENGINE_free(e.e)
+ })
+ return e, nil
+ }
+diff -uNr mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/hostname.c mender-3.5.3/vendor/github.com/mendersoftware/openssl/hostname.c
+--- mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/hostname.c 2024-05-24 12:07:27.000000000 +0200
++++ mender-3.5.3/vendor/github.com/mendersoftware/openssl/hostname.c 2026-09-20 18:32:37.854514981 +0200
+@@ -6,6 +6,7 @@
+ */
+
+ #include <openssl/x509.h>
++#include <openssl/x509v3.h>
+
+ #ifndef X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT
+
+diff -uNr mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/key.go mender-3.5.3/vendor/github.com/mendersoftware/openssl/key.go
+--- mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/key.go 2024-05-24 12:07:27.000000000 +0200
++++ mender-3.5.3/vendor/github.com/mendersoftware/openssl/key.go 2026-09-20 18:38:13.462370202 +0200
+@@ -303,7 +303,7 @@
+ keyID := C.CString(id)
+ defer C.free(unsafe.Pointer(keyID))
+
+- key := C.ENGINE_load_private_key(e.e, keyID, nil, nil)
++ key := C.X_ENGINE_load_private_key(e.e, keyID, nil, nil)
+ if key == nil {
+ return nil, errors.New("cannot load private key, ENGINE_load_private_key error")
+ }
+diff -uNr mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/shim.c mender-3.5.3/vendor/github.com/mendersoftware/openssl/shim.c
+--- mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/shim.c 2024-05-24 12:07:27.000000000 +0200
++++ mender-3.5.3/vendor/github.com/mendersoftware/openssl/shim.c 2026-09-20 18:36:02.855038372 +0200
+@@ -382,7 +382,9 @@
+ int rc = 0;
+
+ OPENSSL_config(NULL);
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
+ ENGINE_load_builtin_engines();
++#endif
+ SSL_load_error_strings();
+ SSL_library_init();
+ OpenSSL_add_all_algorithms();
+@@ -403,6 +405,46 @@
+ return 0;
+ }
+
++ENGINE *X_ENGINE_by_id(const char *id) {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
++ return ENGINE_by_id(id);
++#else
++ return NULL;
++#endif
++}
++
++int X_ENGINE_init(ENGINE *e) {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
++ return ENGINE_init(e);
++#else
++ return 0;
++#endif
++}
++
++int X_ENGINE_free(ENGINE *e) {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
++ return ENGINE_free(e);
++#else
++ return 0;
++#endif
++}
++
++int X_ENGINE_finish(ENGINE *e) {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
++ return ENGINE_finish(e);
++#else
++ return 0;
++#endif
++}
++
++EVP_PKEY *X_ENGINE_load_private_key(ENGINE *e, const char *key_id, UI_METHOD *ui_method, void *callback_data) {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_ENGINE)
++ return ENGINE_load_private_key(e, key_id, ui_method, callback_data);
++#else
++ return NULL;
++#endif
++}
++
+ void * X_OPENSSL_malloc(size_t size) {
+ return OPENSSL_malloc(size);
+ }
+@@ -480,7 +522,7 @@
+ }
+
+ const SSL_METHOD *X_SSLv3_method() {
+-#ifndef OPENSSL_NO_SSL3_METHOD
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_SSL3_METHOD) && !defined(OPENSSL_NO_DEPRECATED_1_1_0) && !defined(OPENSSL_NO_DEPRECATED_3_0)
+ return SSLv3_method();
+ #else
+ return NULL;
+@@ -488,11 +530,15 @@
+ }
+
+ const SSL_METHOD *X_TLSv1_method() {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_METHOD) && !defined(OPENSSL_NO_DEPRECATED_1_1_0) && !defined(OPENSSL_NO_DEPRECATED_3_0)
+ return TLSv1_method();
++#else
++ return NULL;
++#endif
+ }
+
+ const SSL_METHOD *X_TLSv1_1_method() {
+-#if defined(TLS1_1_VERSION) && !defined(OPENSSL_SYSNAME_MACOSX)
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && defined(TLS1_1_VERSION) && !defined(OPENSSL_SYSNAME_MACOSX) && !defined(OPENSSL_NO_TLS1_1_METHOD) && !defined(OPENSSL_NO_DEPRECATED_1_1_0) && !defined(OPENSSL_NO_DEPRECATED_3_0)
+ return TLSv1_1_method();
+ #else
+ return NULL;
+@@ -500,7 +546,7 @@
+ }
+
+ const SSL_METHOD *X_TLSv1_2_method() {
+-#if defined(TLS1_2_VERSION) && !defined(OPENSSL_SYSNAME_MACOSX)
++#if OPENSSL_VERSION_NUMBER < 0x40000000L && defined(TLS1_2_VERSION) && !defined(OPENSSL_SYSNAME_MACOSX) && !defined(OPENSSL_NO_TLS1_2_METHOD) && !defined(OPENSSL_NO_DEPRECATED_1_1_0) && !defined(OPENSSL_NO_DEPRECATED_3_0)
+ return TLSv1_2_method();
+ #else
+ return NULL;
+diff -uNr mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/shim.h mender-3.5.3/vendor/github.com/mendersoftware/openssl/shim.h
+--- mender-3.5.3.orig/vendor/github.com/mendersoftware/openssl/shim.h 2024-05-24 12:07:27.000000000 +0200
++++ mender-3.5.3/vendor/github.com/mendersoftware/openssl/shim.h 2026-09-20 18:38:33.117854985 +0200
+@@ -40,6 +40,13 @@
+ /* shim methods */
+ extern int X_shim_init();
+
++/* Engine methods */
++extern ENGINE *X_ENGINE_by_id(const char *id);
++extern int X_ENGINE_init(ENGINE *e);
++extern int X_ENGINE_free(ENGINE *e);
++extern int X_ENGINE_finish(ENGINE *e);
++extern EVP_PKEY *X_ENGINE_load_private_key(ENGINE *e, const char *key_id, UI_METHOD *ui_method, void *callback_data);
++
+ /* Library methods */
+ extern void X_OPENSSL_free(void *ref);
+ extern void *X_OPENSSL_malloc(size_t size);
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 41/84] package/perl-net-ssleay: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (39 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 40/84] package/mender-artifact: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:29 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 42/84] package/qpid-proton: Fix build with " Bernd Kuhls
` (43 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Francois Perrad
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Francois Perrad <francois.perrad.86@gmail.com>
---
.../0002-Fix-SSLv3-in-OpenSSL-4.0.0.patch | 39 ++++
...emove-support-for-some-TLS-functions.patch | 197 ++++++++++++++++++
...SSLeay-to-support-opaque-ASN1_STRING.patch | 179 ++++++++++++++++
...-removal-of-SSLv2-Client-Hello-suppo.patch | 66 ++++++
...Net-SSLeay-OPENSSL_info-return-value.patch | 45 ++++
...r-OPenSSL-4-support-and-update-tests.patch | 94 +++++++++
...but-if-with-else-to-avoid-duplicate-.patch | 83 ++++++++
7 files changed, 703 insertions(+)
create mode 100644 package/perl-net-ssleay/0002-Fix-SSLv3-in-OpenSSL-4.0.0.patch
create mode 100644 package/perl-net-ssleay/0003-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch
create mode 100644 package/perl-net-ssleay/0004-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch
create mode 100644 package/perl-net-ssleay/0005-Update-tests-for-removal-of-SSLv2-Client-Hello-suppo.patch
create mode 100644 package/perl-net-ssleay/0006-Add-default-for-Net-SSLeay-OPENSSL_info-return-value.patch
create mode 100644 package/perl-net-ssleay/0007-Add-Changes-for-OPenSSL-4-support-and-update-tests.patch
create mode 100644 package/perl-net-ssleay/0008-Do-not-use-elif-but-if-with-else-to-avoid-duplicate-.patch
diff --git a/package/perl-net-ssleay/0002-Fix-SSLv3-in-OpenSSL-4.0.0.patch b/package/perl-net-ssleay/0002-Fix-SSLv3-in-OpenSSL-4.0.0.patch
new file mode 100644
index 0000000000..8257c6c00f
--- /dev/null
+++ b/package/perl-net-ssleay/0002-Fix-SSLv3-in-OpenSSL-4.0.0.patch
@@ -0,0 +1,39 @@
+From 361b3adc1dd09f70be7bd8972992626a3240b58d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= <mspacek@redhat.com>
+Date: Tue, 14 Apr 2026 12:37:39 +0200
+Subject: [PATCH] Fix SSLv3 in OpenSSL 4.0.0
+
+Support for SSLv3 was removed.
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/361b3adc1dd09f70be7bd8972992626a3240b58d
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ SSLeay.xs | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/SSLeay.xs b/SSLeay.xs
+index 0ed7d96..5407fa1 100644
+--- a/SSLeay.xs
++++ b/SSLeay.xs
+@@ -2454,7 +2454,7 @@ SSL_CTX_v2_new()
+
+ #endif
+ #endif
+-#ifndef OPENSSL_NO_SSL3
++#if !defined(OPENSSL_NO_SSL3) && OPENSSL_VERSION_NUMBER < 0x40000000L
+
+ SSL_CTX *
+ SSL_CTX_v3_new()
+@@ -5600,7 +5600,7 @@ SSLv2_method()
+ #endif
+ #endif
+
+-#ifndef OPENSSL_NO_SSL3
++#if !defined(OPENSSL_NO_SSL3) && OPENSSL_VERSION_NUMBER < 0x40000000L
+
+ const SSL_METHOD *
+ SSLv3_method()
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0003-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch b/package/perl-net-ssleay/0003-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch
new file mode 100644
index 0000000000..916acdcac9
--- /dev/null
+++ b/package/perl-net-ssleay/0003-OpenSSL-4.0.0-remove-support-for-some-TLS-functions.patch
@@ -0,0 +1,197 @@
+From 780c7ad4803d0fc8e755bb86e589f84898e65040 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= <mspacek@redhat.com>
+Date: Tue, 14 Apr 2026 14:08:00 +0200
+Subject: [PATCH] OpenSSL 4.0.0 remove support for some TLS functions
+
+Removes fixed version TLS methods
+(https://github.com/openssl/openssl/pull/30128)
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/780c7ad4803d0fc8e755bb86e589f84898e65040
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ SSLeay.xs | 51 ++++++++++++++++++++++++++++++++++++++++------
+ lib/Net/SSLeay.pod | 17 +++++++++-------
+ 2 files changed, 55 insertions(+), 13 deletions(-)
+
+diff --git a/SSLeay.xs b/SSLeay.xs
+index 5407fa1..ad996d5 100644
+--- a/SSLeay.xs
++++ b/SSLeay.xs
+@@ -2472,7 +2472,7 @@ SSL_CTX_v23_new()
+ OUTPUT:
+ RETVAL
+
+-#if !defined(OPENSSL_NO_TLS1_METHOD)
++#if !defined(OPENSSL_NO_TLS1_METHOD) && OPENSSL_VERSION_NUMBER < 0x40000000L
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_new()
+@@ -2481,9 +2481,22 @@ SSL_CTX_tlsv1_new()
+ OUTPUT:
+ RETVAL
+
++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++
++SSL_CTX *
++SSL_CTX_tlsv1_new()
++ CODE:
++ RETVAL = SSL_CTX_new(TLS_method());
++ if (RETVAL) {
++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_VERSION);
++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_VERSION);
++ }
++ OUTPUT:
++ RETVAL
++
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */
++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_1_new()
+@@ -2492,9 +2505,22 @@ SSL_CTX_tlsv1_1_new()
+ OUTPUT:
+ RETVAL
+
++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++
++SSL_CTX *
++SSL_CTX_tlsv1_1_new()
++ CODE:
++ RETVAL = SSL_CTX_new(TLS_method());
++ if (RETVAL) {
++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_1_VERSION);
++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_1_VERSION);
++ }
++ OUTPUT:
++ RETVAL
++
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */
++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_2_new()
+@@ -2503,6 +2529,19 @@ SSL_CTX_tlsv1_2_new()
+ OUTPUT:
+ RETVAL
+
++#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++
++SSL_CTX *
++SSL_CTX_tlsv1_2_new()
++ CODE:
++ RETVAL = SSL_CTX_new(TLS_method());
++ if (RETVAL) {
++ SSL_CTX_set_min_proto_version(RETVAL, TLS1_2_VERSION);
++ SSL_CTX_set_max_proto_version(RETVAL, TLS1_2_VERSION);
++ }
++ OUTPUT:
++ RETVAL
++
+ #endif
+
+ SSL_CTX *
+@@ -5616,7 +5655,7 @@ SSLv23_server_method()
+ const SSL_METHOD *
+ SSLv23_client_method()
+
+-#if !defined(OPENSSL_NO_TLS1_METHOD)
++#if !defined(OPENSSL_NO_TLS1_METHOD) && OPENSSL_VERSION_NUMBER < 0x40000000L
+
+ const SSL_METHOD *
+ TLSv1_method()
+@@ -5629,7 +5668,7 @@ TLSv1_client_method()
+
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */
++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+ const SSL_METHOD *
+ TLSv1_1_method()
+@@ -5642,7 +5681,7 @@ TLSv1_1_client_method()
+
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */
++#if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+ const SSL_METHOD *
+ TLSv1_2_method()
+diff --git a/lib/Net/SSLeay.pod b/lib/Net/SSLeay.pod
+index 554fd11..d947ad3 100644
+--- a/lib/Net/SSLeay.pod
++++ b/lib/Net/SSLeay.pod
+@@ -1575,7 +1575,7 @@ Check openssl doc L<https://www.openssl.org/docs/manmaster/man3/SSL_CTX_new.html
+
+ =item * TLSv1_method, TLSv1_server_method and TLSv1_client_method
+
+-B<COMPATIBILITY:> Requires OpenSSL or LibreSSL built with support for TLSv1. Server and client methods not available in Net-SSLeay-1.82 and before.
++B<COMPATIBILITY:> Requires OpenSSL or LibreSSL built with support for TLSv1. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Returns SSL_METHOD structure corresponding to TLSv1 method, the return value can be later used as a param of L</CTX_new_with_method>.
+
+@@ -1587,7 +1587,7 @@ Check openssl doc L<https://www.openssl.org/docs/manmaster/man3/SSL_CTX_new.html
+
+ =item * TLSv1_1_method, TLSv1_1_server_method and TLSv1_1_client_method
+
+-B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. Server and client methods not available in Net-SSLeay-1.82 and before.
++B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Returns SSL_METHOD structure corresponding to TLSv1_1 method, the return value can be later used as a param of L</CTX_new_with_method>.
+
+@@ -1599,7 +1599,7 @@ Check openssl doc L<https://www.openssl.org/docs/manmaster/man3/SSL_CTX_new.html
+
+ =item * TLSv1_2_method, TLSv1_2_server_method and TLSv1_2_client_method
+
+-B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. Server and client methods not available in Net-SSLeay-1.82 and before.
++B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. Server and client methods not available in Net-SSLeay-1.82 and before. Not available in OpenSSL 4.0.0 and later. Use L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Returns SSL_METHOD structure corresponding to TLSv1_2 method, the return value can be later used as a param of L</CTX_new_with_method>.
+
+@@ -2998,7 +2998,7 @@ Creates a new SSL_CTX object - based on SSLv3_method() - as framework to establi
+
+ =item * CTX_tlsv1_new
+
+-B<COMPATIBILITY:> Requires OpenSSL or LibreSSL built with support for TLSv1.
++B<COMPATIBILITY:> Requires OpenSSL or LibreSSL built with support for TLSv1. In OpenSSL 4.0.0 and later, this function is emulated using L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> for backward compatibility. It is recommended to use L</CTX_new> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Creates a new SSL_CTX object - based on C<TLSv1_method()> - as a framework for establishing connections using TLSv1.
+
+@@ -3008,7 +3008,7 @@ Creates a new SSL_CTX object - based on C<TLSv1_method()> - as a framework for e
+
+ =item * CTX_tlsv1_1_new
+
+-B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1.
++B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.1. In OpenSSL 4.0.0 and later, this function is emulated using L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> for backward compatibility. It is recommended to use L</CTX_new> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Creates a new SSL_CTX object - based on C<TLSv1_1_method()> - as a framework for establishing connections using TLSv1.1.
+
+@@ -3018,7 +3018,7 @@ Creates a new SSL_CTX object - based on C<TLSv1_1_method()> - as a framework for
+
+ =item * CTX_tlsv1_2_new
+
+-B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2.
++B<COMPATIBILITY:> Requires OpenSSL >= 1.0.1 or LibreSSL built with support for TLSv1.2. In OpenSSL 4.0.0 and later, this function is emulated using L</TLS_method> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> for backward compatibility. It is recommended to use L</CTX_new> with L</CTX_set_min_proto_version> and L</CTX_set_max_proto_version> instead.
+
+ Creates a new SSL_CTX object - based on C<TLSv1_2_method()> - as a framework for establishing connections using TLSv1.2.
+
+@@ -3035,7 +3035,10 @@ Creates a new SSL_CTX object based on $meth method
+ #
+ # returns: value corresponding to openssl's SSL_CTX structure (0 on failure)
+
+- # example
++ # example (recommended, available since OpenSSL 1.1.0)
++ my $ctx = Net::SSLeay::CTX_new_with_method(&Net::SSLeay::TLS_method);
++
++ # example (TLSv1_method not available in OpenSSL 4.0.0+)
+ my $ctx = Net::SSLeay::CTX_new_with_method(&Net::SSLeay::TLSv1_method);
+
+ Check openssl doc L<https://www.openssl.org/docs/manmaster/man3/SSL_CTX_new.html>
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0004-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch b/package/perl-net-ssleay/0004-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch
new file mode 100644
index 0000000000..3b828ee9d2
--- /dev/null
+++ b/package/perl-net-ssleay/0004-Fix-Net-SSLeay-to-support-opaque-ASN1_STRING.patch
@@ -0,0 +1,179 @@
+From 929e8eb5ae2953fdb5231588a9d916ae6cffa939 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= <mspacek@redhat.com>
+Date: Tue, 14 Apr 2026 14:32:27 +0200
+Subject: [PATCH] Fix Net::SSLeay to support opaque ASN1_STRING
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/929e8eb5ae2953fdb5231588a9d916ae6cffa939
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ SSLeay.xs | 95 +++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 57 insertions(+), 38 deletions(-)
+
+diff --git a/SSLeay.xs b/SSLeay.xs
+index ad996d5..2567d81 100644
+--- a/SSLeay.xs
++++ b/SSLeay.xs
+@@ -2194,35 +2194,41 @@ int ssl_ctx_set_cert_cb_invoke(SSL *ssl, void *arg)
+
+ time_t ASN1_TIME_timet(ASN1_TIME *asn1t, time_t *gmtoff) {
+ struct tm t;
+- const char *p = (const char*) asn1t->data;
++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
++ const char *p = (const char*) ASN1_STRING_get0_data(asn1t);
++#else
++ const char *p = (const char*) ASN1_STRING_data(asn1t);
++#endif
++ int asn1t_length = ASN1_STRING_length(asn1t);
++ int asn1t_type = ASN1_STRING_type(asn1t);
+ size_t msec = 0, tz = 0, i, l;
+ time_t result;
+ int adj = 0;
+
+- if (asn1t->type == V_ASN1_UTCTIME) {
+- if (asn1t->length<12 || asn1t->length>17) return 0;
+- if (asn1t->length>12) tz = 12;
++ if (asn1t_type == V_ASN1_UTCTIME) {
++ if (asn1t_length<12 || asn1t_length>17) return 0;
++ if (asn1t_length>12) tz = 12;
+ } else {
+- if (asn1t->length<14) return 0;
+- if (asn1t->length>14) {
++ if (asn1t_length<14) return 0;
++ if (asn1t_length>14) {
+ if (p[14] == '.') {
+ msec = 14;
+- for(i=msec+1;i<asn1t->length && p[i]>='0' && p[i]<='9';i++) ;
+- if (i<asn1t->length) tz = i;
++ for(i=msec+1;i<(size_t)asn1t_length && p[i]>='0' && p[i]<='9';i++) ;
++ if (i<(size_t)asn1t_length) tz = i;
+ } else {
+ tz = 14;
+ }
+ }
+ }
+
+- l = msec ? msec : tz ? tz : asn1t->length;
++ l = msec ? msec : tz ? tz : (size_t)asn1t_length;
+ for(i=0;i<l;i++) {
+ if (p[i]<'0' || p[i]>'9') return 0;
+ }
+
+ /* extract data and time */
+ OPENSSL_cleanse(&t, sizeof(t));
+- if (asn1t->type == V_ASN1_UTCTIME) { /* YY - two digit year */
++ if (asn1t_type == V_ASN1_UTCTIME) { /* YY - two digit year */
+ t.tm_year = (p[0]-'0')*10 + (p[1]-'0');
+ if (t.tm_year < 70) t.tm_year += 100;
+ i=2;
+@@ -2242,11 +2248,11 @@ time_t ASN1_TIME_timet(ASN1_TIME *asn1t, time_t *gmtoff) {
+ if (tz) {
+ /* TZ is 'Z' or [+-]DDDD and after TZ the string must stop*/
+ if (p[tz] == 'Z') {
+- if (asn1t->length>tz+1 ) return 0;
+- } else if (asn1t->length<tz+5 || (p[tz]!='-' && p[tz]!='+')) {
++ if ((size_t)asn1t_length>tz+1 ) return 0;
++ } else if ((size_t)asn1t_length<tz+5 || (p[tz]!='-' && p[tz]!='+')) {
+ return 0;
+ } else {
+- if (asn1t->length>tz+5 ) return 0;
++ if ((size_t)asn1t_length>tz+5 ) return 0;
+ for(i=tz+1;i<tz+5;i++) {
+ if (p[i]<'0' || p[i]>'9') return 0;
+ }
+@@ -4690,7 +4696,11 @@ X509_get_subjectAltNames(cert)
+ EXTEND(SP, 2);
+ count++;
+ PUSHs(sv_2mortal(newSViv(subjAltNameDN->type)));
+- PUSHs(sv_2mortal(newSVpv((const char*)subjAltNameDN->d.ip->data, subjAltNameDN->d.ip->length)));
++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
++ PUSHs(sv_2mortal(newSVpv((const char*)ASN1_STRING_get0_data(subjAltNameDN->d.ip), ASN1_STRING_length(subjAltNameDN->d.ip))));
++#else
++ PUSHs(sv_2mortal(newSVpv((const char*)ASN1_STRING_data(subjAltNameDN->d.ip), ASN1_STRING_length(subjAltNameDN->d.ip))));
++#endif
+ break;
+
+ }
+@@ -5229,15 +5239,20 @@ P_ASN1_TIME_get_isotime(tm)
+ ASN1_TIME_to_generalizedtime(tm,&tmp);
+ if (tmp) {
+ if (ASN1_GENERALIZEDTIME_check(tmp)) {
+- if (strlen((char*)tmp->data)>=14 && strlen((char*)tmp->data)<200) {
++#if (OPENSSL_VERSION_NUMBER >= 0x1010000f && !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x2070000fL)
++ const char *tmp_data = (const char*)ASN1_STRING_get0_data(tmp);
++#else
++ const char *tmp_data = (const char*)ASN1_STRING_data(tmp);
++#endif
++ if (strlen(tmp_data)>=14 && strlen(tmp_data)<200) {
+ strcpy (buf,"yyyy-mm-ddThh:mm:ss");
+- strncpy(buf, (char*)tmp->data, 4);
+- strncpy(buf+5, (char*)tmp->data+4, 2);
+- strncpy(buf+8, (char*)tmp->data+6, 2);
+- strncpy(buf+11,(char*)tmp->data+8, 2);
+- strncpy(buf+14,(char*)tmp->data+10,2);
+- strncpy(buf+17,(char*)tmp->data+12,2);
+- if (strlen((char*)tmp->data)>14) strcat(buf+19,(char*)tmp->data+14);
++ strncpy(buf, tmp_data, 4);
++ strncpy(buf+5, tmp_data+4, 2);
++ strncpy(buf+8, tmp_data+6, 2);
++ strncpy(buf+11,tmp_data+8, 2);
++ strncpy(buf+14,tmp_data+10,2);
++ strncpy(buf+17,tmp_data+12,2);
++ if (strlen(tmp_data)>14) strcat(buf+19,tmp_data+14);
+ }
+ }
+ ASN1_GENERALIZEDTIME_free(tmp);
+@@ -5250,7 +5265,6 @@ P_ASN1_TIME_set_isotime(tm,str)
+ ASN1_TIME *tm
+ const char *str
+ PREINIT:
+- ASN1_TIME t;
+ char buf[256];
+ int i,rv;
+ CODE:
+@@ -5272,22 +5286,27 @@ P_ASN1_TIME_set_isotime(tm,str)
+ buf[14] = '\0';
+ if (strlen(str)>19 && strlen(str)<200) strcat(buf,str+19);
+
+- /* WORKAROUND: ASN1_TIME_set_string() not available in 0.9.8 !!!*/
+- /* in 1.0.0 we would simply: rv = ASN1_TIME_set_string(tm,buf); */
+- t.length = strlen(buf);
+- t.data = (unsigned char *)buf;
+- t.flags = 0;
+- t.type = V_ASN1_UTCTIME;
+- if (!ASN1_TIME_check(&t)) {
+- t.type = V_ASN1_GENERALIZEDTIME;
+- if (!ASN1_TIME_check(&t)) XSRETURN_UNDEF;
++ /* ASN1_TIME_set_string() not available in 0.9.8 */
++#if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ rv = ASN1_TIME_set_string(tm, buf);
++ if (!rv) XSRETURN_UNDEF;
++#else
++ {
++ ASN1_TIME t;
++ t.length = strlen(buf);
++ t.data = (unsigned char *)buf;
++ t.flags = 0;
++ t.type = V_ASN1_UTCTIME;
++ if (!ASN1_TIME_check(&t)) {
++ t.type = V_ASN1_GENERALIZEDTIME;
++ if (!ASN1_TIME_check(&t)) XSRETURN_UNDEF;
++ }
++ tm->type = t.type;
++ tm->flags = t.flags;
++ if (!ASN1_STRING_set(tm,t.data,t.length)) XSRETURN_UNDEF;
++ rv = 1;
+ }
+- tm->type = t.type;
+- tm->flags = t.flags;
+- if (!ASN1_STRING_set(tm,t.data,t.length)) XSRETURN_UNDEF;
+- rv = 1;
+-
+- /* end of ASN1_TIME_set_string() reimplementation */
++#endif
+
+ ST(0) = sv_newmortal();
+ sv_setiv(ST(0), rv); /* 1 = success, undef = failure */
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0005-Update-tests-for-removal-of-SSLv2-Client-Hello-suppo.patch b/package/perl-net-ssleay/0005-Update-tests-for-removal-of-SSLv2-Client-Hello-suppo.patch
new file mode 100644
index 0000000000..10fd4adccf
--- /dev/null
+++ b/package/perl-net-ssleay/0005-Update-tests-for-removal-of-SSLv2-Client-Hello-suppo.patch
@@ -0,0 +1,66 @@
+From 1a5837fa489836f0dfc411d3a0c4d955ce8fab8c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= <mspacek@redhat.com>
+Date: Tue, 14 Apr 2026 14:48:51 +0200
+Subject: [PATCH] Update tests for removal of SSLv2 Client Hello support in
+ OpenSSL 4.0.0
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/1a5837fa489836f0dfc411d3a0c4d955ce8fab8c
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ t/local/48_client_hello_callback.t | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/t/local/48_client_hello_callback.t b/t/local/48_client_hello_callback.t
+index d99122c..110d769 100644
+--- a/t/local/48_client_hello_callback.t
++++ b/t/local/48_client_hello_callback.t
+@@ -5,13 +5,15 @@ use Test::Net::SSLeay qw(
+ can_fork data_file_path initialise_libssl new_ctx tcp_socket
+ );
+
++my $has_sslv2_hello;
+ BEGIN {
+ if (not defined &Net::SSLeay::CTX_set_client_hello_cb) {
+ plan skip_all => "No SSL_CTX_set_client_hello_cb()";
+ } elsif (not can_fork()) {
+ plan skip_all => "fork() not supported on this system";
+ } else {
+- plan tests => 41;
++ $has_sslv2_hello = Net::SSLeay::SSLeay() < 0x40000000;
++ plan tests => $has_sslv2_hello ? 41 : 30;
+ }
+ }
+
+@@ -172,7 +174,7 @@ my @cb_tests = (
+ # argument passed to the callback
+ # true if the callback function triggers croak()
+ # true if the client needs to test that ALPN alert (120) is received
+- [ \&client_hello_cb_v2hello_detection, undef, 0 ],
++ ($has_sslv2_hello ? [ \&client_hello_cb_v2hello_detection, undef, 0 ] : ()),
+ [ \&client_hello_cb_getters, undef, 0 ],
+ [ \&client_hello_cb_value_passing, \$cb_test_arg, 0 ],
+ [ \&client_hello_cb_alert_alpn, undef, 0, 'alerts'],
+@@ -248,8 +250,8 @@ my @results;
+ };
+
+ # Start with SSLv2 ClientHello detection test. Send a canned SSLv2
+- # ClientHello.
+- {
++ # ClientHello. Removed in OpenSSL 4.0.0.
++ if ($has_sslv2_hello) {
+ my $s_clientv2 = $server->connect();
+ my $clientv2_hello = get_sslv2_hello();
+ syswrite($s_clientv2, $clientv2_hello, length $clientv2_hello);
+@@ -306,7 +308,7 @@ my @results;
+ waitpid $pid, 0;
+ push @results, [$? == 0, 'Client: server exited with 0'];
+ END {
+- Test::More->builder->current_test(37);
++ Test::More->builder->current_test($has_sslv2_hello ? 37 : 27);
+ ok( $_->[0], $_->[1] ) for (@results);
+ }
+
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0006-Add-default-for-Net-SSLeay-OPENSSL_info-return-value.patch b/package/perl-net-ssleay/0006-Add-default-for-Net-SSLeay-OPENSSL_info-return-value.patch
new file mode 100644
index 0000000000..62946776f0
--- /dev/null
+++ b/package/perl-net-ssleay/0006-Add-default-for-Net-SSLeay-OPENSSL_info-return-value.patch
@@ -0,0 +1,45 @@
+From 89f6aa5d9f9e0c8976d2dbb07b51abe3a12457cc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michal=20Josef=20=C5=A0pa=C4=8Dek?= <mspacek@redhat.com>
+Date: Tue, 14 Apr 2026 14:55:42 +0200
+Subject: [PATCH] Add default '' for Net::SSLeay::OPENSSL_info() return value
+ in tests
+
+The root cause was the removal of engines in OpenSSL 4.0.0, which
+triggered a warning.
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/89f6aa5d9f9e0c8976d2dbb07b51abe3a12457cc
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ t/local/03_use.t | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/t/local/03_use.t b/t/local/03_use.t
+index 36364b4..f8fd1ae 100644
+--- a/t/local/03_use.t
++++ b/t/local/03_use.t
+@@ -63,12 +63,13 @@ if (defined &Net::SSLeay::OPENSSL_version_major) {
+ diag(" OPENSSL_version_build_metadata(): '" . Net::SSLeay::OPENSSL_version_build_metadata() . "'");
+ diag("");
+ diag("Library information with OPENSSL_info():");
+- diag(" OPENSSL_INFO_CONFIG_DIR: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_CONFIG_DIR()) . "'");
+- diag(" OPENSSL_INFO_ENGINES_DIR: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_ENGINES_DIR()) . "'");
+- diag(" OPENSSL_INFO_MODULES_DIR: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_MODULES_DIR()) . "'");
+- diag(" OPENSSL_INFO_DSO_EXTENSION: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_DSO_EXTENSION()) . "'");
+- diag(" OPENSSL_INFO_DIR_FILENAME_SEPARATOR: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_DIR_FILENAME_SEPARATOR()) . "'");
+- diag(" OPENSSL_INFO_LIST_SEPARATOR: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_LIST_SEPARATOR()) . "'");
+- diag(" OPENSSL_INFO_SEED_SOURCE: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_SEED_SOURCE()) . "'");
+- diag(" OPENSSL_INFO_CPU_SETTINGS: '" . Net::SSLeay::OPENSSL_info(Net::SSLeay::OPENSSL_INFO_CPU_SETTINGS()) . "'");
++ my $ossl_info = sub { my $v = Net::SSLeay::OPENSSL_info($_[0]); defined $v ? $v : '' };
++ diag(" OPENSSL_INFO_CONFIG_DIR: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_CONFIG_DIR()) . "'");
++ diag(" OPENSSL_INFO_ENGINES_DIR: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_ENGINES_DIR()) . "'");
++ diag(" OPENSSL_INFO_MODULES_DIR: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_MODULES_DIR()) . "'");
++ diag(" OPENSSL_INFO_DSO_EXTENSION: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_DSO_EXTENSION()) . "'");
++ diag(" OPENSSL_INFO_DIR_FILENAME_SEPARATOR: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_DIR_FILENAME_SEPARATOR()) . "'");
++ diag(" OPENSSL_INFO_LIST_SEPARATOR: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_LIST_SEPARATOR()) . "'");
++ diag(" OPENSSL_INFO_SEED_SOURCE: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_SEED_SOURCE()) . "'");
++ diag(" OPENSSL_INFO_CPU_SETTINGS: '" . $ossl_info->(Net::SSLeay::OPENSSL_INFO_CPU_SETTINGS()) . "'");
+ }
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0007-Add-Changes-for-OPenSSL-4-support-and-update-tests.patch b/package/perl-net-ssleay/0007-Add-Changes-for-OPenSSL-4-support-and-update-tests.patch
new file mode 100644
index 0000000000..943c8f737c
--- /dev/null
+++ b/package/perl-net-ssleay/0007-Add-Changes-for-OPenSSL-4-support-and-update-tests.patch
@@ -0,0 +1,94 @@
+From cbe701c4cf200978f6332156d3b9889cf7c4984e Mon Sep 17 00:00:00 2001
+From: Heikki Vatiainen <hvn@radiatorsoftware.com>
+Date: Wed, 17 Jun 2026 10:02:11 +0300
+Subject: [PATCH] Add Changes for OPenSSL 4 support and update tests.
+
+Update the test helper module for better detection of available TLS versions
+with OpenSSL 4. Otherwise some of the tests with older TLS methods may be
+skipped even though they are available with OpenSSL 4.
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/cbe701c4cf200978f6332156d3b9889cf7c4984e
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ Changes | 20 ++++++++++++++++++++
+ inc/Test/Net/SSLeay.pm | 19 +++++++++++++++++++
+ 2 files changed, 39 insertions(+)
+
+diff --git a/Changes b/Changes
+index 09113fe..ff75ff2 100644
+--- a/Changes
++++ b/Changes
+@@ -1,5 +1,25 @@
+ Revision history for Perl extension Net::SSLeay.
+
++1.97_01 ????-??-??
++ - Support for OpenSSL 4.0.0. Contributed by Michal Josef Špaček.
++ - Net::SSLeay specific functions CTX_tlsv1_new(),
++ CTX_tlsv1_1_new() and CTX_tlsv1_2_new() with OpenSSL 4.0.0
++ and later are emulated using TLS_method() with
++ SSL_CTX_set_min_proto_version() and
++ SSL_CTX_set_max_proto_version() for backward
++ compatibility. It is recommended to use
++ Net::SSLeay::CTX_new() with
++ Net::SSLeay::CTX_set_min_proto_version() and
++ Net::SSLeay::CTX_set_max_proto_version() instead.
++ - TLSv1_method, TLSv1_server_method and TLSv1_client_method,
++ TLSv1_1_method, TLSv1_1_server_method and
++ TLSv1_1_client_method, TLSv1_2_method,
++ TLSv1_2_server_method and TLSv1_2_client_method are
++ removed in OpenSSL 4.0.0. Use TLS_method() with
++ CTX_set_min_proto_version() and
++ CTX_set_max_proto_version() instead.
++ - CTX_v3_new() is removed with OpenSSL 4.0.0 and later.
++
+ 1.96 2026-03-21
+ - New stable release incorporating all changes from developer releases
+ 1.95_01 to 1.95_03.
+diff --git a/inc/Test/Net/SSLeay.pm b/inc/Test/Net/SSLeay.pm
+index ce0b03e..ddcc421 100644
+--- a/inc/Test/Net/SSLeay.pm
++++ b/inc/Test/Net/SSLeay.pm
+@@ -38,6 +38,8 @@ my $data_path = catfile( dirname(__FILE__), '..', '..', '..', 't', 'data' );
+
+ my $initialised = 0;
+
++# All version-specific methods were removed in OpenSSL 4.0. This list
++# may be updated once the library is loaded and its version is known.
+ my %protos = (
+ 'TLSv1.3' => {
+ constant => \&Net::SSLeay::TLS1_3_VERSION,
+@@ -104,6 +106,15 @@ sub _libssl_fatal {
+ sub _load_net_ssleay {
+ eval { require Net::SSLeay; 1; } or croak $EVAL_ERROR;
+
++ if (Net::SSLeay::OPENSSL_VERSION_NUMBER() >= 0x40000000) {
++ $protos{'TLSv1.2'}->{constant} = \&Net::SSLeay::TLS1_2_VERSION;
++ $protos{'TLSv1.2'}->{constant_type} = 'version';
++ $protos{'TLSv1.1'}->{constant} = \&Net::SSLeay::TLS1_1_VERSION;
++ $protos{'TLSv1.1'}->{constant_type} = 'version';
++ $protos{'TLSv1'}->{constant} = \&Net::SSLeay::TLS1_VERSION;
++ $protos{'TLSv1'}->{constant_type} = 'version';
++ }
++
+ return 1;
+ }
+
+@@ -369,6 +380,14 @@ sub is_protocol_usable {
+ or _libssl_fatal('Failed to create SSL_CTX object');
+ }
+
++ # Security level functions were added in OpenSSL 1.1.0. Since then
++ # the default value of security level and the security level
++ # definitions have updated between the OpenSSL versions. Use level
++ # zero so that the library doesn't hide any of the protocols from
++ # us.
++ Net::SSLeay::CTX_set_security_level($ctx, 0)
++ if defined &Net::SSLeay::CTX_set_security_level;
++
+ my $ssl = Net::SSLeay::new($ctx)
+ or _libssl_fatal('Failed to create SSL structure');
+
+--
+2.47.3
+
diff --git a/package/perl-net-ssleay/0008-Do-not-use-elif-but-if-with-else-to-avoid-duplicate-.patch b/package/perl-net-ssleay/0008-Do-not-use-elif-but-if-with-else-to-avoid-duplicate-.patch
new file mode 100644
index 0000000000..5503679a94
--- /dev/null
+++ b/package/perl-net-ssleay/0008-Do-not-use-elif-but-if-with-else-to-avoid-duplicate-.patch
@@ -0,0 +1,83 @@
+From 99281b981ebd1d1367d4e871290ca84cfb295339 Mon Sep 17 00:00:00 2001
+From: Heikki Vatiainen <hvn@radiatorsoftware.com>
+Date: Wed, 17 Jun 2026 11:02:50 +0300
+Subject: [PATCH] Do not use #elif but #if with #else to avoid duplicate
+ definitions in XS.
+
+Perl XS parser seems not to understand C preproceessor #elif. Using #if with
+
+ Warning: duplicate function definition 'CTX_tlsv1_new' detected in SSLeay.xs, line 2493
+ Warning: duplicate function definition 'CTX_tlsv1_1_new' detected in SSLeay.xs, line 2517
+ Warning: duplicate function definition 'CTX_tlsv1_2_new' detected in SSLeay.xs, line 2541
+
+This was seen with Perl 5.42.0 but more may not be the cae with more recent
+Perl versions.
+
+Upstream: https://github.com/radiator-software/p5-net-ssleay/pull/553/changes/99281b981ebd1d1367d4e871290ca84cfb295339
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ SSLeay.xs | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/SSLeay.xs b/SSLeay.xs
+index 2567d81..bf722a4 100644
+--- a/SSLeay.xs
++++ b/SSLeay.xs
+@@ -2487,7 +2487,8 @@ SSL_CTX_tlsv1_new()
+ OUTPUT:
+ RETVAL
+
+-#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++#else
++#if (OPENSSL_VERSION_NUMBER >= 0x40000000L)
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_new()
+@@ -2501,6 +2502,7 @@ SSL_CTX_tlsv1_new()
+ RETVAL
+
+ #endif
++#endif
+
+ #if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_1_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+@@ -2511,7 +2513,8 @@ SSL_CTX_tlsv1_1_new()
+ OUTPUT:
+ RETVAL
+
+-#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++#else
++#if (OPENSSL_VERSION_NUMBER >= 0x40000000L)
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_1_new()
+@@ -2525,6 +2528,7 @@ SSL_CTX_tlsv1_1_new()
+ RETVAL
+
+ #endif
++#endif
+
+ #if (OPENSSL_VERSION_NUMBER >= 0x10001001L && OPENSSL_VERSION_NUMBER < 0x40000000L && !defined(OPENSSL_NO_TLS1_2_METHOD)) /* OpenSSL 1.0.1-beta1 */
+
+@@ -2535,7 +2539,8 @@ SSL_CTX_tlsv1_2_new()
+ OUTPUT:
+ RETVAL
+
+-#elif OPENSSL_VERSION_NUMBER >= 0x40000000L
++#else
++#if (OPENSSL_VERSION_NUMBER >= 0x40000000L)
+
+ SSL_CTX *
+ SSL_CTX_tlsv1_2_new()
+@@ -2549,6 +2554,7 @@ SSL_CTX_tlsv1_2_new()
+ RETVAL
+
+ #endif
++#endif
+
+ SSL_CTX *
+ SSL_CTX_new_with_method(meth)
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 42/84] package/qpid-proton: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (40 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 41/84] package/perl-net-ssleay: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:30 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 43/84] package/qt5/qt5base: Add support for " Bernd Kuhls
` (42 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Luca Ceresoli
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
...1-PROTON-2937-Add-OpenSSL-4.x-compat.patch | 80 +++++++++++++++++++
1 file changed, 80 insertions(+)
create mode 100644 package/qpid-proton/0001-PROTON-2937-Add-OpenSSL-4.x-compat.patch
diff --git a/package/qpid-proton/0001-PROTON-2937-Add-OpenSSL-4.x-compat.patch b/package/qpid-proton/0001-PROTON-2937-Add-OpenSSL-4.x-compat.patch
new file mode 100644
index 0000000000..96ae892716
--- /dev/null
+++ b/package/qpid-proton/0001-PROTON-2937-Add-OpenSSL-4.x-compat.patch
@@ -0,0 +1,80 @@
+From 7be093d8d96104caab3fa858ab9886f23d62ee04 Mon Sep 17 00:00:00 2001
+From: Thomas Goirand <zigo@debian.org>
+Date: Wed, 17 Jun 2026 15:31:31 +0200
+Subject: [PATCH] PROTON-2937: Add OpenSSL 4.x compat
+
+Fixes this Debian bug: https://bugs.debian.org/1138394
+
+It retains compatibility with OpenSSL 3
+
+Closes #447
+
+Upstream: https://github.com/apache/qpid-proton/commit/7be093d8d96104caab3fa858ab9886f23d62ee04
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ c/src/ssl/openssl.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/c/src/ssl/openssl.c b/c/src/ssl/openssl.c
+index 62d4b40a..4c3a76c5 100644
+--- a/c/src/ssl/openssl.c
++++ b/c/src/ssl/openssl.c
+@@ -339,7 +339,7 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
+ GENERAL_NAME *name = sk_GENERAL_NAME_value( sans, i );
+ if (name->type == GEN_DNS) {
+ ASN1_STRING *asn1 = name->d.dNSName;
+- if (asn1 && asn1->data && asn1->length) {
++ if (asn1 && ASN1_STRING_get0_data(asn1) && ASN1_STRING_length(asn1) > 0){
+ unsigned char *str;
+ int len = ASN1_STRING_to_UTF8( &str, asn1 );
+ if (len >= 0) {
+@@ -354,11 +354,11 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
+ }
+
+ /* if no general names match, try the CommonName from the subject */
+- X509_NAME *name = X509_get_subject_name(cert);
++ const X509_NAME *name = X509_get_subject_name(cert);
+ int i = -1;
+ while (!matched && (i = X509_NAME_get_index_by_NID(name, NID_commonName, i)) >= 0) {
+- X509_NAME_ENTRY *ne = X509_NAME_get_entry(name, i);
+- ASN1_STRING *name_asn1 = X509_NAME_ENTRY_get_data(ne);
++ const X509_NAME_ENTRY *ne = X509_NAME_get_entry(name, i);
++ const ASN1_STRING *name_asn1 = X509_NAME_ENTRY_get_data(ne);
+ if (name_asn1) {
+ unsigned char *str;
+ int len = ASN1_STRING_to_UTF8( &str, name_asn1);
+@@ -1558,7 +1558,7 @@ const char* pn_ssl_get_remote_subject(pn_ssl_t *ssl0)
+ if (!ssl->subject) {
+ X509 *cert = get_peer_certificate(ssl);
+ if (!cert) return NULL;
+- X509_NAME *subject = X509_get_subject_name(cert);
++ const X509_NAME *subject = X509_get_subject_name(cert);
+ if (!subject) return NULL;
+
+ BIO *out = BIO_new(BIO_s_mem());
+@@ -1677,17 +1677,17 @@ const char* pn_ssl_get_remote_subject_subfield(pn_ssl_t *ssl0, pn_ssl_cert_subje
+ X509 *cert = get_peer_certificate(ssl);
+ if (!cert) return NULL;
+
+- X509_NAME *subject_name = X509_get_subject_name(cert);
++ const X509_NAME *subject_name = X509_get_subject_name(cert);
+
+ // TODO (gmurthy) - A server side cert subject field can have more than one common name like this - Subject: CN=www.domain1.com, CN=www.domain2.com, see https://bugzilla.mozilla.org/show_bug.cgi?id=380656
+ // For now, we will only return the first common name if there is more than one common name in the cert
+ int index = X509_NAME_get_index_by_NID(subject_name, openssl_field, -1);
+
+ if (index > -1) {
+- X509_NAME_ENTRY *ne = X509_NAME_get_entry(subject_name, index);
++ const X509_NAME_ENTRY *ne = X509_NAME_get_entry(subject_name, index);
+ if(ne) {
+- ASN1_STRING *name_asn1 = X509_NAME_ENTRY_get_data(ne);
+- return (char *) name_asn1->data;
++ const ASN1_STRING *name_asn1 = X509_NAME_ENTRY_get_data(ne);
++ return (const char *)ASN1_STRING_get0_data(name_asn1);
+ }
+ }
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 43/84] package/qt5/qt5base: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (41 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 42/84] package/qpid-proton: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:41 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 44/84] package/rauc: Fix build with " Bernd Kuhls
` (41 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti
Support for OpenSSL 4 was added to the Qt 6.x OpenSSL plugin by commit
https://invent.kde.org/qt/qt/qtbase/-/commit/e806630e694d89f567cffa9c982d1f471089ecd8
contained in the 6.12 branch.
OpenSSL support in Qt 5.x is not plugin-based, the move occured in
version 6.2.0:
https://invent.kde.org/qt/qt/qtbase/-/commit/d385158d5213ef568b7629e2aa4a818016bbffac
The upstream repo is not updated anymore:
https://community.kde.org/Qt5PatchCollection
https://mail.kde.org/pipermail/distributions/2026-May/001690.html
To enable support for OpenSSL 4 in qt5base we add a patch set mentioned
in the OpenSSL issue https://github.com/openssl/openssl/issues/29117
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
package/qt5/qt5base/0009-openssl4.patch | 52 +++++++++
package/qt5/qt5base/0010-openssl4.patch | 139 ++++++++++++++++++++++++
package/qt5/qt5base/0011-openssl4.patch | 89 +++++++++++++++
3 files changed, 280 insertions(+)
create mode 100644 package/qt5/qt5base/0009-openssl4.patch
create mode 100644 package/qt5/qt5base/0010-openssl4.patch
create mode 100644 package/qt5/qt5base/0011-openssl4.patch
diff --git a/package/qt5/qt5base/0009-openssl4.patch b/package/qt5/qt5base/0009-openssl4.patch
new file mode 100644
index 0000000000..19e70e876b
--- /dev/null
+++ b/package/qt5/qt5base/0009-openssl4.patch
@@ -0,0 +1,52 @@
+Fix build with OpenSSL 4.x
+
+Downloaded from
+https://github.com/botovq/ports/commit/bb50119f0a15fdda547ffbf1e8d947d92470ed4e
+
+Upstream: n/a (QT 5.x is not updated anymore)
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+Index: src/network/ssl/qsslcertificate_openssl.cpp
+--- a/src/network/ssl/qsslcertificate_openssl.cpp.orig
++++ b/src/network/ssl/qsslcertificate_openssl.cpp
+@@ -123,11 +123,11 @@ QByteArray QSslCertificate::serialNumber() const
+ QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
+ #endif
+ if (d->serialNumberString.isEmpty() && d->x509) {
+- ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
++ const ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
+ QByteArray hexString;
+- hexString.reserve(serialNumber->length * 3);
+- for (int a = 0; a < serialNumber->length; ++a) {
+- hexString += QByteArray::number(serialNumber->data[a], 16).rightJustified(2, '0');
++ hexString.reserve(q_ASN1_STRING_length(serialNumber) * 3);
++ for (int a = 0; a < q_ASN1_STRING_length(serialNumber); ++a) {
++ hexString += QByteArray::number(q_ASN1_STRING_get0_data(serialNumber)[a], 16).rightJustified(2, '0');
+ hexString += ':';
+ }
+ hexString.chop(1);
+@@ -251,10 +251,10 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSs
+ QHostAddress ipAddress;
+ switch (len) {
+ case 4: // IPv4
+- ipAddress = QHostAddress(qFromBigEndian(*reinterpret_cast<quint32 *>(genName->d.iPAddress->data)));
++ ipAddress = QHostAddress(qFromBigEndian(*reinterpret_cast<const quint32 *>(q_ASN1_STRING_get0_data(genName->d.iPAddress))));
+ break;
+ case 16: // IPv6
+- ipAddress = QHostAddress(reinterpret_cast<quint8 *>(genName->d.iPAddress->data));
++ ipAddress = QHostAddress(reinterpret_cast<const quint8 *>(q_ASN1_STRING_get0_data(genName->d.iPAddress)));
+ break;
+ default: // Unknown IP address format
+ break;
+@@ -511,8 +511,8 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *e
+
+ // keyid
+ if (auth_key->keyid) {
+- QByteArray keyid(reinterpret_cast<const char *>(auth_key->keyid->data),
+- auth_key->keyid->length);
++ QByteArray keyid(reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(auth_key->keyid)),
++ q_ASN1_STRING_length(auth_key->keyid));
+ result[QLatin1String("keyid")] = keyid.toHex();
+ }
+
diff --git a/package/qt5/qt5base/0010-openssl4.patch b/package/qt5/qt5base/0010-openssl4.patch
new file mode 100644
index 0000000000..8bcd5b1664
--- /dev/null
+++ b/package/qt5/qt5base/0010-openssl4.patch
@@ -0,0 +1,139 @@
+Fix build with OpenSSL 4.x
+
+Downloaded from
+https://github.com/botovq/ports/commit/bb50119f0a15fdda547ffbf1e8d947d92470ed4e
+
+Upstream: n/a (QT 5.x is not updated anymore)
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+disable EVP_PKEY_param_check(),
+use the old versions of sk_new(), ..., sk_value()
+disable SSL_CONF_CTX
+
+Index: src/network/ssl/qsslsocket_openssl_symbols.cpp
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp.orig
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -146,16 +146,27 @@ DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w,
+ DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return)
+ DEFINEFUNC(int, EVP_PKEY_up_ref, EVP_PKEY *a, a, return 0, return)
+ DEFINEFUNC2(EVP_PKEY_CTX *, EVP_PKEY_CTX_new, EVP_PKEY *pkey, pkey, ENGINE *e, e, return nullptr, return)
++#ifndef LIBRESSL_VERSION_NUMBER
+ DEFINEFUNC(int, EVP_PKEY_param_check, EVP_PKEY_CTX *ctx, ctx, return 0, return)
++#endif
+ DEFINEFUNC(void, EVP_PKEY_CTX_free, EVP_PKEY_CTX *ctx, ctx, return, return)
+ DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return)
+ DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return)
++#ifndef LIBRESSL_VERSION_NUMBER
+ DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return)
+ DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
+ DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return nullptr, return)
+ DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG)
+ DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG)
+ DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return nullptr, return)
++#else
++DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
++DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
++DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return nullptr, return)
++DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
++DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
++DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return nullptr, return)
++#endif // LIBRESSL_VERSION_NUMBER
+ DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
+ DEFINEFUNC2(qssloptions, SSL_CTX_set_options, SSL_CTX *ctx, ctx, qssloptions op, op, return 0, return)
+ DEFINEFUNC(int, SSL_CTX_get_security_level, const SSL_CTX *ctx, ctx, return -1, return)
+@@ -244,7 +255,8 @@ DEFINEFUNC2(void, BIO_set_shutdown, BIO *a, a, int shu
+
+ DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return)
+ DEFINEFUNC2(int, ASN1_INTEGER_cmp, const ASN1_INTEGER *a, a, const ASN1_INTEGER *b, b, return 1, return)
+-DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return)
++DEFINEFUNC(int, ASN1_STRING_length, const ASN1_STRING *a, a, return 0, return)
++DEFINEFUNC(int, ASN1_STRING_type, const ASN1_STRING *a, a, return 0, return)
+ DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return)
+ DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
+ DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
+@@ -358,12 +370,14 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a
+ DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return)
+ DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return)
+ DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return nullptr, return)
++#ifndef LIBRESSL_VERSION_NUMBER
+ DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return nullptr, return);
+ DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return);
+ DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return);
+ DEFINEFUNC2(unsigned int, SSL_CONF_CTX_set_flags, SSL_CONF_CTX *a, a, unsigned int b, b, return 0, return);
+ DEFINEFUNC(int, SSL_CONF_CTX_finish, SSL_CONF_CTX *a, a, return 0, return);
+ DEFINEFUNC3(int, SSL_CONF_cmd, SSL_CONF_CTX *a, a, const char *b, b, const char *c, c, return 0, return);
++#endif
+ DEFINEFUNC(void, SSL_free, SSL *a, a, return, DUMMYARG)
+ DEFINEFUNC(STACK_OF(SSL_CIPHER) *, SSL_get_ciphers, const SSL *a, a, return nullptr, return)
+ DEFINEFUNC(const SSL_CIPHER *, SSL_get_current_cipher, SSL *a, a, return nullptr, return)
+@@ -871,15 +885,20 @@ bool q_resolveOpenSslSymbols()
+ RESOLVEFUNC(AUTHORITY_INFO_ACCESS_free)
+ RESOLVEFUNC(EVP_PKEY_up_ref)
+ RESOLVEFUNC(EVP_PKEY_CTX_new)
++#ifdef LIBRESSL_VERSION_NUMBER
+ RESOLVEFUNC(EVP_PKEY_param_check)
++#endif
+ RESOLVEFUNC(EVP_PKEY_CTX_free)
+ RESOLVEFUNC(RSA_bits)
++
++#ifndef LIBRESSL_VERSION_NUMBER
+ RESOLVEFUNC(OPENSSL_sk_new_null)
+ RESOLVEFUNC(OPENSSL_sk_push)
+ RESOLVEFUNC(OPENSSL_sk_free)
+ RESOLVEFUNC(OPENSSL_sk_num)
+ RESOLVEFUNC(OPENSSL_sk_pop_free)
+ RESOLVEFUNC(OPENSSL_sk_value)
++#endif
+ RESOLVEFUNC(DH_get0_pqg)
+ RESOLVEFUNC(SSL_CTX_set_options)
+ RESOLVEFUNC(SSL_CTX_get_security_level)
+@@ -985,6 +1004,7 @@ bool q_resolveOpenSslSymbols()
+ RESOLVEFUNC(ASN1_INTEGER_get)
+ RESOLVEFUNC(ASN1_INTEGER_cmp)
+ RESOLVEFUNC(ASN1_STRING_length)
++ RESOLVEFUNC(ASN1_STRING_type)
+ RESOLVEFUNC(ASN1_STRING_to_UTF8)
+ RESOLVEFUNC(BIO_ctrl)
+ RESOLVEFUNC(BIO_free)
+@@ -1096,12 +1116,14 @@ bool q_resolveOpenSslSymbols()
+ RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey)
+ RESOLVEFUNC(SSL_CTX_use_PrivateKey_file)
+ RESOLVEFUNC(SSL_CTX_get_cert_store);
++#ifndef LIBRESSL_VERSION_NUMBER
+ RESOLVEFUNC(SSL_CONF_CTX_new);
+ RESOLVEFUNC(SSL_CONF_CTX_free);
+ RESOLVEFUNC(SSL_CONF_CTX_set_ssl_ctx);
+ RESOLVEFUNC(SSL_CONF_CTX_set_flags);
+ RESOLVEFUNC(SSL_CONF_CTX_finish);
+ RESOLVEFUNC(SSL_CONF_cmd);
++#endif
+ RESOLVEFUNC(SSL_accept)
+ RESOLVEFUNC(SSL_clear)
+ RESOLVEFUNC(SSL_connect)
+@@ -1254,13 +1276,13 @@ bool q_resolveOpenSslSymbols()
+ //==============================================================================
+ QDateTime q_getTimeFromASN1(const ASN1_TIME *aTime)
+ {
+- size_t lTimeLength = aTime->length;
+- char *pString = (char *) aTime->data;
++ size_t lTimeLength = q_ASN1_STRING_length(aTime);
++ const char *pString = (const char *) q_ASN1_STRING_get0_data(aTime);
+ auto isValidPointer = [pString, lTimeLength](const char *const probe){
+ return size_t(probe - pString) < lTimeLength;
+ };
+
+- if (aTime->type == V_ASN1_UTCTIME) {
++ if (q_ASN1_STRING_type(aTime) == V_ASN1_UTCTIME) {
+
+ char lBuffer[24];
+ char *pBuffer = lBuffer;
+@@ -1333,7 +1355,7 @@ QDateTime q_getTimeFromASN1(const ASN1_TIME *aTime)
+ result = result.addSecs(lSecondsFromUCT);
+ return result;
+
+- } else if (aTime->type == V_ASN1_GENERALIZEDTIME) {
++ } else if (q_ASN1_STRING_type(aTime) == V_ASN1_GENERALIZEDTIME) {
+
+ if (lTimeLength < 15)
+ return QDateTime(); // hopefully never triggered
diff --git a/package/qt5/qt5base/0011-openssl4.patch b/package/qt5/qt5base/0011-openssl4.patch
new file mode 100644
index 0000000000..23451b2912
--- /dev/null
+++ b/package/qt5/qt5base/0011-openssl4.patch
@@ -0,0 +1,89 @@
+Fix build with OpenSSL 4.x
+
+Downloaded from
+https://github.com/botovq/ports/commit/bb50119f0a15fdda547ffbf1e8d947d92470ed4e
+
+Upstream: n/a (QT 5.x is not updated anymore)
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+use compat defines for STACK and INIT_SETTINGS
+disable EVP_PKEY_param_check
+map q_OPENSSL_sk_*() to q_sk_*()
+disable SSL_CONF_CTX
+use old signature of CRYPTO_free()
+
+Index: src/network/ssl/qsslsocket_openssl_symbols_p.h
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h.orig
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -80,6 +80,13 @@ QT_BEGIN_NAMESPACE
+
+ #define DUMMYARG
+
++#ifdef LIBRESSL_VERSION_NUMBER
++typedef _STACK STACK;
++typedef STACK OPENSSL_STACK;
++typedef void OPENSSL_INIT_SETTINGS;
++#endif
++
++
+ #if !defined QT_LINKED_OPENSSL
+ // **************** Shared declarations ******************
+ // ret func(arg)
+@@ -236,14 +243,31 @@ int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
+ Q_AUTOTEST_EXPORT int q_EVP_PKEY_up_ref(EVP_PKEY *a);
+ EVP_PKEY_CTX *q_EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e);
+ void q_EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
++#ifndef LIBRESSL_VERSION_NUMBER
+ int q_EVP_PKEY_param_check(EVP_PKEY_CTX *ctx);
++#endif
+ int q_RSA_bits(RSA *a);
++#ifndef LIBRESSL_VERSION_NUMBER
+ Q_AUTOTEST_EXPORT int q_OPENSSL_sk_num(OPENSSL_STACK *a);
+ Q_AUTOTEST_EXPORT void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
+ Q_AUTOTEST_EXPORT OPENSSL_STACK *q_OPENSSL_sk_new_null();
+ Q_AUTOTEST_EXPORT void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
+ Q_AUTOTEST_EXPORT void q_OPENSSL_sk_free(OPENSSL_STACK *a);
+ Q_AUTOTEST_EXPORT void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
++#else // LIBRESSL_VERSION_NUMBER
++int q_sk_num(STACK *a);
++#define q_OPENSSL_sk_num(a) q_sk_num(a)
++void q_sk_pop_free(STACK *a, void (*b)(void *));
++#define q_OPENSSL_sk_pop_free(a, b) q_sk_pop_free(a, b)
++STACK *q_sk_new_null();
++#define q_OPENSSL_sk_new_null() q_sk_new_null()
++void q_sk_push(STACK *st, void *data);
++#define q_OPENSSL_sk_push(st, data) q_sk_push(st, data)
++void q_sk_free(STACK *a);
++#define q_OPENSSL_sk_free q_sk_free
++void *q_sk_value(STACK *a, int b);
++#define q_OPENSSL_sk_value(a, b) q_sk_value(a, b)
++#endif // LIBRESSL_VERSION_NUMBER
+ int q_SSL_session_reused(SSL *a);
+
+ #if OPENSSL_VERSION_MAJOR < 3
+@@ -373,7 +397,8 @@ void q_SSL_set_psk_use_session_callback(SSL *s, q_SSL_
+ bool q_resolveOpenSslSymbols();
+ long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
+ int q_ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y);
+-int q_ASN1_STRING_length(ASN1_STRING *a);
++int q_ASN1_STRING_length(const ASN1_STRING *a);
++int q_ASN1_STRING_type(const ASN1_STRING *a);
+ int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
+ long q_BIO_ctrl(BIO *a, int b, long c, void *d);
+ Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a);
+@@ -515,12 +540,14 @@ int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *b);
+ int q_SSL_CTX_use_RSAPrivateKey(SSL_CTX *a, RSA *b);
+ int q_SSL_CTX_use_PrivateKey_file(SSL_CTX *a, const char *b, int c);
+ X509_STORE *q_SSL_CTX_get_cert_store(const SSL_CTX *a);
++#ifndef LIBRESSL_VERSION_NUMBER
+ SSL_CONF_CTX *q_SSL_CONF_CTX_new();
+ void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
+ void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
+ unsigned int q_SSL_CONF_CTX_set_flags(SSL_CONF_CTX *a, unsigned int b);
+ int q_SSL_CONF_CTX_finish(SSL_CONF_CTX *a);
+ int q_SSL_CONF_cmd(SSL_CONF_CTX *a, const char *b, const char *c);
++#endif
+ void q_SSL_free(SSL *a);
+ STACK_OF(SSL_CIPHER) *q_SSL_get_ciphers(const SSL *a);
+ const SSL_CIPHER *q_SSL_get_current_cipher(SSL *a);
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 43/84] package/qt5/qt5base: Add support for OpenSSL 4.0.0
2026-10-06 16:20 ` [Buildroot] [PATCH v8 43/84] package/qt5/qt5base: Add support for " Bernd Kuhls
@ 2026-10-10 9:41 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 9:41 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Giulio Benetti
On Tue, Oct 06, 2026 at 06:20:24PM +0200, Bernd Kuhls wrote:
> Support for OpenSSL 4 was added to the Qt 6.x OpenSSL plugin by commit
> https://invent.kde.org/qt/qt/qtbase/-/commit/e806630e694d89f567cffa9c982d1f471089ecd8
> contained in the 6.12 branch.
>
> OpenSSL support in Qt 5.x is not plugin-based, the move occured in
> version 6.2.0:
> https://invent.kde.org/qt/qt/qtbase/-/commit/d385158d5213ef568b7629e2aa4a818016bbffac
>
> The upstream repo is not updated anymore:
> https://community.kde.org/Qt5PatchCollection
> https://mail.kde.org/pipermail/distributions/2026-May/001690.html
>
> To enable support for OpenSSL 4 in qt5base we add a patch set mentioned
> in the OpenSSL issue https://github.com/openssl/openssl/issues/29117
>
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 44/84] package/rauc: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (42 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 43/84] package/qt5/qt5base: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:42 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 45/84] package/redis: " Bernd Kuhls
` (40 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Andrey Yurovsky, Heiko Thiery
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Andrey Yurovsky <yurovsky@gmail.com>
Cc: Heiko Thiery <heiko.thiery@gmail.com>
---
...N1_STRING_get0_data-and-ASN1_STRING_.patch | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 package/rauc/0001-signature-use-ASN1_STRING_get0_data-and-ASN1_STRING_.patch
diff --git a/package/rauc/0001-signature-use-ASN1_STRING_get0_data-and-ASN1_STRING_.patch b/package/rauc/0001-signature-use-ASN1_STRING_get0_data-and-ASN1_STRING_.patch
new file mode 100644
index 0000000000..ba8032c6e7
--- /dev/null
+++ b/package/rauc/0001-signature-use-ASN1_STRING_get0_data-and-ASN1_STRING_.patch
@@ -0,0 +1,48 @@
+From 101aacaf82d250bfb8e581e002b2c380869080ef Mon Sep 17 00:00:00 2001
+From: Bruno Thomsen <bruno.thomsen@gmail.com>
+Date: Sat, 11 Apr 2026 17:06:10 +0200
+Subject: [PATCH] signature: use ASN1_STRING_get0_data and ASN1_STRING_length
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use ASN1_STRING_get0_data() and ASN1_STRING_length() functions
+allow an ASN1_STRING structure to be manipulated. Avoid errors
+like this when compiling against OpenSSL 4.0:
+
+error: invalid use of incomplete typedef ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
+
+Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
+
+Upstream: https://github.com/rauc/rauc/commit/101aacaf82d250bfb8e581e002b2c380869080ef
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/signature.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/signature.c b/src/signature.c
+index d2acac6b..91be7bb7 100644
+--- a/src/signature.c
++++ b/src/signature.c
+@@ -1344,7 +1344,7 @@ gboolean cms_get_unverified_manifest(GBytes *sig, GBytes **manifest, GError **er
+ "missing manifest in inline signature");
+ goto out;
+ }
+- if (!(*content)->data || ((*content)->length <= 0)) {
++ if ((ASN1_STRING_get0_data(*content) == NULL) || (ASN1_STRING_length(*content) <= 0)) {
+ g_set_error(
+ error,
+ R_SIGNATURE_ERROR,
+@@ -1353,7 +1353,7 @@ gboolean cms_get_unverified_manifest(GBytes *sig, GBytes **manifest, GError **er
+ goto out;
+ }
+
+- tmp = g_bytes_new((*content)->data, (*content)->length);
++ tmp = g_bytes_new(ASN1_STRING_get0_data(*content), ASN1_STRING_length(*content));
+ if (!tmp) {
+ g_set_error_literal(
+ error,
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 44/84] package/rauc: Fix build with OpenSSL 4.0.0
2026-10-06 16:20 ` [Buildroot] [PATCH v8 44/84] package/rauc: Fix build with " Bernd Kuhls
@ 2026-10-10 9:42 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 9:42 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Andrey Yurovsky, Heiko Thiery
On Tue, Oct 06, 2026 at 06:20:25PM +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> Cc: Andrey Yurovsky <yurovsky@gmail.com>
> Cc: Heiko Thiery <heiko.thiery@gmail.com>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 45/84] package/redis: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (43 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 44/84] package/rauc: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:43 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 46/84] package/socat: Add support for " Bernd Kuhls
` (39 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Daniel Price, Titouan Christophe
tls.c:676:5: error: 'X509_NAME_get_text_by_NID' is deprecated: Since OpenSSL 4.0 [-Werror=deprecated-declarations]
676 | int len = X509_NAME_get_text_by_NID(subject, nid, buf, sizeof(buf));
| ^~~
In file included from ../../../per-package/redis/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:34,
from tls.c:22:
../../../per-package/redis/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:1041:27: note: declared here
1041 | OSSL_DEPRECATEDIN_4_0 int X509_NAME_get_text_by_NID(const X509_NAME *name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Upstream PR exists to fix the build problem:
https://github.com/redis/redis/pull/15227
Added buildroot-specific patch to remove -Werror=deprecated-declarations
from CFLAGS to not block the bump of OpenSSL to 4.0.3.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Daniel Price <daniel.price@gmail.com>
Cc: Titouan Christophe <titouan.christophe@mind.be>
---
...emove-Werror-deprecated-declarations.patch | 28 +++++++++++++++++++
1 file changed, 28 insertions(+)
create mode 100644 package/redis/0004-Remove-Werror-deprecated-declarations.patch
diff --git a/package/redis/0004-Remove-Werror-deprecated-declarations.patch b/package/redis/0004-Remove-Werror-deprecated-declarations.patch
new file mode 100644
index 0000000000..3c33456d52
--- /dev/null
+++ b/package/redis/0004-Remove-Werror-deprecated-declarations.patch
@@ -0,0 +1,28 @@
+From b42c0326b542b0e5d29cbfef2ab08d0d36430803 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Thu, 17 Sep 2026 23:58:19 +0200
+Subject: [PATCH] Remove -Werror=deprecated-declarations
+
+Upstream: not applicable
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 205508596..4f31a3af0 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -52,7 +52,7 @@ ifneq (,$(findstring FreeBSD,$(uname_S)))
+ STD+=-Wno-c11-extensions
+ endif
+ endif
+-WARN=-Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes
++WARN=-Wall -W -Wno-missing-field-initializers -Wstrict-prototypes
+ OPT=$(OPTIMIZATION)
+
+ SKIP_VEC_SETS?=no
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 45/84] package/redis: Fix build with OpenSSL 4.0.0
2026-10-06 16:20 ` [Buildroot] [PATCH v8 45/84] package/redis: " Bernd Kuhls
@ 2026-10-10 9:43 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 9:43 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Daniel Price, Titouan Christophe
On Tue, Oct 06, 2026 at 06:20:26PM +0200, Bernd Kuhls wrote:
> tls.c:676:5: error: 'X509_NAME_get_text_by_NID' is deprecated: Since OpenSSL 4.0 [-Werror=deprecated-declarations]
> 676 | int len = X509_NAME_get_text_by_NID(subject, nid, buf, sizeof(buf));
> | ^~~
> In file included from ../../../per-package/redis/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:34,
> from tls.c:22:
> ../../../per-package/redis/host/x86_64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:1041:27: note: declared here
> 1041 | OSSL_DEPRECATEDIN_4_0 int X509_NAME_get_text_by_NID(const X509_NAME *name,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
>
> Upstream PR exists to fix the build problem:
> https://github.com/redis/redis/pull/15227
Can we instead merge:
https://github.com/redis/redis/commit/8bc1c4e147761e7c9d6ff1bb92248b9d4dda43ab
which apparently is the actual upstream fix?
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 46/84] package/socat: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (44 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 45/84] package/redis: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:59 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 47/84] package/sofia-sip: Fix build with " Bernd Kuhls
` (38 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Baruch Siach <baruch@tkos.co.il>
---
...penSSL-4.0-use-ASN1_STRING-accessors.patch | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
create mode 100644 package/socat/0002-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch
diff --git a/package/socat/0002-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch b/package/socat/0002-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch
new file mode 100644
index 0000000000..6c53500d02
--- /dev/null
+++ b/package/socat/0002-Fix-build-with-OpenSSL-4.0-use-ASN1_STRING-accessors.patch
@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+Date: Thu, 13 Aug 2026 07:00:00 +0000
+Subject: [PATCH] Fix build with OpenSSL 4.0: use ASN1_STRING accessors
+
+OpenSSL 4.0 made ASN1_STRING opaque. Direct access to struct members
+(->data, ->length) is no longer possible. Use the accessor functions
+ASN1_STRING_get0_data() and ASN1_STRING_length() instead.
+
+These accessors have been available since OpenSSL 1.1.0, so this change
+is backward compatible.
+
+Upstream: Submitted [socat@dest-unreach.org]
+Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
+
+Downloaded from https://github.com/openembedded/openembedded-core/commit/aa435ebaaf7446ec07a88586f2de4109e02a2d38
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ xio-openssl.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/xio-openssl.c
++++ b/xio-openssl.c
+@@ -1898,8 +1898,8 @@
+ case GEN_IPADD:
+ {
+ /* binary address format */
+- const unsigned char *data = pName->d.iPAddress->data;
+- size_t len = pName->d.iPAddress->length;
++ const unsigned char *data = ASN1_STRING_get0_data(pName->d.iPAddress);
++ size_t len = ASN1_STRING_length(pName->d.iPAddress);
+ char aBuffer[INET6_ADDRSTRLEN]; /* canonical peername */
+ struct in6_addr ip6bin;
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 47/84] package/sofia-sip: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (45 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 46/84] package/socat: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 9:59 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 48/84] package/softhsm2: " Bernd Kuhls
` (37 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Gregory Dymarek
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Gregory Dymarek <gregd72002@gmail.com>
---
...001-Fix-build-error-with-OpenSSL-4.0.patch | 42 +++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 package/sofia-sip/0001-Fix-build-error-with-OpenSSL-4.0.patch
diff --git a/package/sofia-sip/0001-Fix-build-error-with-OpenSSL-4.0.patch b/package/sofia-sip/0001-Fix-build-error-with-OpenSSL-4.0.patch
new file mode 100644
index 0000000000..4e1b2ad87d
--- /dev/null
+++ b/package/sofia-sip/0001-Fix-build-error-with-OpenSSL-4.0.patch
@@ -0,0 +1,42 @@
+From b21b4cc7d0dd4c3eae1a98a3fa38f4cdb2e5a385 Mon Sep 17 00:00:00 2001
+From: Ravi Kant Sharma <ravi.kant.sharma@canonical.com>
+Date: Fri, 17 Jul 2026 16:41:11 +0200
+Subject: [PATCH] Fix build error with OpenSSL 4.0
+
+Upstream: https://github.com/freeswitch/sofia-sip/pull/337
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ libsofia-sip-ua/stun/stun.c | 2 +-
+ m4/sac-openssl.m4 | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libsofia-sip-ua/stun/stun.c b/libsofia-sip-ua/stun/stun.c
+index 22ca7c7..aa4b574 100644
+--- a/libsofia-sip-ua/stun/stun.c
++++ b/libsofia-sip-ua/stun/stun.c
+@@ -1368,7 +1368,7 @@ int stun_tls_callback(su_root_magic_t *m, su_wait_t *w, su_wakeup_arg_t *arg)
+ /* openssl initiation */
+ SSLeay_add_ssl_algorithms();
+ SSL_load_error_strings();
+- ctx = SSL_CTX_new(TLSv1_client_method());
++ ctx = SSL_CTX_new(TLS_client_method());
+ self->sh_ctx = ctx;
+
+ if (ctx == NULL) {
+diff --git a/m4/sac-openssl.m4 b/m4/sac-openssl.m4
+index 289d3e1..76ba9f2 100644
+--- a/m4/sac-openssl.m4
++++ b/m4/sac-openssl.m4
+@@ -30,7 +30,7 @@ else
+ HAVE_OPENSSL=0
+ AC_MSG_WARN(OpenSSL crypto library was not found))
+
+- AC_CHECK_LIB(ssl, TLSv1_method,,
++ AC_CHECK_LIB(ssl, TLS_method,,
+ HAVE_TLS=0
+ AC_MSG_WARN(OpenSSL protocol library was not found))
+ ],[AC_MSG_WARN(OpenSSL include files were not found)],[#include <openssl/safestack.h>])
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 48/84] package/softhsm2: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (46 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 47/84] package/sofia-sip: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 10:06 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 49/84] package/squid: " Bernd Kuhls
` (36 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...mory-leak-in-OSSL-byteString2oid-863.patch | 49 ++++++++++
...in-EdDSA-PrintableString-handling-85.patch | 98 +++++++++++++++++++
2 files changed, 147 insertions(+)
create mode 100644 package/softhsm2/0001-Fix-the-memory-leak-in-OSSL-byteString2oid-863.patch
create mode 100644 package/softhsm2/0002-Fix-memory-leak-in-EdDSA-PrintableString-handling-85.patch
diff --git a/package/softhsm2/0001-Fix-the-memory-leak-in-OSSL-byteString2oid-863.patch b/package/softhsm2/0001-Fix-the-memory-leak-in-OSSL-byteString2oid-863.patch
new file mode 100644
index 0000000000..2defeda775
--- /dev/null
+++ b/package/softhsm2/0001-Fix-the-memory-leak-in-OSSL-byteString2oid-863.patch
@@ -0,0 +1,49 @@
+From 1b72640ceccaa8fdd775f224c26a53fdaf189da6 Mon Sep 17 00:00:00 2001
+From: Shawn C <citypw@hardenedlinux.org>
+Date: Sat, 25 Apr 2026 20:05:34 +0800
+Subject: [PATCH] Fix the memory leak in OSSL::byteString2oid (#863)
+
+The function `OSSL::byteString2oid` in `SoftHSM2` (OpenSSL backend)
+leaks memory when decoding PKCS#11 attribute values as ASN.1 objects
+or strings. It calls `d2i_ASN1_OBJECT` and `d2i_ASN1_PRINTABLESTRING`
+which allocate new OpenSSL objects, but these objects are never
+freed after their NIDs are extracted.
+
+Signed-off-by: Shawn C <citypw@hardenedlinux.org>
+
+Upstream: https://github.com/softhsm/SoftHSMv2/commit/57e10cbbe75069be92c7e9720c180a05833481fc
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/lib/crypto/OSSLUtil.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/crypto/OSSLUtil.cpp b/src/lib/crypto/OSSLUtil.cpp
+index 794f80e..d238eca 100644
+--- a/src/lib/crypto/OSSLUtil.cpp
++++ b/src/lib/crypto/OSSLUtil.cpp
+@@ -177,8 +177,10 @@ int OSSL::byteString2oid(const ByteString& byteString)
+ {
+ return NID_undef;
+ }
+-
+- return OBJ_obj2nid(oid);
++
++ int nid = OBJ_obj2nid(oid);
++ ASN1_OBJECT_free(oid);
++ return nid;
+ }
+ else if (pclass == V_ASN1_UNIVERSAL && tag == V_ASN1_PRINTABLESTRING)
+ {
+@@ -204,6 +206,8 @@ int OSSL::byteString2oid(const ByteString& byteString)
+ {
+ return EVP_PKEY_X448;
+ }
++
++ ASN1_STRING_free(curve_name);
+ }
+
+ return NID_undef;
+--
+2.47.3
+
diff --git a/package/softhsm2/0002-Fix-memory-leak-in-EdDSA-PrintableString-handling-85.patch b/package/softhsm2/0002-Fix-memory-leak-in-EdDSA-PrintableString-handling-85.patch
new file mode 100644
index 0000000000..f6b9000b13
--- /dev/null
+++ b/package/softhsm2/0002-Fix-memory-leak-in-EdDSA-PrintableString-handling-85.patch
@@ -0,0 +1,98 @@
+From c7e930156054e901e27149117494d53e9945f734 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ma=C5=82gorzata=20Olsz=C3=B3wka?=
+ <Malgorzata.Olszowka@stunnel.org>
+Date: Sun, 3 May 2026 13:00:07 +0200
+Subject: [PATCH] Fix memory leak in EdDSA PrintableString handling (#858)
+
+Upstream: https://github.com/softhsm/SoftHSMv2/commit/d23ea09d318c03c033420d065f1c64b019cc94ed
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/lib/crypto/OSSLUtil.cpp | 37 +++++++++++++++++++++++++------------
+ 1 file changed, 25 insertions(+), 12 deletions(-)
+
+diff --git a/src/lib/crypto/OSSLUtil.cpp b/src/lib/crypto/OSSLUtil.cpp
+index d238eca..7763799 100644
+--- a/src/lib/crypto/OSSLUtil.cpp
++++ b/src/lib/crypto/OSSLUtil.cpp
+@@ -160,12 +160,14 @@ ByteString OSSL::oid2ByteString(int nid)
+ // Convert a ByteString to an OpenSSL EVP_PKEY id
+ int OSSL::byteString2oid(const ByteString& byteString)
+ {
+- ASN1_OBJECT *oid = NULL;
+- ASN1_PRINTABLESTRING *curve_name = NULL;
++ ASN1_OBJECT *oid;
++ ASN1_PRINTABLESTRING *curve_name;
+ const unsigned char *p = byteString.const_byte_str();
+ const unsigned char *pp = p;
++ const unsigned char *data;
+ long length;
+- int tag, pclass;
++ int tag, pclass, data_len;
++ int nid = NID_undef;
+
+ ASN1_get_object(&pp, &length, &tag, &pclass, byteString.size());
+ if (pclass == V_ASN1_UNIVERSAL && tag == V_ASN1_OBJECT)
+@@ -177,39 +179,50 @@ int OSSL::byteString2oid(const ByteString& byteString)
+ {
+ return NID_undef;
+ }
+-
+- int nid = OBJ_obj2nid(oid);
++
++ nid = OBJ_obj2nid(oid);
+ ASN1_OBJECT_free(oid);
+- return nid;
+ }
+ else if (pclass == V_ASN1_UNIVERSAL && tag == V_ASN1_PRINTABLESTRING)
+ {
+ /* The final PKCS#11 3.0 expects curve name encoded as PrintableString */
+ curve_name = d2i_ASN1_PRINTABLESTRING(NULL, &p, byteString.size());
+
+- if (strcmp((char *)curve_name->data, "edwards25519") == 0)
++ if (curve_name == NULL)
++ {
++ return NID_undef;
++ }
++
++ data = ASN1_STRING_get0_data(curve_name);
++ data_len = ASN1_STRING_length(curve_name);
++
++ if (data_len == 12 && memcmp(data, "edwards25519", data_len) == 0)
+ {
++ ASN1_PRINTABLESTRING_free(curve_name);
+ return EVP_PKEY_ED25519;
+ }
+
+- if (strcmp((char *)curve_name->data, "curve25519") == 0)
++ if (data_len == 10 && memcmp(data, "curve25519", 10) == 0)
+ {
++ ASN1_PRINTABLESTRING_free(curve_name);
+ return EVP_PKEY_X25519;
+ }
+
+- if (strcmp((char *)curve_name->data, "edwards448") == 0)
++ if (data_len == 10 && memcmp(data, "edwards448", 10) == 0)
+ {
++ ASN1_PRINTABLESTRING_free(curve_name);
+ return EVP_PKEY_ED448;
+ }
+
+- if (strcmp((char *)curve_name->data, "curve448") == 0)
++ if (data_len == 8 && memcmp(data, "curve448", 8) == 0)
+ {
++ ASN1_PRINTABLESTRING_free(curve_name);
+ return EVP_PKEY_X448;
+ }
+
+- ASN1_STRING_free(curve_name);
++ ASN1_PRINTABLESTRING_free(curve_name);
+ }
+
+- return NID_undef;
++ return nid;
+ }
+ #endif
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 49/84] package/squid: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (47 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 48/84] package/softhsm2: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 10:15 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 50/84] package/sudo: Add support for " Bernd Kuhls
` (35 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0001-Fix-OpenSSL-4.0-compatibility.patch | 368 ++++++++++++++++++
1 file changed, 368 insertions(+)
create mode 100644 package/squid/0001-Fix-OpenSSL-4.0-compatibility.patch
diff --git a/package/squid/0001-Fix-OpenSSL-4.0-compatibility.patch b/package/squid/0001-Fix-OpenSSL-4.0-compatibility.patch
new file mode 100644
index 0000000000..a0c3abff4f
--- /dev/null
+++ b/package/squid/0001-Fix-OpenSSL-4.0-compatibility.patch
@@ -0,0 +1,368 @@
+From 144a59fec3d7a4bd7f0c3e71934156e1a56ebabc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pavol=20=C5=BD=C3=A1=C4=8Dik?= <pzacik@redhat.com>
+Date: Wed, 6 May 2026 17:18:58 +0200
+Subject: [PATCH] Fix OpenSSL 4.0 compatibility
+
+Replace direct ASN1 structure field access with accessor functions.
+and use ASN1_STRING_set() instead of direct field assignment.
+
+Fix issues caused by X509* API constness changes; in some cases,
+casting the const away is necessary to keep compatibility with
+OpenSSL 3.
+
+Downloaded from Fedora:
+https://src.fedoraproject.org/rpms/squid/blob/rawhide/f/squid-7.5-openssl4.patch
+
+Upstream: https://github.com/squid-cache/squid/pull/2501
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ .../cert_generators/file/certificate_db.cc | 2 +-
+ src/ssl/gadgets.cc | 92 +++++++++++--------
+ src/ssl/gadgets.h | 4 +-
+ src/ssl/support.cc | 18 ++--
+ 4 files changed, 66 insertions(+), 50 deletions(-)
+
+diff --git a/src/security/cert_generators/file/certificate_db.cc b/src/security/cert_generators/file/certificate_db.cc
+index 4b729b316..35849aa63 100644
+--- a/src/security/cert_generators/file/certificate_db.cc
++++ b/src/security/cert_generators/file/certificate_db.cc
+@@ -335,7 +335,7 @@ Ssl::CertificateDb::addCertAndPrivateKey(std::string const &useKey, const Securi
+ }
+
+ const auto tm = X509_getm_notAfter(cert.get());
+- row.setValue(cnlExp_date, std::string(reinterpret_cast<char *>(tm->data), tm->length).c_str());
++ row.setValue(cnlExp_date, std::string(reinterpret_cast<const char *>(ASN1_STRING_get0_data(tm)), ASN1_STRING_length(tm)).c_str());
+ const auto subject = OneLineSummary(*X509_get_subject_name(cert.get()));
+ row.setValue(cnlName, subject.get());
+ row.setValue(cnlKey, useKey.c_str());
+diff --git a/src/ssl/gadgets.cc b/src/ssl/gadgets.cc
+index 06b8b79dd..100ee6a46 100644
+--- a/src/ssl/gadgets.cc
++++ b/src/ssl/gadgets.cc
+@@ -259,20 +259,31 @@ static bool replaceCommonName(Security::CertPointer & cert, std::string const &r
+ if (cn.length() > 2 && *cn.begin() == '[' && *cn.rbegin() == ']')
+ cn = cn.substr(1, cn.size()-2);
+
+- X509_NAME *name = X509_get_subject_name(cert.get());
++ const X509_NAME *subject = X509_get_subject_name(cert.get());
++ if (!subject)
++ return false;
++
++ X509_NAME *name = X509_NAME_dup(subject);
+ if (!name)
+ return false;
++
+ // Remove the CN part:
+ int loc = X509_NAME_get_index_by_NID(name, NID_commonName, -1);
+- if (loc >=0) {
+- X509_NAME_ENTRY *tmp = X509_NAME_get_entry(name, loc);
+- X509_NAME_delete_entry(name, loc);
++ if (loc >= 0) {
++ X509_NAME_ENTRY *tmp = X509_NAME_delete_entry(name, loc);
+ X509_NAME_ENTRY_free(tmp);
+ }
+
+ // Add a new CN
+- return X509_NAME_add_entry_by_NID(name, NID_commonName, MBSTRING_ASC,
+- (unsigned char *)(cn.c_str()), -1, -1, 0);
++ if (!X509_NAME_add_entry_by_NID(name, NID_commonName, MBSTRING_ASC,
++ (unsigned char *)(cn.c_str()), -1, -1, 0)) {
++ X509_NAME_free(name);
++ return false;
++ }
++
++ int ret = X509_set_subject_name(cert.get(), name);
++ X509_NAME_free(name);
++ return ret;
+ }
+
+ const char *Ssl::CertSignAlgorithmStr[] = {
+@@ -301,9 +312,9 @@ static void
+ printX509Signature(const Security::CertPointer &cert, std::string &out)
+ {
+ const ASN1_BIT_STRING *sig = Ssl::X509_get_signature(cert);
+- if (sig && sig->data) {
+- const unsigned char *s = sig->data;
+- for (int i = 0; i < sig->length; ++i) {
++ if (sig && ASN1_STRING_get0_data(sig)) {
++ const unsigned char *s = ASN1_STRING_get0_data(sig);
++ for (int i = 0; i < ASN1_STRING_length(sig); ++i) {
+ char hex[3];
+ snprintf(hex, sizeof(hex), "%02x", s[i]);
+ out.append(hex);
+@@ -377,7 +388,7 @@ mimicAuthorityKeyId(Security::CertPointer &cert, Security::CertPointer const &mi
+ X509_EXTENSION *ext;
+ // Check if the issuer has the Subject Key Identifier extension
+ const int indx = X509_get_ext_by_NID(issuerCert.get(), NID_subject_key_identifier, -1);
+- if (indx >= 0 && (ext = X509_get_ext(issuerCert.get(), indx))) {
++ if (indx >= 0 && (ext = const_cast<X509_EXTENSION *>(X509_get_ext(issuerCert.get(), indx)))) {
+ issuerKeyId.reset((ASN1_OCTET_STRING *)X509V3_EXT_d2i(ext));
+ }
+ }
+@@ -418,8 +429,7 @@ mimicAuthorityKeyId(Security::CertPointer &cert, Security::CertPointer const &mi
+ unsigned char *ext_der = nullptr;
+ int ext_len = ASN1_item_i2d((ASN1_VALUE *)theAuthKeyId.get(), &ext_der, ASN1_ITEM_ptr(method->it));
+ Ssl::ASN1_OCTET_STRING_Pointer extOct(ASN1_OCTET_STRING_new());
+- extOct.get()->data = ext_der;
+- extOct.get()->length = ext_len;
++ ASN1_STRING_set(extOct.get(), ext_der, ext_len);
+ Ssl::X509_EXTENSION_Pointer extAuthKeyId(X509_EXTENSION_create_by_NID(nullptr, NID_authority_key_identifier, 0, extOct.get()));
+ if (!extAuthKeyId.get())
+ return false;
+@@ -471,7 +481,7 @@ mimicExtensions(Security::CertPointer & cert, Security::CertPointer const &mimic
+ int nid;
+ for (int i = 0; (nid = extensions[i]) != 0; ++i) {
+ const int pos = X509_get_ext_by_NID(mimicCert.get(), nid, -1);
+- if (X509_EXTENSION *ext = X509_get_ext(mimicCert.get(), pos)) {
++ if (X509_EXTENSION *ext = const_cast<X509_EXTENSION *>(X509_get_ext(mimicCert.get(), pos))) {
+ // Mimic extension exactly.
+ if (X509_add_ext(cert.get(), ext, -1))
+ ++added;
+@@ -482,7 +492,7 @@ mimicExtensions(Security::CertPointer & cert, Security::CertPointer const &mimic
+ // that the more stringent requirements are met.
+
+ const int p = X509_get_ext_by_NID(cert.get(), NID_key_usage, -1);
+- if ((ext = X509_get_ext(cert.get(), p)) != nullptr) {
++ if ((ext = const_cast<X509_EXTENSION *>(X509_get_ext(cert.get(), p))) != nullptr) {
+ ASN1_BIT_STRING *keyusage = (ASN1_BIT_STRING *)X509V3_EXT_d2i(ext);
+ ASN1_BIT_STRING_set_bit(keyusage, KeyEncipherment, 1);
+
+@@ -495,8 +505,7 @@ mimicExtensions(Security::CertPointer & cert, Security::CertPointer const &mimic
+ (const ASN1_ITEM *)ASN1_ITEM_ptr(method->it));
+
+ ASN1_OCTET_STRING *ext_oct = ASN1_OCTET_STRING_new();
+- ext_oct->data = ext_der;
+- ext_oct->length = ext_len;
++ ASN1_STRING_set(ext_oct, ext_der, ext_len);
+ X509_EXTENSION_set_data(ext, ext_oct);
+
+ ASN1_OCTET_STRING_free(ext_oct);
+@@ -518,7 +527,7 @@ mimicExtensions(Security::CertPointer & cert, Security::CertPointer const &mimic
+ SBuf
+ Ssl::AsnToSBuf(const ASN1_STRING &buffer)
+ {
+- return SBuf(reinterpret_cast<const char *>(buffer.data), buffer.length);
++ return SBuf(reinterpret_cast<const char *>(ASN1_STRING_get0_data(&buffer)), ASN1_STRING_length(&buffer));
+ }
+
+ /// OpenSSL ASN1_STRING_to_UTF8() wrapper
+@@ -547,7 +556,7 @@ Ssl::ParseAsSimpleDomainNameOrIp(const SBuf &text)
+ }
+
+ std::optional<AnyP::Host>
+-Ssl::ParseCommonNameAt(X509_NAME &name, const int cnIndex)
++Ssl::ParseCommonNameAt(const X509_NAME &name, const int cnIndex)
+ {
+ const auto cn = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(&name, cnIndex));
+ if (!cn) {
+@@ -576,7 +585,7 @@ Ssl::ParseCommonNameAt(X509_NAME &name, const int cnIndex)
+ static bool
+ addAltNameWithSubjectCn(Security::CertPointer &cert)
+ {
+- X509_NAME *name = X509_get_subject_name(cert.get());
++ const X509_NAME *name = X509_get_subject_name(cert.get());
+ if (!name)
+ return false;
+
+@@ -610,7 +619,7 @@ static bool buildCertificate(Security::CertPointer & cert, Ssl::CertificatePrope
+ // returns a pointer to the existing subject name. Nothing to clean here.
+ if (properties.mimicCert.get()) {
+ // Leave subject empty if we cannot extract it from true cert.
+- if (X509_NAME *name = X509_get_subject_name(properties.mimicCert.get())) {
++ if (const X509_NAME *name = X509_get_subject_name(properties.mimicCert.get())) {
+ // X509_set_subject_name will call X509_dup for name
+ X509_set_subject_name(cert.get(), name);
+ }
+@@ -656,7 +665,7 @@ static bool buildCertificate(Security::CertPointer & cert, Ssl::CertificatePrope
+ bool useCommonNameAsAltName = true;
+ // mimic the alias and possibly subjectAltName
+ if (properties.mimicCert.get()) {
+- unsigned char *alStr;
++ const unsigned char *alStr;
+ int alLen;
+ alStr = X509_alias_get0(properties.mimicCert.get(), &alLen);
+ if (alStr) {
+@@ -667,7 +676,7 @@ static bool buildCertificate(Security::CertPointer & cert, Ssl::CertificatePrope
+ // certificates with CN unrelated to subjectAltNames.
+ if (!properties.setCommonName) {
+ int pos = X509_get_ext_by_NID(properties.mimicCert.get(), NID_subject_alt_name, -1);
+- X509_EXTENSION *ext=X509_get_ext(properties.mimicCert.get(), pos);
++ X509_EXTENSION *ext = const_cast<X509_EXTENSION *>(X509_get_ext(properties.mimicCert.get(), pos));
+ if (ext) {
+ if (X509_add_ext(cert.get(), ext, -1))
+ ++addedExtensions;
+@@ -922,20 +931,23 @@ Ssl::WritePrivateKey(Ssl::BIO_Pointer &bio, const Security::PrivateKeyPointer &p
+ }
+
+ Ssl::UniqueCString
+-Ssl::OneLineSummary(X509_NAME &name)
++Ssl::OneLineSummary(const X509_NAME &name)
+ {
+ return Ssl::UniqueCString(X509_NAME_oneline(&name, nullptr, 0));
+ }
+
+ bool Ssl::sslDateIsInTheFuture(char const * date)
+ {
+- ASN1_UTCTIME tm;
+- tm.flags = 0;
+- tm.type = 23;
+- tm.data = (unsigned char *)date;
+- tm.length = strlen(date);
+-
+- return (X509_cmp_current_time(&tm) > 0);
++ ASN1_UTCTIME *tm = ASN1_UTCTIME_new();
++ if (!tm)
++ return false;
++ if (!ASN1_UTCTIME_set_string(tm, date)) {
++ ASN1_UTCTIME_free(tm);
++ return false;
++ }
++ int result = X509_cmp_current_time(tm);
++ ASN1_UTCTIME_free(tm);
++ return (result > 0);
+ }
+
+ /// Print the time represented by a ASN1_TIME struct to a string using GeneralizedTime format
+@@ -945,14 +957,18 @@ static bool asn1timeToGeneralizedTimeStr(ASN1_TIME *aTime, char *buf, int bufLen
+ // UTCTime has the form YYMMDDHHMMSS[Z | [+|-]offset]
+ // GeneralizedTime has the form YYYYMMDDHHMMSS[Z | [+|-] offset]
+
++ const unsigned char *data = ASN1_STRING_get0_data(aTime);
++ int length = ASN1_STRING_length(aTime);
++ int type = ASN1_STRING_type(aTime);
++
+ // length should have space for data plus 2 extra bytes for the two extra year fields
+ // plus the '\0' char.
+- if ((aTime->length + 3) > bufLen)
++ if ((length + 3) > bufLen)
+ return false;
+
+ char *str;
+- if (aTime->type == V_ASN1_UTCTIME) {
+- if (aTime->data[0] > '5') { // RFC 2459, section 4.1.2.5.1
++ if (type == V_ASN1_UTCTIME) {
++ if (data[0] > '5') { // RFC 2459, section 4.1.2.5.1
+ buf[0] = '1';
+ buf[1] = '9';
+ } else {
+@@ -960,11 +976,11 @@ static bool asn1timeToGeneralizedTimeStr(ASN1_TIME *aTime, char *buf, int bufLen
+ buf[1] = '0';
+ }
+ str = buf +2;
+- } else // if (aTime->type == V_ASN1_GENERALIZEDTIME)
++ } else // if (type == V_ASN1_GENERALIZEDTIME)
+ str = buf;
+
+- memcpy(str, aTime->data, aTime->length);
+- str[aTime->length] = '\0';
++ memcpy(str, data, length);
++ str[length] = '\0';
+ return true;
+ }
+
+@@ -996,8 +1012,8 @@ bool Ssl::certificateMatchesProperties(X509 *cert, CertificateProperties const &
+ return true;
+
+ if (!properties.setCommonName) {
+- X509_NAME *cert1_name = X509_get_subject_name(cert);
+- X509_NAME *cert2_name = X509_get_subject_name(cert2);
++ const X509_NAME *cert1_name = X509_get_subject_name(cert);
++ const X509_NAME *cert2_name = X509_get_subject_name(cert2);
+ if (X509_NAME_cmp(cert1_name, cert2_name) != 0)
+ return false;
+ } else if (properties.commonName != CommonHostName(cert))
+diff --git a/src/ssl/gadgets.h b/src/ssl/gadgets.h
+index e0c60c3a3..4c487596b 100644
+--- a/src/ssl/gadgets.h
++++ b/src/ssl/gadgets.h
+@@ -160,7 +160,7 @@ bool WriteX509Certificate(BIO_Pointer &bio, const Security::CertPointer & cert);
+ bool WritePrivateKey(BIO_Pointer &bio, const Security::PrivateKeyPointer &pkey);
+
+ /// a RAII wrapper for the memory-allocating flavor of X509_NAME_oneline()
+-UniqueCString OneLineSummary(X509_NAME &);
++UniqueCString OneLineSummary(const X509_NAME &);
+
+ /**
+ \ingroup SslCrtdSslAPI
+@@ -285,7 +285,7 @@ const char *CommonHostName(X509 *x509);
+ SBuf AsnToSBuf(const ASN1_STRING &);
+
+ /// interprets X.509 Subject or Issuer name entry (at the given position) as CN
+-std::optional<AnyP::Host> ParseCommonNameAt(X509_NAME &, int);
++std::optional<AnyP::Host> ParseCommonNameAt(const X509_NAME &, int);
+
+ /// interprets the given buffer as either a textual representation of an IP
+ /// address (if possible) or a domain name without wildcard support (otherwise)
+diff --git a/src/ssl/support.cc b/src/ssl/support.cc
+index e7872035c..09f268a7e 100644
+--- a/src/ssl/support.cc
++++ b/src/ssl/support.cc
+@@ -272,23 +272,23 @@ ParseSubjectAltName(const GENERAL_NAME &san)
+
+ // RFC 5280 section 4.2.1.6 signals IPv4/IPv6 address family using data length
+
+- if (san.d.iPAddress->length == 4) {
++ if (ASN1_STRING_length(san.d.iPAddress) == 4) {
+ struct in_addr addr;
+ static_assert(sizeof(addr.s_addr) == 4);
+- memcpy(&addr.s_addr, san.d.iPAddress->data, sizeof(addr.s_addr));
++ memcpy(&addr.s_addr, ASN1_STRING_get0_data(san.d.iPAddress), sizeof(addr.s_addr));
+ const Ip::Address ip(addr);
+ return AnyP::Host::ParseIp(ip);
+ }
+
+- if (san.d.iPAddress->length == 16) {
++ if (ASN1_STRING_length(san.d.iPAddress) == 16) {
+ struct in6_addr addr;
+ static_assert(sizeof(addr.s6_addr) == 16);
+- memcpy(&addr.s6_addr, san.d.iPAddress->data, sizeof(addr.s6_addr));
++ memcpy(&addr.s6_addr, ASN1_STRING_get0_data(san.d.iPAddress), sizeof(addr.s6_addr));
+ const Ip::Address ip(addr);
+ return AnyP::Host::ParseIp(ip);
+ }
+
+- debugs(83, 3, "unexpected length of an IP address SAN: " << san.d.iPAddress->length);
++ debugs(83, 3, "unexpected length of an IP address SAN: " << ASN1_STRING_length(san.d.iPAddress));
+ return std::nullopt;
+ }
+
+@@ -856,7 +856,7 @@ Ssl::InitClientContext(Security::ContextPointer &ctx, Security::PeerOptions &pee
+
+ /// \ingroup ServerProtocolSSLInternal
+ static const char *
+-ssl_get_attribute(X509_NAME * name, const char *attribute_name)
++ssl_get_attribute(const X509_NAME * name, const char *attribute_name)
+ {
+ static char buffer[1024];
+ buffer[0] = '\0';
+@@ -879,7 +879,7 @@ ssl_get_attribute(X509_NAME * name, const char *attribute_name)
+ const char *
+ Ssl::GetX509UserAttribute(X509 * cert, const char *attribute_name)
+ {
+- X509_NAME *name;
++ const X509_NAME *name;
+ const char *ret;
+
+ if (!cert)
+@@ -933,7 +933,7 @@ const char *
+ Ssl::GetX509CAAttribute(X509 * cert, const char *attribute_name)
+ {
+
+- X509_NAME *name;
++ const X509_NAME *name;
+ const char *ret;
+
+ if (!cert)
+@@ -1484,7 +1484,7 @@ void Ssl::InRamCertificateDbKey(const Ssl::CertificateProperties &certProperties
+ if (certProperties.mimicCert) {
+ if (auto *sig = Ssl::X509_get_signature(certProperties.mimicCert)) {
+ origSignatureAsKey = true;
+- key.append((const char *)sig->data, sig->length);
++ key.append((const char *)ASN1_STRING_get0_data(sig), ASN1_STRING_length(sig));
+ }
+ }
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 50/84] package/sudo: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (48 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 49/84] package/squid: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 10:23 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 51/84] package/systemd: Fix build with " Bernd Kuhls
` (34 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...-for-getting-an-ASN1_STRING-s-length.patch | 46 +++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 package/sudo/0002-Use-accessor-for-getting-an-ASN1_STRING-s-length.patch
diff --git a/package/sudo/0002-Use-accessor-for-getting-an-ASN1_STRING-s-length.patch b/package/sudo/0002-Use-accessor-for-getting-an-ASN1_STRING-s-length.patch
new file mode 100644
index 0000000000..eec375f70c
--- /dev/null
+++ b/package/sudo/0002-Use-accessor-for-getting-an-ASN1_STRING-s-length.patch
@@ -0,0 +1,46 @@
+From f97a34bc7b390f185d544e21b0ef75db1275953e Mon Sep 17 00:00:00 2001
+From: Theo Buehler <tb@openbsd.org>
+Date: Sat, 22 Nov 2025 12:28:50 +0100
+Subject: [PATCH] Use accessor for getting an ASN1_STRING's length
+
+OpensSSL 4 has plans to make ASN1_STRING opaque [1]. hostcheck.c's code
+mostly treats it as opaque, but accesses two lengths. This is API added
+in OpenSSL 0.9.0, so I'm not sure we need a configure check.
+
+WolfSSL only recently const corrected ASN1_STRING_length(), so maybe
+there will be a need to cast away const.
+
+[1]: https://github.com/openssl/openssl/issues/29117
+
+Upstream: https://github.com/sudo-project/sudo/commit/f97a34bc7b390f185d544e21b0ef75db1275953e
+
+[Bernd: backported to 1.9.17p2]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/iolog/hostcheck.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/iolog/hostcheck.c b/lib/iolog/hostcheck.c
+index dbb900e71..8383d2c49 100644
+--- a/lib/iolog/hostcheck.c
++++ b/lib/iolog/hostcheck.c
+@@ -323,14 +323,14 @@ matches_subject_alternative_name(const char *hostname,
+ #endif
+
+ /* IPV4 address */
+- if(current_name->d.iPAddress->length == 4) {
++ if(ASN1_STRING_length(current_name->d.iPAddress) == 4) {
+ if (inet_ntop(AF_INET, san_ip, san_ip_str, INET_ADDRSTRLEN) == NULL) {
+ result = MalformedCertificate;
+ break;
+ }
+ #if defined(HAVE_STRUCT_IN6_ADDR)
+ /* IPV6 address */
+- } else if (current_name->d.iPAddress->length == 16) {
++ } else if (ASN1_STRING_length(current_name->d.iPAddress) == 16) {
+ if (inet_ntop(AF_INET6, san_ip, san_ip_str, INET6_ADDRSTRLEN) == NULL) {
+ result = MalformedCertificate;
+ break;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 51/84] package/systemd: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (49 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 50/84] package/sudo: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 10:24 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 52/84] package/tpm2-openssl: " Bernd Kuhls
` (33 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Norbert Lange, Sen Hastings
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Norbert Lange <nolange79@gmail.com>
Cc: Sen Hastings <sen@hastings.org>
---
...compilation-with-openssl-4.0.0-beta1.patch | 86 +++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 package/systemd/0001-various-fix-compilation-with-openssl-4.0.0-beta1.patch
diff --git a/package/systemd/0001-various-fix-compilation-with-openssl-4.0.0-beta1.patch b/package/systemd/0001-various-fix-compilation-with-openssl-4.0.0-beta1.patch
new file mode 100644
index 0000000000..d38be8d51b
--- /dev/null
+++ b/package/systemd/0001-various-fix-compilation-with-openssl-4.0.0-beta1.patch
@@ -0,0 +1,86 @@
+From 693ecaac7e12c120d1323478b2433d77367aa0c9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@amutable.com>
+Date: Tue, 14 Apr 2026 18:59:07 +0200
+Subject: [PATCH] various: fix compilation with openssl-4.0.0-beta1
+
+Various types have been made opaque, so we need to use some accessor
+functions.
+
+Upstream: https://github.com/systemd/systemd/commit/693ecaac7e12c120d1323478b2433d77367aa0c9
+
+[Bernd: rebased for 258.7]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/sbsign/sbsign.c | 5 +++--
+ src/shared/pkcs11-util.c | 15 ++++++++-------
+ 2 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/src/sbsign/sbsign.c b/src/sbsign/sbsign.c
+index ee1c0f77ab..f54dacf65a 100644
+--- a/src/sbsign/sbsign.c
++++ b/src/sbsign/sbsign.c
+@@ -262,8 +262,9 @@ static int spc_indirect_data_content_new(const void *digest, size_t digestsz, ui
+ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get SpcPeImageData object: %s",
+ ERR_error_string(ERR_get_error(), NULL));
+
+- idc->data->value->value.sequence->data = TAKE_PTR(peidraw);
+- idc->data->value->value.sequence->length = peidrawsz;
++ if (!ASN1_STRING_set(idc->data->value->value.sequence, peidraw, peidrawsz))
++ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to set ASN1_STRING data.");
++
+ idc->messageDigest->digestAlgorithm->algorithm = OBJ_nid2obj(NID_sha256);
+ if (!idc->messageDigest->digestAlgorithm->algorithm)
+ return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to get SHA256 object: %s",
+diff --git a/src/shared/pkcs11-util.c b/src/shared/pkcs11-util.c
+index 165fefbea1..96b25c4ac3 100644
+--- a/src/shared/pkcs11-util.c
++++ b/src/shared/pkcs11-util.c
+@@ -555,7 +555,11 @@ int pkcs11_token_read_public_key(
+ return log_debug_errno(SYNTHETIC_ERRNO(EIO), "Failed to init an EVP_PKEY_CTX for EC.");
+
+ OSSL_PARAM ec_params[8] = {
+- OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, os->data, os->length)
++ /* We need to drop the const from the data param, because ec_params is
++ * modified below. But we'll not modify ec_params[0]. */
++ OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY,
++ (unsigned char *) ASN1_STRING_get0_data(os),
++ ASN1_STRING_length(os)),
+ };
+
+ _cleanup_free_ void *order = NULL, *p = NULL, *a = NULL, *b = NULL, *generator = NULL;
+@@ -683,13 +687,10 @@ int pkcs11_token_read_x509_certificate(
+ CK_OBJECT_HANDLE object,
+ X509 **ret_cert) {
+
+- _cleanup_free_ char *t = NULL;
+ CK_ATTRIBUTE attribute = {
+ .type = CKA_VALUE
+ };
+ CK_RV rv;
+- _cleanup_(X509_freep) X509 *x509 = NULL;
+- X509_NAME *name = NULL;
+ int r;
+
+ r = dlopen_p11kit();
+@@ -713,15 +714,15 @@ int pkcs11_token_read_x509_certificate(
+ "Failed to read X.509 certificate data off token: %s", sym_p11_kit_strerror(rv));
+
+ const unsigned char *p = attribute.pValue;
+- x509 = d2i_X509(NULL, &p, attribute.ulValueLen);
++ _cleanup_(X509_freep) X509 *x509 = d2i_X509(NULL, &p, attribute.ulValueLen);
+ if (!x509)
+ return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "Failed to parse X.509 certificate.");
+
+- name = X509_get_subject_name(x509);
++ const X509_NAME *name = X509_get_subject_name(x509);
+ if (!name)
+ return log_debug_errno(SYNTHETIC_ERRNO(EBADMSG), "Failed to acquire X.509 subject name.");
+
+- t = X509_NAME_oneline(name, NULL, 0);
++ _cleanup_free_ char *t = X509_NAME_oneline(name, NULL, 0);
+ if (!t)
+ return log_debug_errno(SYNTHETIC_ERRNO(EIO), "Failed to format X.509 subject name as string.");
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 51/84] package/systemd: Fix build with OpenSSL 4.0.0
2026-10-06 16:20 ` [Buildroot] [PATCH v8 51/84] package/systemd: Fix build with " Bernd Kuhls
@ 2026-10-10 10:24 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 10:24 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Norbert Lange, Sen Hastings
On Tue, Oct 06, 2026 at 06:20:32PM +0200, Bernd Kuhls wrote:
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> Cc: Norbert Lange <nolange79@gmail.com>
> Cc: Sen Hastings <sen@hastings.org>
Applied to master, thanks!
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread
* [Buildroot] [PATCH v8 52/84] package/tpm2-openssl: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (50 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 51/84] package/systemd: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 10:28 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 53/84] package/trousers: " Bernd Kuhls
` (32 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Romain Naour
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Romain Naour <romain.naour@gmail.com>
---
...TRING-and-X509_NAME-access-for-OpenS.patch | 87 +++++++++++++++++++
1 file changed, 87 insertions(+)
create mode 100644 package/tpm2-openssl/0001-Fix-ASN1_OCTET_STRING-and-X509_NAME-access-for-OpenS.patch
diff --git a/package/tpm2-openssl/0001-Fix-ASN1_OCTET_STRING-and-X509_NAME-access-for-OpenS.patch b/package/tpm2-openssl/0001-Fix-ASN1_OCTET_STRING-and-X509_NAME-access-for-OpenS.patch
new file mode 100644
index 0000000000..85393734f0
--- /dev/null
+++ b/package/tpm2-openssl/0001-Fix-ASN1_OCTET_STRING-and-X509_NAME-access-for-OpenS.patch
@@ -0,0 +1,87 @@
+From 6dcc3b2984e3f4dc1849c79d89c6ce736a8435b3 Mon Sep 17 00:00:00 2001
+From: Petr Gotthard <petr.gotthard@advantech.cz>
+Date: Sat, 7 Mar 2026 15:51:12 +0100
+Subject: [PATCH] Fix ASN1_OCTET_STRING and X509_NAME access for OpenSSL 4.0
+ compatibility
+
+Fixes: #166
+
+Upstream: https://github.com/tpm2-software/tpm2-openssl/commit/6dcc3b2984e3f4dc1849c79d89c6ce736a8435b3
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/tpm2-provider-pkey.c | 8 ++++----
+ test/ec_genpkey_x509_csr.c | 10 ++++++----
+ test/rsa_pki/etc/email.conf | 2 +-
+ 3 files changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/src/tpm2-provider-pkey.c b/src/tpm2-provider-pkey.c
+index 38f748e..80213af 100644
+--- a/src/tpm2-provider-pkey.c
++++ b/src/tpm2-provider-pkey.c
+@@ -149,13 +149,13 @@ tpm2_keydata_read(BIO *bin, TPM2_KEYDATA *keydata, TPM2_PKEY_FORMAT format)
+ strcmp(type_oid, OID_loadableKey))
+ goto error;
+
+- if (Tss2_MU_TPM2B_PRIVATE_Unmarshal(tpk->privkey->data,
+- tpk->privkey->length, NULL,
++ if (Tss2_MU_TPM2B_PRIVATE_Unmarshal(ASN1_STRING_get0_data(tpk->privkey),
++ ASN1_STRING_length(tpk->privkey), NULL,
+ &keydata->priv))
+ goto error;
+
+- if (Tss2_MU_TPM2B_PUBLIC_Unmarshal(tpk->pubkey->data,
+- tpk->pubkey->length, NULL,
++ if (Tss2_MU_TPM2B_PUBLIC_Unmarshal(ASN1_STRING_get0_data(tpk->pubkey),
++ ASN1_STRING_length(tpk->pubkey), NULL,
+ &keydata->pub))
+ goto error;
+
+diff --git a/test/ec_genpkey_x509_csr.c b/test/ec_genpkey_x509_csr.c
+index e3523ec..5c9790a 100644
+--- a/test/ec_genpkey_x509_csr.c
++++ b/test/ec_genpkey_x509_csr.c
+@@ -15,7 +15,7 @@ int generate_csr(const char *password, const char *filename)
+ EVP_PKEY_CTX *pctx = NULL;
+ EVP_PKEY *pkey = NULL;
+ X509_REQ *x509 = NULL;
+- X509_NAME *name;
++ X509_NAME *name = NULL;
+ STACK_OF(X509_EXTENSION) *exts = NULL;
+ X509_EXTENSION *ex;
+ FILE *csr_file = NULL;
+@@ -40,9 +40,10 @@ int generate_csr(const char *password, const char *filename)
+ || X509_REQ_set_pubkey(x509, pkey) != 1)
+ goto error1;
+
+- name = X509_REQ_get_subject_name(x509);
+- if (!X509_NAME_add_entry_by_NID(name, NID_countryName, MBSTRING_ASC, (unsigned char *)"CZ", -1, -1, 0)
+- || !X509_NAME_add_entry_by_NID(name, NID_commonName, MBSTRING_ASC, (const unsigned char *)"www.example.com", -1, -1, 0))
++ if (!(name = X509_NAME_new())
++ || !X509_NAME_add_entry_by_NID(name, NID_countryName, MBSTRING_ASC, (unsigned char *)"CZ", -1, -1, 0)
++ || !X509_NAME_add_entry_by_NID(name, NID_commonName, MBSTRING_ASC, (const unsigned char *)"www.example.com", -1, -1, 0)
++ || X509_REQ_set_subject_name(x509, name) != 1)
+ goto error1;
+
+ // set requested extensions
+@@ -75,6 +76,7 @@ error2:
+ fclose(csr_file);
+ error1:
+ sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free);
++ X509_NAME_free(name);
+ X509_REQ_free(x509);
+ EVP_PKEY_free(pkey);
+ EVP_PKEY_CTX_free(pctx);
+diff --git a/test/rsa_pki/etc/email.conf b/test/rsa_pki/etc/email.conf
+index 7606c38..73c06d2 100644
+--- a/test/rsa_pki/etc/email.conf
++++ b/test/rsa_pki/etc/email.conf
+@@ -24,4 +24,4 @@ emailAddress = "fred@simple.org"
+ keyUsage = critical,digitalSignature,keyEncipherment
+ extendedKeyUsage = emailProtection,clientAuth
+ subjectKeyIdentifier = hash
+-subjectAltName = email:move
++subjectAltName = email:copy
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 53/84] package/trousers: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (51 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 52/84] package/tpm2-openssl: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 12:08 ` Thomas Petazzoni via buildroot
2026-10-06 16:20 ` [Buildroot] [PATCH v8 54/84] package/uboot-tools: " Bernd Kuhls
` (31 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Noé Rubinstein
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Noé Rubinstein <noe.rubinstein@gmail.com>
---
package/trousers/0004-openssl4.patch | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
create mode 100644 package/trousers/0004-openssl4.patch
diff --git a/package/trousers/0004-openssl4.patch b/package/trousers/0004-openssl4.patch
new file mode 100644
index 0000000000..5ef6cb19b0
--- /dev/null
+++ b/package/trousers/0004-openssl4.patch
@@ -0,0 +1,26 @@
+Description: Fix for OpenSSL4 compatibility
+ Replace direct access to opaque ASN1_OCTET_STRING->data field with
+ ASN1_STRING_get0_data() accessor. ASN1_STRING is fully opaque in OpenSSL 4.0.
+Author: Ravi Kant Sharma <ravi.kant.sharma@canonical.com>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/2155003
+Bug-Debian: https://bugs.debian.org/1138451
+Forwarded: no
+
+Patch downloaded from Debian:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138451#12
+
+Upstream: https://sourceforge.net/p/trousers/bugs/240/
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+--- a/src/tspi/tspi_asn1.c
++++ b/src/tspi/tspi_asn1.c
+@@ -237,7 +237,7 @@
+
+ if (*rawBlobSize != 0) {
+ if (decBlobSize <= *rawBlobSize) {
+- memcpy(rawBlob, tssBlob->blob->data, decBlobSize);
++ memcpy(rawBlob, ASN1_STRING_get0_data(tssBlob->blob), decBlobSize);
+ }
+ else {
+ TSS_BLOB_free(tssBlob);
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 54/84] package/uboot-tools: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (52 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 53/84] package/trousers: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 55/84] package/xmrig: Add support for " Bernd Kuhls
` (30 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...Add-support-for-OpenSSL-Provider-API.patch | 304 ++++++++++++++++++
1 file changed, 304 insertions(+)
create mode 100644 package/uboot-tools/0003-Add-support-for-OpenSSL-Provider-API.patch
diff --git a/package/uboot-tools/0003-Add-support-for-OpenSSL-Provider-API.patch b/package/uboot-tools/0003-Add-support-for-OpenSSL-Provider-API.patch
new file mode 100644
index 0000000000..9a5071cae3
--- /dev/null
+++ b/package/uboot-tools/0003-Add-support-for-OpenSSL-Provider-API.patch
@@ -0,0 +1,304 @@
+From 9f78e701fa5a4faf69119d9fe1e485e76de2fe3b Mon Sep 17 00:00:00 2001
+From: Eddie Kovsky <ewk@edkovsky.org>
+Date: Mon, 23 Feb 2026 09:43:22 -0700
+Subject: [PATCH] Add support for OpenSSL Provider API
+
+The Engine API has been deprecated since the release of OpenSSL 3.0. End
+users have been advised to migrate to the new Provider interface.
+Several distributions have already removed support for engines, which is
+preventing U-Boot from being compiled in those environments.
+
+Add support for the Provider API while continuing to support the existing
+Engine API on distros shipping older releases of OpenSSL.
+
+This is based on similar work contributed by Jan Stancek updating Linux
+to use the Provider interface.
+
+ commit 558bdc45dfb2669e1741384a0c80be9c82fa052c
+ Author: Jan Stancek <jstancek@redhat.com>
+ Date: Fri Sep 20 19:52:48 2024 +0300
+
+ sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3
+
+The changes have been tested with the FIT signature verification vboot
+tests on Fedora 42 and Debian 13. All 30 tests pass with both the legacy
+Engine library installed and with the Provider API.
+
+Signed-off-by: Eddie Kovsky <ewk@edkovsky.org>
+
+Upstream: https://github.com/u-boot/u-boot/pull/918
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ lib/aes/aes-encrypt.c | 4 +-
+ lib/rsa/rsa-sign.c | 102 +++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 100 insertions(+), 6 deletions(-)
+
+diff --git a/lib/aes/aes-encrypt.c b/lib/aes/aes-encrypt.c
+index 90e1407b4f0..4fc4ce23247 100644
+--- a/lib/aes/aes-encrypt.c
++++ b/lib/aes/aes-encrypt.c
+@@ -16,7 +16,9 @@
+ #include <openssl/err.h>
+ #include <openssl/ssl.h>
+ #include <openssl/evp.h>
+-#include <openssl/engine.h>
++#if !defined(OPENSSL_NO_ENGINE) && !defined(OPENSSL_NO_DEPRECATED_3_0)
++# include <openssl/engine.h>
++#endif
+ #include <uboot_aes.h>
+
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
+diff --git a/lib/rsa/rsa-sign.c b/lib/rsa/rsa-sign.c
+index 0e38c9e802f..f456f3c58e6 100644
+--- a/lib/rsa/rsa-sign.c
++++ b/lib/rsa/rsa-sign.c
+@@ -19,7 +19,47 @@
+ #include <openssl/err.h>
+ #include <openssl/ssl.h>
+ #include <openssl/evp.h>
+-#include <openssl/engine.h>
++#if OPENSSL_VERSION_MAJOR >= 3
++# define USE_PKCS11_PROVIDER
++# include <err.h>
++# include <openssl/provider.h>
++# include <openssl/store.h>
++#else
++# if !defined(OPENSSL_NO_ENGINE) && !defined(OPENSSL_NO_DEPRECATED_3_0)
++# define USE_PKCS11_ENGINE
++# include <openssl/engine.h>
++# endif
++#endif
++
++#ifdef USE_PKCS11_PROVIDER
++#define ERR(cond, fmt, ...) \
++ do { \
++ bool __cond = (cond); \
++ drain_openssl_errors(__LINE__, 0); \
++ if (__cond) { \
++ errx(1, fmt, ## __VA_ARGS__); \
++ } \
++ } while (0)
++
++static void drain_openssl_errors(int l, int silent)
++{
++ const char *file;
++ char buf[120];
++ int e, line;
++
++ if (ERR_peek_error() == 0)
++ return;
++ if (!silent)
++ fprintf(stderr, "At main.c:%d:\n", l);
++
++ while ((e = ERR_peek_error_line(&file, &line))) {
++ ERR_error_string(e, buf);
++ if (!silent)
++ fprintf(stderr, "- SSL %s: %s:%d\n", buf, file, line);
++ ERR_get_error();
++ }
++}
++#endif
+
+ static int rsa_err(const char *msg)
+ {
+@@ -94,10 +134,11 @@ err_cert:
+ *
+ * @keydir: Key prefix
+ * @name Name of key
+- * @engine Engine to use
++ * @engine Engine to use or NULL when using pkcs11 provider
+ * @evpp Returns EVP_PKEY object, or NULL on failure
+ * Return: 0 if ok, -ve on error (in which case *evpp will be set to NULL)
+ */
++#ifdef USE_PKCS11_ENGINE
+ static int rsa_engine_get_pub_key(const char *keydir, const char *name,
+ ENGINE *engine, EVP_PKEY **evpp)
+ {
+@@ -157,21 +198,24 @@ static int rsa_engine_get_pub_key(const char *keydir, const char *name,
+
+ return 0;
+ }
++#endif
+
+ /**
+ * rsa_get_pub_key() - read a public key
+ *
+ * @keydir: Directory containing the key (PEM file) or key prefix (engine)
+ * @name Name of key file (will have a .crt extension)
+- * @engine Engine to use
++ * @engine Engine to use or NULL when using pkcs11 provider
+ * @evpp Returns EVP_PKEY object, or NULL on failure
+ * Return: 0 if ok, -ve on error (in which case *evpp will be set to NULL)
+ */
+ static int rsa_get_pub_key(const char *keydir, const char *name,
+ ENGINE *engine, EVP_PKEY **evpp)
+ {
++#ifdef USE_PKCS11_ENGINE
+ if (engine)
+ return rsa_engine_get_pub_key(keydir, name, engine, evpp);
++#endif
+ return rsa_pem_get_pub_key(keydir, name, evpp);
+ }
+
+@@ -207,13 +251,44 @@ static int rsa_pem_get_priv_key(const char *keydir, const char *name,
+ return -ENOENT;
+ }
+
++#ifdef USE_PKCS11_PROVIDER
++ EVP_PKEY *private_key = NULL;
++ OSSL_STORE_CTX *store;
++
++ if (!OSSL_PROVIDER_try_load(NULL, "pkcs11", true))
++ ERR(1, "OSSL_PROVIDER_try_load(pkcs11)");
++ if (!OSSL_PROVIDER_try_load(NULL, "default", true))
++ ERR(1, "OSSL_PROVIDER_try_load(default)");
++
++ store = OSSL_STORE_open(path, NULL, NULL, NULL, NULL);
++ ERR(!store, "OSSL_STORE_open");
++
++ while (!OSSL_STORE_eof(store)) {
++ OSSL_STORE_INFO *info = OSSL_STORE_load(store);
++
++ if (!info) {
++ drain_openssl_errors(__LINE__, 0);
++ continue;
++ }
++ if (OSSL_STORE_INFO_get_type(info) == OSSL_STORE_INFO_PKEY) {
++ private_key = OSSL_STORE_INFO_get1_PKEY(info);
++ ERR(!private_key, "OSSL_STORE_INFO_get1_PKEY");
++ }
++ OSSL_STORE_INFO_free(info);
++ if (private_key)
++ break;
++ }
++ OSSL_STORE_close(store);
++
++ *evpp = private_key;
++#else
+ if (!PEM_read_PrivateKey(f, evpp, NULL, path)) {
+ rsa_err("Failure reading private key");
+ fclose(f);
+ return -EPROTO;
+ }
+ fclose(f);
+-
++#endif
+ return 0;
+ }
+
+@@ -226,6 +301,7 @@ static int rsa_pem_get_priv_key(const char *keydir, const char *name,
+ * @evpp Returns EVP_PKEY object, or NULL on failure
+ * Return: 0 if ok, -ve on error (in which case *evpp will be set to NULL)
+ */
++#ifdef USE_PKCS11_ENGINE
+ static int rsa_engine_get_priv_key(const char *keydir, const char *name,
+ const char *keyfile,
+ ENGINE *engine, EVP_PKEY **evpp)
+@@ -293,22 +369,25 @@ static int rsa_engine_get_priv_key(const char *keydir, const char *name,
+
+ return 0;
+ }
++#endif
+
+ /**
+ * rsa_get_priv_key() - read a private key
+ *
+ * @keydir: Directory containing the key (PEM file) or key prefix (engine)
+ * @name Name of key
+- * @engine Engine to use for signing
++ * @engine Engine to use or NULL when using pkcs11 provider
+ * @evpp Returns EVP_PKEY object, or NULL on failure
+ * Return: 0 if ok, -ve on error (in which case *evpp will be set to NULL)
+ */
+ static int rsa_get_priv_key(const char *keydir, const char *name,
+ const char *keyfile, ENGINE *engine, EVP_PKEY **evpp)
+ {
++#ifdef USE_PKCS11_ENGINE
+ if (engine)
+ return rsa_engine_get_priv_key(keydir, name, keyfile, engine,
+ evpp);
++#endif
+ return rsa_pem_get_priv_key(keydir, name, keyfile, evpp);
+ }
+
+@@ -325,6 +404,7 @@ static int rsa_init(void)
+ return 0;
+ }
+
++#ifdef USE_PKCS11_ENGINE
+ static int rsa_engine_init(const char *engine_id, ENGINE **pe)
+ {
+ const char *key_pass;
+@@ -380,6 +460,7 @@ static void rsa_engine_remove(ENGINE *e)
+ ENGINE_free(e);
+ }
+ }
++#endif
+
+ static int rsa_sign_with_key(EVP_PKEY *pkey, struct padding_algo *padding_algo,
+ struct checksum_algo *checksum_algo,
+@@ -480,11 +561,13 @@ int rsa_sign(struct image_sign_info *info,
+ if (ret)
+ return ret;
+
++#ifdef USE_PKCS11_ENGINE
+ if (info->engine_id) {
+ ret = rsa_engine_init(info->engine_id, &e);
+ if (ret)
+ return ret;
+ }
++#endif
+
+ ret = rsa_get_priv_key(info->keydir, info->keyname, info->keyfile,
+ e, &pkey);
+@@ -496,16 +579,21 @@ int rsa_sign(struct image_sign_info *info,
+ goto err_sign;
+
+ EVP_PKEY_free(pkey);
++
++#ifdef USE_PKCS11_ENGINE
+ if (info->engine_id)
+ rsa_engine_remove(e);
++#endif
+
+ return ret;
+
+ err_sign:
+ EVP_PKEY_free(pkey);
+ err_priv:
++#ifdef USE_PKCS11_ENGINE
+ if (info->engine_id)
+ rsa_engine_remove(e);
++#endif
+ return ret;
+ }
+
+@@ -645,11 +733,13 @@ int rsa_add_verify_data(struct image_sign_info *info, void *keydest)
+ ENGINE *e = NULL;
+
+ debug("%s: Getting verification data\n", __func__);
++#ifdef USE_PKCS11_ENGINE
+ if (info->engine_id) {
+ ret = rsa_engine_init(info->engine_id, &e);
+ if (ret)
+ return ret;
+ }
++#endif
+ ret = rsa_get_pub_key(info->keydir, info->keyname, e, &pkey);
+ if (ret)
+ goto err_get_pub_key;
+@@ -726,8 +816,10 @@ done:
+ err_get_params:
+ EVP_PKEY_free(pkey);
+ err_get_pub_key:
++#ifdef USE_PKCS11_ENGINE
+ if (info->engine_id)
+ rsa_engine_remove(e);
++#endif
+
+ if (ret)
+ return ret;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 55/84] package/xmrig: Add support for OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (53 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 54/84] package/uboot-tools: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 56/84] package/znc: Fix build with " Bernd Kuhls
` (29 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0001-Fix-build-with-OpenSSL-4.0.0.patch | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 package/xmrig/0001-Fix-build-with-OpenSSL-4.0.0.patch
diff --git a/package/xmrig/0001-Fix-build-with-OpenSSL-4.0.0.patch b/package/xmrig/0001-Fix-build-with-OpenSSL-4.0.0.patch
new file mode 100644
index 0000000000..966744abbd
--- /dev/null
+++ b/package/xmrig/0001-Fix-build-with-OpenSSL-4.0.0.patch
@@ -0,0 +1,40 @@
+From 357fab10b79e49dc9b8f42dc6cf425a8124a3f40 Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Sat, 2 May 2026 16:45:38 +0200
+Subject: [PATCH] Fix build with OpenSSL 4.0.0
+
+src/base/net/tls/TlsGen.cpp: In member function 'bool
+ xmrig::TlsGen::generate_x509(const char*)':
+src/base/net/tls/TlsGen.cpp:118:32: error: invalid conversion from
+ 'const X509_name_st*' to 'X509_NAME*' {aka 'X509_name_st*'}
+ [-fpermissive]
+ 118 | X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, reinterpret_cast<const uint8_t *>(commonName), -1, -1, 0);
+ | ^~~~
+ | |
+ | const X509_name_st*
+
+https://github.com/openssl/openssl/issues/29117
+
+Upstream: https://github.com/xmrig/xmrig/pull/3808
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/base/net/tls/TlsGen.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/base/net/tls/TlsGen.cpp b/src/base/net/tls/TlsGen.cpp
+index ad2e648b..59e4f0c9 100644
+--- a/src/base/net/tls/TlsGen.cpp
++++ b/src/base/net/tls/TlsGen.cpp
+@@ -115,7 +115,7 @@ bool xmrig::TlsGen::generate_x509(const char *commonName)
+ X509_gmtime_adj(X509_get_notAfter(m_x509), 315360000L);
+
+ auto name = X509_get_subject_name(m_x509);
+- X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, reinterpret_cast<const uint8_t *>(commonName), -1, -1, 0);
++ X509_NAME_add_entry_by_txt((X509_NAME *) name, "CN", MBSTRING_ASC, reinterpret_cast<const uint8_t *>(commonName), -1, -1, 0);
+
+ X509_set_issuer_name(m_x509, name);
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 56/84] package/znc: Fix build with OpenSSL 4.0.0
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (54 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 55/84] package/xmrig: Add support for " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 57/84] package/freeswitch: fix build with ffmpeg 8.x Bernd Kuhls
` (28 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Cédric Chépied
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Cédric Chépied <cedric.chepied@gmail.com>
---
...-Fix-build-error-with-OpenSSL-4-2024.patch | 57 +++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 package/znc/0001-Fix-build-error-with-OpenSSL-4-2024.patch
diff --git a/package/znc/0001-Fix-build-error-with-OpenSSL-4-2024.patch b/package/znc/0001-Fix-build-error-with-OpenSSL-4-2024.patch
new file mode 100644
index 0000000000..1dc7eb28fb
--- /dev/null
+++ b/package/znc/0001-Fix-build-error-with-OpenSSL-4-2024.patch
@@ -0,0 +1,57 @@
+From 94bcf919e1163564e637df8d437585bc7b55e7aa Mon Sep 17 00:00:00 2001
+From: Ravi Kant Sharma <rks1986@gmail.com>
+Date: Mon, 29 Jun 2026 20:03:27 +0200
+Subject: [PATCH] Fix build error with OpenSSL 4 (#2024)
+
+More details here https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138356
+
+Upstream: https://github.com/znc/znc/commit/94bcf919e1163564e637df8d437585bc7b55e7aa
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/SSLVerifyHost.cpp | 4 ++--
+ src/Utils.cpp | 5 ++++-
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/SSLVerifyHost.cpp b/src/SSLVerifyHost.cpp
+index ccc20898..99b215bc 100644
+--- a/src/SSLVerifyHost.cpp
++++ b/src/SSLVerifyHost.cpp
+@@ -306,8 +306,8 @@ typedef enum {
+ static HostnameValidationResult matches_common_name(const char* hostname,
+ const X509* server_cert) {
+ int common_name_loc = -1;
+- X509_NAME_ENTRY* common_name_entry = nullptr;
+- ASN1_STRING* common_name_asn1 = nullptr;
++ const X509_NAME_ENTRY* common_name_entry = nullptr;
++ const ASN1_STRING* common_name_asn1 = nullptr;
+ CONST_ASN1_STRING_DATA char* common_name_str = nullptr;
+
+ // Find the position of the CN field in the Subject field of the certificate
+diff --git a/src/Utils.cpp b/src/Utils.cpp
+index ed2c9c83..744f61d1 100644
+--- a/src/Utils.cpp
++++ b/src/Utils.cpp
+@@ -129,7 +129,8 @@ void CUtils::GenerateCert(FILE* pOut) {
+ sEmailAddr += "@";
+ sEmailAddr += sHostName;
+
+- X509_NAME* pName = X509_get_subject_name(pCert.get());
++ X509_NAME* pName = X509_NAME_new();
++ if (!pName) return;
+ X509_NAME_add_entry_by_txt(pName, "OU", MBSTRING_ASC,
+ (unsigned char*)pLogName, -1, -1, 0);
+ X509_NAME_add_entry_by_txt(pName, "CN", MBSTRING_ASC,
+@@ -137,7 +138,9 @@ void CUtils::GenerateCert(FILE* pOut) {
+ X509_NAME_add_entry_by_txt(pName, "emailAddress", MBSTRING_ASC,
+ (unsigned char*)sEmailAddr.c_str(), -1, -1, 0);
+
++ X509_set_subject_name(pCert.get(), pName);
+ X509_set_issuer_name(pCert.get(), pName);
++ X509_NAME_free(pName);
+
+ if (!X509_sign(pCert.get(), pKey.get(), EVP_sha256())) return;
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 57/84] package/freeswitch: fix build with ffmpeg 8.x
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (55 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 56/84] package/znc: Fix build with " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 58/84] package/gstreamer1/gst1-libav: fix build with ffmpeg 9.x Bernd Kuhls
` (27 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...elated-to-signalwire-freeswitch-2202.patch | 103 ++++++++++++++++++
1 file changed, 103 insertions(+)
create mode 100644 package/freeswitch/0006-Fixes-related-to-signalwire-freeswitch-2202.patch
diff --git a/package/freeswitch/0006-Fixes-related-to-signalwire-freeswitch-2202.patch b/package/freeswitch/0006-Fixes-related-to-signalwire-freeswitch-2202.patch
new file mode 100644
index 0000000000..225e1fa215
--- /dev/null
+++ b/package/freeswitch/0006-Fixes-related-to-signalwire-freeswitch-2202.patch
@@ -0,0 +1,103 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Korynkai <matt@qmxtech.com>
+Date: Mon, 30 Dec 2024 22:23:33 +0000
+Subject: [PATCH] Fixes related to signalwire/freeswitch#2202
+
+ AVOutputFormat::priv_data_size is marked private and no longer exists in the
+ public API as of FFMPEG 6.0, but found hidden in AVOutputFormat as part of
+ FFOutputFormat. AVCodecContext::ticks_per_frame was deprecated as of FFMPEG
+ 6.1. libavcodec notes 'do not use avcodec_close()' as of FFMPEG 3.1, use
+ avcodec_free_context() instead. AVFrame::key_frame was deprecated as of
+ FFMPEG 6.1, use AVFrame::flags instead. AVInputFormat::read_seek and
+ AVInputFormat::read_seek2 no longer exists as of FFMPEG 7.0. This seems to
+ only be used for logging purposes, so guard this functionality accordingly.
+
+Upstream: https://github.com/signalwire/freeswitch/pull/3214
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/mod/applications/mod_av/avformat.c | 12 ++++++++++--
+ src/mod/applications/mod_av/mod_av.h | 1 +
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/src/mod/applications/mod_av/avformat.c b/src/mod/applications/mod_av/avformat.c
+index d617a52dfe..edba9c27c7 100644
+--- a/src/mod/applications/mod_av/avformat.c
++++ b/src/mod/applications/mod_av/avformat.c
+@@ -637,12 +637,14 @@ static switch_status_t add_stream(av_file_context_t *context, MediaStream *mst,
+ c->rc_initial_buffer_occupancy = buffer_bytes * 8;
+
+ if (codec_id == AV_CODEC_ID_H264) {
++#if (LIBAVCODEC_VERSION_MAJOR < LIBAVFORMAT_8_V)
+ #if ((LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_6_V && LIBAVFORMAT_VERSION_MINOR >= LIBAVFORMAT_61_V) || LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_7_V)
+ GCC_DIAG_OFF(deprecated-declarations)
+ #endif
+ c->ticks_per_frame = 2;
+ #if ((LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_6_V && LIBAVFORMAT_VERSION_MINOR >= LIBAVFORMAT_61_V) || LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_7_V)
+ GCC_DIAG_ON(deprecated-declarations)
++#endif
+ #endif
+
+ c->flags|=AV_CODEC_FLAG_LOOP_FILTER; // flags=+loop
+@@ -1431,7 +1433,7 @@ static switch_status_t open_input_file(av_file_context_t *context, switch_file_h
+ switch_goto_status(SWITCH_STATUS_FALSE, err);
+ }
+
+-#if (LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_7_V)
++#if (LIBAVFORMAT_VERSION_MAJOR >= LIBAVFORMAT_7_V)
+ handle->seekable = !(context->fc->iformat->flags & AVFMT_NOTIMESTAMPS);
+ #else
+ handle->seekable = context->fc->iformat->read_seek2 ? 1 : (context->fc->iformat->read_seek ? 1 : 0);
+@@ -3123,14 +3125,18 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
+ void *pop;
+ MediaStream *mst = &context->video_st;
+ AVStream *st = mst->st;
++#if (LIBAVCODEC_VERSION_MAJOR < LIBAVFORMAT_8_V)
+ int ticks = 0;
++#endif
+ int64_t max_delta = 1 * AV_TIME_BASE; // 1 second
+ switch_status_t status = SWITCH_STATUS_SUCCESS;
+ double fl_to = 0.02;
+ int do_fl = 0;
+ int smaller_ts = context->read_fps;
++#if (LIBAVCODEC_VERSION_MAJOR < LIBAVFORMAT_8_V)
+ AVCodecContext *c = NULL;
+ AVCodecParserContext *cp = NULL;
++#endif
+
+ if (!context->has_video) return SWITCH_STATUS_FALSE;
+
+@@ -3238,6 +3244,7 @@ static switch_status_t av_file_read_video(switch_file_handle_t *handle, switch_f
+ }
+ #endif
+
++#if (LIBAVCODEC_VERSION_MAJOR < LIBAVFORMAT_8_V)
+ if ((c = av_get_codec_context(mst)) && c->time_base.num) {
+ cp = av_stream_get_parser(st);
+ #if ((LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_6_V && LIBAVFORMAT_VERSION_MINOR >= LIBAVFORMAT_61_V) || LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_7_V)
+@@ -3252,8 +3259,9 @@ GCC_DIAG_OFF(deprecated-declarations)
+ context->video_start_time, ticks, c ? c->ticks_per_frame : -1, st->time_base.num, st->time_base.den, c ? c->time_base.num : -1, c ? c->time_base.den : -1,
+ st->start_time, st->duration == AV_NOPTS_VALUE ? context->fc->duration / AV_TIME_BASE * 1000 : st->duration, st->nb_frames, av_q2d(st->time_base));
+ }
+-#if ((LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_6_V && LIBAVFORMAT_VERSION_MINOR >= LIBAVFORMAT_61_V) || LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_7_V)
++#if ((LIBAVFORMAT_VERSION_MAJOR == LIBAVFORMAT_6_V && LIBAVFORMAT_VERSION_MINOR >= LIBAVFORMAT_61_V) || LIBAVFORMAT_VERSION_MAJOR >= LIBAVFORMAT_7_V)
+ GCC_DIAG_ON(deprecated-declarations)
++#endif
+ #endif
+
+ again:
+diff --git a/src/mod/applications/mod_av/mod_av.h b/src/mod/applications/mod_av/mod_av.h
+index 8152a77a81..565537a247 100644
+--- a/src/mod/applications/mod_av/mod_av.h
++++ b/src/mod/applications/mod_av/mod_av.h
+@@ -47,6 +47,7 @@
+ #define LIBAVFORMAT_V 59 /* FFmpeg version >= 5.1 */
+ #define LIBAVFORMAT_6_V 60 /* FFmpeg version >= 6.0 */
+ #define LIBAVFORMAT_7_V 61 /* FFmpeg version >= 7.0 */
++#define LIBAVFORMAT_8_V 62 /* FFmpeg version >= 8.0 */
+ #define LIBAVFORMAT_61_V 16 /* FFmpeg version >= 6.1 */
+ #define LIBAVUTIL_V 57 /* FFmpeg version >= 5.1 */
+
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 58/84] package/gstreamer1/gst1-libav: fix build with ffmpeg 9.x
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (56 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 57/84] package/freeswitch: fix build with ffmpeg 8.x Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 59/84] package/opencv4: " Bernd Kuhls
` (26 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...av-Fix-build-failure-with-FFmpeg-9.0.patch | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
create mode 100644 package/gstreamer1/gst1-libav/0001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch
diff --git a/package/gstreamer1/gst1-libav/0001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch b/package/gstreamer1/gst1-libav/0001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch
new file mode 100644
index 0000000000..31899e0a48
--- /dev/null
+++ b/package/gstreamer1/gst1-libav/0001-gst-libav-Fix-build-failure-with-FFmpeg-9.0.patch
@@ -0,0 +1,72 @@
+From be9bdb67f4fc868977f1f74e95b6ebe19ef792ec Mon Sep 17 00:00:00 2001
+From: Reilly Brogan <reilly@reillybrogan.com>
+Date: Tue, 4 Aug 2026 12:09:11 -0500
+Subject: [PATCH] gst-libav: Fix build failure with FFmpeg 9.0
+
+Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5251
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12217>
+
+Upstream: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/be9bdb67f4fc868977f1f74e95b6ebe19ef792ec
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ ext/libav/gstavviddec.c | 15 +++++++++------
+ ext/libav/gstavvidenc.c | 15 +++++++++------
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
+index e21f3e1558..39335d98b1 100644
+--- a/ext/libav/gstavviddec.c
++++ b/ext/libav/gstavviddec.c
+@@ -2677,12 +2677,15 @@ gst_ffmpegviddec_register (GstPlugin * plugin)
+ continue;
+
+ /* no quasi codecs, please */
+- if (in_plugin->id == AV_CODEC_ID_RAWVIDEO ||
+- in_plugin->id == AV_CODEC_ID_V210 ||
+- in_plugin->id == AV_CODEC_ID_V210X ||
+- in_plugin->id == AV_CODEC_ID_V308 ||
+- in_plugin->id == AV_CODEC_ID_V408 ||
+- in_plugin->id == AV_CODEC_ID_V410 || in_plugin->id == AV_CODEC_ID_R210
++ if (in_plugin->id == AV_CODEC_ID_RAWVIDEO
++ || in_plugin->id == AV_CODEC_ID_V210
++ || in_plugin->id == AV_CODEC_ID_V210X
++ || in_plugin->id == AV_CODEC_ID_R210
++#if LIBAVCODEC_VERSION_MAJOR < 63
++ || in_plugin->id == AV_CODEC_ID_V308
++ || in_plugin->id == AV_CODEC_ID_V408
++ || in_plugin->id == AV_CODEC_ID_V410
++#endif
+ #if LIBAVCODEC_VERSION_MAJOR < 61
+ || in_plugin->id == AV_CODEC_ID_AYUV
+ #endif
+diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c
+index 2ae6a1b451..b8e010e70c 100644
+--- a/ext/libav/gstavvidenc.c
++++ b/ext/libav/gstavvidenc.c
+@@ -1025,12 +1025,15 @@ gst_ffmpegvidenc_register (GstPlugin * plugin)
+ continue;
+
+ /* no quasi codecs, please */
+- if (in_plugin->id == AV_CODEC_ID_RAWVIDEO ||
+- in_plugin->id == AV_CODEC_ID_V210 ||
+- in_plugin->id == AV_CODEC_ID_V210X ||
+- in_plugin->id == AV_CODEC_ID_V308 ||
+- in_plugin->id == AV_CODEC_ID_V408 ||
+- in_plugin->id == AV_CODEC_ID_V410 || in_plugin->id == AV_CODEC_ID_R210
++ if (in_plugin->id == AV_CODEC_ID_RAWVIDEO
++ || in_plugin->id == AV_CODEC_ID_V210
++ || in_plugin->id == AV_CODEC_ID_V210X
++ || in_plugin->id == AV_CODEC_ID_R210
++#if LIBAVCODEC_VERSION_MAJOR < 63
++ || in_plugin->id == AV_CODEC_ID_V308
++ || in_plugin->id == AV_CODEC_ID_V408
++ || in_plugin->id == AV_CODEC_ID_V410
++#endif
+ #if LIBAVCODEC_VERSION_MAJOR < 61
+ || in_plugin->id == AV_CODEC_ID_AYUV
+ #endif
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 59/84] package/opencv4: fix build with ffmpeg 9.x
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (57 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 58/84] package/gstreamer1/gst1-libav: fix build with ffmpeg 9.x Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 60/84] package/shairport-sync: " Bernd Kuhls
` (25 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Fabrice Fontaine, Woodrow Douglass
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Woodrow Douglass <wdouglass@carnegierobotics.com>
---
...FFmpeg-after-AVCodec-pix_fmts-remova.patch | 58 ++++++++++++++
...se-avcodec_get_supported_config-for-.patch | 76 +++++++++++++++++++
2 files changed, 134 insertions(+)
create mode 100644 package/opencv4/0001-videoio-support-FFmpeg-after-AVCodec-pix_fmts-remova.patch
create mode 100644 package/opencv4/0002-videoio-ffmpeg-use-avcodec_get_supported_config-for-.patch
diff --git a/package/opencv4/0001-videoio-support-FFmpeg-after-AVCodec-pix_fmts-remova.patch b/package/opencv4/0001-videoio-support-FFmpeg-after-AVCodec-pix_fmts-remova.patch
new file mode 100644
index 0000000000..fabb364441
--- /dev/null
+++ b/package/opencv4/0001-videoio-support-FFmpeg-after-AVCodec-pix_fmts-remova.patch
@@ -0,0 +1,58 @@
+From 700cd32ffd59ed3c6f6aec1919867653d8b125ea Mon Sep 17 00:00:00 2001
+From: Aadhu23 <aadhavansalthivel5@gmail.com>
+Date: Thu, 16 Jul 2026 09:21:37 +0000
+Subject: [PATCH] videoio: support FFmpeg after AVCodec::pix_fmts removal
+
+Upstream: https://github.com/opencv/opencv/commit/700cd32ffd59ed3c6f6aec1919867653d8b125ea
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ modules/videoio/src/cap_ffmpeg_hw.hpp | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+diff --git a/modules/videoio/src/cap_ffmpeg_hw.hpp b/modules/videoio/src/cap_ffmpeg_hw.hpp
+index 65045a2bc7..bb5e4c1088 100644
+--- a/modules/videoio/src/cap_ffmpeg_hw.hpp
++++ b/modules/videoio/src/cap_ffmpeg_hw.hpp
+@@ -757,6 +757,30 @@ AVCodec *hw_find_codec(AVCodecID id, AVHWDeviceType hw_type, int (*check_categor
+ #endif
+ if (hw_type == AV_HWDEVICE_TYPE_CUDA) // CUDA encoders don't support avcodec_get_hw_config()
+ hw_native_fmt = AV_PIX_FMT_CUDA;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 13, 100)
++ if (av_codec_is_encoder(c) && hw_native_fmt != AV_PIX_FMT_NONE) {
++ const AVPixelFormat *pix_fmts = NULL;
++ int num_pix_fmts = 0;
++
++ int ret = avcodec_get_supported_config(
++ NULL,
++ c,
++ AV_CODEC_CONFIG_PIX_FORMAT,
++ 0,
++ (const void **)&pix_fmts,
++ &num_pix_fmts);
++
++ if (ret >= 0 && pix_fmts && num_pix_fmts > 0) {
++ for (int i = 0; i < num_pix_fmts; i++) {
++ if (pix_fmts[i] == hw_native_fmt) {
++ *hw_pix_fmt = hw_native_fmt;
++ if (hw_check_codec(c, hw_type, disabled_codecs))
++ return c;
++ }
++ }
++ }
++ }
++#else
+ if (av_codec_is_encoder(c) && hw_native_fmt != AV_PIX_FMT_NONE && c->pix_fmts) {
+ for (int i = 0; c->pix_fmts[i] != AV_PIX_FMT_NONE; i++) {
+ if (c->pix_fmts[i] == hw_native_fmt) {
+@@ -766,6 +790,7 @@ AVCodec *hw_find_codec(AVCodecID id, AVHWDeviceType hw_type, int (*check_categor
+ }
+ }
+ }
++#endif
+ for (int i = 0;; i++) {
+ const AVCodecHWConfig *hw_config = avcodec_get_hw_config(c, i);
+ if (!hw_config)
+--
+2.47.3
+
diff --git a/package/opencv4/0002-videoio-ffmpeg-use-avcodec_get_supported_config-for-.patch b/package/opencv4/0002-videoio-ffmpeg-use-avcodec_get_supported_config-for-.patch
new file mode 100644
index 0000000000..e87876ae40
--- /dev/null
+++ b/package/opencv4/0002-videoio-ffmpeg-use-avcodec_get_supported_config-for-.patch
@@ -0,0 +1,76 @@
+From 83ed22ca2800267050a4a9a94afab605c990c0e0 Mon Sep 17 00:00:00 2001
+From: Arnesh Banerjee <linkrinku13@gmail.com>
+Date: Tue, 4 Aug 2026 19:49:11 +0530
+Subject: [PATCH] videoio(ffmpeg): use avcodec_get_supported_config for
+ framerates on FFmpeg 9
+
+AVCodec::supported_framerates was deprecated in FFmpeg 7.1 and removed in
+FFmpeg 9, so direct field access no longer builds against FFmpeg 9.
+
+Read the supported frame rate list through avcodec_get_supported_config()
+when building against libavcodec 61.13.100 or newer. That call returns the
+same list plus its entry count, so the loop iterates by count instead of the
+old sentinel terminator. Older FFmpeg keeps the previous field access.
+
+Upstream: https://github.com/opencv/opencv/commit/83ed22ca2800267050a4a9a94afab605c990c0e0
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ modules/videoio/src/cap_ffmpeg_impl.hpp | 34 +++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
+index a7fb1eda9a..d5b950392c 100644
+--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
++++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
+@@ -2627,6 +2627,39 @@ static AVCodecContext * icv_configure_video_stream_FFMPEG(AVFormatContext *oc,
+ c->time_base.den = frame_rate;
+ c->time_base.num = frame_rate_base;
+ /* adjust time base for supported framerates */
++ // AVCodec::supported_framerates was deprecated in FFmpeg 7.1 and removed in
++ // FFmpeg 9. avcodec_get_supported_config() returns the same list together
++ // with its entry count, so use it when available.
++#if LIBAVCODEC_BUILD >= CALC_FFMPEG_VERSION(61, 13, 100)
++ const AVRational *supported_framerates = NULL;
++ int num_supported_framerates = 0;
++ if (codec)
++ avcodec_get_supported_config(NULL, codec, AV_CODEC_CONFIG_FRAME_RATE, 0,
++ (const void **)&supported_framerates, &num_supported_framerates);
++ if (supported_framerates && num_supported_framerates > 0){
++ AVRational req = {frame_rate, frame_rate_base};
++ const AVRational *best=NULL;
++ AVRational best_error= {INT_MAX, 1};
++ for(int i = 0; i < num_supported_framerates; i++){
++ const AVRational *p = &supported_framerates[i];
++ AVRational error= av_sub_q(req, *p);
++ if(error.num <0) error.num *= -1;
++ if(av_cmp_q(error, best_error) < 0){
++ best_error= error;
++ best= p;
++ }
++ }
++ if (best == NULL)
++ {
++#ifdef CV_FFMPEG_CODECPAR
++ avcodec_free_context(&c);
++#endif
++ return NULL;
++ }
++ c->time_base.den= best->num;
++ c->time_base.num= best->den;
++ }
++#else
+ if(codec && codec->supported_framerates){
+ const AVRational *p= codec->supported_framerates;
+ AVRational req = {frame_rate, frame_rate_base};
+@@ -2650,6 +2683,7 @@ static AVCodecContext * icv_configure_video_stream_FFMPEG(AVFormatContext *oc,
+ c->time_base.den= best->num;
+ c->time_base.num= best->den;
+ }
++#endif
+
+ c->gop_size = 12; /* emit one intra frame every twelve frames at most */
+ c->pix_fmt = pixel_format;
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 60/84] package/shairport-sync: fix build with ffmpeg 9.x
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (58 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 59/84] package/opencv4: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 61/84] package/ncurses: install wide-char headers in usr/include/ncursesw/ Bernd Kuhls
` (24 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...lution-code-1-to-be-multithreaded-2-.patch | 76 +++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 package/shairport-sync/0001-Update-the-convolution-code-1-to-be-multithreaded-2-.patch
diff --git a/package/shairport-sync/0001-Update-the-convolution-code-1-to-be-multithreaded-2-.patch b/package/shairport-sync/0001-Update-the-convolution-code-1-to-be-multithreaded-2-.patch
new file mode 100644
index 0000000000..9c3e4bbdf8
--- /dev/null
+++ b/package/shairport-sync/0001-Update-the-convolution-code-1-to-be-multithreaded-2-.patch
@@ -0,0 +1,76 @@
+From db8b65c01c60c5666f674ff9e1a30cca0f62d89d Mon Sep 17 00:00:00 2001
+From: Mike Brady <4265913+mikebrady@users.noreply.github.com>
+Date: Mon, 13 Oct 2025 13:26:20 +0100
+Subject: [PATCH] Update the convolution code: (1) to be multithreaded, (2) to
+ work on multichannel audio and (3) to work on 48k and 44.1k audio.
+
+ Allow multiple impulse response (IR) files with a new setting: "convolution_ir_files"
+ When convolution starts, Shairport Sync will look for an IR file with a sample rate
+ matching the input (44.1k or 48k) and channel count.
+ If one can't be found, it will look for a single-channel IR file with the same rate.
+ It will always choose the first match in the file list supplied "convolution_ir_files".
+
+ Allow multithreading -- use the "convolution_thread_pool_size" to set the number of threads to use.
+
+ Deprecate "convolution" -- use "convolution_enabled" instead.
+ Deprecate "convolution_max_length" -- use "convolution_max_length_in_seconds" instead.
+ Deprecate "convolution_ir_file" -- use "convolution_ir_files" instead.
+ Update corresponding D-Bus methods and properties.
+
+Update the loudness code to work on 48k and well as 44.1k audio and with multichannel audio.
+
+ Deprecate "loudness" -- use "loudness_enabled" instead.
+ Update corresponding D-Bus methods and properties.
+
+Fix a deprecated FFmpeg warning.
+
+Update HiFi-LoFi FFT convolver to latest available.
+
+Upstream: https://github.com/mikebrady/shairport-sync/commit/d043f983305042035966a38e88fcce0236eb3bb4
+
+[Bernd: backported ffmpeg 9.x fix to 4.3.7]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ shairport.c | 25 ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/shairport.c b/shairport.c
+index 87ac0ea7..6c19c314 100644
+--- a/shairport.c
++++ b/shairport.c
+@@ -160,12 +160,27 @@ int has_fltp_capable_aac_decoder(void) {
+ int has_capability = 0;
+ const AVCodec *codec = avcodec_find_decoder(AV_CODEC_ID_AAC);
+ if (codec != NULL) {
+- const enum AVSampleFormat *p = codec->sample_fmts;
+- if (p != NULL) {
+- while ((has_capability == 0) && (*p != AV_SAMPLE_FMT_NONE)) {
+- if (*p == AV_SAMPLE_FMT_FLTP)
++
++ const enum AVSampleFormat *formats = NULL;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(61, 13, 100)
++ // New API (FFmpeg 7.1+) for getting formats
++ debug(3, "getting sample formats the new way");
++ int format_count = 0;
++ if ((avcodec_get_supported_config(NULL, codec, AV_CODEC_CONFIG_SAMPLE_FORMAT, 0,
++ (const void **)&formats, &format_count) < 0) ||
++ (format_count == 0))
++ formats = NULL; // not clear if the returned pointer is nulled on error or on zero items
++#else
++ debug(3, "getting sample formats the old way");
++ // older API
++ formats = codec->sample_fmts;
++#endif
++
++ if (formats != NULL) {
++ while ((has_capability == 0) && (*formats != AV_SAMPLE_FMT_NONE)) {
++ if (*formats == AV_SAMPLE_FMT_FLTP)
+ has_capability = 1;
+- p++;
++ formats++;
+ }
+ }
+ }
+--
+2.47.3
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 61/84] package/ncurses: install wide-char headers in usr/include/ncursesw/
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (59 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 60/84] package/shairport-sync: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 62/84] package/python3: bump version to 3.15.0rc3 Bernd Kuhls
` (23 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Python 3.15 changed its ncurses wide-/non-wide-char detection and now
relies on detecting the correct headers:
https://github.com/python/cpython/commit/383c7bd38a5f0923db48f67fda9d852d189921e6
Buildroot toolchain x86-64-core-i7--glibc--bleeding-edge-2026.08-1
contains the non-wide-char version of sysroot/usr/include/curses.h
which overwrites the wide-char version provided by the ncurses package
during the configure/rsync stage of the python3 package in the case of
BR2_PER_PACKAGE_DIRECTORIES=y. The toolchain package is sorted alpha-
betically after the ncurses package.
To provide correct headers for the python3 package and to not interfere
with other buildroot packages we additionally install only the wchar-
enabled headers in usr/include/ncursesw/ which is tested by python3
configure before usr/include/:
https://github.com/python/cpython/blob/v3.15.0rc3/configure.ac#L7149
Configure log snippet of python3 without this patch:
checking for ncursesw... yes
checking for panelw... yes
checking for ncursesw/curses.h... no
checking for ncursesw/ncurses.h... no
checking for ncursesw/panel.h... no
checking for ncurses/curses.h... no
checking for ncurses/ncurses.h... no
checking for ncurses/panel.h... no
checking for curses.h... yes
checking for ncurses.h... yes
checking for panel.h... yes
checking for library containing initscr... none required
checking for library containing update_panels... none required
checking whether curses supports wide characters... no
checking for term.h... yes
config.log contains:
configure:29861: checking whether curses supports wide characters
[...]
conftest.c:535:9: error: implicit declaration of function 'setcchar';
did you mean 'getchar'? [-Wimplicit-function-declaration]
535 | setcchar(&wcval, L"x", A_NORMAL, 0, NULL);
Configure log snippet of python3 with this patch:
checking for ncursesw... yes
checking for panelw... yes
checking for ncursesw/curses.h... yes
checking for ncursesw/ncurses.h... no
checking for ncursesw/panel.h... yes
checking for ncurses/curses.h... no
checking for ncurses/ncurses.h... no
checking for ncurses/panel.h... no
checking for curses.h... yes
checking for ncurses.h... yes
checking for panel.h... yes
checking for library containing initscr... none required
checking for library containing update_panels... none required
checking whether curses supports wide characters... yes
checking for term.h... yes
The relevant line is 'checking whether curses supports wide characters'
which needs to have 'yes' as result when ncurses is configured with
BR2_PACKAGE_NCURSES_WCHAR=y, otherwise the python3 build is broken:
./Modules/_cursesmodule.c: In function ‘_curses_window_addch_impl’:
./Modules/_cursesmodule.c:1009:15: error: implicit declaration of
function ‘setcchar’; did you mean ‘getchar’?
[-Wimplicit-function-declaration]
./Modules/_cursesmodule.c:1015:19: error: implicit declaration of
function ‘mvwadd_wch’; did you mean ‘mvwaddch’?
[-Wimplicit-function-declaration]
./Modules/_cursesmodule.c:1019:19: error: implicit declaration o
f function ‘wadd_wch’; did you mean ‘waddch’?
[-Wimplicit-function-declaration]
This patch should also fix similar problems:
https://lists.buildroot.org/pipermail/buildroot/2024-September/763179.html
https://lists.buildroot.org/pipermail/buildroot/2025-January/770215.html
The specific problem w.r.t. to per-package directories was also
discussed:
https://lists.buildroot.org/pipermail/buildroot/2021-August/684119.html
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/ncurses/ncurses.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index 5e2077500a..a9b2f089a4 100644
--- a/package/ncurses/ncurses.mk
+++ b/package/ncurses/ncurses.mk
@@ -85,6 +85,12 @@ NCURSES_CONF_OPTS += --enable-widec
NCURSES_LIB_SUFFIX = w
NCURSES_LIBS = ncurses menu panel form
+define NCURSES_COPY_WCHAR_HEADERS
+ $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) \
+ INCLUDEDIR=$(STAGING_DIR)/usr/include/ncursesw \
+ install.includes
+endef
+
define NCURSES_LINK_LIBS_STATIC
$(foreach lib,$(NCURSES_LIBS:%=lib%), \
ln -sf $(lib)$(NCURSES_LIB_SUFFIX).a $(STAGING_DIR)/usr/lib/$(lib).a
@@ -116,6 +122,7 @@ NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC)
NCURSES_CONF_OPTS += --enable-ext-colors
+NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_COPY_WCHAR_HEADERS
NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS
NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_PC
else
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 62/84] package/python3: bump version to 3.15.0rc3
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (60 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 61/84] package/ncurses: install wide-char headers in usr/include/ncursesw/ Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 63/84] package/libopenssl: bump version to 4.0.3 Bernd Kuhls
` (22 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Thomas Petazzoni
https://www.python.org/downloads/release/python-3150rc3/
Rebased patches using --zero-commit option for easier updates in the
future.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: James Hilliard <james.hilliard1@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
---
...e-the-build-of-pyc-files-conditional.patch | 14 ++---
.../0002-Add-an-option-to-disable-pydoc.patch | 24 ++++----
.../0003-Add-an-option-to-disable-IDLE.patch | 18 +++---
...move-PY_STDLIB_MOD_SET_NA-further-up.patch | 8 +--
...option-to-disable-the-sqlite3-module.patch | 16 +++---
...d-an-option-to-disable-the-tk-module.patch | 18 +++---
...-option-to-disable-the-curses-module.patch | 14 ++---
.../0008-Add-an-option-to-disable-expat.patch | 14 ++---
...ac-detect-unusable-termio-operations.patch | 16 +++---
...mpilation-of-Modules-_remote_debuggi.patch | 55 -------------------
package/python3/python3.hash | 4 +-
package/python3/python3.mk | 6 +-
12 files changed, 76 insertions(+), 131 deletions(-)
delete mode 100644 package/python3/0010-gh-139275-Fix-compilation-of-Modules-_remote_debuggi.patch
diff --git a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch
index dbc3c60d87..3dc6ddadb2 100644
--- a/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch
+++ b/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch
@@ -1,4 +1,4 @@
-From 52bb6f2a3ef352cda16d95a588a0356da562de8e Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 16:21:31 -0800
Subject: [PATCH] Make the build of pyc files conditional
@@ -15,7 +15,7 @@ Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 2 ++
@@ -23,10 +23,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 9 insertions(+)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 08ad5f4921d..486a35ed99b 100644
+index 965244d8d2d..00b8828e222 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2812,6 +2812,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
+@@ -2915,6 +2915,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
patch --force --reject-file "$(abs_builddir)/app-store-compliance.rej" --strip 2 --directory "$(DESTDIR)$(LIBDEST)" --input "$(abs_srcdir)/$(APP_STORE_COMPLIANCE_PATCH)" || true ; \
fi
@ # Build PYC files for the 3 optimization levels (0, 1, 2)
@@ -34,7 +34,7 @@ index 08ad5f4921d..486a35ed99b 100644
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST) -f \
-@@ -2821,6 +2822,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
+@@ -2924,6 +2925,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-o 0 -o 1 -o 2 $(COMPILEALL_OPTS) -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
@@ -43,10 +43,10 @@ index 08ad5f4921d..486a35ed99b 100644
# bpo-21536: Misc/python-config.sh is generated in the build directory
# from $(srcdir)Misc/python-config.sh.in.
diff --git a/configure.ac b/configure.ac
-index bd4446e9488..ad0781f9ee6 100644
+index ed8b53dd3a4..38615380f11 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1533,6 +1533,13 @@ fi
+@@ -1567,6 +1567,13 @@ fi
AC_MSG_CHECKING([LDLIBRARY])
diff --git a/package/python3/0002-Add-an-option-to-disable-pydoc.patch b/package/python3/0002-Add-an-option-to-disable-pydoc.patch
index 294520f815..bdb779763b 100644
--- a/package/python3/0002-Add-an-option-to-disable-pydoc.patch
+++ b/package/python3/0002-Add-an-option-to-disable-pydoc.patch
@@ -1,4 +1,4 @@
-From 8ba9dc9a12687d37454dd949409599f108f1ce44 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:07:56 -0800
Subject: [PATCH] Add an option to disable pydoc
@@ -18,7 +18,7 @@ Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 9 ++++++++-
@@ -26,10 +26,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 486a35ed99b..c3732bedb30 100644
+index 00b8828e222..aedc2d55814 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2513,7 +2513,9 @@ bininstall: commoninstall altbininstall
+@@ -2581,7 +2581,9 @@ bininstall: commoninstall altbininstall
-rm -f $(DESTDIR)$(BINDIR)/idle3
(cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3)
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
@@ -39,15 +39,15 @@ index 486a35ed99b..c3732bedb30 100644
if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \
rm -f $(DESTDIR)$(BINDIR)/python3-32$(EXE); \
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-32$(EXE) python3-32$(EXE)) \
-@@ -2564,7 +2566,6 @@ LIBSUBDIRS= asyncio \
- logging \
- multiprocessing multiprocessing/dummy \
- pathlib \
+@@ -2641,7 +2643,6 @@ LIBSUBDIRS= asyncio \
+ profiling/sampling/live_collector \
+ profiling/sampling/_vendor/d3/7.8.5 \
+ profiling/sampling/_vendor/d3-flame-graph/4.1.3 \
- pydoc_data \
re \
site-packages \
sqlite3 \
-@@ -2731,6 +2732,10 @@ TESTSUBDIRS= idlelib/idle_test \
+@@ -2834,6 +2835,10 @@ TESTSUBDIRS= idlelib/idle_test \
COMPILEALL_OPTS=-j0
@@ -58,7 +58,7 @@ index 486a35ed99b..c3732bedb30 100644
TEST_MODULES=@TEST_MODULES@
.PHONY: libinstall
-@@ -2959,7 +2964,9 @@ libainstall: all scripts
+@@ -3062,7 +3067,9 @@ libainstall: all scripts
$(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
$(INSTALL_SCRIPT) $(SCRIPT_IDLE) $(DESTDIR)$(BINDIR)/idle$(VERSION)
@@ -69,10 +69,10 @@ index 486a35ed99b..c3732bedb30 100644
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
echo; echo "Installing support files for building shared extension modules on AIX:"; \
diff --git a/configure.ac b/configure.ac
-index ad0781f9ee6..00d2b54ead5 100644
+index 38615380f11..7405aae5f5e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4789,6 +4789,12 @@ AS_VAR_IF([posix_threads], [stub], [
+@@ -4975,6 +4975,12 @@ AS_VAR_IF([posix_threads], [stub], [
AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support])
])
diff --git a/package/python3/0003-Add-an-option-to-disable-IDLE.patch b/package/python3/0003-Add-an-option-to-disable-IDLE.patch
index 3a386b7a29..4af0f7242d 100644
--- a/package/python3/0003-Add-an-option-to-disable-IDLE.patch
+++ b/package/python3/0003-Add-an-option-to-disable-IDLE.patch
@@ -1,4 +1,4 @@
-From 463c64020b288b8ddfd32a63c4a23ab7369b9669 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Maxime Ripard <maxime.ripard@free-electrons.com>
Date: Wed, 22 Feb 2017 17:45:14 -0800
Subject: [PATCH] Add an option to disable IDLE
@@ -17,7 +17,7 @@ Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 9 ++++++++-
@@ -25,10 +25,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index c3732bedb30..2197bb18434 100644
+index aedc2d55814..827bc608c1a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2511,7 +2511,9 @@ bininstall: commoninstall altbininstall
+@@ -2579,7 +2579,9 @@ bininstall: commoninstall altbininstall
-rm -f $(DESTDIR)$(LIBPC)/python3-embed.pc
(cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python3-embed.pc)
-rm -f $(DESTDIR)$(BINDIR)/idle3
@@ -38,7 +38,7 @@ index c3732bedb30..2197bb18434 100644
-rm -f $(DESTDIR)$(BINDIR)/pydoc3
ifeq (@PYDOC@,yes)
(cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3)
-@@ -2560,7 +2562,6 @@ LIBSUBDIRS= asyncio \
+@@ -2628,7 +2630,6 @@ LIBSUBDIRS= asyncio \
ensurepip ensurepip/_bundled \
html \
http \
@@ -46,7 +46,7 @@ index c3732bedb30..2197bb18434 100644
importlib importlib/resources importlib/metadata \
json \
logging \
-@@ -2736,6 +2737,10 @@ ifeq (@PYDOC@,yes)
+@@ -2839,6 +2840,10 @@ ifeq (@PYDOC@,yes)
LIBSUBDIRS += pydoc_data
endif
@@ -57,7 +57,7 @@ index c3732bedb30..2197bb18434 100644
TEST_MODULES=@TEST_MODULES@
.PHONY: libinstall
-@@ -2963,7 +2968,9 @@ libainstall: all scripts
+@@ -3066,7 +3071,9 @@ libainstall: all scripts
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
$(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
@@ -68,10 +68,10 @@ index c3732bedb30..2197bb18434 100644
$(INSTALL_SCRIPT) $(SCRIPT_PYDOC) $(DESTDIR)$(BINDIR)/pydoc$(VERSION)
endif
diff --git a/configure.ac b/configure.ac
-index 00d2b54ead5..5395e82384b 100644
+index 7405aae5f5e..9752d431cba 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -8189,6 +8189,12 @@ PY_STDLIB_MOD([xxlimited_35], [test "$TEST_MODULES" = yes], [test "$ac_cv_func_d
+@@ -8644,6 +8644,12 @@ AC_SUBST([JIT_SHIM_BUILD_O])
# substitute multiline block, must come after last PY_STDLIB_MOD()
AC_SUBST([MODULE_BLOCK])
diff --git a/package/python3/0004-configure.ac-move-PY_STDLIB_MOD_SET_NA-further-up.patch b/package/python3/0004-configure.ac-move-PY_STDLIB_MOD_SET_NA-further-up.patch
index faf990430c..3cd20d883b 100644
--- a/package/python3/0004-configure.ac-move-PY_STDLIB_MOD_SET_NA-further-up.patch
+++ b/package/python3/0004-configure.ac-move-PY_STDLIB_MOD_SET_NA-further-up.patch
@@ -1,4 +1,4 @@
-From 930c4763ac46d180880615eceeb68698e9b35e85 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 6 Feb 2024 22:46:59 +0100
Subject: [PATCH] configure.ac: move PY_STDLIB_MOD_SET_NA further up
@@ -11,14 +11,14 @@ Upstream: N/A
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
configure.ac | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 5395e82384b..ec9a24c5311 100644
+index 9752d431cba..25a40069fa2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,6 +95,12 @@ AC_DEFUN([PY_CHECK_EMSCRIPTEN_PORT], [
@@ -34,7 +34,7 @@ index 5395e82384b..ec9a24c5311 100644
AC_SUBST([BASECPPFLAGS])
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
# If we're building out-of-tree, we need to make sure the following
-@@ -7701,13 +7707,6 @@ if test -n "$_PYTHREAD_NAME_MAXLEN"; then
+@@ -8092,13 +8098,6 @@ if test -n "$_PYTHREAD_NAME_MAXLEN"; then
fi
AC_SUBST([_PYTHREAD_NAME_MAXLEN])
diff --git a/package/python3/0005-Add-option-to-disable-the-sqlite3-module.patch b/package/python3/0005-Add-option-to-disable-the-sqlite3-module.patch
index 77c2f22bc5..3283d27a32 100644
--- a/package/python3/0005-Add-option-to-disable-the-sqlite3-module.patch
+++ b/package/python3/0005-Add-option-to-disable-the-sqlite3-module.patch
@@ -1,4 +1,4 @@
-From 8f6beca556599479705444af7cc7c49b2b964af8 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Tue, 6 Feb 2024 22:12:20 +0100
Subject: [PATCH] Add option to disable the sqlite3 module
@@ -14,7 +14,7 @@ Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 5 ++++-
@@ -22,18 +22,18 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 2197bb18434..c8f7ab1e6a9 100644
+index 827bc608c1a..334a05ecbcf 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2569,7 +2569,6 @@ LIBSUBDIRS= asyncio \
- pathlib \
+@@ -2646,7 +2646,6 @@ LIBSUBDIRS= asyncio \
+ profiling/sampling/_vendor/d3-flame-graph/4.1.3 \
re \
site-packages \
- sqlite3 \
string \
sysconfig \
tkinter \
-@@ -2741,6 +2740,10 @@ ifeq (@IDLE@,yes)
+@@ -2844,6 +2843,10 @@ ifeq (@IDLE@,yes)
LIBSUBDIRS += idlelib idlelib/Icons
endif
@@ -45,10 +45,10 @@ index 2197bb18434..c8f7ab1e6a9 100644
.PHONY: libinstall
diff --git a/configure.ac b/configure.ac
-index ec9a24c5311..e8e201206bc 100644
+index 25a40069fa2..22ff89256bd 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4795,6 +4795,13 @@ AS_VAR_IF([posix_threads], [stub], [
+@@ -4981,6 +4981,13 @@ AS_VAR_IF([posix_threads], [stub], [
AC_DEFINE([HAVE_PTHREAD_STUBS], [1], [Define if platform requires stubbed pthreads support])
])
diff --git a/package/python3/0006-Add-an-option-to-disable-the-tk-module.patch b/package/python3/0006-Add-an-option-to-disable-the-tk-module.patch
index b928cd9435..9b8230555a 100644
--- a/package/python3/0006-Add-an-option-to-disable-the-tk-module.patch
+++ b/package/python3/0006-Add-an-option-to-disable-the-tk-module.patch
@@ -1,4 +1,4 @@
-From b53a2758ac431bc2493a460e6c886561e2397518 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:23:42 -0800
Subject: [PATCH] Add an option to disable the tk module
@@ -11,7 +11,7 @@ Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
[ Adam Duskett: ported to Python 3.10.0 ]
Signed-off-by: Adam Duskett <aduskett@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[ Adam Duskett: ported to Python 3.12.1 ]
Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
@@ -25,10 +25,10 @@ Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index c8f7ab1e6a9..2c91d0dda71 100644
+index 334a05ecbcf..7e9eef79b06 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2571,7 +2571,6 @@ LIBSUBDIRS= asyncio \
+@@ -2648,7 +2648,6 @@ LIBSUBDIRS= asyncio \
site-packages \
string \
sysconfig \
@@ -36,7 +36,7 @@ index c8f7ab1e6a9..2c91d0dda71 100644
tomllib \
turtledemo \
unittest \
-@@ -2681,7 +2680,6 @@ TESTSUBDIRS= idlelib/idle_test \
+@@ -2783,7 +2782,6 @@ TESTSUBDIRS= idlelib/idle_test \
test/test_pyrepl \
test/test_string \
test/test_sqlite3 \
@@ -44,7 +44,7 @@ index c8f7ab1e6a9..2c91d0dda71 100644
test/test_tomllib \
test/test_tomllib/data \
test/test_tomllib/data/invalid \
-@@ -2703,7 +2701,6 @@ TESTSUBDIRS= idlelib/idle_test \
+@@ -2806,7 +2804,6 @@ TESTSUBDIRS= idlelib/idle_test \
test/test_tools \
test/test_tools/i18n_data \
test/test_tools/msgfmt_data \
@@ -52,7 +52,7 @@ index c8f7ab1e6a9..2c91d0dda71 100644
test/test_unittest \
test/test_unittest/namespace_test_pkg \
test/test_unittest/namespace_test_pkg/bar \
-@@ -2730,6 +2727,11 @@ TESTSUBDIRS= idlelib/idle_test \
+@@ -2833,6 +2830,11 @@ TESTSUBDIRS= idlelib/idle_test \
test/xmltestdata/c14n-20 \
test/zipimport_data
@@ -65,10 +65,10 @@ index c8f7ab1e6a9..2c91d0dda71 100644
ifeq (@PYDOC@,yes)
diff --git a/configure.ac b/configure.ac
-index e8e201206bc..840976ec1bd 100644
+index 22ff89256bd..be9428dc2cb 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4808,6 +4808,13 @@ AC_ARG_ENABLE(pydoc,
+@@ -4994,6 +4994,13 @@ AC_ARG_ENABLE(pydoc,
AS_HELP_STRING([--disable-pydoc], [disable pydoc]),
[ PYDOC="${enableval}" ], [ PYDOC=yes ])
diff --git a/package/python3/0007-Add-an-option-to-disable-the-curses-module.patch b/package/python3/0007-Add-an-option-to-disable-the-curses-module.patch
index 729cb5d624..bfb3f25b79 100644
--- a/package/python3/0007-Add-an-option-to-disable-the-curses-module.patch
+++ b/package/python3/0007-Add-an-option-to-disable-the-curses-module.patch
@@ -1,4 +1,4 @@
-From baef276faa676d1b0faf64a91fa627b5f8fcc5e0 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:31:51 -0800
Subject: [PATCH] Add an option to disable the curses module
@@ -13,7 +13,7 @@ Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 5 ++++-
@@ -21,10 +21,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index 2c91d0dda71..fb11e416731 100644
+index 7e9eef79b06..174164142c0 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2555,7 +2555,6 @@ LIBSUBDIRS= asyncio \
+@@ -2623,7 +2623,6 @@ LIBSUBDIRS= asyncio \
concurrent concurrent/futures concurrent/interpreters \
csv \
ctypes ctypes/macholib \
@@ -32,7 +32,7 @@ index 2c91d0dda71..fb11e416731 100644
dbm \
email email/mime \
encodings \
-@@ -2732,6 +2731,10 @@ LIBSUBDIRS += tkinter
+@@ -2835,6 +2834,10 @@ LIBSUBDIRS += tkinter
TESTSUBDIRS += test/test_tkinter test/test_ttk
endif
@@ -44,10 +44,10 @@ index 2c91d0dda71..fb11e416731 100644
ifeq (@PYDOC@,yes)
diff --git a/configure.ac b/configure.ac
-index 840976ec1bd..1d7ba91ccc9 100644
+index be9428dc2cb..1f28a1de74d 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4802,6 +4802,13 @@ AC_ARG_ENABLE(sqlite3,
+@@ -4988,6 +4988,13 @@ AC_ARG_ENABLE(sqlite3,
AS_IF([test "$SQLITE3" = "no"],
[PY_STDLIB_MOD_SET_NA([_sqlite3])])
diff --git a/package/python3/0008-Add-an-option-to-disable-expat.patch b/package/python3/0008-Add-an-option-to-disable-expat.patch
index 4093d6fa76..046a1dd7b5 100644
--- a/package/python3/0008-Add-an-option-to-disable-expat.patch
+++ b/package/python3/0008-Add-an-option-to-disable-expat.patch
@@ -1,4 +1,4 @@
-From 2a7412e43554830ffbc831454de8df903e765b73 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:40:45 -0800
Subject: [PATCH] Add an option to disable expat
@@ -19,7 +19,7 @@ Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Adam Duskett <aduskett@gmail.com>
[ Vincent Fazio: ported to Python 3.13.2 ]
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Makefile.pre.in | 5 ++++-
@@ -27,10 +27,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
-index fb11e416731..c261b3f9cd7 100644
+index 174164142c0..e0b46d2fe3a 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2576,7 +2576,6 @@ LIBSUBDIRS= asyncio \
+@@ -2653,7 +2653,6 @@ LIBSUBDIRS= asyncio \
urllib \
venv venv/scripts venv/scripts/common venv/scripts/posix \
wsgiref \
@@ -38,7 +38,7 @@ index fb11e416731..c261b3f9cd7 100644
xmlrpc \
zipfile zipfile/_path \
zoneinfo \
-@@ -2749,6 +2748,10 @@ ifeq (@SQLITE3@,yes)
+@@ -2852,6 +2851,10 @@ ifeq (@SQLITE3@,yes)
LIBSUBDIRS += sqlite3
endif
@@ -50,10 +50,10 @@ index fb11e416731..c261b3f9cd7 100644
.PHONY: libinstall
diff --git a/configure.ac b/configure.ac
-index 1d7ba91ccc9..3980548b253 100644
+index 1f28a1de74d..021d8a6df5a 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -4065,17 +4065,19 @@ LIBS="$withval $LIBS"
+@@ -4260,17 +4260,19 @@ LIBS="$withval $LIBS"
[AC_MSG_RESULT([no])])
# Check for use of the system expat library
diff --git a/package/python3/0009-configure.ac-detect-unusable-termio-operations.patch b/package/python3/0009-configure.ac-detect-unusable-termio-operations.patch
index 78c0fe057c..83fd1435c8 100644
--- a/package/python3/0009-configure.ac-detect-unusable-termio-operations.patch
+++ b/package/python3/0009-configure.ac-detect-unusable-termio-operations.patch
@@ -1,4 +1,4 @@
-From 2d336d1fedb692350a1e4f131246f60a1195cd93 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sun, 7 Dec 2025 13:57:06 +0100
Subject: [PATCH] configure.ac: detect unusable termio operations
@@ -15,7 +15,7 @@ done using a new m4 macro PY_CHECK_IOCTL.
Upstream: https://github.com/python/cpython/pull/142380
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-[ Bernd Kuhls: ported to Python 3.14.2]
+[ Bernd Kuhls: ported to Python 3.15.0]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Modules/termios.c | 8 ++++----
@@ -23,10 +23,10 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
2 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/Modules/termios.c b/Modules/termios.c
-index efb5fcc17fa..3177cb0747a 100644
+index 38743e176f0..a2defe4b270 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
-@@ -1115,7 +1115,7 @@ static struct constant {
+@@ -1122,7 +1122,7 @@ static struct constant {
#ifdef TCFLSH
{"TCFLSH", TCFLSH},
#endif
@@ -35,7 +35,7 @@ index efb5fcc17fa..3177cb0747a 100644
{"TCGETA", TCGETA},
#endif
#ifdef TCGETS
-@@ -1127,13 +1127,13 @@ static struct constant {
+@@ -1134,13 +1134,13 @@ static struct constant {
#ifdef TCSBRKP
{"TCSBRKP", TCSBRKP},
#endif
@@ -53,7 +53,7 @@ index efb5fcc17fa..3177cb0747a 100644
#endif
#ifdef TCSETS
diff --git a/configure.ac b/configure.ac
-index 3980548b253..48604024fcf 100644
+index 021d8a6df5a..b87ebaa79a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -101,6 +101,26 @@ AC_DEFUN([PY_STDLIB_MOD_SET_NA], [
@@ -83,7 +83,7 @@ index 3980548b253..48604024fcf 100644
AC_SUBST([BASECPPFLAGS])
if test "$srcdir" != . -a "$srcdir" != "$(pwd)"; then
# If we're building out-of-tree, we need to make sure the following
-@@ -8217,6 +8237,12 @@ AC_ARG_ENABLE(idle3,
+@@ -8672,6 +8692,12 @@ AC_ARG_ENABLE(idle3,
AS_HELP_STRING([--disable-idle3], [disable idle3 IDE]),
[ IDLE="${enableval}" ], [ IDLE=yes ])
@@ -97,5 +97,5 @@ index 3980548b253..48604024fcf 100644
AC_CONFIG_FILES(m4_normalize([
Makefile.pre
--
-2.51.1
+2.47.3
diff --git a/package/python3/0010-gh-139275-Fix-compilation-of-Modules-_remote_debuggi.patch b/package/python3/0010-gh-139275-Fix-compilation-of-Modules-_remote_debuggi.patch
deleted file mode 100644
index 833bcc9cc8..0000000000
--- a/package/python3/0010-gh-139275-Fix-compilation-of-Modules-_remote_debuggi.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 528429e329047ee572248da0e1212f7cc1ef7d11 Mon Sep 17 00:00:00 2001
-From: Pablo Galindo Salgado <Pablogsal@gmail.com>
-Date: Thu, 25 Sep 2025 00:16:44 +0100
-Subject: [PATCH] gh-139275: Fix compilation of
- Modules/_remote_debugging_module.c when the system doesn't have
- process_vm_readv (#139307)
-
-Upstream: https://github.com/python/cpython/commit/1963e701001839389cfb1b11d803b0743f4705d7
-
-[ Bernd Kuhls: ported to Python 3.14.7]
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- .../2025-09-24-17-32-52.gh-issue-139275.novrqf.rst | 2 ++
- Modules/_remote_debugging_module.c | 2 +-
- Python/remote_debug.h | 2 +-
- 3 files changed, 4 insertions(+), 2 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Core_and_Builtins/2025-09-24-17-32-52.gh-issue-139275.novrqf.rst
-
-diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2025-09-24-17-32-52.gh-issue-139275.novrqf.rst b/Misc/NEWS.d/next/Core_and_Builtins/2025-09-24-17-32-52.gh-issue-139275.novrqf.rst
-new file mode 100644
-index 00000000000..8cb4b972ad6
---- /dev/null
-+++ b/Misc/NEWS.d/next/Core_and_Builtins/2025-09-24-17-32-52.gh-issue-139275.novrqf.rst
-@@ -0,0 +1,2 @@
-+Fix compilation problems in ``_remote_debugging_module.c`` when the system
-+doesn't have ``process_vm_readv``. Patch by Pablo Galindo
-diff --git a/Modules/_remote_debugging_module.c b/Modules/_remote_debugging_module.c
-index b46538b76df..e86a27d5812 100644
---- a/Modules/_remote_debugging_module.c
-+++ b/Modules/_remote_debugging_module.c
-@@ -1329,7 +1329,7 @@ _Py_RemoteDebug_GetAsyncioDebugAddress(proc_handle_t* handle)
- _PyErr_ChainExceptions1(exc);
- }
- }
--#elif defined(__linux__)
-+#elif defined(__linux__) && HAVE_PROCESS_VM_READV
- // On Linux, search for asyncio debug in executable or DLL
- address = search_linux_map_for_section(handle, "AsyncioDebug", "_asyncio.cpython", NULL);
- if (address == 0) {
-diff --git a/Python/remote_debug.h b/Python/remote_debug.h
-index 8f9b6cd4c49..b7d17a0f345 100644
---- a/Python/remote_debug.h
-+++ b/Python/remote_debug.h
-@@ -1174,7 +1174,7 @@
- _PyErr_ChainExceptions1(exc);
- }
- }
--#elif defined(__linux__)
-+#elif defined(__linux__) && HAVE_PROCESS_VM_READV
- // On Linux, search for 'python' in executable or DLL
- address = search_linux_map_for_section(handle, "PyRuntime", "python",
- _Py_RemoteDebug_ValidatePyRuntimeCookie);
---
-2.47.3
-
diff --git a/package/python3/python3.hash b/package/python3/python3.hash
index ae4a00c319..ac3889860e 100644
--- a/package/python3/python3.hash
+++ b/package/python3/python3.hash
@@ -1,4 +1,4 @@
-# From https://www.python.org/downloads/release/python-3148/
-sha256 c2215904f02b175596dc49351585104f4bc20341e1c47378b26a2c274360ce73 Python-3.14.8.tar.xz
+# From https://www.python.org/downloads/release/python-3150rc3/
+sha256 506630aa66d5441188f34df22c0760bfe87fc92212630493ebc9ff3b3a7a1d49 Python-3.15.0rc3.tar.xz
# Locally computed
sha256 b0e25a78cffb43f4d92de8b61ccfa1f1f98ecbc22330b54b5251e7b6ba010231 LICENSE
diff --git a/package/python3/python3.mk b/package/python3/python3.mk
index b86453f145..6c9fe2178a 100644
--- a/package/python3/python3.mk
+++ b/package/python3/python3.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON3_VERSION_MAJOR = 3.14
-PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).8
-PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz
+PYTHON3_VERSION_MAJOR = 3.15
+PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).0
+PYTHON3_SOURCE = Python-$(PYTHON3_VERSION)rc3.tar.xz
PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION)
PYTHON3_LICENSE = Python-2.0, others
PYTHON3_LICENSE_FILES = LICENSE
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 63/84] package/libopenssl: bump version to 4.0.3
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (61 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 62/84] package/python3: bump version to 3.15.0rc3 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 64/84] package/libcamera-apps: bump version to 1.10.1 Bernd Kuhls
` (21 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Cc: Andrey Yurovsky, Angelo Compagnucci, Brandon Maier, David GOUARIN,
Heiko Thiery, Joris Lijssens, Stefan Ott, Thomas Devoogdt
https://openssl-library.org/post/2026-04-14-openssl-40-final-release/
https://github.com/openssl/openssl/blob/openssl-4.0.3/CHANGES.md#openssl-40
The following section results in updates to many packages:
" * `ASN1_STRING` has been made opaque.
* Signatures of numerous API functions, including those that are related
to X509 processing, are changed to include `const` qualifiers for argument
and return types, where suitable."
More infos can be found here:
https://openssl-library.org/post/2026-04-13-asn1_string/
The following section resulted in new legacy options and changes to
many packages to maintain bisectability:
" * Removed support for SSLv3. SSLv3 has been deprecated since 2015,
and OpenSSL had it disabled by default since version 1.1.0 (2016).
* Removed support for engines. The `no-engine` build option
and the `OPENSSL_NO_ENGINE` macro are always present."
More infos can be found here:
https://openssl-library.org/post/2026-04-07-ssl3/index.html
https://openssl-library.org/post/2025-12-18-remove-engines/index.html
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Andrey Yurovsky <yurovsky@gmail.com>
Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Cc: Brandon Maier <brandon.maier@collins.com>
Cc: David GOUARIN <dgouarin@gmail.com>
Cc: Heiko Thiery <heiko.thiery@gmail.com>
Cc: Joris Lijssens <joris.lijssens@gmail.com>
Cc: Stefan Ott <stefan@ott.net>
Cc: Thomas Devoogdt <thomas@devoogdt.com>
---
Config.in.legacy | 36 ++++++++++++++++++++++++++++++
package/apr-util/Config.in | 1 -
package/dovecot/Config.in | 1 -
package/fluent-bit/Config.in | 1 -
package/libcoap/Config.in | 1 -
package/libks/Config.in | 1 -
package/libldns/libldns.mk | 8 +------
package/libopenssl/Config.in | 34 ----------------------------
package/libopenssl/libopenssl.hash | 4 ++--
package/libopenssl/libopenssl.mk | 18 +--------------
package/libp11/Config.in | 1 -
package/libp11/libp11.mk | 3 +--
package/librelp/Config.in | 1 -
package/libssh/Config.in | 1 -
package/luvi/Config.in | 1 -
package/mender/Config.in | 1 -
package/mtd/Config.in | 1 -
package/openssh/openssh.mk | 8 +------
package/rauc/Config.in | 2 --
package/rauc/rauc.mk | 3 ++-
package/softhsm2/Config.in | 1 -
package/unbound/Config.in | 1 -
package/unbound/unbound.mk | 1 +
23 files changed, 45 insertions(+), 85 deletions(-)
diff --git a/Config.in.legacy b/Config.in.legacy
index 0493087ae6..16d530e273 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,42 @@ endif
comment "Legacy options removed in 2026.11"
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL
+ bool "OpenSSL SSL support has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed SSL support
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL3
+ bool "OpenSSL SSL3 support has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed SSL3 support
+
+config BR2_PACKAGE_LIBOPENSSL_ENGINES
+ bool "OpenSSL additional engines has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed engines support
+
+config BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE
+ bool "OpenSSL dynamic engine has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed engines support
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE
+ bool "OpenSSL 'loader_attic' engine has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed engines support
+
+config BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE
+ bool "OpenSSL padlock engine has been removed"
+ select BR2_LEGACY
+ help
+ OpenSSL 4.x removed engines support
+
config BR2_PACKAGE_QT6OPCUA
bool "qt6opcua has been removed"
select BR2_LEGACY
diff --git a/package/apr-util/Config.in b/package/apr-util/Config.in
index 06b6c2684c..2a28d5f5aa 100644
--- a/package/apr-util/Config.in
+++ b/package/apr-util/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_APR_UTIL
select BR2_PACKAGE_APR
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
help
The utility library for the apache runtime project
diff --git a/package/dovecot/Config.in b/package/dovecot/Config.in
index 6753160c27..e6c1f92d07 100644
--- a/package/dovecot/Config.in
+++ b/package/dovecot/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_DOVECOT
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_PCRE2_32 if BR2_PACKAGE_PCRE2
select BR2_PACKAGE_OPENSSL
diff --git a/package/fluent-bit/Config.in b/package/fluent-bit/Config.in
index 2af6279744..51655f9a2f 100644
--- a/package/fluent-bit/Config.in
+++ b/package/fluent-bit/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_FLUENT_BIT
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_STATIC_LIBS # dlfcn.h
select BR2_PACKAGE_C_ARES
- select BR2_PACKAGE_LIBOPENSSL_ENGINES # needed by bundled librdkafka
select BR2_PACKAGE_LIBYAML
select BR2_PACKAGE_MSGPACK_C
select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
diff --git a/package/libcoap/Config.in b/package/libcoap/Config.in
index 2bd6b742e9..7fb6ad8533 100644
--- a/package/libcoap/Config.in
+++ b/package/libcoap/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_LIBCOAP
bool "libcoap"
select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
help
libcoap is a C implementation of a lightweight
application-protocol for devices that are constrained their
diff --git a/package/libks/Config.in b/package/libks/Config.in
index 17a008d7a0..4781d188bf 100644
--- a/package/libks/Config.in
+++ b/package/libks/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_LIBKS
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_setname_np()
select BR2_PACKAGE_OPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk
index 13fe854460..49cb44d51c 100644
--- a/package/libldns/libldns.mk
+++ b/package/libldns/libldns.mk
@@ -24,17 +24,11 @@ LIBLDNS_CONF_OPTS = \
--without-pyldnsx
ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
-LIBLDNS_CONF_OPTS += --enable-dane-verify
+LIBLDNS_CONF_OPTS += --enable-dane-verify --disable-gost
else
LIBLDNS_CONF_OPTS += --disable-dane-verify
endif
-ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),y)
-LIBLDNS_CONF_OPTS += --enable-gost
-else
-LIBLDNS_CONF_OPTS += --disable-gost
-endif
-
ifeq ($(BR2_STATIC_LIBS),y)
LIBLDNS_DEPENDENCIES += host-pkgconf
# missing -lz breaks configure, add it using pkgconf
diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in
index 03d3def802..69ad0b9875 100644
--- a/package/libopenssl/Config.in
+++ b/package/libopenssl/Config.in
@@ -40,11 +40,6 @@ config BR2_PACKAGE_LIBOPENSSL_BIN
to the target file system. This is a command line tool for
doing various cryptographic stuff.
-config BR2_PACKAGE_LIBOPENSSL_ENGINES
- bool "openssl additional engines"
- help
- Install additional encryption engine libraries.
-
config BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA
bool "enable CHACHA"
default y
@@ -98,14 +93,6 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH
bool "enable BLOWFISH"
default y
-config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL
- bool "enable SSL"
- default y
-
-config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL3
- bool "enable SSL3"
- default y
-
config BR2_PACKAGE_LIBOPENSSL_ENABLE_WEAK_SSL
bool "enable WEAK_SSL"
default y
@@ -125,10 +112,6 @@ config BR2_PACKAGE_LIBOPENSSL_UNSECURE
Enable unit-test crypto-mdebug-backtrace
crypto-mdebug autoerrinit mode.
-config BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE
- bool "enable dynamic engine"
- default y
-
config BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP
bool "enable compression"
default y
@@ -173,23 +156,6 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_ECX
Build with ECX support. Disabling this option can be used
to disable support for X25519, X448, and EdDSA.
-config BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE
- bool "enable 'loader_attic' engine"
- default y
- depends on BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE
- help
- Build with 'loader_attic' engine support, which is meant
- just for internal OpenSSL testing purposes and supports
- loading keys, parameters, certificates, and CRLs from files.
- When this engine is used, files with such credentials are
- read via this engine.
-
-config BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE
- bool "enable padlock engine"
- default y
- help
- Build the padlock engine.
-
config BR2_PACKAGE_LIBOPENSSL_ENABLE_MODULE
bool "enable modules"
default y
diff --git a/package/libopenssl/libopenssl.hash b/package/libopenssl/libopenssl.hash
index b7083cc3d7..bafce77d80 100644
--- a/package/libopenssl/libopenssl.hash
+++ b/package/libopenssl/libopenssl.hash
@@ -1,5 +1,5 @@
-# From https://github.com/openssl/openssl/releases/download/openssl-3.6.5/openssl-3.6.5.tar.gz.sha256
-sha256 a2157c2830efdec3788939b00c9b0638306d3f0bbb76dc4832ee503bb397df98 openssl-3.6.5.tar.gz
+# From https://github.com/openssl/openssl/releases/download/openssl-4.0.3/openssl-4.0.3.tar.gz.sha256
+sha256 325b5c806167c13b40b1ffeadfe0248197c00eccc4cf123ec1e28d2d2fd216d9 openssl-4.0.3.tar.gz
# License files
sha256 7d5450cb2d142651b8afa315b5f238efc805dad827d91ba367d8516bc9d49e7a LICENSE.txt
diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index 4aad749eec..7c22d2b41c 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBOPENSSL_VERSION = 3.6.5
+LIBOPENSSL_VERSION = 4.0.3
LIBOPENSSL_SITE = https://github.com/openssl/openssl/releases/download/openssl-$(LIBOPENSSL_VERSION)
LIBOPENSSL_SOURCE = openssl-$(LIBOPENSSL_VERSION).tar.gz
LIBOPENSSL_LICENSE = Apache-2.0
@@ -80,16 +80,13 @@ define LIBOPENSSL_CONFIGURE_CMDS
--openssldir=/etc/ssl \
$(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \
$(if $(BR2_STATIC_LIBS),no-shared,shared) \
- $(if $(BR2_PACKAGE_CRYPTODEV_LINUX),enable-devcryptoeng) \
no-rc5 \
enable-camellia \
no-docs \
no-tests \
no-fuzz-libfuzzer \
no-fuzz-afl \
- no-afalgeng \
$(if $(BR2_PACKAGE_LIBOPENSSL_BIN),,no-apps) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_ENGINES),,no-engine) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA),,no-chacha) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC2),,no-rc2) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4),,no-rc4) \
@@ -103,21 +100,16 @@ define LIBOPENSSL_CONFIGURE_CMDS
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160),,no-rmd160) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_WHIRLPOOL),,no-whirlpool) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_BLOWFISH),,no-bf) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL),,no-ssl) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL3),,no-ssl3) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_WEAK_SSL),,no-weak-ssl-ciphers) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK),,no-psk) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CAST),,no-cast) \
$(if $(BR2_PACKAGE_LIBOPENSSL_UNSECURE),,no-unit-test no-crypto-mdebug no-autoerrinit) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_DYNAMIC_ENGINE),,no-dynamic-engine ) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_COMP),,no-comp) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ARGON2),,no-argon2) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CACHED_FETCH),,no-cached-fetch) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_CMP),,no-cmp) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_THREAD_POOL),,no-thread-pool no-default-thread-pool) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_ECX),,no-ecx) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_LOADER_ENGINE),,no-loadereng) \
- $(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_PADLOCK_ENGINE),,no-padlockeng) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_MODULE),,no-module) \
$(if $(BR2_PACKAGE_LIBOPENSSL_ENABLE_QUIC),,no-quic) \
$(if $(BR2_PACKAGE_LIBOPENSSL_SECURE_MEMORY),,no-secure-memory) \
@@ -155,7 +147,6 @@ endef
define LIBOPENSSL_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
$(RM) -rf $(TARGET_DIR)/usr/lib/ssl
- $(RM) -f $(TARGET_DIR)/usr/bin/c_rehash
endef
# libdl has no business in a static build
@@ -175,12 +166,5 @@ endef
LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_PERL_SCRIPTS
endif
-ifeq ($(BR2_PACKAGE_LIBOPENSSL_ENGINES),)
-define LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
- $(RM) -rf $(TARGET_DIR)/usr/lib/engines-3
-endef
-LIBOPENSSL_POST_INSTALL_TARGET_HOOKS += LIBOPENSSL_REMOVE_LIBOPENSSL_ENGINES
-endif
-
$(eval $(generic-package))
$(eval $(host-generic-package))
diff --git a/package/libp11/Config.in b/package/libp11/Config.in
index 3bf13a6051..3c7ccdee27 100644
--- a/package/libp11/Config.in
+++ b/package/libp11/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_LIBP11
bool "libp11"
depends on !BR2_STATIC_LIBS # dlopen
depends on BR2_TOOLCHAIN_HAS_THREADS
- select BR2_PACKAGE_LIBOPENSSL_ENGINES
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
help
diff --git a/package/libp11/libp11.mk b/package/libp11/libp11.mk
index 38cc1c2e6d..e8c56b9db5 100644
--- a/package/libp11/libp11.mk
+++ b/package/libp11/libp11.mk
@@ -11,10 +11,9 @@ LIBP11_INSTALL_STAGING = YES
LIBP11_LICENSE = LGPL-2.1+
LIBP11_LICENSE_FILES = COPYING
-# pkg-config returns a libcrypto enginesdir prefixed with the sysroot,
+# pkg-config returns a libcrypto modulesdir prefixed with the sysroot,
# so let's rip it out.
LIBP11_CONF_OPTS = \
- --with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable enginesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'` \
--with-modulesdir=`$(PKG_CONFIG_HOST_BINARY) --variable modulesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'`
ifeq ($(BR2_PACKAGE_P11_KIT),y)
diff --git a/package/librelp/Config.in b/package/librelp/Config.in
index f1744bb60c..c0ae5fbe89 100644
--- a/package/librelp/Config.in
+++ b/package/librelp/Config.in
@@ -1,7 +1,6 @@
config BR2_PACKAGE_LIBRELP
bool "librelp"
depends on BR2_TOOLCHAIN_HAS_THREADS
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
help
Reliable Event Logging Protocol library
diff --git a/package/libssh/Config.in b/package/libssh/Config.in
index bc9a02d9b0..1f271a692e 100644
--- a/package/libssh/Config.in
+++ b/package/libssh/Config.in
@@ -36,7 +36,6 @@ config BR2_PACKAGE_LIBSSH_LIBGCRYPT
config BR2_PACKAGE_LIBSSH_OPENSSL
bool "openssl"
depends on BR2_PACKAGE_OPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
endchoice
diff --git a/package/luvi/Config.in b/package/luvi/Config.in
index 04163141b0..bf366f020d 100644
--- a/package/luvi/Config.in
+++ b/package/luvi/Config.in
@@ -9,7 +9,6 @@ config BR2_PACKAGE_LUVI
select BR2_PACKAGE_LIBUV
select BR2_PACKAGE_LUV
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
help
A project in-between luv and luvit. The goal of this is to
make building luvit and derivatives much easier.
diff --git a/package/mender/Config.in b/package/mender/Config.in
index c9b9d0b757..4831548f76 100644
--- a/package/mender/Config.in
+++ b/package/mender/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_MENDER
select BR2_PACKAGE_HOST_GO
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
- select BR2_PACKAGE_LIBOPENSSL_ENGINES
select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4
select BR2_PACKAGE_LIBOPENSSL_ENABLE_RMD160
help
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index 1054106f81..f8a9badaf6 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -15,7 +15,6 @@ config BR2_PACKAGE_MTD_JFFS_UTILS
config BR2_PACKAGE_MTD_UBIFS_UTILS
bool
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
index f2e1f235c0..651d6d46ee 100644
--- a/package/openssh/openssh.mk
+++ b/package/openssh/openssh.mk
@@ -23,6 +23,7 @@ OPENSSH_CONF_OPTS = \
--with-pid-dir=/var/run \
--with-default-path=$(BR2_SYSTEM_DEFAULT_PATH) \
$(if $(BR2_PACKAGE_OPENSSH_SANDBOX),--with-sandbox,--without-sandbox) \
+ --without-ssl-engine \
--disable-lastlog \
--disable-utmp \
--disable-utmpx \
@@ -55,13 +56,6 @@ ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
OPENSSH_DEPENDENCIES += libxcrypt
endif
-ifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y)
-OPENSSH_DEPENDENCIES += cryptodev-linux
-OPENSSH_CONF_OPTS += --with-ssl-engine
-else
-OPENSSH_CONF_OPTS += --without-ssl-engine
-endif
-
ifeq ($(BR2_PACKAGE_AUDIT),y)
OPENSSH_DEPENDENCIES += audit
OPENSSH_CONF_OPTS += --with-audit=linux
diff --git a/package/rauc/Config.in b/package/rauc/Config.in
index 9a910963a3..76e9e8a651 100644
--- a/package/rauc/Config.in
+++ b/package/rauc/Config.in
@@ -6,8 +6,6 @@ config BR2_PACKAGE_RAUC
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL # uses X509_PURPOSE_get_by_id
- # uses ENGINE_* API
- select BR2_PACKAGE_LIBOPENSSL_ENGINES
select BR2_PACKAGE_SQUASHFS # run-time dependency
help
RAUC is the Robust Auto-Update Controller developed by
diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk
index 54974abc09..748da90f38 100644
--- a/package/rauc/rauc.mk
+++ b/package/rauc/rauc.mk
@@ -11,7 +11,7 @@ RAUC_LICENSE = LGPL-2.1
RAUC_LICENSE_FILES = COPYING
RAUC_CPE_ID_VENDOR = pengutronix
RAUC_DEPENDENCIES = host-pkgconf openssl libglib2
-RAUC_CONF_OPTS += -Dtests=false
+RAUC_CONF_OPTS += -Dtests=false -Dpkcs11_engine=false
ifeq ($(BR2_PACKAGE_RAUC_DBUS),y)
RAUC_CONF_OPTS += -Dservice=true
@@ -71,6 +71,7 @@ HOST_RAUC_DEPENDENCIES = \
HOST_RAUC_CONF_OPTS += \
-Djson=enabled \
-Dnetwork=false \
+ -Dpkcs11_engine=false \
-Dstreaming=false \
-Dservice=false \
-Dtests=false
diff --git a/package/softhsm2/Config.in b/package/softhsm2/Config.in
index c790e7a2b0..c22a371cba 100644
--- a/package/softhsm2/Config.in
+++ b/package/softhsm2/Config.in
@@ -7,7 +7,6 @@ config BR2_PACKAGE_SOFTHSM2
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES
- select BR2_PACKAGE_LIBOPENSSL_ENGINES
help
SoftHSM is an implementation of a cryptographic store
accessible through a PKCS#11 interface. You can use it
diff --git a/package/unbound/Config.in b/package/unbound/Config.in
index c8d697113c..ae2ebfd975 100644
--- a/package/unbound/Config.in
+++ b/package/unbound/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_UNBOUND
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_LIBEVENT
- select BR2_PACKAGE_LIBOPENSSL_ENGINES if BR2_PACKAGE_LIBOPENSSL
select BR2_PACKAGE_OPENSSL
help
Unbound is a validating, recursive, and caching DNS resolver.
diff --git a/package/unbound/unbound.mk b/package/unbound/unbound.mk
index d6886d4a5d..938f656e94 100644
--- a/package/unbound/unbound.mk
+++ b/package/unbound/unbound.mk
@@ -12,6 +12,7 @@ UNBOUND_LICENSE = BSD-3-Clause
UNBOUND_LICENSE_FILES = LICENSE
UNBOUND_CPE_ID_VENDOR = nlnetlabs
UNBOUND_CONF_OPTS = \
+ --disable-gost \
--disable-rpath \
--disable-debug \
--with-conf-file=/etc/unbound/unbound.conf \
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 64/84] package/libcamera-apps: bump version to 1.10.1
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (62 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 63/84] package/libopenssl: bump version to 4.0.3 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 66/84] package/libcec: bump version to 8.1.7 Bernd Kuhls
` (20 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot; +Cc: Marcus Folkesson
This bump adds compatibility with ffmpeg 8.x while support for older
versions of ffmpeg was removed upstream:
https://github.com/raspberrypi/rpicam-apps/commit/cbe9921eeddd8e1c2e5798102f485baea5de3f65
Removed patch 0002 which is included in this release.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Cc: Marcus Folkesson <marcus.folkesson@gmail.com>
---
...ore-Switch-libcamera-string-controls.patch | 46 -------------------
package/libcamera-apps/libcamera-apps.hash | 3 +-
package/libcamera-apps/libcamera-apps.mk | 5 +-
3 files changed, 5 insertions(+), 49 deletions(-)
delete mode 100644 package/libcamera-apps/0002-core-Switch-libcamera-string-controls.patch
diff --git a/package/libcamera-apps/0002-core-Switch-libcamera-string-controls.patch b/package/libcamera-apps/0002-core-Switch-libcamera-string-controls.patch
deleted file mode 100644
index fcebffe3da..0000000000
--- a/package/libcamera-apps/0002-core-Switch-libcamera-string-controls.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f3011b5fae183a463630b4168626dfefe9b4c74e Mon Sep 17 00:00:00 2001
-From: Naushir Patuck <naush@raspberrypi.com>
-Date: Thu, 16 Oct 2025 14:45:33 +0100
-Subject: [PATCH] core: Switch libcamera string controls to use
- std::string_view
-
-This is a change to the libcamera API, switch to std::string_view from
-std::string.
-
-Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
-
-Upstream: https://github.com/raspberrypi/rpicam-apps/commit/f3011b5fae183a463630b4168626dfefe9b4c74e
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- core/options.cpp | 2 +-
- core/rpicam_app.cpp | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/core/options.cpp b/core/options.cpp
-index cf704c2a..d3296548 100644
---- a/core/options.cpp
-+++ b/core/options.cpp
-@@ -418,7 +418,7 @@ bool OptsInternal::Parse(boost::program_options::variables_map &vm, RPiCamApp *a
- std::vector<std::shared_ptr<libcamera::Camera>> cameras = app->GetCameras();
- if (camera < cameras.size())
- {
-- const std::string cam_id = *cameras[camera]->properties().get(libcamera::properties::Model);
-+ const std::string_view cam_id = *cameras[camera]->properties().get(libcamera::properties::Model);
-
- if (cam_id.find("imx708") != std::string::npos)
- {
-diff --git a/core/rpicam_app.cpp b/core/rpicam_app.cpp
-index 9e5a2d0c..0f0b5ffa 100644
---- a/core/rpicam_app.cpp
-+++ b/core/rpicam_app.cpp
-@@ -128,8 +128,7 @@ std::string const &RPiCamApp::CameraId() const
-
- std::string RPiCamApp::CameraModel() const
- {
-- auto model = camera_->properties().get(properties::Model);
-- return model ? *model : camera_->id();
-+ return std::string(camera_->properties().get(properties::Model).value_or(camera_->id()));
- }
-
- void RPiCamApp::OpenCamera()
diff --git a/package/libcamera-apps/libcamera-apps.hash b/package/libcamera-apps/libcamera-apps.hash
index b11ea7fe67..e329e30eac 100644
--- a/package/libcamera-apps/libcamera-apps.hash
+++ b/package/libcamera-apps/libcamera-apps.hash
@@ -1,3 +1,4 @@
+# From https://github.com/raspberrypi/rpicam-apps/releases/tag/v1.10.1
+sha256 5b261f4fc05f63d13223fc17951c64aa257e76a9a85b4772e3eb058b42f4631c rpicam-apps_1.10.1.orig.tar.xz
# Locally computed
-sha256 b5535933ebc398616fd1b261fa9e3755dfb419e10ee7866078a8a8d99f54a59a libcamera-apps-v1.7.0-10-ge9645231008146fa0e75c2b3e0ff8c48ad70511a.tar.gz
sha256 36dfed86bdef661a0a14ec1a1cc84c771d5a06b6f9b92e9ebb610ba711bd528a license.txt
diff --git a/package/libcamera-apps/libcamera-apps.mk b/package/libcamera-apps/libcamera-apps.mk
index df7be41496..9074e4a5c4 100644
--- a/package/libcamera-apps/libcamera-apps.mk
+++ b/package/libcamera-apps/libcamera-apps.mk
@@ -4,8 +4,9 @@
#
################################################################################
-LIBCAMERA_APPS_VERSION = v1.7.0-10-ge9645231008146fa0e75c2b3e0ff8c48ad70511a
-LIBCAMERA_APPS_SITE = $(call github,raspberrypi,rpicam-apps,$(LIBCAMERA_APPS_VERSION))
+LIBCAMERA_APPS_VERSION = 1.10.1
+LIBCAMERA_APPS_SITE = https://github.com/raspberrypi/rpicam-apps/releases/download/v$(LIBCAMERA_APPS_VERSION)
+LIBCAMERA_APPS_SOURCE = rpicam-apps_$(LIBCAMERA_APPS_VERSION).orig.tar.xz
LIBCAMERA_APPS_LICENSE = BSD-2-Clause
LIBCAMERA_APPS_LICENSE_FILES = license.txt
LIBCAMERA_APPS_DEPENDENCIES = \
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 66/84] package/libcec: bump version to 8.1.7
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (63 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 64/84] package/libcamera-apps: bump version to 1.10.1 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 16:16 ` Peter Korsgaard
2026-10-06 16:20 ` [Buildroot] [PATCH v8 67/84] package/libplatform: remove package Bernd Kuhls
` (19 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
https://github.com/Pulse-Eight/libcec/blob/libcec-8.1.7/debian/changelog.in
Removed patches which are included in this release.
Removed dependency to libplatform due to upstream commit:
https://github.com/Pulse-Eight/libcec/commit/332bca975a71d8e876b66dc6a7fca938b49b1831
Updated license hash due to upstream commits:
https://github.com/Pulse-Eight/libcec/commits/libcec-8.1.7/LICENSE.md
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...DeviceLanguage-accepts-3-char-ISO-co.patch | 66 ----------------
...Python-wrapper-against-SWIG-4.5-whic.patch | 78 -------------------
package/libcec/Config.in | 1 -
package/libcec/libcec.hash | 4 +-
package/libcec/libcec.mk | 4 +-
5 files changed, 4 insertions(+), 149 deletions(-)
delete mode 100644 package/libcec/0001-fixed-Python-strDeviceLanguage-accepts-3-char-ISO-co.patch
delete mode 100644 package/libcec/0002-fixed-build-the-Python-wrapper-against-SWIG-4.5-whic.patch
diff --git a/package/libcec/0001-fixed-Python-strDeviceLanguage-accepts-3-char-ISO-co.patch b/package/libcec/0001-fixed-Python-strDeviceLanguage-accepts-3-char-ISO-co.patch
deleted file mode 100644
index e2a86e1f7e..0000000000
--- a/package/libcec/0001-fixed-Python-strDeviceLanguage-accepts-3-char-ISO-co.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From f53490e23037f17b68043f5e1ff2f4378d227d56 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Mon, 13 Jul 2026 15:24:27 +0200
-Subject: [PATCH] fixed: Python strDeviceLanguage accepts 3-char ISO codes
- (SWIG char[3] typemap)
-
-The SWIG default char[ANY] setter uses SWIG_AsCharArray, which reserves a
-byte for a NUL terminator. strDeviceLanguage is a raw, non-terminated
-char[3] holding a 3-character ISO 639-2 code, so a valid 3-char value needs
-4 bytes and overflowed the buffer, raising a TypeError; only 2-char codes
-fit. Add member-name-scoped in/memberin typemaps that copy the raw bytes
-(str or bytes) so 3-char codes assign correctly. Scoped by name so the
-NUL-terminated strDeviceName keeps the default behaviour.
-
-Upstream: https://github.com/Pulse-Eight/libcec/commit/f53490e23037f17b68043f5e1ff2f4378d227d56
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- src/libcec/libcec.i | 31 +++++++++++++++++++++++++++++++
- 1 file changed, 31 insertions(+)
-
-diff --git a/src/libcec/libcec.i b/src/libcec/libcec.i
-index a01f9afc..520ff7af 100644
---- a/src/libcec/libcec.i
-+++ b/src/libcec/libcec.i
-@@ -15,6 +15,37 @@
- $result = PyString_FromString($1.name);
- }
-
-+/////// libcec_configuration::strDeviceLanguage ///////
-+// strDeviceLanguage is a raw, fixed-size char[3] that is NOT NUL-terminated (a
-+// 3-character ISO 639-2 code). SWIG's default char[ANY] setter reserves a byte
-+// for a terminator, so a valid 3-char code needs 4 bytes and overflows the
-+// buffer, raising a TypeError; only 2-char codes fit. Copy the raw bytes
-+// instead (accepting str or bytes), scoped to this member by name so the
-+// NUL-terminated strDeviceName keeps the default behaviour.
-+%typemap(in) char strDeviceLanguage[ANY] (char temp[$1_dim0]) {
-+ char *cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
-+ int res = SWIG_AsCharPtrAndSize($input, &cptr, &csize, &alloc);
-+ if (!SWIG_IsOK(res)) {
-+ %argument_fail(res, "char [$1_dim0]", $symname, $argnum);
-+ }
-+ {
-+ /* csize counts the trailing NUL; strDeviceLanguage stores no terminator */
-+ size_t slen = (csize > 0) ? csize - 1 : 0;
-+ if (slen > (size_t)($1_dim0)) {
-+ if (alloc == SWIG_NEWOBJ) %delete_array(cptr);
-+ %argument_fail(SWIG_ValueError, "char [$1_dim0]", $symname, $argnum);
-+ }
-+ memset(temp, 0, $1_dim0);
-+ if (slen) memcpy(temp, cptr, slen);
-+ }
-+ $1 = temp;
-+ if (alloc == SWIG_NEWOBJ) %delete_array(cptr);
-+}
-+
-+%typemap(memberin) char strDeviceLanguage[ANY] {
-+ memcpy($1, $input, $1_dim0 * sizeof(char));
-+}
-+
- /////// replace operator[]() ///////
-
- // CEC::cec_datapacket::operator[]()
---
-2.47.3
-
diff --git a/package/libcec/0002-fixed-build-the-Python-wrapper-against-SWIG-4.5-whic.patch b/package/libcec/0002-fixed-build-the-Python-wrapper-against-SWIG-4.5-whic.patch
deleted file mode 100644
index 351091e17d..0000000000
--- a/package/libcec/0002-fixed-build-the-Python-wrapper-against-SWIG-4.5-whic.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 55f3443559b0b32a1d7194e424727575faf6f7d4 Mon Sep 17 00:00:00 2001
-From: Lars Op den Kamp <lars@opdenkamp.eu>
-Date: Fri, 31 Jul 2026 14:46:27 +0200
-Subject: [PATCH] fixed: build the Python wrapper against SWIG 4.5, which
- removed the Python 2 compatibility macros
-
-SWIG 4.5 dropped the PyInt_*/PyString_* macros that pyhead.swg used to define
-for user typemaps. Two places here relied on them.
-
-The callback return handling keeps a PY_MAJOR_VERSION guard rather than moving
-to the Python 3 API outright, because the x86 Windows build still targets
-Python 2 for the EventGhost plugin. A Python 2 int is a PyIntObject, not a
-PyLongObject, so an unguarded PyLong_Check would compile there and then
-silently read every commandHandler and menuStateChanged return value as 0 - the
-one thing those callbacks exist to report. SWIG never reads SwigHelper.h, so
-the C preprocessor makes the choice and the file is SWIG-version independent.
-
-The cec_osd_name out-typemap is deleted rather than fixed, because it is dead:
-GetDeviceOSDName returns std::string, and cec_osd_name only survives as an out
-parameter in the C API, which is not wrapped. It could not have compiled if it
-ever did fire - cec_osd_name is a typedef for char[14], so the $1.name it
-dereferences has no member to name. Removing it leaves the generated wrapper
-byte-for-byte identical.
-
-Verified by preprocessing SwigHelper.h against both Python 3.10 and Python 2.7:
-Python 3 resolves to PyObject_CallObject/PyLong_AsLong with no removed macro
-surviving anywhere, Python 2 to PyEval_CallObject/PyInt_AsLong.
-
-closes #726
-
-Upstream: https://github.com/Pulse-Eight/libcec/commit/55f3443559b0b32a1d7194e424727575faf6f7d4
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- src/libcec/SwigHelper.h | 9 +++++++++
- src/libcec/libcec.i | 4 ----
- 2 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/src/libcec/SwigHelper.h b/src/libcec/SwigHelper.h
-index 3c40fc87..0752acb2 100644
---- a/src/libcec/SwigHelper.h
-+++ b/src/libcec/SwigHelper.h
-@@ -137,8 +137,17 @@ namespace CEC
- Py_DECREF(arglist);
- if (!!result)
- {
-+ /** SWIG 4.5 removed the PyInt_* compatibility macros it used to define
-+ for Python 3, so call the version-appropriate API directly. Note that
-+ a Python 2 int is a PyIntObject, not a PyLongObject, so PyLong_Check
-+ would silently reject it there. */
-+ #if (PY_MAJOR_VERSION < 3)
- if (PyInt_Check(result))
- retval = (int)PyInt_AsLong(result);
-+ #else // (PY_MAJOR_VERSION >= 3)
-+ if (PyLong_Check(result))
-+ retval = (int)PyLong_AsLong(result);
-+ #endif
- Py_XDECREF(result);
- }
- }
-diff --git a/src/libcec/libcec.i b/src/libcec/libcec.i
-index 520ff7af..0d757aa1 100644
---- a/src/libcec/libcec.i
-+++ b/src/libcec/libcec.i
-@@ -11,10 +11,6 @@
-
- %ignore *::operator=;
-
--%typemap(out) CEC::cec_osd_name {
-- $result = PyString_FromString($1.name);
--}
--
- /////// libcec_configuration::strDeviceLanguage ///////
- // strDeviceLanguage is a raw, fixed-size char[3] that is NOT NUL-terminated (a
- // 3-character ISO 639-2 code). SWIG's default char[ANY] setter reserves a byte
---
-2.47.3
-
diff --git a/package/libcec/Config.in b/package/libcec/Config.in
index 2dddc53635..7eff540f38 100644
--- a/package/libcec/Config.in
+++ b/package/libcec/Config.in
@@ -5,7 +5,6 @@ config BR2_PACKAGE_LIBCEC
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
- select BR2_PACKAGE_LIBPLATFORM
help
libcec allows you in combination with the right hardware to
control your home theater devices with your TV remote
diff --git a/package/libcec/libcec.hash b/package/libcec/libcec.hash
index b04c724668..d5fa11cf04 100644
--- a/package/libcec/libcec.hash
+++ b/package/libcec/libcec.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 7f7da95a4c1e7160d42ca37a3ac80cf6f389b317e14816949e0fa5e2edf4cc64 libcec-7.1.1.tar.gz
-sha256 0137261d24ce001fc5237aacddd267533e0f150ac23cf21acffea599f7358f7a LICENSE.md
+sha256 e4ac4d1dd3559cf83189d29ab40fc5537b5a2beceb82916ef173dac7e50dbfa0 libcec-8.1.7.tar.gz
+sha256 088a32f3caf17e6e76a1a287af32abda65211049593127beb221769f4adfebca LICENSE.md
diff --git a/package/libcec/libcec.mk b/package/libcec/libcec.mk
index 0e730503da..380411e15d 100644
--- a/package/libcec/libcec.mk
+++ b/package/libcec/libcec.mk
@@ -4,13 +4,13 @@
#
################################################################################
-LIBCEC_VERSION = 7.1.1
+LIBCEC_VERSION = 8.1.7
LIBCEC_SITE = $(call github,Pulse-Eight,libcec,libcec-$(LIBCEC_VERSION))
LIBCEC_LICENSE = GPL-2.0+
LIBCEC_LICENSE_FILES = LICENSE.md
LIBCEC_INSTALL_STAGING = YES
-LIBCEC_DEPENDENCIES = host-pkgconf libplatform
+LIBCEC_DEPENDENCIES = host-pkgconf
ifeq ($(BR2_PACKAGE_HAS_LIBUDEV),y)
LIBCEC_DEPENDENCIES += libudev
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 67/84] package/libplatform: remove package
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (64 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 66/84] package/libcec: bump version to 8.1.7 Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-10 16:20 ` Peter Korsgaard
2026-10-06 16:20 ` [Buildroot] [PATCH v8 68/84] package/bento4: bump version to 1.6.0-641-6-Piers Bernd Kuhls
` (18 subsequent siblings)
84 siblings, 1 reply; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
The last package depending on libplatform, libcec, removed its
dependency:
https://github.com/Pulse-Eight/libcec/commit/332bca975a71d8e876b66dc6a7fca938b49b1831
The maintainer of both libcec and libplatform has put libplatform into
maintenance mode: "Don't use this library in new projects."
https://github.com/Pulse-Eight/platform/commit/97332651ddfb3df9240dfd4227ac35484f8c4341
so we can safely remove the package from buildroot.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Config.in.legacy | 7 +++++++
DEVELOPERS | 1 -
package/Config.in | 1 -
package/libplatform/Config.in | 7 -------
package/libplatform/libplatform.hash | 3 ---
package/libplatform/libplatform.mk | 13 -------------
6 files changed, 7 insertions(+), 25 deletions(-)
delete mode 100644 package/libplatform/Config.in
delete mode 100644 package/libplatform/libplatform.hash
delete mode 100644 package/libplatform/libplatform.mk
diff --git a/Config.in.legacy b/Config.in.legacy
index 16d530e273..552cc1a890 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -286,6 +286,13 @@ config BR2_PACKAGE_WESTON_SHELL_FULLSCREEN
comment "Legacy options removed in 2026.08"
+config BR2_PACKAGE_LIBPLATFORM
+ bool "libplatform removed"
+ select BR2_LEGACY
+ help
+ libplatform was no longer maintained upstream, so it has
+ been dropped.
+
config BR2_PACKAGE_FLUIDSYNTH_SDL2
bool "fluidsynth sdl2 audio support removed"
select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index 9f5cc3819a..8fd68d8efe 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -447,7 +447,6 @@ F: package/libogg/
F: package/libopenh264/
F: package/libpciaccess/
F: package/libplacebo/
-F: package/libplatform/
F: package/libpng/
F: package/libsidplay2/
F: package/libsilk/
diff --git a/package/Config.in b/package/Config.in
index 63d121ad5a..87fbcf446e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2238,7 +2238,6 @@ menu "Other"
source "package/libosmium/Config.in"
source "package/libpeas/Config.in"
source "package/libpfm4/Config.in"
- source "package/libplatform/Config.in"
source "package/libplist/Config.in"
source "package/libpthread-stubs/Config.in"
source "package/libpthsem/Config.in"
diff --git a/package/libplatform/Config.in b/package/libplatform/Config.in
deleted file mode 100644
index ade6baf2c2..0000000000
--- a/package/libplatform/Config.in
+++ /dev/null
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_LIBPLATFORM
- bool
- help
- Platform support library used by libCEC and binary add-ons for
- Kodi
-
- https://github.com/Pulse-Eight/platform
diff --git a/package/libplatform/libplatform.hash b/package/libplatform/libplatform.hash
deleted file mode 100644
index 5fead5eb95..0000000000
--- a/package/libplatform/libplatform.hash
+++ /dev/null
@@ -1,3 +0,0 @@
-# Locally computed
-sha256 2ab98ba486b28dd9c31e9f0f8a04eddad12c09ad1951c359fdef475baafba296 libplatform-2748be52ae27e6007ef548b697d4a03ff7de4291.tar.gz
-sha256 0137261d24ce001fc5237aacddd267533e0f150ac23cf21acffea599f7358f7a LICENSE.md
diff --git a/package/libplatform/libplatform.mk b/package/libplatform/libplatform.mk
deleted file mode 100644
index aeded5e9a7..0000000000
--- a/package/libplatform/libplatform.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-################################################################################
-#
-# libplatform
-#
-################################################################################
-
-LIBPLATFORM_VERSION = 2748be52ae27e6007ef548b697d4a03ff7de4291
-LIBPLATFORM_SITE = $(call github,Pulse-Eight,platform,$(LIBPLATFORM_VERSION))
-LIBPLATFORM_LICENSE = GPL-2.0+
-LIBPLATFORM_LICENSE_FILES = LICENSE.md
-LIBPLATFORM_INSTALL_STAGING = YES
-
-$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 68/84] package/bento4: bump version to 1.6.0-641-6-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (65 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 67/84] package/libplatform: remove package Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 69/84] package/kodi: bump to 22.0rc1-Piers Bernd Kuhls
` (17 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
https://github.com/xbmc/Bento4/releases
Removed -std=c++11 from cflags due to upstream commit which added
compatibility with c++20:
https://github.com/xbmc/Bento4/commit/9380a868a74252fa53c80174a3e942168e6c0d85
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/bento4/bento4.hash | 2 +-
package/bento4/bento4.mk | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/bento4/bento4.hash b/package/bento4/bento4.hash
index b933c74d2d..bbb10785d1 100644
--- a/package/bento4/bento4.hash
+++ b/package/bento4/bento4.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 f1f8cfa4f7cb651b609e587f825607cb4b06fe5b08af876fd0154a434f9a5315 bento4-1.6.0-641-Omega.tar.gz
+sha256 cb5006cd30889238760556e6148f69be34fef4dc48e8d895a9822f805504a5c0 bento4-1.6.0-641-6-Piers.tar.gz
sha256 7daae92c8628ada28def8d096fe2fde298b72ec3e2d64a3c408afce38edb361b Documents/LICENSE.txt
diff --git a/package/bento4/bento4.mk b/package/bento4/bento4.mk
index 569e320a2f..bb91c9b65b 100644
--- a/package/bento4/bento4.mk
+++ b/package/bento4/bento4.mk
@@ -4,7 +4,7 @@
#
################################################################################
-BENTO4_VERSION = 1.6.0-641-Omega
+BENTO4_VERSION = 1.6.0-641-6-Piers
BENTO4_SITE = $(call github,xbmc,Bento4,$(BENTO4_VERSION))
BENTO4_INSTALL_STAGING = YES
BENTO4_LICENSE = GPL-2.0+
@@ -20,6 +20,6 @@ endif
BENTO4_CONF_OPTS += \
-DBUILD_APPS=OFF \
- -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -std=c++11 -fPIC -DAP4_PLATFORM_BYTE_ORDER=$(BENTO4_BYTE_ORDER)"
+ -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fPIC -DAP4_PLATFORM_BYTE_ORDER=$(BENTO4_BYTE_ORDER)"
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 69/84] package/kodi: bump to 22.0rc1-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (66 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 68/84] package/bento4: bump version to 1.6.0-641-6-Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 70/84] package/kodi-audiodecoder-*: mass version bump to Piers Bernd Kuhls
` (16 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Removed patch from kodi-texturepacker which is included in this release.
Removed patches 0002-0006 which are included in this release.
Added dependency to exiv2:
https://github.com/xbmc/xbmc/commit/197a3e6d2e80878f5f3f827b3a9073118b59bd51
Replaced dependency rapidjson with nlohmann-json:
https://github.com/xbmc/xbmc/commit/d6d2cac380ea127c2a64a998a31622debe149d3b
The mandatory dependency to libcdio was moved to optional optical drives
support:
https://github.com/xbmc/xbmc/commit/11289a597a88d809f39d3c23aa7eae6325a5263c
Remove -DCMAKE_MODULE_PATH from host-kodi-texturepacker, which was used
to find FindLzo2.cmake, after upstream commit
https://github.com/xbmc/xbmc/commit/3eb5196bf79759682aa0eb20b0b4830c083f81a5
added a version of FindLzo2.cmake specifically for the host build of
texturepacker.
Bumped versions of libdvd libraries following upstream commit:
https://github.com/xbmc/xbmc/commit/8550a0079481de6de1a1e9eb55cc6aec822e3ffe
Upstream commit
https://github.com/xbmc/xbmc/commit/4719e45848e3aeda84f07247fcad03b0744d6833
switched to the generation of Python bindings directly with SWIG and
dropped the usage of Java/Groovy.
Removed configure option PYTHON_EXECUTABLE due to upstream commit
https://github.com/xbmc/xbmc/commit/45c6459b6ea6d2ecb6a1ae7d4056ca4fb96535cf
Removed wayland-scanner options due to upstream commits
https://github.com/xbmc/xbmc/commit/8611aef2a092c0027d7bb22a93721cc11bfcc76b
https://github.com/xbmc/xbmc/commit/34e7dd3d166eaa8d0d57c4552129b05281e27142
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../kodi-jsonschemabuilder.mk | 2 +-
...rePacker-allow-build-with-giflib-6.x.patch | 71 ---
.../kodi-texturepacker/kodi-texturepacker.mk | 3 +-
...rePacker-allow-build-with-giflib-6.x.patch | 71 ---
.../0003-RegExp-remove-unused-methods.patch | 127 -----
.../0004-Introduce-PCRE2-dependency.patch | 192 -------
...igrate-PCRE-to-PCRE2-and-remove-PCRE.patch | 486 ------------------
...006-cmake-Set-ARCH-to-CPU-by-default.patch | 41 --
package/kodi/Config.in | 8 +-
package/kodi/kodi.hash | 15 +-
package/kodi/kodi.mk | 52 +-
11 files changed, 29 insertions(+), 1039 deletions(-)
delete mode 100644 package/kodi-texturepacker/0001-TexturePacker-allow-build-with-giflib-6.x.patch
delete mode 100644 package/kodi/0002-TexturePacker-allow-build-with-giflib-6.x.patch
delete mode 100644 package/kodi/0003-RegExp-remove-unused-methods.patch
delete mode 100644 package/kodi/0004-Introduce-PCRE2-dependency.patch
delete mode 100644 package/kodi/0005-Migrate-PCRE-to-PCRE2-and-remove-PCRE.patch
delete mode 100644 package/kodi/0006-cmake-Set-ARCH-to-CPU-by-default.patch
diff --git a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
index 3e61e1af9f..b8fb336a22 100644
--- a/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
+++ b/package/kodi-jsonschemabuilder/kodi-jsonschemabuilder.mk
@@ -6,7 +6,7 @@
# Not possible to directly refer to kodi variables, because of
# first/second expansion trickery...
-KODI_JSONSCHEMABUILDER_VERSION = 21.3-Omega
+KODI_JSONSCHEMABUILDER_VERSION = 22.0rc1-Piers
KODI_JSONSCHEMABUILDER_SITE = $(call github,xbmc,xbmc,$(KODI_JSONSCHEMABUILDER_VERSION))
KODI_JSONSCHEMABUILDER_SOURCE = kodi-$(KODI_JSONSCHEMABUILDER_VERSION).tar.gz
KODI_JSONSCHEMABUILDER_DL_SUBDIR = kodi
diff --git a/package/kodi-texturepacker/0001-TexturePacker-allow-build-with-giflib-6.x.patch b/package/kodi-texturepacker/0001-TexturePacker-allow-build-with-giflib-6.x.patch
deleted file mode 100644
index 5a23237375..0000000000
--- a/package/kodi-texturepacker/0001-TexturePacker-allow-build-with-giflib-6.x.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 29492cbd20d4c90a9c00a30ab525d4d0e81a968b Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum <rudi@heitbaum.com>
-Date: Sun, 15 Mar 2026 11:38:16 +0000
-Subject: [PATCH] TexturePacker: allow build with giflib 6.x
-
-Current #if clauses are written with a maximum of giflib 5 written in,
-update the to >= to allow for newer versiosn of the giflib api.
-
-Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
-
-Upstream: https://github.com/xbmc/xbmc/pull/28016
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- .../native/TexturePacker/src/decoder/GifHelper.cpp | 8 ++++----
- .../depends/native/TexturePacker/src/decoder/GifHelper.h | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-index eb513134b3eb8..b216ecbcef7fa 100644
---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-@@ -52,7 +52,7 @@ GifHelper::~GifHelper()
- bool GifHelper::Open(GifFileType*& gif, void *dataPtr, InputFunc readFunc)
- {
- int err = 0;
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- gif = DGifOpen(dataPtr, readFunc, &err);
- #else
- gif = DGifOpen(dataPtr, readFunc);
-@@ -73,7 +73,7 @@ void GifHelper::Close(GifFileType* gif)
- {
- int err = 0;
- int reason = 0;
--#if GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1
-+#if (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1) || GIFLIB_MAJOR >= 6
- err = DGifCloseFile(gif, &reason);
- #else
- err = DGifCloseFile(gif);
-@@ -181,7 +181,7 @@ bool GifHelper::Slurp(GifFileType* gif)
- if (DGifSlurp(gif) == GIF_ERROR)
- {
- int reason = 0;
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- reason = gif->Error;
- #else
- reason = GifLastError();
-@@ -246,7 +246,7 @@ bool GifHelper::GcbToFrame(GifFrame &frame, unsigned int imgIdx)
-
- if (m_gif->ImageCount > 0)
- {
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- GraphicsControlBlock gcb;
- if (DGifSavedExtensionToGCB(m_gif, imgIdx, &gcb))
- {
-diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.h b/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-index 6124b69e46296..ce5dca3394b41 100644
---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-@@ -128,7 +128,7 @@ class GifHelper
- bool PrepareTemplate(GifFrame &frame);
- void Release();
-
--#if GIFLIB_MAJOR != 5
-+#if GIFLIB_MAJOR < 5
- /*
- taken from giflib 5.1.0
- */
diff --git a/package/kodi-texturepacker/kodi-texturepacker.mk b/package/kodi-texturepacker/kodi-texturepacker.mk
index 329a2d47f4..81556bc3be 100644
--- a/package/kodi-texturepacker/kodi-texturepacker.mk
+++ b/package/kodi-texturepacker/kodi-texturepacker.mk
@@ -6,7 +6,7 @@
# Not possible to directly refer to kodi variables, because of
# first/second expansion trickery...
-KODI_TEXTUREPACKER_VERSION = 21.3-Omega
+KODI_TEXTUREPACKER_VERSION = 22.0rc1-Piers
KODI_TEXTUREPACKER_SITE = $(call github,xbmc,xbmc,$(KODI_TEXTUREPACKER_VERSION))
KODI_TEXTUREPACKER_SOURCE = kodi-$(KODI_TEXTUREPACKER_VERSION).tar.gz
KODI_TEXTUREPACKER_DL_SUBDIR = kodi
@@ -29,7 +29,6 @@ HOST_KODI_TEXTUREPACKER_CXXFLAGS = \
HOST_KODI_TEXTUREPACKER_CONF_OPTS += \
-DCMAKE_CXX_FLAGS="$(HOST_KODI_TEXTUREPACKER_CXXFLAGS)" \
- -DCMAKE_MODULE_PATH=$(@D)/cmake/modules \
-DKODI_SOURCE_DIR=$(@D) \
-Wno-dev
diff --git a/package/kodi/0002-TexturePacker-allow-build-with-giflib-6.x.patch b/package/kodi/0002-TexturePacker-allow-build-with-giflib-6.x.patch
deleted file mode 100644
index 5a23237375..0000000000
--- a/package/kodi/0002-TexturePacker-allow-build-with-giflib-6.x.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 29492cbd20d4c90a9c00a30ab525d4d0e81a968b Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum <rudi@heitbaum.com>
-Date: Sun, 15 Mar 2026 11:38:16 +0000
-Subject: [PATCH] TexturePacker: allow build with giflib 6.x
-
-Current #if clauses are written with a maximum of giflib 5 written in,
-update the to >= to allow for newer versiosn of the giflib api.
-
-Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
-
-Upstream: https://github.com/xbmc/xbmc/pull/28016
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- .../native/TexturePacker/src/decoder/GifHelper.cpp | 8 ++++----
- .../depends/native/TexturePacker/src/decoder/GifHelper.h | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-index eb513134b3eb8..b216ecbcef7fa 100644
---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
-@@ -52,7 +52,7 @@ GifHelper::~GifHelper()
- bool GifHelper::Open(GifFileType*& gif, void *dataPtr, InputFunc readFunc)
- {
- int err = 0;
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- gif = DGifOpen(dataPtr, readFunc, &err);
- #else
- gif = DGifOpen(dataPtr, readFunc);
-@@ -73,7 +73,7 @@ void GifHelper::Close(GifFileType* gif)
- {
- int err = 0;
- int reason = 0;
--#if GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1
-+#if (GIFLIB_MAJOR == 5 && GIFLIB_MINOR >= 1) || GIFLIB_MAJOR >= 6
- err = DGifCloseFile(gif, &reason);
- #else
- err = DGifCloseFile(gif);
-@@ -181,7 +181,7 @@ bool GifHelper::Slurp(GifFileType* gif)
- if (DGifSlurp(gif) == GIF_ERROR)
- {
- int reason = 0;
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- reason = gif->Error;
- #else
- reason = GifLastError();
-@@ -246,7 +246,7 @@ bool GifHelper::GcbToFrame(GifFrame &frame, unsigned int imgIdx)
-
- if (m_gif->ImageCount > 0)
- {
--#if GIFLIB_MAJOR == 5
-+#if GIFLIB_MAJOR >= 5
- GraphicsControlBlock gcb;
- if (DGifSavedExtensionToGCB(m_gif, imgIdx, &gcb))
- {
-diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.h b/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-index 6124b69e46296..ce5dca3394b41 100644
---- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.h
-@@ -128,7 +128,7 @@ class GifHelper
- bool PrepareTemplate(GifFrame &frame);
- void Release();
-
--#if GIFLIB_MAJOR != 5
-+#if GIFLIB_MAJOR < 5
- /*
- taken from giflib 5.1.0
- */
diff --git a/package/kodi/0003-RegExp-remove-unused-methods.patch b/package/kodi/0003-RegExp-remove-unused-methods.patch
deleted file mode 100644
index 5f8e1af411..0000000000
--- a/package/kodi/0003-RegExp-remove-unused-methods.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 4dd017b2eae39356cda0d96a2f5743dbb8ccf299 Mon Sep 17 00:00:00 2001
-From: fuzzard <fuzzard@kodi.tv>
-Date: Sun, 2 Jun 2024 12:13:01 +1000
-Subject: [PATCH] RegExp remove unused methods
-
-Upstream: https://github.com/xbmc/xbmc/commit/5df2e57368cf5867f588d00a503eb624e5121460
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- xbmc/utils/RegExp.cpp | 30 ------------------------------
- xbmc/utils/RegExp.h | 5 -----
- xbmc/utils/test/TestRegExp.cpp | 17 -----------------
- 3 files changed, 52 deletions(-)
-
-diff --git a/xbmc/utils/RegExp.cpp b/xbmc/utils/RegExp.cpp
-index 9667b646a9..40263a28eb 100644
---- a/xbmc/utils/RegExp.cpp
-+++ b/xbmc/utils/RegExp.cpp
-@@ -485,11 +485,6 @@ int CRegExp::GetSubStart(int iSub) const
- return m_iOvector[iSub*2] + m_offset;
- }
-
--int CRegExp::GetSubStart(const std::string& subName) const
--{
-- return GetSubStart(GetNamedSubPatternNumber(subName.c_str()));
--}
--
- int CRegExp::GetSubLength(int iSub) const
- {
- if (!IsValidSubNumber(iSub))
-@@ -498,11 +493,6 @@ int CRegExp::GetSubLength(int iSub) const
- return m_iOvector[(iSub*2)+1] - m_iOvector[(iSub*2)];
- }
-
--int CRegExp::GetSubLength(const std::string& subName) const
--{
-- return GetSubLength(GetNamedSubPatternNumber(subName.c_str()));
--}
--
- std::string CRegExp::GetMatch(int iSub /* = 0 */) const
- {
- if (!IsValidSubNumber(iSub))
-@@ -516,26 +506,6 @@ std::string CRegExp::GetMatch(int iSub /* = 0 */) const
- return m_subject.substr(pos, len);
- }
-
--std::string CRegExp::GetMatch(const std::string& subName) const
--{
-- return GetMatch(GetNamedSubPatternNumber(subName.c_str()));
--}
--
--bool CRegExp::GetNamedSubPattern(const char* strName, std::string& strMatch) const
--{
-- strMatch.clear();
-- int iSub = pcre_get_stringnumber(m_re, strName);
-- if (!IsValidSubNumber(iSub))
-- return false;
-- strMatch = GetMatch(iSub);
-- return true;
--}
--
--int CRegExp::GetNamedSubPatternNumber(const char* strName) const
--{
-- return pcre_get_stringnumber(m_re, strName);
--}
--
- void CRegExp::DumpOvector(int iLog /* = LOGDEBUG */)
- {
- if (iLog < LOGDEBUG || iLog > LOGNONE)
-diff --git a/xbmc/utils/RegExp.h b/xbmc/utils/RegExp.h
-index 53f6019a8f..feea89cd0d 100644
---- a/xbmc/utils/RegExp.h
-+++ b/xbmc/utils/RegExp.h
-@@ -111,15 +111,10 @@ public:
- };
- int GetSubCount() const { return m_iMatchCount - 1; } // PCRE returns the number of sub-patterns + 1
- int GetSubStart(int iSub) const;
-- int GetSubStart(const std::string& subName) const;
- int GetSubLength(int iSub) const;
-- int GetSubLength(const std::string& subName) const;
- int GetCaptureTotal() const;
- std::string GetMatch(int iSub = 0) const;
-- std::string GetMatch(const std::string& subName) const;
- const std::string& GetPattern() const { return m_pattern; }
-- bool GetNamedSubPattern(const char* strName, std::string& strMatch) const;
-- int GetNamedSubPatternNumber(const char* strName) const;
- void DumpOvector(int iLog);
- /**
- * Check is RegExp object is ready for matching
-diff --git a/xbmc/utils/test/TestRegExp.cpp b/xbmc/utils/test/TestRegExp.cpp
-index d757127417..9435a46aa4 100644
---- a/xbmc/utils/test/TestRegExp.cpp
-+++ b/xbmc/utils/test/TestRegExp.cpp
-@@ -96,19 +96,6 @@ TEST(TestRegExp, GetPattern)
- EXPECT_STREQ("^(Test)\\s*(.*)\\.", regex.GetPattern().c_str());
- }
-
--TEST(TestRegExp, GetNamedSubPattern)
--{
-- CRegExp regex;
-- std::string match;
--
-- EXPECT_TRUE(regex.RegComp("^(?<first>Test)\\s*(?<second>.*)\\."));
-- EXPECT_EQ(0, regex.RegFind("Test string."));
-- EXPECT_TRUE(regex.GetNamedSubPattern("first", match));
-- EXPECT_STREQ("Test", match.c_str());
-- EXPECT_TRUE(regex.GetNamedSubPattern("second", match));
-- EXPECT_STREQ("string", match.c_str());
--}
--
- TEST(TestRegExp, operatorEqual)
- {
- CRegExp regex, regexcopy;
-@@ -117,10 +104,6 @@ TEST(TestRegExp, operatorEqual)
- EXPECT_TRUE(regex.RegComp("^(?<first>Test)\\s*(?<second>.*)\\."));
- regexcopy = regex;
- EXPECT_EQ(0, regexcopy.RegFind("Test string."));
-- EXPECT_TRUE(regexcopy.GetNamedSubPattern("first", match));
-- EXPECT_STREQ("Test", match.c_str());
-- EXPECT_TRUE(regexcopy.GetNamedSubPattern("second", match));
-- EXPECT_STREQ("string", match.c_str());
- }
-
- class TestRegExpLog : public testing::Test
---
-2.47.3
-
diff --git a/package/kodi/0004-Introduce-PCRE2-dependency.patch b/package/kodi/0004-Introduce-PCRE2-dependency.patch
deleted file mode 100644
index d72c9805b6..0000000000
--- a/package/kodi/0004-Introduce-PCRE2-dependency.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From 4a4642b1d7562b553f80da279255a9755a9e20f7 Mon Sep 17 00:00:00 2001
-From: fuzzard <fuzzard@kodi.tv>
-Date: Sun, 2 Jun 2024 13:24:57 +1000
-Subject: [PATCH] Introduce PCRE2 dependency
-
-create PCRE2 in tools/depends/target
-Create Find module for PCRE2
-
-Upstream: https://github.com/xbmc/xbmc/commit/5c24bf262e5cd75b413fcb4c2c5c144d6971d7cc
-
-[Bernd: backported relevant parts to 21.3-Omega]
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- cmake/modules/FindPCRE2.cmake | 151 +++++++++++++++++++++++
- tools/depends/target/pcre2/PCRE2-VERSION | 7 ++
- 2 files changed, 158 insertions(+)
- create mode 100644 cmake/modules/FindPCRE2.cmake
- create mode 100644 tools/depends/target/pcre2/PCRE2-VERSION
-
-diff --git a/cmake/modules/FindPCRE2.cmake b/cmake/modules/FindPCRE2.cmake
-new file mode 100644
-index 0000000000..7e50d5f2c1
---- /dev/null
-+++ b/cmake/modules/FindPCRE2.cmake
-@@ -0,0 +1,151 @@
-+#.rst:
-+# FindPCRE2
-+# --------
-+# Finds the PCRE2 library
-+#
-+# This will define the following imported target::
-+#
-+# ${APP_NAME_LC}::PCRE2 - The PCRE2 library
-+
-+if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
-+
-+ macro(buildPCRE2)
-+ set(PCRE2_VERSION ${${MODULE}_VER})
-+ if(WIN32)
-+ set(PCRE_DEBUG_POSTFIX d)
-+ endif()
-+
-+ set(patches "${CORE_SOURCE_DIR}/tools/depends/target/${MODULE_LC}/001-all-enable_docs_pc.patch"
-+ "${CORE_SOURCE_DIR}/tools/depends/target/${MODULE_LC}/002-all-cmake-config-installdir.patch")
-+
-+ generate_patchcommand("${patches}")
-+
-+ set(CMAKE_ARGS -DBUILD_STATIC_LIBS=ON
-+ -DPCRE2_BUILD_PCRE2_8=ON
-+ -DPCRE2_BUILD_PCRE2_16=OFF
-+ -DPCRE2_BUILD_PCRE2_32=OFF
-+ -DPCRE2_SUPPORT_JIT=ON
-+ -DPCRE2_SUPPORT_UNICODE=ON
-+ -DPCRE2_BUILD_PCRE2GREP=OFF
-+ -DPCRE2_BUILD_TESTS=OFF
-+ -DENABLE_DOCS=OFF)
-+
-+ if(CORE_SYSTEM_NAME STREQUAL darwin_embedded)
-+ list(APPEND CMAKE_ARGS -DPCRE2_SUPPORT_JIT=OFF)
-+ endif()
-+
-+ set(${CMAKE_FIND_PACKAGE_NAME}_COMPILEDEFINITIONS PCRE2_STATIC)
-+
-+ BUILD_DEP_TARGET()
-+ endmacro()
-+
-+ include(cmake/scripts/common/ModuleHelpers.cmake)
-+
-+ set(MODULE_LC pcre2)
-+
-+ SETUP_BUILD_VARS()
-+
-+ if(KODI_DEPENDSBUILD OR (WIN32 OR WINDOWS_STORE))
-+ set(PCRE2_USE_STATIC_LIBS ON)
-+ endif()
-+
-+ # Check for existing PCRE2. If version >= PCRE2-VERSION file version, dont build
-+ find_package(PCRE2 CONFIG COMPONENTS 8BIT QUIET)
-+
-+ if((PCRE2_VERSION VERSION_LESS ${${MODULE}_VER} AND ENABLE_INTERNAL_PCRE2) OR
-+ ((CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) AND ENABLE_INTERNAL_PCRE2))
-+ buildPCRE2()
-+ else()
-+ # if PCRE2::8BIT target exists, it meets version requirements
-+ # we only do a pkgconfig search when a suitable cmake config returns nothing
-+ if(TARGET PCRE2::8BIT)
-+ get_target_property(_PCRE2_CONFIGURATIONS PCRE2::8BIT IMPORTED_CONFIGURATIONS)
-+ if(_PCRE2_CONFIGURATIONS)
-+ foreach(_pcre2_config IN LISTS _PCRE2_CONFIGURATIONS)
-+ # Just set to RELEASE var so select_library_configurations can continue to work its magic
-+ string(TOUPPER ${_pcre2_config} _pcre2_config_UPPER)
-+ if((NOT ${_pcre2_config_UPPER} STREQUAL "RELEASE") AND
-+ (NOT ${_pcre2_config_UPPER} STREQUAL "DEBUG"))
-+ get_target_property(PCRE2_LIBRARY_RELEASE PCRE2::8BIT IMPORTED_LOCATION_${_pcre2_config_UPPER})
-+ else()
-+ get_target_property(PCRE2_LIBRARY_${_pcre2_config_UPPER} PCRE2::8BIT IMPORTED_LOCATION_${_pcre2_config_UPPER})
-+ endif()
-+ endforeach()
-+ else()
-+ get_target_property(PCRE2_LIBRARY_RELEASE PCRE2::8BIT IMPORTED_LOCATION)
-+ endif()
-+ get_target_property(PCRE2_INCLUDE_DIR PCRE2::8BIT INTERFACE_INCLUDE_DIRECTORIES)
-+ else()
-+ # ToDo: use pkgconfig data imported and drop manual find_path/find_library
-+ find_package(PkgConfig)
-+ if(PKG_CONFIG_FOUND)
-+ pkg_check_modules(PC_PCRE2 libpcre2-8 QUIET)
-+ endif()
-+
-+ find_path(PCRE2_INCLUDE_DIR pcre2.h
-+ HINTS ${PC_PCRE2_INCLUDEDIR})
-+ find_library(PCRE2_LIBRARY_RELEASE NAMES pcre2-8
-+ HINTS ${PC_PCRE2_LIBDIR})
-+ set(PCRE2_VERSION ${PC_PCRE2_VERSION})
-+ endif()
-+ endif()
-+
-+ include(SelectLibraryConfigurations)
-+ select_library_configurations(PCRE2)
-+
-+ include(FindPackageHandleStandardArgs)
-+ find_package_handle_standard_args(PCRE2
-+ REQUIRED_VARS PCRE2_LIBRARY PCRE2_INCLUDE_DIR
-+ VERSION_VAR PCRE2_VERSION)
-+
-+ if(PCRE2_FOUND)
-+ if(TARGET PCRE2::8BIT AND NOT TARGET pcre2)
-+ add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} ALIAS PCRE2::8BIT)
-+ else()
-+ add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
-+ if(PCRE2_LIBRARY_RELEASE)
-+ set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
-+ IMPORTED_CONFIGURATIONS RELEASE
-+ IMPORTED_LOCATION_RELEASE "${PCRE2_LIBRARY_RELEASE}")
-+ endif()
-+ if(PCRE2_LIBRARY_DEBUG)
-+ set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
-+ IMPORTED_LOCATION_DEBUG "${PCRE2_LIBRARY_DEBUG}")
-+ set_property(TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} APPEND PROPERTY
-+ IMPORTED_CONFIGURATIONS DEBUG)
-+ endif()
-+ set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
-+ INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}")
-+
-+ # Add interface compile definitions. This will usually come from an INTERNAL build being required.
-+ if(${CMAKE_FIND_PACKAGE_NAME}_COMPILEDEFINITIONS)
-+ set_property(TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} APPEND PROPERTY
-+ INTERFACE_COMPILE_DEFINITIONS ${${CMAKE_FIND_PACKAGE_NAME}_COMPILEDEFINITIONS})
-+ endif()
-+ endif()
-+ if(TARGET pcre2)
-+ add_dependencies(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} pcre2)
-+ endif()
-+
-+ # Add internal build target when a Multi Config Generator is used
-+ # We cant add a dependency based off a generator expression for targeted build types,
-+ # https://gitlab.kitware.com/cmake/cmake/-/issues/19467
-+ # therefore if the find heuristics only find the library, we add the internal build
-+ # target to the project to allow user to manually trigger for any build type they need
-+ # in case only a specific build type is actually available (eg Release found, Debug Required)
-+ # This is mainly targeted for windows who required different runtime libs for different
-+ # types, and they arent compatible
-+ if(_multiconfig_generator)
-+ if(NOT TARGET pcre2)
-+ buildPCRE2()
-+ set_target_properties(pcre2 PROPERTIES EXCLUDE_FROM_ALL TRUE)
-+ endif()
-+ add_dependencies(build_internal_depends pcre2)
-+ endif()
-+
-+ else()
-+ if(PCRE2_FIND_REQUIRED)
-+ message(FATAL_ERROR "PCRE2 not found. Possibly use -DENABLE_INTERNAL_PCRE2=ON to build PCRE2")
-+ endif()
-+ endif()
-+endif()
-diff --git a/tools/depends/target/pcre2/PCRE2-VERSION b/tools/depends/target/pcre2/PCRE2-VERSION
-new file mode 100644
-index 0000000000..800eebf0b9
---- /dev/null
-+++ b/tools/depends/target/pcre2/PCRE2-VERSION
-@@ -0,0 +1,7 @@
-+LIBNAME=pcre2
-+VERSION=10.42
-+ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2
-+SHA512=72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3
-+BYPRODUCT=libpcre2-8.a
-+BYPRODUCT_WIN=pcre2-8-static.lib
-+
---
-2.47.3
-
diff --git a/package/kodi/0005-Migrate-PCRE-to-PCRE2-and-remove-PCRE.patch b/package/kodi/0005-Migrate-PCRE-to-PCRE2-and-remove-PCRE.patch
deleted file mode 100644
index 8a71a3a0a8..0000000000
--- a/package/kodi/0005-Migrate-PCRE-to-PCRE2-and-remove-PCRE.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 250d14b8e3f614147c9465ca6c1b86a3b5a5f7a2 Mon Sep 17 00:00:00 2001
-From: fuzzard <fuzzard@kodi.tv>
-Date: Sun, 2 Jun 2024 13:56:07 +1000
-Subject: [PATCH] Migrate PCRE to PCRE2 and remove PCRE
-
-Upstream: https://github.com/xbmc/xbmc/commit/8e0c4fd22a0b1f9c54b0536960752263f0d5a04f
-
-[Bernd: backported to 21.3-Omega]
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- CMakeLists.txt | 4 +-
- xbmc/utils/RegExp.cpp | 202 ++++++++++++++++++-------------------
- xbmc/utils/RegExp.h | 22 ++--
- xbmc/utils/StringUtils.cpp | 6 +-
- 4 files changed, 111 insertions(+), 123 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index eb648e9a27..319b95044f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -92,7 +92,7 @@ dependent_option(ENABLE_INTERNAL_CEC "Enable internal libcec?")
- dependent_option(ENABLE_INTERNAL_FLATBUFFERS "Enable internal flatbuffers?")
- dependent_option(ENABLE_INTERNAL_FMT "Enable internal fmt?")
- dependent_option(ENABLE_INTERNAL_NFS "Enable internal libnfs?")
--dependent_option(ENABLE_INTERNAL_PCRE "Enable internal pcre?")
-+dependent_option(ENABLE_INTERNAL_PCRE2 "Enable internal pcre2?")
- dependent_option(ENABLE_INTERNAL_RapidJSON "Enable internal rapidjson?")
-
- # If ENABLE_INTERNAL_FMT is ON, we force ENABLE_INTERNAL_SPDLOG ON as it has a hard
-@@ -215,7 +215,7 @@ set(required_deps ASS>=0.15.0
- LibDvd
- Lzo2
- OpenSSL>=1.1.0
-- PCRE
-+ PCRE2
- RapidJSON>=1.0.2
- Spdlog
- Sqlite3
-diff --git a/xbmc/utils/RegExp.cpp b/xbmc/utils/RegExp.cpp
-index 40263a28eb..cb620208dc 100644
---- a/xbmc/utils/RegExp.cpp
-+++ b/xbmc/utils/RegExp.cpp
-@@ -16,27 +16,6 @@
- #include <stdlib.h>
- #include <string.h>
-
--using namespace PCRE;
--
--#ifndef PCRE_UCP
--#define PCRE_UCP 0
--#endif // PCRE_UCP
--
--#ifdef PCRE_CONFIG_JIT
--#define PCRE_HAS_JIT_CODE 1
--#endif
--
--#ifndef PCRE_STUDY_JIT_COMPILE
--#define PCRE_STUDY_JIT_COMPILE 0
--#endif
--#ifndef PCRE_INFO_JIT
--// some unused number
--#define PCRE_INFO_JIT 2048
--#endif
--#ifndef PCRE_HAS_JIT_CODE
--#define pcre_free_study(x) pcre_free((x))
--#endif
--
- int CRegExp::m_Utf8Supported = -1;
- int CRegExp::m_UcpSupported = -1;
- int CRegExp::m_JitSupported = -1;
-@@ -51,25 +30,24 @@ void CRegExp::InitValues(bool caseless /*= false*/, CRegExp::utf8Mode utf8 /*= a
- {
- m_utf8Mode = utf8;
- m_re = NULL;
-- m_sd = NULL;
-- m_iOptions = PCRE_DOTALL | PCRE_NEWLINE_ANY;
-+ m_ctxt = nullptr;
-+ m_iOptions = PCRE2_DOTALL;
- if(caseless)
-- m_iOptions |= PCRE_CASELESS;
-+ m_iOptions |= PCRE2_CASELESS;
- if (m_utf8Mode == forceUtf8)
- {
- if (IsUtf8Supported())
-- m_iOptions |= PCRE_UTF8;
-+ m_iOptions |= PCRE2_UTF;
- if (AreUnicodePropertiesSupported())
-- m_iOptions |= PCRE_UCP;
-+ m_iOptions |= PCRE2_UCP;
- }
-
- m_offset = 0;
- m_jitCompiled = false;
- m_bMatched = false;
- m_iMatchCount = 0;
-- m_jitStack = NULL;
--
-- memset(m_iOvector, 0, sizeof(m_iOvector));
-+ m_iOvector = nullptr;
-+ m_jitStack = NULL;
- }
-
- CRegExp::CRegExp(bool caseless, CRegExp::utf8Mode utf8, const char *re, studyMode study /*= NoStudy*/)
-@@ -225,7 +203,8 @@ bool CRegExp::isCharClassWithUnicode(const std::string& regexp, size_t& pos)
- CRegExp::CRegExp(const CRegExp& re)
- {
- m_re = NULL;
-- m_sd = NULL;
-+ m_ctxt = nullptr;
-+ m_iOvector = nullptr;
- m_jitStack = NULL;
- m_utf8Mode = re.m_utf8Mode;
- m_iOptions = re.m_iOptions;
-@@ -240,12 +219,13 @@ CRegExp& CRegExp::operator=(const CRegExp& re)
- m_pattern = re.m_pattern;
- if (re.m_re)
- {
-- if (pcre_fullinfo(re.m_re, NULL, PCRE_INFO_SIZE, &size) >= 0)
-+ if (pcre2_pattern_info(re.m_re, PCRE2_INFO_SIZE, &size) >= 0)
- {
-- if ((m_re = (pcre*)malloc(size)))
-+ if ((m_re = pcre2_code_copy(re.m_re)))
- {
-- memcpy(m_re, re.m_re, size);
-- memcpy(m_iOvector, re.m_iOvector, OVECCOUNT*sizeof(int));
-+ if (re.m_ctxt)
-+ m_ctxt = pcre2_match_context_copy(re.m_ctxt);
-+ m_iOvector = re.m_iOvector;
- m_offset = re.m_offset;
- m_iMatchCount = re.m_iMatchCount;
- m_bMatched = re.m_bMatched;
-@@ -273,18 +253,27 @@ bool CRegExp::RegComp(const char *re, studyMode study /*= NoStudy*/)
- m_jitCompiled = false;
- m_bMatched = false;
- m_iMatchCount = 0;
-- const char *errMsg = NULL;
-- int errOffset = 0;
-- int options = m_iOptions;
-+ pcre2_compile_context* ctxt;
-+ int errCode;
-+ char errMsg[120];
-+ PCRE2_SIZE errOffset;
-+ uint32_t options = m_iOptions;
- if (m_utf8Mode == autoUtf8 && requireUtf8(re))
-- options |= (IsUtf8Supported() ? PCRE_UTF8 : 0) | (AreUnicodePropertiesSupported() ? PCRE_UCP : 0);
-+ options |=
-+ (IsUtf8Supported() ? PCRE2_UTF : 0) | (AreUnicodePropertiesSupported() ? PCRE2_UCP : 0);
-
- Cleanup();
-
-- m_re = pcre_compile(re, options, &errMsg, &errOffset, NULL);
-+ ctxt = pcre2_compile_context_create(NULL);
-+ pcre2_set_newline(ctxt, PCRE2_NEWLINE_ANY);
-+ m_re = pcre2_compile(reinterpret_cast<PCRE2_SPTR>(re), PCRE2_ZERO_TERMINATED, options, &errCode,
-+ &errOffset, ctxt);
-+ pcre2_compile_context_free(ctxt);
-+
- if (!m_re)
- {
- m_pattern.clear();
-+ pcre2_get_error_message(errCode, reinterpret_cast<PCRE2_UCHAR*>(errMsg), sizeof(errMsg));
- CLog::Log(LOGERROR, "PCRE: {}. Compilation failed at offset {} in expression '{}'", errMsg,
- errOffset, re);
- return false;
-@@ -295,23 +284,12 @@ bool CRegExp::RegComp(const char *re, studyMode study /*= NoStudy*/)
- if (study)
- {
- const bool jitCompile = (study == StudyWithJitComp) && IsJitSupported();
-- const int studyOptions = jitCompile ? PCRE_STUDY_JIT_COMPILE : 0;
--
-- m_sd = pcre_study(m_re, studyOptions, &errMsg);
-- if (errMsg != NULL)
-- {
-- CLog::Log(LOGWARNING, "{}: PCRE error \"{}\" while studying expression", __FUNCTION__,
-- errMsg);
-- if (m_sd != NULL)
-- {
-- pcre_free_study(m_sd);
-- m_sd = NULL;
-- }
-- }
-- else if (jitCompile)
-+ if (jitCompile)
- {
-- int jitPresent = 0;
-- m_jitCompiled = (pcre_fullinfo(m_re, m_sd, PCRE_INFO_JIT, &jitPresent) == 0 && jitPresent == 1);
-+ pcre2_jit_compile(m_re, PCRE2_JIT_COMPLETE);
-+ size_t jitPresent = 0;
-+ m_jitCompiled =
-+ (pcre2_pattern_info(m_re, PCRE2_INFO_JITSIZE, &jitPresent) == 0 && jitPresent > 0);
- }
- }
-
-@@ -325,6 +303,9 @@ int CRegExp::RegFind(const char *str, unsigned int startoffset /*= 0*/, int maxN
-
- int CRegExp::PrivateRegFind(size_t bufferLen, const char *str, unsigned int startoffset /* = 0*/, int maxNumberOfCharsToTest /*= -1*/)
- {
-+ pcre2_match_data* md;
-+ PCRE2_SIZE offset;
-+
- m_offset = 0;
- m_bMatched = false;
- m_iMatchCount = 0;
-@@ -347,37 +328,46 @@ int CRegExp::PrivateRegFind(size_t bufferLen, const char *str, unsigned int star
- return -1;
- }
-
--#ifdef PCRE_HAS_JIT_CODE
-+ if (!m_ctxt)
-+ m_ctxt = pcre2_match_context_create(NULL);
-+
- if (m_jitCompiled && !m_jitStack)
- {
-- m_jitStack = pcre_jit_stack_alloc(32*1024, 512*1024);
-+ m_jitStack = pcre2_jit_stack_create(32 * 1024, 512 * 1024, NULL);
- if (m_jitStack == NULL)
- CLog::Log(LOGWARNING, "{}: can't allocate address space for JIT stack", __FUNCTION__);
-
-- pcre_assign_jit_stack(m_sd, NULL, m_jitStack);
-+ pcre2_jit_stack_assign(m_ctxt, NULL, m_jitStack);
- }
--#endif
-
- if (maxNumberOfCharsToTest >= 0)
- bufferLen = std::min<size_t>(bufferLen, startoffset + maxNumberOfCharsToTest);
-
- m_subject.assign(str + startoffset, bufferLen - startoffset);
-- int rc = pcre_exec(m_re, NULL, m_subject.c_str(), m_subject.length(), 0, 0, m_iOvector, OVECCOUNT);
-+ md = pcre2_match_data_create(OVECCOUNT, nullptr);
-+ int rc = pcre2_match(m_re, reinterpret_cast<PCRE2_SPTR>(m_subject.c_str()), m_subject.length(), 0,
-+ 0, md, m_ctxt);
-+ m_iOvector = pcre2_get_ovector_pointer(md);
-+ offset = pcre2_get_startchar(md);
-+ pcre2_match_data_free(md);
-
- if (rc<1)
- {
- static const int fragmentLen = 80; // length of excerpt before erroneous char for log
- switch(rc)
- {
-- case PCRE_ERROR_NOMATCH:
-- return -1;
-+ case PCRE2_ERROR_NOMATCH:
-+ return -1;
-
-- case PCRE_ERROR_MATCHLIMIT:
-- CLog::Log(LOGERROR, "PCRE: Match limit reached");
-- return -1;
-+ case PCRE2_ERROR_MATCHLIMIT:
-+ CLog::Log(LOGERROR, "PCRE: Match limit reached");
-+ return -1;
-
--#ifdef PCRE_ERROR_SHORTUTF8
-- case PCRE_ERROR_SHORTUTF8:
-+ case PCRE2_ERROR_UTF8_ERR1:
-+ case PCRE2_ERROR_UTF8_ERR2:
-+ case PCRE2_ERROR_UTF8_ERR3:
-+ case PCRE2_ERROR_UTF8_ERR4:
-+ case PCRE2_ERROR_UTF8_ERR5:
- {
- const size_t startPos = (m_subject.length() > fragmentLen) ? CUtf8Utils::RFindValidUtf8Char(m_subject, m_subject.length() - fragmentLen) : 0;
- if (startPos != std::string::npos)
-@@ -389,28 +379,44 @@ int CRegExp::PrivateRegFind(size_t bufferLen, const char *str, unsigned int star
- CLog::Log(LOGERROR, "PCRE: Bad UTF-8 character at the end of string");
- return -1;
- }
--#endif
-- case PCRE_ERROR_BADUTF8:
-+ case PCRE2_ERROR_UTF8_ERR6:
-+ case PCRE2_ERROR_UTF8_ERR7:
-+ case PCRE2_ERROR_UTF8_ERR8:
-+ case PCRE2_ERROR_UTF8_ERR9:
-+ case PCRE2_ERROR_UTF8_ERR10:
-+ case PCRE2_ERROR_UTF8_ERR11:
-+ case PCRE2_ERROR_UTF8_ERR12:
-+ case PCRE2_ERROR_UTF8_ERR13:
-+ case PCRE2_ERROR_UTF8_ERR14:
-+ case PCRE2_ERROR_UTF8_ERR15:
-+ case PCRE2_ERROR_UTF8_ERR16:
-+ case PCRE2_ERROR_UTF8_ERR17:
-+ case PCRE2_ERROR_UTF8_ERR18:
-+ case PCRE2_ERROR_UTF8_ERR19:
-+ case PCRE2_ERROR_UTF8_ERR20:
-+ case PCRE2_ERROR_UTF8_ERR21:
- {
-+ char errbuf[120];
-+
-+ pcre2_get_error_message(rc, reinterpret_cast<PCRE2_UCHAR*>(errbuf), sizeof(errbuf));
- const size_t startPos = (m_iOvector[0] > fragmentLen) ? CUtf8Utils::RFindValidUtf8Char(m_subject, m_iOvector[0] - fragmentLen) : 0;
-- if (m_iOvector[0] >= 0 && startPos != std::string::npos)
-+ if ((int)m_iOvector[0] >= 0 && startPos != std::string::npos)
- CLog::Log(LOGERROR,
- "PCRE: Bad UTF-8 character, error code: {}, position: {}. Text before bad "
- "char: \"{}\"",
-- m_iOvector[1], m_iOvector[0],
-- m_subject.substr(startPos, m_iOvector[0] - startPos + 1));
-+ errbuf, offset, m_subject.substr(startPos, m_iOvector[0] - startPos + 1));
- else
-- CLog::Log(LOGERROR, "PCRE: Bad UTF-8 character, error code: {}, position: {}",
-- m_iOvector[1], m_iOvector[0]);
-+ CLog::Log(LOGERROR, "PCRE: Bad UTF-8 character, error code: {}, position: {}", errbuf,
-+ offset);
- return -1;
- }
-- case PCRE_ERROR_BADUTF8_OFFSET:
-- CLog::Log(LOGERROR, "PCRE: Offset is pointing to the middle of UTF-8 character");
-- return -1;
-+ case PCRE2_ERROR_BADUTFOFFSET:
-+ CLog::Log(LOGERROR, "PCRE: Offset is pointing to the middle of UTF-8 character");
-+ return -1;
-
-- default:
-- CLog::Log(LOGERROR, "PCRE: Unknown error: {}", rc);
-- return -1;
-+ default:
-+ CLog::Log(LOGERROR, "PCRE: Unknown error: {}", rc);
-+ return -1;
- }
- }
- m_offset = startoffset;
-@@ -423,7 +429,7 @@ int CRegExp::GetCaptureTotal() const
- {
- int c = -1;
- if (m_re)
-- pcre_fullinfo(m_re, NULL, PCRE_INFO_CAPTURECOUNT, &c);
-+ pcre2_pattern_info(m_re, PCRE2_INFO_CAPTURECOUNT, &c);
- return c;
- }
-
-@@ -528,23 +534,21 @@ void CRegExp::Cleanup()
- {
- if (m_re)
- {
-- pcre_free(m_re);
-- m_re = NULL;
-+ pcre2_code_free(m_re);
-+ m_re = nullptr;
- }
-
-- if (m_sd)
-+ if (m_ctxt)
- {
-- pcre_free_study(m_sd);
-- m_sd = NULL;
-+ pcre2_match_context_free(m_ctxt);
-+ m_ctxt = nullptr;
- }
-
--#ifdef PCRE_HAS_JIT_CODE
- if (m_jitStack)
- {
-- pcre_jit_stack_free(m_jitStack);
-+ pcre2_jit_stack_free(m_jitStack);
- m_jitStack = NULL;
- }
--#endif
- }
-
- inline bool CRegExp::IsValidSubNumber(int iSub) const
-@@ -557,7 +561,7 @@ bool CRegExp::IsUtf8Supported(void)
- {
- if (m_Utf8Supported == -1)
- {
-- if (pcre_config(PCRE_CONFIG_UTF8, &m_Utf8Supported) != 0)
-+ if (pcre2_config(PCRE2_CONFIG_UNICODE, &m_Utf8Supported) < 0)
- m_Utf8Supported = 0;
- }
-
-@@ -566,13 +570,11 @@ bool CRegExp::IsUtf8Supported(void)
-
- bool CRegExp::AreUnicodePropertiesSupported(void)
- {
--#if defined(PCRE_CONFIG_UNICODE_PROPERTIES) && PCRE_UCP != 0
- if (m_UcpSupported == -1)
- {
-- if (pcre_config(PCRE_CONFIG_UNICODE_PROPERTIES, &m_UcpSupported) != 0)
-+ if (pcre2_config(PCRE2_CONFIG_UNICODE, &m_UcpSupported) < 0)
- m_UcpSupported = 0;
- }
--#endif
-
- return m_UcpSupported == 1;
- }
-@@ -595,13 +597,13 @@ bool CRegExp::LogCheckUtf8Support(void)
-
- if (!utf8FullSupport)
- {
-+ char ver[24];
-+
-+ pcre2_config(PCRE2_CONFIG_VERSION, ver);
- CLog::Log(LOGINFO,
-- "Consider installing PCRE lib version 8.10 or later with enabled Unicode properties "
-+ "Consider installing PCRE lib version 10.10 or later with enabled Unicode properties "
- "and UTF-8 support. Your PCRE lib version: {}",
-- PCRE::pcre_version());
--#if PCRE_UCP == 0
-- CLog::Log(LOGINFO, "You will need to rebuild XBMC after PCRE lib update.");
--#endif
-+ ver);
- }
-
- return utf8FullSupport;
-@@ -611,9 +613,7 @@ bool CRegExp::IsJitSupported(void)
- {
- if (m_JitSupported == -1)
- {
--#ifdef PCRE_HAS_JIT_CODE
-- if (pcre_config(PCRE_CONFIG_JIT, &m_JitSupported) != 0)
--#endif
-+ if (pcre2_config(PCRE2_CONFIG_JIT, &m_JitSupported) < 0)
- m_JitSupported = 0;
- }
-
-diff --git a/xbmc/utils/RegExp.h b/xbmc/utils/RegExp.h
-index feea89cd0d..90d3db541e 100644
---- a/xbmc/utils/RegExp.h
-+++ b/xbmc/utils/RegExp.h
-@@ -13,16 +13,8 @@
- #include <string>
- #include <vector>
-
--/* make sure stdlib.h is included before including pcre.h inside the
-- namespace; this works around stdlib.h definitions also living in
-- the PCRE namespace */
--#include <stdlib.h>
--
--namespace PCRE {
--struct real_pcre_jit_stack; // forward declaration for PCRE without JIT
--typedef struct real_pcre_jit_stack pcre_jit_stack;
--#include <pcre.h>
--}
-+#define PCRE2_CODE_UNIT_WIDTH 8
-+#include <pcre2.h>
-
- class CRegExp
- {
-@@ -138,17 +130,17 @@ private:
- void Cleanup();
- inline bool IsValidSubNumber(int iSub) const;
-
-- PCRE::pcre* m_re;
-- PCRE::pcre_extra* m_sd;
-+ pcre2_code* m_re;
-+ pcre2_match_context* m_ctxt;
- static const int OVECCOUNT=(m_MaxNumOfBackrefrences + 1) * 3;
- unsigned int m_offset;
-- int m_iOvector[OVECCOUNT];
-+ PCRE2_SIZE* m_iOvector;
- utf8Mode m_utf8Mode;
- int m_iMatchCount;
-- int m_iOptions;
-+ uint32_t m_iOptions;
- bool m_jitCompiled;
- bool m_bMatched;
-- PCRE::pcre_jit_stack* m_jitStack;
-+ pcre2_jit_stack* m_jitStack;
- std::string m_subject;
- std::string m_pattern;
- static int m_Utf8Supported;
-diff --git a/xbmc/utils/StringUtils.cpp b/xbmc/utils/StringUtils.cpp
-index 2c77e58ebd..d390113dd7 100644
---- a/xbmc/utils/StringUtils.cpp
-+++ b/xbmc/utils/StringUtils.cpp
-@@ -30,6 +30,7 @@
- #include "LangInfo.h"
- #include "StringUtils.h"
- #include "XBDateTime.h"
-+#include "utils/RegExp.h"
-
- #include <algorithm>
- #include <array>
-@@ -46,11 +47,6 @@
- #include <fstrcmp.h>
- #include <memory.h>
-
--// don't move or std functions end up in PCRE namespace
--// clang-format off
--#include "utils/RegExp.h"
--// clang-format on
--
- #define FORMAT_BLOCK_SIZE 512 // # of bytes for initial allocation for printf
-
- namespace
---
-2.47.3
-
diff --git a/package/kodi/0006-cmake-Set-ARCH-to-CPU-by-default.patch b/package/kodi/0006-cmake-Set-ARCH-to-CPU-by-default.patch
deleted file mode 100644
index c5bbbe9636..0000000000
--- a/package/kodi/0006-cmake-Set-ARCH-to-CPU-by-default.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 1695ba12380272056f369f434747839b2ae38d91 Mon Sep 17 00:00:00 2001
-From: fossdd <fossdd@pwned.life>
-Date: Sat, 22 Feb 2025 20:59:28 +0100
-Subject: [PATCH] [cmake] Set ARCH to CPU by default
-
-Reduces complexity of redundant architecture names and allows building
-for other architectures implicitly.
-
-Upstream: https://github.com/xbmc/xbmc/commit/1695ba12380272056f369f434747839b2ae38d91
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- cmake/scripts/linux/ArchSetup.cmake | 11 +----------
- 1 file changed, 1 insertion(+), 10 deletions(-)
-
-diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake
-index ab142177c8..f29a870a1e 100644
---- a/cmake/scripts/linux/ArchSetup.cmake
-+++ b/cmake/scripts/linux/ArchSetup.cmake
-@@ -37,17 +37,8 @@ else()
- elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64)
- set(ARCH aarch64)
- set(NEON True)
-- elseif(CPU MATCHES riscv64)
-- set(ARCH riscv64)
-- set(NEON False)
-- elseif(CPU MATCHES ppc64le)
-- set(ARCH ppc64le)
-- set(NEON False)
-- elseif(CPU MATCHES loongarch64)
-- set(ARCH loongarch64)
-- set(NEON False)
- else()
-- message(SEND_ERROR "Unknown CPU: ${CPU}")
-+ set(ARCH ${CPU})
- endif()
- endif()
-
---
-2.47.3
-
diff --git a/package/kodi/Config.in b/package/kodi/Config.in
index 16b86f3fe5..110aa91a49 100644
--- a/package/kodi/Config.in
+++ b/package/kodi/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
default y
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
- depends on BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
# i386: needs sse (see upstream PR 10351)
depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE)
# m68k not supported upstream
@@ -71,9 +70,10 @@ menuconfig BR2_PACKAGE_KODI
depends on BR2_PACKAGE_PYTHON3
depends on !BR2_PACKAGE_PYTHON3_PYC_ONLY
select BR2_HOST_CMAKE_AT_LEAST_3_24
+ select BR2_PACKAGE_EXIV2
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_GPL
- select BR2_PACKAGE_FFMPEG_POSTPROC
+ select BR2_PACKAGE_FFMPEG_POSTPROC if BR2_PACKAGE_LIBVA
select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_FLATBUFFERS
select BR2_PACKAGE_FMT
@@ -82,8 +82,8 @@ menuconfig BR2_PACKAGE_KODI
select BR2_PACKAGE_FSTRCMP
select BR2_PACKAGE_GIFLIB
select BR2_PACKAGE_JPEG
+ select BR2_PACKAGE_JSON_FOR_MODERN_CPP
select BR2_PACKAGE_LIBASS
- select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCROSSGUID
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBDRM
@@ -100,7 +100,6 @@ menuconfig BR2_PACKAGE_KODI
select BR2_PACKAGE_PYTHON3_SSL
select BR2_PACKAGE_PYTHON3_UNICODEDATA
select BR2_PACKAGE_PYTHON3_ZLIB
- select BR2_PACKAGE_RAPIDJSON
select BR2_PACKAGE_SPDLOG
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
@@ -282,6 +281,7 @@ config BR2_PACKAGE_KODI_UPNP
config BR2_PACKAGE_KODI_OPTICALDRIVE
bool "optical drives"
+ select BR2_PACKAGE_LIBCDIO
help
Add support for optical drives, to read e.g. DVDs...
diff --git a/package/kodi/kodi.hash b/package/kodi/kodi.hash
index aa962b15fc..50669883dc 100644
--- a/package/kodi/kodi.hash
+++ b/package/kodi/kodi.hash
@@ -1,10 +1,9 @@
-# From https://github.com/xbmc/xbmc/blob/Omega/xbmc/interfaces/swig/CMakeLists.txt
-sha512 60d1aea85008a438a9498178dc2137385653f1ea294e7e257959e9e0f94382e160e217e1090047c2a944e328cf46e8ebcfc4b015f7d0cb9f2fcf9d880c6c1344 apache-groovy-binary-4.0.26.zip
-sha512 8927a406a1bd084b548f89cf15fe4bc7567dcaa50ae8abae54e9c883c1574c648fcc8ad6c3abaa381dfbdf1801727ac5e6c4572063203a1dfac293d122282f05 commons-lang3-3.17.0-bin.tar.gz
-sha512 a51667463e88b2d017c3baebb9bbe42c4e50cba96ffe19c89680e82002a4db8b9007daff75f8dbf8bf3725be13a3f03f3c2bc4e1f11e8e02dcab4408abdb44a1 commons-text-1.13.0-bin.tar.gz
+# From https://github.com/xbmc/xbmc/blob/master/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION
+sha512 439fbd9dae60b9a114d3429a19703478c734e8525ac6852da6f05f72d9ca44ca0ac5e874ab6a10017e7f31869fcd29f01d1bc156c4f0331b4e4abd98ec2f95cd libdvdcss-1.5.0.tar.bz2
+# From https://github.com/xbmc/xbmc/blob/master/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION
+sha512 8d12d476e352def9716ecbd7ba184a70dd9bae87dcde669b8647a0ef9ac1991f617c9918c043e159eb353302c4cc50fb71bc591ceaeba1d3b9d47af77fa72c71 libdvdnav-7.0.0.tar.bz2
+# From https://github.com/xbmc/xbmc/blob/master/tools/depends/target/libdvdread/LIBDVDREAD-VERSION
+sha512 b5390a1acb8fdf6e24188f9259199eb0fef2dd4b332447ba2bfa571f9fc0c3bfad00c1d27a8b8806180a853c04a818b7802d3075ff787142c1a175ad798c6a3d libdvdread-7.0.1.tar.bz2
# Locally computed
-sha256 a60afcb556e4a00cb19fc35b7e77758107c9a8096c6ce9b66af5f92396be31aa kodi-21.3-Omega.tar.gz
-sha256 f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e kodi-libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz
-sha256 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc kodi-libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz
-sha256 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62 kodi-libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz
+sha256 21daa839b978ff3fc6a7a058717fe9232f1ae4087d492b31c288eeffb2a7a447 kodi-22.0rc1-Piers.tar.gz
sha256 9d2396ef3e091d3b82bc84143e070700412984e8589513570f54e0675d1e8851 LICENSE.md
diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
index 32dd9a3ada..fd4659da99 100644
--- a/package/kodi/kodi.mk
+++ b/package/kodi/kodi.mk
@@ -6,8 +6,8 @@
# When updating the version, please also update kodi-jsonschemabuilder
# and kodi-texturepacker
-KODI_VERSION_MAJOR = 21.3
-KODI_VERSION_NAME = Omega
+KODI_VERSION_MAJOR = 22.0rc1
+KODI_VERSION_NAME = Piers
KODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME)
KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
KODI_LICENSE = GPL-2.0
@@ -19,6 +19,7 @@ KODI_INSTALL_STAGING = YES
# kodi recommends building out-of-source
KODI_SUPPORTS_IN_SOURCE_BUILD = NO
KODI_DEPENDENCIES = \
+ exiv2 \
ffmpeg \
flatbuffers \
fmt \
@@ -33,12 +34,11 @@ KODI_DEPENDENCIES = \
host-kodi-jsonschemabuilder \
host-kodi-texturepacker \
host-nasm \
- host-openjdk-bin \
host-swig \
host-xmlstarlet \
jpeg \
+ json-for-modern-cpp \
libass \
- libcdio \
libcrossguid \
libcurl \
libdrm \
@@ -50,7 +50,6 @@ KODI_DEPENDENCIES = \
openssl \
pcre2 \
python3 \
- rapidjson \
spdlog \
sqlite \
taglib \
@@ -59,27 +58,13 @@ KODI_DEPENDENCIES = \
zlib
# taken from tools/depends/target/*/*-VERSION
-KODI_APACHE_GROOVY_VERSION = 4.0.26
-KODI_COMMONS_LANG3_VERSION = 3.17.0
-KODI_COMMONS_TEXT_VERSION = 1.13.0
-KODI_LIBDVDCSS_VERSION = 1.4.3-Next-Nexus-Alpha2-2
-KODI_LIBDVDNAV_VERSION = 6.1.1-Next-Nexus-Alpha2-2
-KODI_LIBDVDREAD_VERSION = 6.1.3-Next-Nexus-Alpha2-2
+KODI_LIBDVDCSS_VERSION = 1.5.0
+KODI_LIBDVDNAV_VERSION = 7.0.0
+KODI_LIBDVDREAD_VERSION = 7.0.1
KODI_EXTRA_DOWNLOADS += \
- https://groovy.jfrog.io/artifactory/dist-release-local/groovy-zips/apache-groovy-binary-$(KODI_APACHE_GROOVY_VERSION).zip \
- https://archive.apache.org/dist/commons/lang/binaries/commons-lang3-$(KODI_COMMONS_LANG3_VERSION)-bin.tar.gz \
- https://archive.apache.org/dist/commons/text/binaries/commons-text-$(KODI_COMMONS_TEXT_VERSION)-bin.tar.gz \
- $(call github,xbmc,libdvdcss,$(KODI_LIBDVDCSS_VERSION))/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \
- $(call github,xbmc,libdvdnav,$(KODI_LIBDVDNAV_VERSION))/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \
- $(call github,xbmc,libdvdread,$(KODI_LIBDVDREAD_VERSION))/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz
-
-define KODI_PROVIDE_JAVA_TARBALLS
- mkdir -p $(@D)/buildroot-build/build/download
- cp $(KODI_DL_DIR)/apache-groovy-binary-$(KODI_APACHE_GROOVY_VERSION).zip $(@D)/buildroot-build/build/download
- cp $(KODI_DL_DIR)/commons-lang3-$(KODI_COMMONS_LANG3_VERSION)-bin.tar.gz $(@D)/buildroot-build/build/download
- cp $(KODI_DL_DIR)/commons-text-$(KODI_COMMONS_TEXT_VERSION)-bin.tar.gz $(@D)/buildroot-build/build/download
-endef
-KODI_POST_EXTRACT_HOOKS = KODI_PROVIDE_JAVA_TARBALLS
+ https://mirrors.kodi.tv/build-deps/sources/libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.bz2 \
+ https://mirrors.kodi.tv/build-deps/sources/libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.bz2 \
+ https://mirrors.kodi.tv/build-deps/sources/libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.bz2
KODI_CONF_OPTS += \
-DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \
@@ -88,10 +73,9 @@ KODI_CONF_OPTS += \
-DENABLE_CCACHE=OFF \
-DENABLE_DVDCSS=ON \
-DENABLE_INTERNAL_CROSSGUID=OFF \
- -DWITH_FFMPEG=$(STAGING_DIR)/usr \
+ -DFFMPEG_PATH=$(STAGING_DIR)/usr \
-DENABLE_INTERNAL_FLATBUFFERS=OFF \
-DFLATBUFFERS_FLATC_EXECUTABLE=$(HOST_DIR)/bin/flatc \
- -DENABLE_INTERNAL_RapidJSON=OFF \
-DENABLE_INTERNAL_SPDLOG=OFF \
-DKODI_DEPENDSBUILD=OFF \
-DENABLE_GOLD=OFF \
@@ -100,17 +84,14 @@ KODI_CONF_OPTS += \
-DNATIVEPREFIX=$(HOST_DIR) \
-DDEPENDS_PATH=$(STAGING_DIR)/usr \
-DENABLE_TESTING=OFF \
- -DENABLE_DEBUGFISSION=OFF \
- -DJAVA_HOME=$(HOST_OPENJDK_BIN_ROOT_DIR) \
- -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python \
- -DPYTHON_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \
-DPYTHON_PATH=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) \
-DPYTHON_VER=$(PYTHON3_VERSION_MAJOR) \
+ -DVERBOSE_FIND=ON \
-DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/ \
-DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/ \
- -DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \
- -DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \
- -DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz
+ -DLIBDVDCSS_URL=$(KODI_DL_DIR)/libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.bz2 \
+ -DLIBDVDNAV_URL=$(KODI_DL_DIR)/libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.bz2 \
+ -DLIBDVDREAD_URL=$(KODI_DL_DIR)/libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.bz2
ifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GL),y)
KODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gl
@@ -127,8 +108,6 @@ endif
ifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND),y)
KODI_CONF_OPTS += \
- -DPC_WAYLANDPP_SCANNER=$(HOST_DIR)/bin/wayland-scanner \
- -DPC_WAYLANDPP_SCANNER_FOUND=ON \
-DWAYLANDPP_PROTOCOLS_DIR=$(STAGING_DIR)/usr/share/waylandpp/protocols
KODI_CORE_PLATFORM_NAME += wayland
KODI_DEPENDENCIES += libxkbcommon waylandpp
@@ -371,6 +350,7 @@ KODI_CONF_OPTS += -DENABLE_UPNP=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
+KODI_DEPENDENCIES += libcdio
KODI_CONF_OPTS += -DENABLE_OPTICAL=ON
else
KODI_CONF_OPTS += -DENABLE_OPTICAL=OFF
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 70/84] package/kodi-audiodecoder-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (67 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 69/84] package/kodi: bump to 22.0rc1-Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 71/84] package/kodi-audioencoder-*: " Bernd Kuhls
` (15 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash | 2 +-
package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk | 2 +-
.../kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash | 2 +-
.../kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk | 2 +-
.../kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash | 2 +-
package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk | 2 +-
.../kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash | 2 +-
package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk | 2 +-
.../kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash | 2 +-
package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk | 2 +-
.../kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash | 2 +-
.../kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk | 2 +-
.../kodi-audiodecoder-vgmstream.hash | 2 +-
.../kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk | 2 +-
14 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash
index d011e38fe9..84eb36bd80 100644
--- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash
+++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 b2828685f1c353bf7123d0f9e88b28f53064388f6ea3ee357b8fb22d5c237ac8 kodi-audiodecoder-modplug-21.0.2-Omega.tar.gz
+sha256 9a0b5bfce44d937726529a5c32d1f33e4d70261eeed5ace443dffd1d159641f1 kodi-audiodecoder-modplug-22.0.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk
index 15a1d96635..9f3e089527 100644
--- a/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk
+++ b/package/kodi-audiodecoder-modplug/kodi-audiodecoder-modplug.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_MODPLUG_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_MODPLUG_VERSION = 22.0.2-Piers
KODI_AUDIODECODER_MODPLUG_SITE = $(call github,xbmc,audiodecoder.modplug,$(KODI_AUDIODECODER_MODPLUG_VERSION))
KODI_AUDIODECODER_MODPLUG_LICENSE = GPL-2.0+
KODI_AUDIODECODER_MODPLUG_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash
index d743433027..7093b6c48e 100644
--- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash
+++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4c82bf0ffab2d09f26b84d382fd00f70695d5f6a6d781be2818f9f5e10bc675a kodi-audiodecoder-nosefart-21.0.2-Omega.tar.gz
+sha256 f0b89b0ac85c2248c6aeafba1b805c2c21524fe5dd229f2a5ba362b3ea8dd313 kodi-audiodecoder-nosefart-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk
index ca45739a02..ede46e0698 100644
--- a/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk
+++ b/package/kodi-audiodecoder-nosefart/kodi-audiodecoder-nosefart.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_NOSEFART_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_NOSEFART_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_NOSEFART_SITE = $(call github,xbmc,audiodecoder.nosefart,$(KODI_AUDIODECODER_NOSEFART_VERSION))
KODI_AUDIODECODER_NOSEFART_LICENSE = GPL-2.0+
KODI_AUDIODECODER_NOSEFART_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash
index 87cf151859..c03bf7434f 100644
--- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash
+++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 c7d10dd65baed2db1272ff57fde76f0b268a4a434d57022539c4dc5bf6f8b54e kodi-audiodecoder-sidplay-21.0.2-Omega.tar.gz
+sha256 1657509ee534600bec9f66cd651e7d6342502fde1a213e81a807eb17feb3c565 kodi-audiodecoder-sidplay-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk
index d98fc4a7f5..a99cd32f9f 100644
--- a/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk
+++ b/package/kodi-audiodecoder-sidplay/kodi-audiodecoder-sidplay.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_SIDPLAY_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_SIDPLAY_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_SIDPLAY_SITE = $(call github,xbmc,audiodecoder.sidplay,$(KODI_AUDIODECODER_SIDPLAY_VERSION))
KODI_AUDIODECODER_SIDPLAY_LICENSE = GPL-2.0+
KODI_AUDIODECODER_SIDPLAY_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash
index 0ebd6cf128..16e353d2e7 100644
--- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash
+++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 98afd81a9653efd9c6fe69dd7918755c75a4671322b793a35bce610acac0d128 kodi-audiodecoder-snesapu-21.0.2-Omega.tar.gz
+sha256 5bffae158b9e02d2fba2fca7950fc9497dc65928f90ab336f37ae51819b662a7 kodi-audiodecoder-snesapu-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk
index aa8178c55a..03b3e121a4 100644
--- a/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk
+++ b/package/kodi-audiodecoder-snesapu/kodi-audiodecoder-snesapu.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_SNESAPU_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_SNESAPU_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_SNESAPU_SITE = $(call github,xbmc,audiodecoder.snesapu,$(KODI_AUDIODECODER_SNESAPU_VERSION))
KODI_AUDIODECODER_SNESAPU_LICENSE = GPL-2.0+
KODI_AUDIODECODER_SNESAPU_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash
index 560c93b74f..9d463dd168 100644
--- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash
+++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 089ddd6c890e571f69eda0a85077d8ffe91c4b31fd0f9e20f47d4053c1e984a8 kodi-audiodecoder-stsound-21.0.2-Omega.tar.gz
+sha256 c40edfdc694f62d0ce0129f93b16fafa97cf254526d8d874a473560819c31894 kodi-audiodecoder-stsound-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk
index 2bd37a8e04..086e2ff6ff 100644
--- a/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk
+++ b/package/kodi-audiodecoder-stsound/kodi-audiodecoder-stsound.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_STSOUND_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_STSOUND_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_STSOUND_SITE = $(call github,xbmc,audiodecoder.stsound,$(KODI_AUDIODECODER_STSOUND_VERSION))
KODI_AUDIODECODER_STSOUND_LICENSE = GPL-2.0+
KODI_AUDIODECODER_STSOUND_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash
index 22e7015ff8..5240efc8a6 100644
--- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash
+++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 eb7bee9453825f86275ae05c4561fb52ee7fd9fa21857e303933cb57d28ccc4b kodi-audiodecoder-timidity-21.0.2-Omega.tar.gz
+sha256 90354522f51889c341541694bc964f24a4739c342c0c8f28ae3c002ac41eebbf kodi-audiodecoder-timidity-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk
index c165492416..ab417ee150 100644
--- a/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk
+++ b/package/kodi-audiodecoder-timidity/kodi-audiodecoder-timidity.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_TIMIDITY_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_TIMIDITY_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_TIMIDITY_SITE = $(call github,xbmc,audiodecoder.timidity,$(KODI_AUDIODECODER_TIMIDITY_VERSION))
KODI_AUDIODECODER_TIMIDITY_LICENSE = GPL-2.0+
KODI_AUDIODECODER_TIMIDITY_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash
index 010315db59..27a721d85d 100644
--- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash
+++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 6f5dddc0e6161426b8c40bfd1136ca555588db27ae78c02178b6ac5da93b377c kodi-audiodecoder-vgmstream-21.0.2-Omega.tar.gz
+sha256 c6ae413f47d9261f3a20cd4e2d380b44a57a82a93d03ddfdf2ac0666b230ac6b kodi-audiodecoder-vgmstream-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk
index 66beec0a37..74a5f05a0e 100644
--- a/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk
+++ b/package/kodi-audiodecoder-vgmstream/kodi-audiodecoder-vgmstream.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIODECODER_VGMSTREAM_VERSION = 21.0.2-Omega
+KODI_AUDIODECODER_VGMSTREAM_VERSION = 22.0.3-Piers
KODI_AUDIODECODER_VGMSTREAM_SITE = $(call github,xbmc,audiodecoder.vgmstream,$(KODI_AUDIODECODER_VGMSTREAM_VERSION))
KODI_AUDIODECODER_VGMSTREAM_LICENSE = GPL-2.0+
KODI_AUDIODECODER_VGMSTREAM_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 71/84] package/kodi-audioencoder-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (68 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 70/84] package/kodi-audiodecoder-*: mass version bump to Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 72/84] package/kodi-imagedecoder-*: " Bernd Kuhls
` (14 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash | 2 +-
package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk | 2 +-
package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash | 2 +-
package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk | 2 +-
package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash | 2 +-
package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk | 2 +-
package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash | 2 +-
package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk | 2 +-
8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash
index de326bc619..e88e0d5271 100644
--- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash
+++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 2e7f21f4c42ac2c627ed381436d430a83f18ebc07cb92e91b6c98c4ff9528cc5 kodi-audioencoder-flac-21.0.2-Omega.tar.gz
+sha256 f944778346057068d21b3b3b0f92c996c076fa512a82bf54e552ee929d382aa0 kodi-audioencoder-flac-22.0.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk
index 5fccb82313..5e9ee8406c 100644
--- a/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk
+++ b/package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIOENCODER_FLAC_VERSION = 21.0.2-Omega
+KODI_AUDIOENCODER_FLAC_VERSION = 22.0.5-Piers
KODI_AUDIOENCODER_FLAC_SITE = $(call github,xbmc,audioencoder.flac,$(KODI_AUDIOENCODER_FLAC_VERSION))
KODI_AUDIOENCODER_FLAC_LICENSE = GPL-2.0+
KODI_AUDIOENCODER_FLAC_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash
index 6c9439ec5d..fc55bd3b5c 100644
--- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash
+++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 cf593053e7413f6790352ab3c2fcf227763a23c8e7a90381b46afdde3d92df7f kodi-audioencoder-lame-21.0.2-Omega.tar.gz
+sha256 7edb92db2cc6af11d79f7f0111a60345c25aff422da719a1afef1e9e9f6fc401 kodi-audioencoder-lame-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk
index a1fa2c51dd..e44bc62647 100644
--- a/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk
+++ b/package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIOENCODER_LAME_VERSION = 21.0.2-Omega
+KODI_AUDIOENCODER_LAME_VERSION = 22.0.3-Piers
KODI_AUDIOENCODER_LAME_SITE = $(call github,xbmc,audioencoder.lame,$(KODI_AUDIOENCODER_LAME_VERSION))
KODI_AUDIOENCODER_LAME_LICENSE = GPL-2.0+
KODI_AUDIOENCODER_LAME_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash
index 91f51421c2..7ff0f9c324 100644
--- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash
+++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 5acd05c5e90459c1f07abe60c1df40f72ebcb3519287f104968c7cad17aca07d kodi-audioencoder-vorbis-21.0.2-Omega.tar.gz
+sha256 7409360a8b540303cd3f9e6b21a52e21dfcfe2f516f8a92a94b4035a90c5efb6 kodi-audioencoder-vorbis-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk
index 85a320c55c..a976a51ec4 100644
--- a/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk
+++ b/package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIOENCODER_VORBIS_VERSION = 21.0.2-Omega
+KODI_AUDIOENCODER_VORBIS_VERSION = 22.0.3-Piers
KODI_AUDIOENCODER_VORBIS_SITE = $(call github,xbmc,audioencoder.vorbis,$(KODI_AUDIOENCODER_VORBIS_VERSION))
KODI_AUDIOENCODER_VORBIS_LICENSE = GPL-2.0+
KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash
index 34370b536b..fff9f8773e 100644
--- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash
+++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 2bbc3e15706e02bbd3e6be3c232522e2091509a6fdf88d8af5db4cd6bf7b3476 kodi-audioencoder-wav-21.0.2-Omega.tar.gz
+sha256 8ca6b38660815593adb8c276347a51cbb91138d42de7f05bb2abda37624e3638 kodi-audioencoder-wav-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk
index 76f092302b..ccc9ada4c8 100644
--- a/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk
+++ b/package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_AUDIOENCODER_WAV_VERSION = 21.0.2-Omega
+KODI_AUDIOENCODER_WAV_VERSION = 22.0.3-Piers
KODI_AUDIOENCODER_WAV_SITE = $(call github,xbmc,audioencoder.wav,$(KODI_AUDIOENCODER_WAV_VERSION))
KODI_AUDIOENCODER_WAV_LICENSE = GPL-2.0+
KODI_AUDIOENCODER_WAV_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 72/84] package/kodi-imagedecoder-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (69 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 71/84] package/kodi-audioencoder-*: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 73/84] package/kodi-inputstream-*: " Bernd Kuhls
` (13 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.hash | 2 +-
package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.mk | 2 +-
package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.hash | 2 +-
package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.mk | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.hash b/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.hash
index f8bd74d0b2..9c821cd331 100644
--- a/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.hash
+++ b/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4502522c6e71439114a57cf51f444e38b32c7f786636ca6c361c94aaf5ffe066 kodi-imagedecoder-heif-21.0.3-Omega.tar.gz
+sha256 186539681e6067fa24ed3c0f526301224de30edbbda24e347af3d79569603cdd kodi-imagedecoder-heif-22.1.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.mk b/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.mk
index 5114dad72b..66bbdb832b 100644
--- a/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.mk
+++ b/package/kodi-imagedecoder-heif/kodi-imagedecoder-heif.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_IMAGEDECODER_HEIF_VERSION = 21.0.3-Omega
+KODI_IMAGEDECODER_HEIF_VERSION = 22.1.3-Piers
KODI_IMAGEDECODER_HEIF_SITE = $(call github,xbmc,imagedecoder.heif,$(KODI_IMAGEDECODER_HEIF_VERSION))
KODI_IMAGEDECODER_HEIF_LICENSE = GPL-2.0+
KODI_IMAGEDECODER_HEIF_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.hash b/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.hash
index 98adf46a9b..0b724e9383 100644
--- a/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.hash
+++ b/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 421812f6ca8d70e6736c920935461b43f1338ee04a919dcf7e5f7ce1879b54e2 kodi-imagedecoder-raw-21.0.2-Omega.tar.gz
+sha256 ee4692563acff8fce4d77ffd629778d9df3cb516825b7a74ffc80f25d902f419 kodi-imagedecoder-raw-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.mk b/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.mk
index 989742a901..ce5514cfcd 100644
--- a/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.mk
+++ b/package/kodi-imagedecoder-raw/kodi-imagedecoder-raw.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_IMAGEDECODER_RAW_VERSION = 21.0.2-Omega
+KODI_IMAGEDECODER_RAW_VERSION = 22.1.1-Piers
KODI_IMAGEDECODER_RAW_SITE = $(call github,xbmc,imagedecoder.raw,$(KODI_IMAGEDECODER_RAW_VERSION))
KODI_IMAGEDECODER_RAW_LICENSE = GPL-2.0+
KODI_IMAGEDECODER_RAW_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 73/84] package/kodi-inputstream-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (70 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 72/84] package/kodi-imagedecoder-*: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 74/84] package/kodi-peripheral-*: " Bernd Kuhls
` (12 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash | 2 +-
package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk | 2 +-
.../kodi-inputstream-ffmpegdirect.hash | 2 +-
.../kodi-inputstream-ffmpegdirect.mk | 2 +-
package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash | 2 +-
package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash
index cfd0b62fe6..8844714a85 100644
--- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash
+++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash
@@ -1,5 +1,5 @@
# Locally computed
-sha256 c4a458045bf4edfe51a1f9f03ac777c7101c9b00e0e72c76ac51a2b3f530779a kodi-inputstream-adaptive-21.5.25-Omega.tar.gz
+sha256 efc7841f949ae0c3f5eaba3f8066f7edfc162619dc0b56e53a18911011263d75 kodi-inputstream-adaptive-22.3.22-Piers.tar.gz
sha256 48632d57fbb6ab8f50cbf4deced5c91e733fa7ff292687c4816b77f28e483df9 LICENSE.md
sha256 02f864f3e07456785625968022ce811c5640301bfd2ae70963efea89d306790a LICENSES/README.md
sha256 0b7f5dcb3d2c28ff78d999786028930e762df0baa2f52955782e378ec5b636a8 LICENSES/BSD-2-Clause-Views
diff --git a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk
index 8aab0c88e8..eea32fd154 100644
--- a/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk
+++ b/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_INPUTSTREAM_ADAPTIVE_VERSION = 21.5.25-Omega
+KODI_INPUTSTREAM_ADAPTIVE_VERSION = 22.3.22-Piers
KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,xbmc,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION))
KODI_INPUTSTREAM_ADAPTIVE_LICENSE = \
BSD-2-Clause-Views \
diff --git a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash
index 8059858c4d..ed22d4a27a 100644
--- a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash
+++ b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 0648c6bbb2143cec0c3f48ad476f2c213f20c809caaf5ac74c8ceb4e53635f4e kodi-inputstream-ffmpegdirect-21.3.8-Omega.tar.gz
+sha256 f72d027b0aafe9e7734ca83e88e83dd038ea4c9b912dc6c53dfadbcfdb069468 kodi-inputstream-ffmpegdirect-22.2.10-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk
index 9fb9c95e13..9b050512ce 100644
--- a/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk
+++ b/package/kodi-inputstream-ffmpegdirect/kodi-inputstream-ffmpegdirect.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_INPUTSTREAM_FFMPEGDIRECT_VERSION = 21.3.8-Omega
+KODI_INPUTSTREAM_FFMPEGDIRECT_VERSION = 22.2.10-Piers
KODI_INPUTSTREAM_FFMPEGDIRECT_SITE = $(call github,xbmc,inputstream.ffmpegdirect,$(KODI_INPUTSTREAM_FFMPEGDIRECT_VERSION))
KODI_INPUTSTREAM_FFMPEGDIRECT_LICENSE = GPL-2.0+
KODI_INPUTSTREAM_FFMPEGDIRECT_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash
index 497efef7cf..c19949135f 100644
--- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash
+++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 b7223a30d2774e4c7cbd6c4f8a266bf4d186d160590077be627bd0490d80645c kodi-inputstream-rtmp-21.1.2-Omega.tar.gz
+sha256 4980297ade011d9c9f34c668702d5ae9528650bb4dbeff34cfa640d3a86f57ec kodi-inputstream-rtmp-22.1.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk
index 7aef9c815d..7b487564b8 100644
--- a/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk
+++ b/package/kodi-inputstream-rtmp/kodi-inputstream-rtmp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_INPUTSTREAM_RTMP_VERSION = 21.1.2-Omega
+KODI_INPUTSTREAM_RTMP_VERSION = 22.1.3-Piers
KODI_INPUTSTREAM_RTMP_SITE = $(call github,xbmc,inputstream.rtmp,$(KODI_INPUTSTREAM_RTMP_VERSION))
KODI_INPUTSTREAM_RTMP_LICENSE = GPL-2.0+
KODI_INPUTSTREAM_RTMP_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 74/84] package/kodi-peripheral-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (71 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 73/84] package/kodi-inputstream-*: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 75/84] package/kodi-pvr-hts: bump version to 22.9.2-Piers Bernd Kuhls
` (11 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash | 2 +-
package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk | 2 +-
package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash | 2 +-
package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash
index 3be4eef39b..541507704c 100644
--- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash
+++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 7392c30a9e49b0cd219cdca14f5b20ffce9f4a52c349c2cdf37cb603dd21f516 kodi-peripheral-joystick-21.1.23-Omega.tar.gz
+sha256 d4b2d2ed3276053d2da5f198fca248243a55d7b50730ca9e274d84636765e048 kodi-peripheral-joystick-22.0.11-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk
index 698b918266..0625dba460 100644
--- a/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk
+++ b/package/kodi-peripheral-joystick/kodi-peripheral-joystick.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PERIPHERAL_JOYSTICK_VERSION = 21.1.23-Omega
+KODI_PERIPHERAL_JOYSTICK_VERSION = 22.0.11-Piers
KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION))
KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+
KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash
index 833905b9a3..2791ce3074 100644
--- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash
+++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 5f74b0493e0f17e297f271b0befd01406dcaae121305bc7cb9d0ece6200cc675 kodi-peripheral-xarcade-21.0.2-Omega.tar.gz
+sha256 ca391349b0184083ee76918ae37359f2df541597812476c4a18b0c5e0b3d62d1 kodi-peripheral-xarcade-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk
index a46c616323..0fda4dbdfa 100644
--- a/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk
+++ b/package/kodi-peripheral-xarcade/kodi-peripheral-xarcade.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PERIPHERAL_XARCADE_VERSION = 21.0.2-Omega
+KODI_PERIPHERAL_XARCADE_VERSION = 22.0.3-Piers
KODI_PERIPHERAL_XARCADE_SITE = $(call github,kodi-game,peripheral.xarcade,$(KODI_PERIPHERAL_XARCADE_VERSION))
KODI_PERIPHERAL_XARCADE_LICENSE = GPL-2.0+
KODI_PERIPHERAL_XARCADE_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 75/84] package/kodi-pvr-hts: bump version to 22.9.2-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (72 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 74/84] package/kodi-peripheral-*: " Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 76/84] package/kodi-pvr-plutotv: bump version to 22.3.1-Piers Bernd Kuhls
` (10 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Removed patch which is included in this release.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-pvr-hts/0001-gcc15.patch | 26 --------------------------
package/kodi-pvr-hts/kodi-pvr-hts.hash | 2 +-
package/kodi-pvr-hts/kodi-pvr-hts.mk | 2 +-
3 files changed, 2 insertions(+), 28 deletions(-)
delete mode 100644 package/kodi-pvr-hts/0001-gcc15.patch
diff --git a/package/kodi-pvr-hts/0001-gcc15.patch b/package/kodi-pvr-hts/0001-gcc15.patch
deleted file mode 100644
index a62c5f836b..0000000000
--- a/package/kodi-pvr-hts/0001-gcc15.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b8fb7f6cbe9e3e9ea2737dc465a70fb4bb0951eb Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum <rudi@heitbaum.com>
-Date: Mon, 9 Dec 2024 00:19:15 +1100
-Subject: [PATCH] Fix build with gcc-15
-
-Backport upstream commit to fix build error with gcc-15.
-
-Upstream: https://github.com/kodi-pvr/pvr.hts/commit/b8fb7f6cbe9e3e9ea2737dc465a70fb4bb0951eb
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- src/tvheadend/HTSPVFS.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/tvheadend/HTSPVFS.h b/src/tvheadend/HTSPVFS.h
-index 1fbf9d18..80f9fea3 100644
---- a/src/tvheadend/HTSPVFS.h
-+++ b/src/tvheadend/HTSPVFS.h
-@@ -9,6 +9,7 @@
-
- #include <memory>
- #include <string>
-+#include <cstdint>
-
- namespace kodi
- {
diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.hash b/package/kodi-pvr-hts/kodi-pvr-hts.hash
index db2c69e67f..b1555a2794 100644
--- a/package/kodi-pvr-hts/kodi-pvr-hts.hash
+++ b/package/kodi-pvr-hts/kodi-pvr-hts.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 c98e29433bf4a007662b20279748dccd95da7817ab73b7e78c0b45fbe31c22b1 kodi-pvr-hts-21.2.6-Omega.tar.gz
+sha256 af9e9adce1a96073280f49b19adac4cdc0145a0e2889a530b067ed2a9708ce43 kodi-pvr-hts-22.9.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-hts/kodi-pvr-hts.mk b/package/kodi-pvr-hts/kodi-pvr-hts.mk
index 0e34a4bb09..addadb740d 100644
--- a/package/kodi-pvr-hts/kodi-pvr-hts.mk
+++ b/package/kodi-pvr-hts/kodi-pvr-hts.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_HTS_VERSION = 21.2.6-Omega
+KODI_PVR_HTS_VERSION = 22.9.3-Piers
KODI_PVR_HTS_SITE = $(call github,kodi-pvr,pvr.hts,$(KODI_PVR_HTS_VERSION))
KODI_PVR_HTS_LICENSE = GPL-2.0+
KODI_PVR_HTS_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 76/84] package/kodi-pvr-plutotv: bump version to 22.3.1-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (73 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 75/84] package/kodi-pvr-hts: bump version to 22.9.2-Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 77/84] package/kodi-pvr-waipu: bump version to 22.10.0-Piers Bernd Kuhls
` (9 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Replaced dependency rapidjson with nlohmann-json:
https://github.com/kodi-pvr/pvr.plutotv/commit/c6d0c6800421d2245922a497c3ff2994136ab374
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-pvr-plutotv/Config.in | 2 +-
package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash | 2 +-
package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/kodi-pvr-plutotv/Config.in b/package/kodi-pvr-plutotv/Config.in
index 37441283ce..29e6d8c485 100644
--- a/package/kodi-pvr-plutotv/Config.in
+++ b/package/kodi-pvr-plutotv/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_KODI_PVR_PLUTOTV
bool "kodi-pvr-plutotv"
- select BR2_PACKAGE_RAPIDJSON
+ select BR2_PACKAGE_JSON_FOR_MODERN_CPP
help
Pluto.tv PVR Client for Kodi
diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash
index 7381749ea2..f3d4e6f985 100644
--- a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash
+++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 9b65a30f4a5c0cfbf1ab669f06a3afb0cc7b2732ed6d6d4e768d16fd10a0da02 kodi-pvr-plutotv-21.3.3-Omega.tar.gz
+sha256 a56bbd15ea5eca3143feba281fa6f0f6dfc42ebed37e886d7ddd18013cae4f8e kodi-pvr-plutotv-22.3.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk
index 898b0aad0c..3bab7ddb1a 100644
--- a/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk
+++ b/package/kodi-pvr-plutotv/kodi-pvr-plutotv.mk
@@ -4,10 +4,10 @@
#
################################################################################
-KODI_PVR_PLUTOTV_VERSION = 21.3.3-Omega
+KODI_PVR_PLUTOTV_VERSION = 22.3.2-Piers
KODI_PVR_PLUTOTV_SITE = $(call github,kodi-pvr,pvr.plutotv,$(KODI_PVR_PLUTOTV_VERSION))
KODI_PVR_PLUTOTV_LICENSE = GPL-2.0+
KODI_PVR_PLUTOTV_LICENSE_FILES = LICENSE.md
-KODI_PVR_PLUTOTV_DEPENDENCIES = kodi rapidjson
+KODI_PVR_PLUTOTV_DEPENDENCIES = json-for-modern-cpp kodi
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 77/84] package/kodi-pvr-waipu: bump version to 22.10.0-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (74 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 76/84] package/kodi-pvr-plutotv: bump version to 22.3.1-Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:20 ` [Buildroot] [PATCH v8 78/84] package/kodi-pvr-zattoo: bump version to 22.2.3-Piers Bernd Kuhls
` (8 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Replaced dependency rapidjson with nlohmann-json:
https://github.com/flubshi/pvr.waipu/commit/5d74289b7501625ab2d9098ac16af0f66b8b4b98
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-pvr-waipu/Config.in | 2 +-
package/kodi-pvr-waipu/kodi-pvr-waipu.hash | 2 +-
package/kodi-pvr-waipu/kodi-pvr-waipu.mk | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/kodi-pvr-waipu/Config.in b/package/kodi-pvr-waipu/Config.in
index ee0cc2bdad..855e4ddc5f 100644
--- a/package/kodi-pvr-waipu/Config.in
+++ b/package/kodi-pvr-waipu/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_KODI_PVR_WAIPU
bool "kodi-pvr-waipu"
- select BR2_PACKAGE_RAPIDJSON
+ select BR2_PACKAGE_JSON_FOR_MODERN_CPP
help
Waipu.tv PVR Plugin for Kodi
diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.hash b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash
index 96cfeb940b..04746da530 100644
--- a/package/kodi-pvr-waipu/kodi-pvr-waipu.hash
+++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 80e4723a228b27447fe6e83c9e2aa4e9ebfc0d2a3618fbe0491b6d2440124b64 kodi-pvr-waipu-21.12.6-Omega.tar.gz
+sha256 9e7e71df13dd3f6d01a8899ec2da794d7a5d0c080cd6fefc0279fccaf612a29b kodi-pvr-waipu-22.10.0-Piers.tar.gz
sha256 4202d4fb329f58c83ba921b56d7071e37f7df3f15b3820a3a04ef8eee49f54d2 pvr.waipu/LICENSE.txt
diff --git a/package/kodi-pvr-waipu/kodi-pvr-waipu.mk b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk
index 177c1236b1..c68af9aa57 100644
--- a/package/kodi-pvr-waipu/kodi-pvr-waipu.mk
+++ b/package/kodi-pvr-waipu/kodi-pvr-waipu.mk
@@ -4,10 +4,10 @@
#
################################################################################
-KODI_PVR_WAIPU_VERSION = 21.12.6-Omega
+KODI_PVR_WAIPU_VERSION = 22.10.0-Piers
KODI_PVR_WAIPU_SITE = $(call github,flubshi,pvr.waipu,$(KODI_PVR_WAIPU_VERSION))
KODI_PVR_WAIPU_LICENSE = GPL-2.0+
KODI_PVR_WAIPU_LICENSE_FILES = pvr.waipu/LICENSE.txt
-KODI_PVR_WAIPU_DEPENDENCIES = kodi rapidjson
+KODI_PVR_WAIPU_DEPENDENCIES = json-for-modern-cpp kodi
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 78/84] package/kodi-pvr-zattoo: bump version to 22.2.3-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (75 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 77/84] package/kodi-pvr-waipu: bump version to 22.10.0-Piers Bernd Kuhls
@ 2026-10-06 16:20 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 79/84] package/kodi-pvr-*: mass version bump to Piers Bernd Kuhls
` (7 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:20 UTC (permalink / raw)
To: buildroot
Replaced dependency rapidjson with nlohmann-json:
https://github.com/rbuehlma/pvr.zattoo/commit/3a5b4bb46b7c89f1f6c5f5a6ebf30fc0728a5671
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-pvr-zattoo/Config.in | 2 +-
package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash | 2 +-
package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/kodi-pvr-zattoo/Config.in b/package/kodi-pvr-zattoo/Config.in
index 9a6eb3fec5..7596e7e7f7 100644
--- a/package/kodi-pvr-zattoo/Config.in
+++ b/package/kodi-pvr-zattoo/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_KODI_PVR_ZATTOO
bool "kodi-pvr-zattoo"
- select BR2_PACKAGE_RAPIDJSON
+ select BR2_PACKAGE_JSON_FOR_MODERN_CPP
select BR2_PACKAGE_TINYXML2
help
Kodi PVR-Addon for Zattoo
diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash
index 8b5509d947..57e847e230 100644
--- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash
+++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 d57efceff2f451cc8864d429abed6c7d808ea5092fddf3ece3f598d4a5e26b1f kodi-pvr-zattoo-21.0.7-Omega.tar.gz
+sha256 0fb9f133124efa1e19b38fb7748e371295ed2d74c38b1b0ba907321a927a0a60 kodi-pvr-zattoo-22.2.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk
index 12d2d5ff09..413b783d3a 100644
--- a/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk
+++ b/package/kodi-pvr-zattoo/kodi-pvr-zattoo.mk
@@ -4,10 +4,10 @@
#
################################################################################
-KODI_PVR_ZATTOO_VERSION = 21.0.7-Omega
+KODI_PVR_ZATTOO_VERSION = 22.2.3-Piers
KODI_PVR_ZATTOO_SITE = $(call github,rbuehlma,pvr.zattoo,$(KODI_PVR_ZATTOO_VERSION))
KODI_PVR_ZATTOO_LICENSE = GPL-2.0+
KODI_PVR_ZATTOO_LICENSE_FILES = LICENSE.md
-KODI_PVR_ZATTOO_DEPENDENCIES = kodi rapidjson tinyxml2
+KODI_PVR_ZATTOO_DEPENDENCIES = json-for-modern-cpp kodi tinyxml2
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 79/84] package/kodi-pvr-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (76 preceding siblings ...)
2026-10-06 16:20 ` [Buildroot] [PATCH v8 78/84] package/kodi-pvr-zattoo: bump version to 22.2.3-Piers Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 80/84] package/kodi-screensaver-rsxs: bump version to 22.0.5-Piers Bernd Kuhls
` (6 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-pvr-argustv/kodi-pvr-argustv.hash | 2 +-
package/kodi-pvr-argustv/kodi-pvr-argustv.mk | 2 +-
package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash | 2 +-
package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk | 2 +-
package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash | 2 +-
package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk | 2 +-
package/kodi-pvr-filmon/kodi-pvr-filmon.hash | 2 +-
package/kodi-pvr-filmon/kodi-pvr-filmon.mk | 2 +-
package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash | 2 +-
package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk | 2 +-
.../kodi-pvr-mediaportal-tvserver.hash | 2 +-
.../kodi-pvr-mediaportal-tvserver.mk | 2 +-
package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash | 2 +-
package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk | 2 +-
package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash | 2 +-
package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk | 2 +-
package/kodi-pvr-njoy/kodi-pvr-njoy.hash | 2 +-
package/kodi-pvr-njoy/kodi-pvr-njoy.mk | 2 +-
package/kodi-pvr-octonet/kodi-pvr-octonet.hash | 2 +-
package/kodi-pvr-octonet/kodi-pvr-octonet.mk | 2 +-
package/kodi-pvr-pctv/kodi-pvr-pctv.hash | 2 +-
package/kodi-pvr-pctv/kodi-pvr-pctv.mk | 2 +-
package/kodi-pvr-stalker/kodi-pvr-stalker.hash | 2 +-
package/kodi-pvr-stalker/kodi-pvr-stalker.mk | 2 +-
package/kodi-pvr-vbox/kodi-pvr-vbox.hash | 2 +-
package/kodi-pvr-vbox/kodi-pvr-vbox.mk | 2 +-
package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash | 2 +-
package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk | 2 +-
package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash | 2 +-
package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk | 2 +-
package/kodi-pvr-wmc/kodi-pvr-wmc.hash | 2 +-
package/kodi-pvr-wmc/kodi-pvr-wmc.mk | 2 +-
32 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash
index a778272054..5e6a5af8cf 100644
--- a/package/kodi-pvr-argustv/kodi-pvr-argustv.hash
+++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 8ec41a956a4348ded0ee650aaa20eb5ec746102b77da46515dcdfd5fa724c157 kodi-pvr-argustv-21.1.1-Omega.tar.gz
+sha256 0bb56d70b866f205f382345f3c959bf9868b666e894975594e922bb1ed3e9277 kodi-pvr-argustv-22.3.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk
index 71830f4413..f2deb2ca2f 100644
--- a/package/kodi-pvr-argustv/kodi-pvr-argustv.mk
+++ b/package/kodi-pvr-argustv/kodi-pvr-argustv.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_ARGUSTV_VERSION = 21.1.1-Omega
+KODI_PVR_ARGUSTV_VERSION = 22.3.5-Piers
KODI_PVR_ARGUSTV_SITE = $(call github,kodi-pvr,pvr.argustv,$(KODI_PVR_ARGUSTV_VERSION))
KODI_PVR_ARGUSTV_LICENSE = GPL-2.0+
KODI_PVR_ARGUSTV_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash
index 8ff9d652a3..ac5679b1b5 100644
--- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash
+++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 7c436b7a9a4e991f99c01e1fbe69761a1792e4aa703ec95e29ecdb9b7f251ae6 kodi-pvr-dvblink-21.1.3-Omega.tar.gz
+sha256 0ad2dea8f8932a2510f3fd9b0c41dc4bc4de5c6f621ce475c2bc14c45b8d7228 kodi-pvr-dvblink-22.3.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk
index 8f1b4c71b2..b2924a193e 100644
--- a/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk
+++ b/package/kodi-pvr-dvblink/kodi-pvr-dvblink.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_DVBLINK_VERSION = 21.1.3-Omega
+KODI_PVR_DVBLINK_VERSION = 22.3.2-Piers
KODI_PVR_DVBLINK_SITE = $(call github,kodi-pvr,pvr.dvblink,$(KODI_PVR_DVBLINK_VERSION))
KODI_PVR_DVBLINK_LICENSE = GPL-2.0+
KODI_PVR_DVBLINK_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash
index 18107198f8..73bd0e1c49 100644
--- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash
+++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 9e567eb074b885621266d2eb1e67e79a19f47ef503aad110d9bf92ba2bd75084 kodi-pvr-dvbviewer-21.1.3-Omega.tar.gz
+sha256 962c47a949377bf22f45b8af4c271fef409971ff06e24db1bfc379ada84cf7b2 kodi-pvr-dvbviewer-22.3.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk
index ec3cae5303..03fbac7f31 100644
--- a/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk
+++ b/package/kodi-pvr-dvbviewer/kodi-pvr-dvbviewer.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_DVBVIEWER_VERSION = 21.1.3-Omega
+KODI_PVR_DVBVIEWER_VERSION = 22.3.2-Piers
KODI_PVR_DVBVIEWER_SITE = $(call github,kodi-pvr,pvr.dvbviewer,$(KODI_PVR_DVBVIEWER_VERSION))
KODI_PVR_DVBVIEWER_LICENSE = GPL-2.0+
KODI_PVR_DVBVIEWER_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash
index ed2de1e5e0..99943aebc9 100644
--- a/package/kodi-pvr-filmon/kodi-pvr-filmon.hash
+++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 323702037d65d2820dbe7c589f395d1d1321a4fec61738745dd104ae569088df kodi-pvr-filmon-21.0.3-Omega.tar.gz
+sha256 4003e6c76c0e3b08becfdfa66606d2c8d56c6e89a713c32226c5216ed69e407b kodi-pvr-filmon-22.2.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk
index 7cb602a658..3abb8d11a0 100644
--- a/package/kodi-pvr-filmon/kodi-pvr-filmon.mk
+++ b/package/kodi-pvr-filmon/kodi-pvr-filmon.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_FILMON_VERSION = 21.0.3-Omega
+KODI_PVR_FILMON_VERSION = 22.2.5-Piers
KODI_PVR_FILMON_SITE = $(call github,kodi-pvr,pvr.filmon,$(KODI_PVR_FILMON_VERSION))
KODI_PVR_FILMON_LICENSE = GPL-2.0+
KODI_PVR_FILMON_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash
index 56598d88f7..8a390cb5a1 100644
--- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash
+++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 377fb3c69d39866c0b3b8a3a7d4c790241b15997b140f45443209c4e44e62418 kodi-pvr-iptvsimple-21.11.0-Omega.tar.gz
+sha256 7efb36a0c48ae1a16fec14d1e705003c22abf13d2a318448ffb122fc0afcfa70 kodi-pvr-iptvsimple-22.6.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk
index 0a4d9f5f1a..2d35a806a0 100644
--- a/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk
+++ b/package/kodi-pvr-iptvsimple/kodi-pvr-iptvsimple.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_IPTVSIMPLE_VERSION = 21.11.0-Omega
+KODI_PVR_IPTVSIMPLE_VERSION = 22.6.5-Piers
KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION))
KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+
KODI_PVR_IPTVSIMPLE_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash
index 6fb3ce9b0e..20f1bcb277 100644
--- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash
+++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 38727f8ea1ac350ced769b21919eb4b1409479f82ceeadf5140dbbdb7d5af415 kodi-pvr-mediaportal-tvserver-21.0.5-Omega.tar.gz
+sha256 e2b6101e1bc2a11da2c91f5f0640590898ec27f7c87466cf3c1d74b89a5f8973 kodi-pvr-mediaportal-tvserver-22.2.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk
index bdad9ec36a..68bbdd2c3b 100644
--- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk
+++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 21.0.5-Omega
+KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 22.2.5-Piers
KODI_PVR_MEDIAPORTAL_TVSERVER_SITE = $(call github,kodi-pvr,pvr.mediaportal.tvserver,$(KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION))
KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPL-2.0+
KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash
index 9ce2f1bdd0..cf0b8d523f 100644
--- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash
+++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 fff61cba963647e81ae273a974b31c2aab054e1a8c0e20278bb52623cd244921 kodi-pvr-mythtv-21.3.20-Omega.tar.gz
+sha256 053b7206efe1c2fcaebd83176ac818f74c61c57417bf2fc9bc3837a7a08ea3fe kodi-pvr-mythtv-22.3.18-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk
index 1270fa5871..b18bca3447 100644
--- a/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk
+++ b/package/kodi-pvr-mythtv/kodi-pvr-mythtv.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_MYTHTV_VERSION = 21.3.20-Omega
+KODI_PVR_MYTHTV_VERSION = 22.3.18-Piers
KODI_PVR_MYTHTV_SITE = $(call github,janbar,pvr.mythtv,$(KODI_PVR_MYTHTV_VERSION))
KODI_PVR_MYTHTV_LICENSE = GPL-2.0+
KODI_PVR_MYTHTV_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash
index 95d487bdab..9e0af270d8 100644
--- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash
+++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 6315a7bfe038b02c80efe4fe3ee33f92ee2454af8668ce3847e9bcaca38d2147 kodi-pvr-nextpvr-21.3.2-Omega.tar.gz
+sha256 5d5c9764a15242fd28bb81e88369f3ec61378c6bb90fab734046a15a727f4bae kodi-pvr-nextpvr-22.6.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk
index 56c8830606..5e7dfcd525 100644
--- a/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk
+++ b/package/kodi-pvr-nextpvr/kodi-pvr-nextpvr.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_NEXTPVR_VERSION = 21.3.2-Omega
+KODI_PVR_NEXTPVR_VERSION = 22.6.2-Piers
KODI_PVR_NEXTPVR_SITE = $(call github,kodi-pvr,pvr.nextpvr,$(KODI_PVR_NEXTPVR_VERSION))
KODI_PVR_NEXTPVR_LICENSE = GPL-2.0+
KODI_PVR_NEXTPVR_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash
index b5933657c4..78abef0666 100644
--- a/package/kodi-pvr-njoy/kodi-pvr-njoy.hash
+++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 62d856e14b76aa6900c28d4679b13d79d891dc040c4ea87331b0eee373542644 kodi-pvr-njoy-21.0.2-Omega.tar.gz
+sha256 3ec3c7d931eeafae79c0de45e3aa0bbcc8f3c7c5c5ea1ca9a521ea4996a83066 kodi-pvr-njoy-22.2.4-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk
index da74a31de0..8f7db51ad0 100644
--- a/package/kodi-pvr-njoy/kodi-pvr-njoy.mk
+++ b/package/kodi-pvr-njoy/kodi-pvr-njoy.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_NJOY_VERSION = 21.0.2-Omega
+KODI_PVR_NJOY_VERSION = 22.2.4-Piers
KODI_PVR_NJOY_SITE = $(call github,kodi-pvr,pvr.njoy,$(KODI_PVR_NJOY_VERSION))
KODI_PVR_NJOY_LICENSE = GPL-2.0+
KODI_PVR_NJOY_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-octonet/kodi-pvr-octonet.hash b/package/kodi-pvr-octonet/kodi-pvr-octonet.hash
index f62f31cecd..130745417c 100644
--- a/package/kodi-pvr-octonet/kodi-pvr-octonet.hash
+++ b/package/kodi-pvr-octonet/kodi-pvr-octonet.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4fd97ff7f0fa021a45958dcd1f922e39dbf5e7366732a74caf782621b97aaa07 kodi-pvr-octonet-21.0.1-Omega.tar.gz
+sha256 f2ba368d6066198691ca1b5d53bf94ba2288dadc2051ecb5be9013e9ca9a9012 kodi-pvr-octonet-22.2.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-octonet/kodi-pvr-octonet.mk b/package/kodi-pvr-octonet/kodi-pvr-octonet.mk
index bbcd78f4c5..5317ace82c 100644
--- a/package/kodi-pvr-octonet/kodi-pvr-octonet.mk
+++ b/package/kodi-pvr-octonet/kodi-pvr-octonet.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_OCTONET_VERSION = 21.0.1-Omega
+KODI_PVR_OCTONET_VERSION = 22.2.1-Piers
KODI_PVR_OCTONET_SITE = $(call github,DigitalDevices,pvr.octonet,$(KODI_PVR_OCTONET_VERSION))
KODI_PVR_OCTONET_LICENSE = GPL-2.0+
KODI_PVR_OCTONET_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash
index 2d9f739ad9..e66af0cccb 100644
--- a/package/kodi-pvr-pctv/kodi-pvr-pctv.hash
+++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 d3527b88d3956fecf8dda40928bc01bd340a22c25a6c38f758af8d6d85153354 kodi-pvr-pctv-21.0.2-Omega.tar.gz
+sha256 4f13cdb0092f3e1b979058d6a5594ef14138c906a539881f025242165c54e601 kodi-pvr-pctv-22.2.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk
index 52465471a4..232cbb56c6 100644
--- a/package/kodi-pvr-pctv/kodi-pvr-pctv.mk
+++ b/package/kodi-pvr-pctv/kodi-pvr-pctv.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_PCTV_VERSION = 21.0.2-Omega
+KODI_PVR_PCTV_VERSION = 22.2.5-Piers
KODI_PVR_PCTV_SITE = $(call github,kodi-pvr,pvr.pctv,$(KODI_PVR_PCTV_VERSION))
KODI_PVR_PCTV_LICENSE = GPL-2.0+
KODI_PVR_PCTV_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash
index 0cf4b7d9b1..63b4da5140 100644
--- a/package/kodi-pvr-stalker/kodi-pvr-stalker.hash
+++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 567b0d8bc7d79a166a65e3c47ecb3f73e3aa57db840465ea2e6c70c74421c162 kodi-pvr-stalker-21.1.3-Omega.tar.gz
+sha256 98f5151e4b29c99b6723061bb7cc5514c6307853d8d050c784a5ce93d51142e9 kodi-pvr-stalker-22.2.7-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk
index cd910857a8..3fdb9dd1ed 100644
--- a/package/kodi-pvr-stalker/kodi-pvr-stalker.mk
+++ b/package/kodi-pvr-stalker/kodi-pvr-stalker.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_STALKER_VERSION = 21.1.3-Omega
+KODI_PVR_STALKER_VERSION = 22.2.7-Piers
KODI_PVR_STALKER_SITE = $(call github,kodi-pvr,pvr.stalker,$(KODI_PVR_STALKER_VERSION))
KODI_PVR_STALKER_LICENSE = GPL-2.0+
KODI_PVR_STALKER_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash
index fb7ba291fd..d4bbc7002e 100644
--- a/package/kodi-pvr-vbox/kodi-pvr-vbox.hash
+++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 6550fa41f1d7312619dd9f4620a4b5b6c47240d71273df34a4300e580f617635 kodi-pvr-vbox-21.1.5-Omega.tar.gz
+sha256 ee82a2dd9e01b91c0c095555aa0e257fc2754349060250d636715452b7ca9e4a kodi-pvr-vbox-22.2.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk
index f4e069933f..db0b1016e9 100644
--- a/package/kodi-pvr-vbox/kodi-pvr-vbox.mk
+++ b/package/kodi-pvr-vbox/kodi-pvr-vbox.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_VBOX_VERSION = 21.1.5-Omega
+KODI_PVR_VBOX_VERSION = 22.2.5-Piers
KODI_PVR_VBOX_SITE = $(call github,kodi-pvr,pvr.vbox,$(KODI_PVR_VBOX_VERSION))
KODI_PVR_VBOX_LICENSE = GPL-2.0+
KODI_PVR_VBOX_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash
index 5b139bedb2..c187dd3e6f 100644
--- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash
+++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4608cfd2339cfc52470575f7caf153a97502cb360b44fcef2921c0623a931ef8 kodi-pvr-vdr-vnsi-21.1.3-Omega.tar.gz
+sha256 7eda51eba53402e44f1702d6dc13c29ab41ccaefe8ab3e7d6cfec5ab58849bb1 kodi-pvr-vdr-vnsi-22.3.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk
index 9ab5c9de03..f1c815ef83 100644
--- a/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk
+++ b/package/kodi-pvr-vdr-vnsi/kodi-pvr-vdr-vnsi.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_VDR_VNSI_VERSION = 21.1.3-Omega
+KODI_PVR_VDR_VNSI_VERSION = 22.3.3-Piers
KODI_PVR_VDR_VNSI_SITE = $(call github,kodi-pvr,pvr.vdr.vnsi,$(KODI_PVR_VDR_VNSI_VERSION))
KODI_PVR_VDR_VNSI_LICENSE = GPL-2.0+
KODI_PVR_VDR_VNSI_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash
index abbffd0f17..6cd687574d 100644
--- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash
+++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 5d83bb04fdf6f41f3ebb63df19d9f5e21631de4726475df731fc665af789072c kodi-pvr-vuplus-21.3.2-Omega.tar.gz
+sha256 2c677b914be2262fe3114a01066efabb3d3450d4bbc76eeaf942b77f31cdc3c7 kodi-pvr-vuplus-22.3.7-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk
index 57798af420..32e74a4f0e 100644
--- a/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk
+++ b/package/kodi-pvr-vuplus/kodi-pvr-vuplus.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_VUPLUS_VERSION = 21.3.2-Omega
+KODI_PVR_VUPLUS_VERSION = 22.3.7-Piers
KODI_PVR_VUPLUS_SITE = $(call github,kodi-pvr,pvr.vuplus,$(KODI_PVR_VUPLUS_VERSION))
KODI_PVR_VUPLUS_LICENSE = GPL-2.0+
KODI_PVR_VUPLUS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash
index ae4de33649..50ceaec5af 100644
--- a/package/kodi-pvr-wmc/kodi-pvr-wmc.hash
+++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 bee42bd2a55d00ab589db9ebcddfa75d9211571fda63d641ba484f5582934364 kodi-pvr-wmc-21.0.3-Omega.tar.gz
+sha256 f5905bee24f0ed43aa18c4a9b20a88af6dcf352d95fc3ee80371c5b8ffa6f911 kodi-pvr-wmc-22.2.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk
index f0284ab8a5..45404286b1 100644
--- a/package/kodi-pvr-wmc/kodi-pvr-wmc.mk
+++ b/package/kodi-pvr-wmc/kodi-pvr-wmc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_PVR_WMC_VERSION = 21.0.3-Omega
+KODI_PVR_WMC_VERSION = 22.2.5-Piers
KODI_PVR_WMC_SITE = $(call github,kodi-pvr,pvr.wmc,$(KODI_PVR_WMC_VERSION))
KODI_PVR_WMC_LICENSE = GPL-2.0+
KODI_PVR_WMC_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 80/84] package/kodi-screensaver-rsxs: bump version to 22.0.5-Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (77 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 79/84] package/kodi-pvr-*: mass version bump to Piers Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 81/84] package/kodi-screensaver-*: mass version bump to Piers Bernd Kuhls
` (5 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Removed patch which is included in this release.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0001-Fix-build-with-CMake-4.x.patch | 346 ------------------
.../kodi-screensaver-rsxs.hash | 2 +-
.../kodi-screensaver-rsxs.mk | 2 +-
3 files changed, 2 insertions(+), 348 deletions(-)
delete mode 100644 package/kodi-screensaver-rsxs/0001-Fix-build-with-CMake-4.x.patch
diff --git a/package/kodi-screensaver-rsxs/0001-Fix-build-with-CMake-4.x.patch b/package/kodi-screensaver-rsxs/0001-Fix-build-with-CMake-4.x.patch
deleted file mode 100644
index e9f80a98c4..0000000000
--- a/package/kodi-screensaver-rsxs/0001-Fix-build-with-CMake-4.x.patch
+++ /dev/null
@@ -1,346 +0,0 @@
-From f6ad95576920944e64a368ae4074812efbcedc4b Mon Sep 17 00:00:00 2001
-From: Bernd Kuhls <bernd@kuhls.net>
-Date: Wed, 11 Mar 2026 21:58:40 +0100
-Subject: [PATCH] Fix build with CMake 4.x
-
-Fixes build errors with CMake 4.x:
-
-CMake Error at lib/Implicit/CMakeLists.txt:1 (cmake_minimum_required):
- Compatibility with CMake < 3.5 has been removed from CMake.
-
-CMake Error at lib/Rgbhsl/CMakeLists.txt:1 (cmake_minimum_required):
- Compatibility with CMake < 3.5 has been removed from CMake.
-
-CMake Error at lib/rsMath/CMakeLists.txt:1 (cmake_minimum_required):
- Compatibility with CMake < 3.5 has been removed from CMake.
-
-Raise minimum version for all addons.
-
-Upstream: https://github.com/xbmc/screensavers.rsxs/commit/0635422964b6797d693866483d16dff51bcf4b57
-
-Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
----
- CMakeLists.txt | 2 +-
- depends/common/bz2/CMakeLists.txt | 2 +-
- lib/Implicit/CMakeLists.txt | 2 +-
- lib/Rgbhsl/CMakeLists.txt | 2 +-
- lib/kodi/gui/gl/CMakeLists.txt | 2 +-
- lib/rsMath/CMakeLists.txt | 2 +-
- src/biof/CMakeLists.txt | 2 +-
- src/busyspheres/CMakeLists.txt | 2 +-
- src/colorfire/CMakeLists.txt | 2 +-
- src/cyclone/CMakeLists.txt | 2 +-
- src/drempels/CMakeLists.txt | 2 +-
- src/euphoria/CMakeLists.txt | 2 +-
- src/feedback/CMakeLists.txt | 2 +-
- src/fieldlines/CMakeLists.txt | 2 +-
- src/flocks/CMakeLists.txt | 2 +-
- src/flux/CMakeLists.txt | 2 +-
- src/helios/CMakeLists.txt | 2 +-
- src/hufosmoke/CMakeLists.txt | 2 +-
- src/hufotunnel/CMakeLists.txt | 2 +-
- src/hyperspace/CMakeLists.txt | 2 +-
- src/lattice/CMakeLists.txt | 2 +-
- src/lorenz/CMakeLists.txt | 2 +-
- src/matrixview/CMakeLists.txt | 2 +-
- src/microcosm/CMakeLists.txt | 2 +-
- src/plasma/CMakeLists.txt | 2 +-
- src/skyrocket/CMakeLists.txt | 2 +-
- src/solarwinds/CMakeLists.txt | 2 +-
- src/spirographx/CMakeLists.txt | 2 +-
- src/sundancer2/CMakeLists.txt | 2 +-
- 29 files changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e93c31bc..1a9ca89c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensavers.rsxs)
-
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
-diff --git a/depends/common/bz2/CMakeLists.txt b/depends/common/bz2/CMakeLists.txt
-index 6b1a0a56..b83f34dd 100644
---- a/depends/common/bz2/CMakeLists.txt
-+++ b/depends/common/bz2/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(bzip2)
-
- if(NOT WIN32)
-diff --git a/lib/Implicit/CMakeLists.txt b/lib/Implicit/CMakeLists.txt
-index eef20e3b..14fb63d7 100644
---- a/lib/Implicit/CMakeLists.txt
-+++ b/lib/Implicit/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.0)
-+cmake_minimum_required(VERSION 3.5...4.0)
-
- project(Implicit)
-
-diff --git a/lib/Rgbhsl/CMakeLists.txt b/lib/Rgbhsl/CMakeLists.txt
-index 984ce9ba..ca01c592 100644
---- a/lib/Rgbhsl/CMakeLists.txt
-+++ b/lib/Rgbhsl/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.0)
-+cmake_minimum_required(VERSION 3.5...4.0)
-
- project(Rgbhsl)
-
-diff --git a/lib/kodi/gui/gl/CMakeLists.txt b/lib/kodi/gui/gl/CMakeLists.txt
-index 6fc4d87b..1b096d79 100644
---- a/lib/kodi/gui/gl/CMakeLists.txt
-+++ b/lib/kodi/gui/gl/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
-
- project(kodiOpenGL)
-
-diff --git a/lib/rsMath/CMakeLists.txt b/lib/rsMath/CMakeLists.txt
-index cc31d308..76100e89 100644
---- a/lib/rsMath/CMakeLists.txt
-+++ b/lib/rsMath/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.0)
-+cmake_minimum_required(VERSION 3.5...4.0)
-
- project(rsMath)
-
-diff --git a/src/biof/CMakeLists.txt b/src/biof/CMakeLists.txt
-index 810bec46..ec344ba8 100644
---- a/src/biof/CMakeLists.txt
-+++ b/src/biof/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.biof)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/busyspheres/CMakeLists.txt b/src/busyspheres/CMakeLists.txt
-index 41650ca6..cc829bd9 100644
---- a/src/busyspheres/CMakeLists.txt
-+++ b/src/busyspheres/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.busyspheres)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/colorfire/CMakeLists.txt b/src/colorfire/CMakeLists.txt
-index 3667cbd4..f8da4884 100644
---- a/src/colorfire/CMakeLists.txt
-+++ b/src/colorfire/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.colorfire)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/cyclone/CMakeLists.txt b/src/cyclone/CMakeLists.txt
-index 8af4172f..084f928b 100644
---- a/src/cyclone/CMakeLists.txt
-+++ b/src/cyclone/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.cyclone)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/drempels/CMakeLists.txt b/src/drempels/CMakeLists.txt
-index 1ebd427f..d4c38a95 100644
---- a/src/drempels/CMakeLists.txt
-+++ b/src/drempels/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.drempels)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/euphoria/CMakeLists.txt b/src/euphoria/CMakeLists.txt
-index d3f55ee3..de2e2f67 100644
---- a/src/euphoria/CMakeLists.txt
-+++ b/src/euphoria/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.euphoria)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/feedback/CMakeLists.txt b/src/feedback/CMakeLists.txt
-index b37c430a..fd417d61 100644
---- a/src/feedback/CMakeLists.txt
-+++ b/src/feedback/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.feedback)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/fieldlines/CMakeLists.txt b/src/fieldlines/CMakeLists.txt
-index de60dda8..b0dc30b6 100644
---- a/src/fieldlines/CMakeLists.txt
-+++ b/src/fieldlines/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.fieldlines)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/flocks/CMakeLists.txt b/src/flocks/CMakeLists.txt
-index c2b4a793..a15db4d8 100644
---- a/src/flocks/CMakeLists.txt
-+++ b/src/flocks/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.flocks)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/flux/CMakeLists.txt b/src/flux/CMakeLists.txt
-index a2de0b2a..6aeda787 100644
---- a/src/flux/CMakeLists.txt
-+++ b/src/flux/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.flux)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/helios/CMakeLists.txt b/src/helios/CMakeLists.txt
-index d64a6194..6feb0ac2 100644
---- a/src/helios/CMakeLists.txt
-+++ b/src/helios/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.helios)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/hufosmoke/CMakeLists.txt b/src/hufosmoke/CMakeLists.txt
-index 44d13231..b4fe79a5 100644
---- a/src/hufosmoke/CMakeLists.txt
-+++ b/src/hufosmoke/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.hufosmoke)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/hufotunnel/CMakeLists.txt b/src/hufotunnel/CMakeLists.txt
-index b18ce736..f8c67c85 100644
---- a/src/hufotunnel/CMakeLists.txt
-+++ b/src/hufotunnel/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.hufotunnel)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/hyperspace/CMakeLists.txt b/src/hyperspace/CMakeLists.txt
-index 6bd303e2..5733be37 100644
---- a/src/hyperspace/CMakeLists.txt
-+++ b/src/hyperspace/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.hyperspace)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/lattice/CMakeLists.txt b/src/lattice/CMakeLists.txt
-index ef884e4c..9f9455f4 100644
---- a/src/lattice/CMakeLists.txt
-+++ b/src/lattice/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.lattice)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/lorenz/CMakeLists.txt b/src/lorenz/CMakeLists.txt
-index ab3026f6..35f749d9 100644
---- a/src/lorenz/CMakeLists.txt
-+++ b/src/lorenz/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.lorenz)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/matrixview/CMakeLists.txt b/src/matrixview/CMakeLists.txt
-index d98a8f14..d5f77ec7 100644
---- a/src/matrixview/CMakeLists.txt
-+++ b/src/matrixview/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.matrixview)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/microcosm/CMakeLists.txt b/src/microcosm/CMakeLists.txt
-index d05b639d..65437c28 100644
---- a/src/microcosm/CMakeLists.txt
-+++ b/src/microcosm/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.microcosm)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/plasma/CMakeLists.txt b/src/plasma/CMakeLists.txt
-index e7fc7956..fd25963f 100644
---- a/src/plasma/CMakeLists.txt
-+++ b/src/plasma/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.plasma)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/skyrocket/CMakeLists.txt b/src/skyrocket/CMakeLists.txt
-index 8a89f28f..8e9e0500 100644
---- a/src/skyrocket/CMakeLists.txt
-+++ b/src/skyrocket/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.skyrocket)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/solarwinds/CMakeLists.txt b/src/solarwinds/CMakeLists.txt
-index f1ef41c7..2417edf0 100644
---- a/src/solarwinds/CMakeLists.txt
-+++ b/src/solarwinds/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.solarwinds)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/spirographx/CMakeLists.txt b/src/spirographx/CMakeLists.txt
-index 2ccb751d..41a245d4 100644
---- a/src/spirographx/CMakeLists.txt
-+++ b/src/spirographx/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.spirographx)
-
- message(STATUS "--------------------------------------------------------------------------------")
-diff --git a/src/sundancer2/CMakeLists.txt b/src/sundancer2/CMakeLists.txt
-index a0e47a6d..a3bfbbe9 100644
---- a/src/sundancer2/CMakeLists.txt
-+++ b/src/sundancer2/CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.5...4.0)
- project(screensaver.rsxs.sundancer2)
-
- message(STATUS "--------------------------------------------------------------------------------")
---
-2.47.3
-
diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash
index 86174991f0..b9378e1576 100644
--- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash
+++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 76c1df60f3b4bf4c61f827e07ac61173e3b72defe6ab54d1a1fa34f1cd6f38ab kodi-screensaver-rsxs-21.1.2-Omega.tar.gz
+sha256 4e44e6b6e804b81208c6d47f156e63e24d5af0e61fa46d5959c61e00ba2b36a8 kodi-screensaver-rsxs-22.0.7-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk
index dcca031b51..f04daed71c 100644
--- a/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk
+++ b/package/kodi-screensaver-rsxs/kodi-screensaver-rsxs.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_RSXS_VERSION = 21.1.2-Omega
+KODI_SCREENSAVER_RSXS_VERSION = 22.0.7-Piers
KODI_SCREENSAVER_RSXS_SITE = $(call github,xbmc,screensavers.rsxs,$(KODI_SCREENSAVER_RSXS_VERSION))
KODI_SCREENSAVER_RSXS_LICENSE = GPL-2.0+
KODI_SCREENSAVER_RSXS_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 81/84] package/kodi-screensaver-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (78 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 80/84] package/kodi-screensaver-rsxs: bump version to 22.0.5-Piers Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 82/84] package/kodi-skin-confluence: bump version Bernd Kuhls
` (4 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash | 2 +-
.../kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk | 2 +-
.../kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash | 2 +-
.../kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk | 2 +-
.../kodi-screensaver-biogenesis.hash | 2 +-
.../kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk | 2 +-
package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash | 2 +-
package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk | 2 +-
.../kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash | 2 +-
.../kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk | 2 +-
.../kodi-screensaver-matrixtrails.hash | 2 +-
.../kodi-screensaver-matrixtrails.mk | 2 +-
.../kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash | 2 +-
package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk | 2 +-
package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash | 2 +-
package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk | 2 +-
package/kodi-screensaver-stars/kodi-screensaver-stars.hash | 2 +-
package/kodi-screensaver-stars/kodi-screensaver-stars.mk | 2 +-
18 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash
index 0210157d2a..a68c3ca3b3 100644
--- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash
+++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 468527220845a411af4dd021a907c6449327015fb848e61adfb46b47edde331a kodi-screensaver-asteroids-21.0.2-Omega.tar.gz
+sha256 5682dd86180706b6bee99a3b16797378b68d64832abf8fde180e6e5da741e07a kodi-screensaver-asteroids-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk
index 878ab22c3b..f680a69cf5 100644
--- a/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk
+++ b/package/kodi-screensaver-asteroids/kodi-screensaver-asteroids.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_ASTEROIDS_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_ASTEROIDS_VERSION = 22.0.6-Piers
KODI_SCREENSAVER_ASTEROIDS_SITE = $(call github,xbmc,screensaver.asteroids,$(KODI_SCREENSAVER_ASTEROIDS_VERSION))
KODI_SCREENSAVER_ASTEROIDS_LICENSE = GPL-2.0+
KODI_SCREENSAVER_ASTEROIDS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash
index c63d3be3e8..c7bd9973da 100644
--- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash
+++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 de92f8773f23c77f388201d316273f1a06103965bdb9684cbda19a73180c1488 kodi-screensaver-asterwave-21.0.2-Omega.tar.gz
+sha256 049ddd84606576439531a76f04bf6732ecab1776d151a5bfe7b69a1a488080ee kodi-screensaver-asterwave-22.0.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk
index 90507bf8b0..90518360fc 100644
--- a/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk
+++ b/package/kodi-screensaver-asterwave/kodi-screensaver-asterwave.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_ASTERWAVE_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_ASTERWAVE_VERSION = 22.0.5-Piers
KODI_SCREENSAVER_ASTERWAVE_SITE = $(call github,xbmc,screensaver.asterwave,$(KODI_SCREENSAVER_ASTERWAVE_VERSION))
KODI_SCREENSAVER_ASTERWAVE_LICENSE = GPL-2.0+
KODI_SCREENSAVER_ASTERWAVE_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash
index 865f31b201..9f163c5dd6 100644
--- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash
+++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 fdd5a5abf98318e01e22c88f81ae3838b2f3b76f99b39e01fc94af528a200849 kodi-screensaver-biogenesis-21.0.2-Omega.tar.gz
+sha256 a67269b38cdb3d9d39f8c7ae5c014af6496159ede7701fdfc102e78280e1ac56 kodi-screensaver-biogenesis-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk
index 4455caedda..25cbfb8cbe 100644
--- a/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk
+++ b/package/kodi-screensaver-biogenesis/kodi-screensaver-biogenesis.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_BIOGENESIS_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_BIOGENESIS_VERSION = 22.0.6-Piers
KODI_SCREENSAVER_BIOGENESIS_SITE = $(call github,xbmc,screensaver.biogenesis,$(KODI_SCREENSAVER_BIOGENESIS_VERSION))
KODI_SCREENSAVER_BIOGENESIS_LICENSE = GPL-2.0+
KODI_SCREENSAVER_BIOGENESIS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash
index bb6918a03b..35e6186c19 100644
--- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash
+++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 f56b57dfc8535331e36527462bd820e06e287a5a48ffdb33d00bdf1a2dc62b90 kodi-screensaver-cpblobs-21.0.2-Omega.tar.gz
+sha256 c611deff379023ef3310f3a4eb75f0d1ae694310efa857fc79e35a178c751c01 kodi-screensaver-cpblobs-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk
index 8154bda2e1..0b97d3271e 100644
--- a/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk
+++ b/package/kodi-screensaver-cpblobs/kodi-screensaver-cpblobs.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_CPBLOBS_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_CPBLOBS_VERSION = 22.0.3-Piers
KODI_SCREENSAVER_CPBLOBS_SITE = $(call github,xbmc,screensaver.cpblobs,$(KODI_SCREENSAVER_CPBLOBS_VERSION))
KODI_SCREENSAVER_CPBLOBS_LICENSE = GPL-2.0
KODI_SCREENSAVER_CPBLOBS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash
index df652f3286..034993ff3b 100644
--- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash
+++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 9ed9dba2040268bfd82648856b3e07da5cf51f39909c71c2579475221477e3a6 kodi-screensaver-greynetic-21.0.2-Omega.tar.gz
+sha256 cb87ccf7c3cbbca7682196e0ed6b5556662a9b630cfa462536fe019ff8e7cdaa kodi-screensaver-greynetic-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk
index e484305485..1049386374 100644
--- a/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk
+++ b/package/kodi-screensaver-greynetic/kodi-screensaver-greynetic.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_GREYNETIC_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_GREYNETIC_VERSION = 22.0.6-Piers
KODI_SCREENSAVER_GREYNETIC_SITE = $(call github,xbmc,screensaver.greynetic,$(KODI_SCREENSAVER_GREYNETIC_VERSION))
KODI_SCREENSAVER_GREYNETIC_LICENSE = GPL-2.0+
KODI_SCREENSAVER_GREYNETIC_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash
index 27bba5d3ba..a339fd3932 100644
--- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash
+++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 cc342d201606e682fc9def894a308784b74633f981209570c87d1bd206894311 kodi-screensaver-matrixtrails-21.0.2-Omega.tar.gz
+sha256 906de731f0b1f559d27c874c29f3de8bcd82551a99547181ba5a3cbf4ab9dfb4 kodi-screensaver-matrixtrails-22.0.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk
index ab51a5bc2b..21b1a652b9 100644
--- a/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk
+++ b/package/kodi-screensaver-matrixtrails/kodi-screensaver-matrixtrails.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_MATRIXTRAILS_VERSION = 22.0.5-Piers
KODI_SCREENSAVER_MATRIXTRAILS_SITE = $(call github,xbmc,screensaver.matrixtrails,$(KODI_SCREENSAVER_MATRIXTRAILS_VERSION))
KODI_SCREENSAVER_MATRIXTRAILS_LICENSE = GPL-2.0+
KODI_SCREENSAVER_MATRIXTRAILS_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash
index 867ebf865a..2dbae3ef54 100644
--- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash
+++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4d7c15a0070e4792b4b56726d9a37ab6ca8c569186e0beebd256a57203d5e362 kodi-screensaver-pingpong-21.0.2-Omega.tar.gz
+sha256 b2d773288bc4e07e695ba847805a498b43d35784fbc066f878f8d0217d422cb4 kodi-screensaver-pingpong-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk
index 5d1854b9a2..63b89a18d3 100644
--- a/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk
+++ b/package/kodi-screensaver-pingpong/kodi-screensaver-pingpong.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_PINGPONG_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_PINGPONG_VERSION = 22.0.6-Piers
KODI_SCREENSAVER_PINGPONG_SITE = $(call github,xbmc,screensaver.pingpong,$(KODI_SCREENSAVER_PINGPONG_VERSION))
KODI_SCREENSAVER_PINGPONG_LICENSE = GPL-2.0+
KODI_SCREENSAVER_PINGPONG_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash
index 23d1e1b1f3..7a3f8c0642 100644
--- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash
+++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 4a6b5d7efd789be40226ffe337bac8f64c47335c40085d940d624d42cdaa1be0 kodi-screensaver-pyro-21.0.2-Omega.tar.gz
+sha256 70e519246b05bad18ef97f0973a082bc4796a438fd6054532b44a8af3bb4dcfc kodi-screensaver-pyro-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk
index 72bbf2e913..6ffbf563b1 100644
--- a/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk
+++ b/package/kodi-screensaver-pyro/kodi-screensaver-pyro.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_PYRO_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_PYRO_VERSION = 22.0.6-Piers
KODI_SCREENSAVER_PYRO_SITE = $(call github,xbmc,screensaver.pyro,$(KODI_SCREENSAVER_PYRO_VERSION))
KODI_SCREENSAVER_PYRO_LICENSE = GPL-2.0+
KODI_SCREENSAVER_PYRO_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash
index 6f9ca93d8d..c611a7cfd8 100644
--- a/package/kodi-screensaver-stars/kodi-screensaver-stars.hash
+++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 86a479a4c6d0b27723a701330b83704f223566eabe7a25302ecf8f0a66e5b27e kodi-screensaver-stars-21.0.2-Omega.tar.gz
+sha256 45da0470fd95cc059356f87ae34db32a117ac11c9e30e4b65c7f018b942bc534 kodi-screensaver-stars-22.0.5-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk
index cff60ae5db..4dc7577b6b 100644
--- a/package/kodi-screensaver-stars/kodi-screensaver-stars.mk
+++ b/package/kodi-screensaver-stars/kodi-screensaver-stars.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SCREENSAVER_STARS_VERSION = 21.0.2-Omega
+KODI_SCREENSAVER_STARS_VERSION = 22.0.5-Piers
KODI_SCREENSAVER_STARS_SITE = $(call github,xbmc,screensaver.stars,$(KODI_SCREENSAVER_STARS_VERSION))
KODI_SCREENSAVER_STARS_LICENSE = GPL-2.0+
KODI_SCREENSAVER_STARS_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 82/84] package/kodi-skin-confluence: bump version
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (79 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 81/84] package/kodi-screensaver-*: mass version bump to Piers Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 83/84] package/kodi-vfs-*: mass version bump to Piers Bernd Kuhls
` (3 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-skin-confluence/kodi-skin-confluence.hash | 2 +-
package/kodi-skin-confluence/kodi-skin-confluence.mk | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.hash b/package/kodi-skin-confluence/kodi-skin-confluence.hash
index 9cde584da2..9974b4a3bc 100644
--- a/package/kodi-skin-confluence/kodi-skin-confluence.hash
+++ b/package/kodi-skin-confluence/kodi-skin-confluence.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 ae7177ad7f06fdb38ba0e217b2ac3e4375cf29a7792f2eaa70003286410521a0 kodi-skin-confluence-b049aa8b6bab50518de72783efd219680047d6d9.tar.gz
+sha256 8043658a939e141305d6acd426a5a5be3a35ec1b94baba23fde069e4a1ff0f00 kodi-skin-confluence-da60e21de4a87581a8526c9409625e9f21cc7a33.tar.gz
sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.txt
diff --git a/package/kodi-skin-confluence/kodi-skin-confluence.mk b/package/kodi-skin-confluence/kodi-skin-confluence.mk
index 31d6b37380..2a83eb5994 100644
--- a/package/kodi-skin-confluence/kodi-skin-confluence.mk
+++ b/package/kodi-skin-confluence/kodi-skin-confluence.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_SKIN_CONFLUENCE_VERSION = b049aa8b6bab50518de72783efd219680047d6d9
+KODI_SKIN_CONFLUENCE_VERSION = da60e21de4a87581a8526c9409625e9f21cc7a33
KODI_SKIN_CONFLUENCE_SITE = $(call github,xbmc,skin.confluence,$(KODI_SKIN_CONFLUENCE_VERSION))
KODI_SKIN_CONFLUENCE_LICENSE = GPL-2.0
KODI_SKIN_CONFLUENCE_LICENSE_FILES = LICENSE.txt
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 83/84] package/kodi-vfs-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (80 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 82/84] package/kodi-skin-confluence: bump version Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-06 16:21 ` [Buildroot] [PATCH v8 84/84] package/kodi-visualisation-*: " Bernd Kuhls
` (2 subsequent siblings)
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash | 2 +-
package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk | 2 +-
package/kodi-vfs-rar/kodi-vfs-rar.hash | 2 +-
package/kodi-vfs-rar/kodi-vfs-rar.mk | 2 +-
package/kodi-vfs-sftp/kodi-vfs-sftp.hash | 2 +-
package/kodi-vfs-sftp/kodi-vfs-sftp.mk | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash
index e65ba18fa5..79e861b1aa 100644
--- a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash
+++ b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 aab35cb6b03191609a7e97df02f2f102659c12e414f7b95595f9bb2047554daf kodi-vfs-libarchive-21.0.2-Omega.tar.gz
+sha256 378ac05a967e80dc02d36ddcaaff97dd8324ebd58c3ca7cc82b943037dec14a4 kodi-vfs-libarchive-22.0.3-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk
index ee1ca59b52..7ee7547f2b 100644
--- a/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk
+++ b/package/kodi-vfs-libarchive/kodi-vfs-libarchive.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VFS_LIBARCHIVE_VERSION = 21.0.2-Omega
+KODI_VFS_LIBARCHIVE_VERSION = 22.0.3-Piers
KODI_VFS_LIBARCHIVE_SITE = $(call github,xbmc,vfs.libarchive,$(KODI_VFS_LIBARCHIVE_VERSION))
KODI_VFS_LIBARCHIVE_LICENSE = GPL-2.0+
KODI_VFS_LIBARCHIVE_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.hash b/package/kodi-vfs-rar/kodi-vfs-rar.hash
index c69e57758f..eded39b35a 100644
--- a/package/kodi-vfs-rar/kodi-vfs-rar.hash
+++ b/package/kodi-vfs-rar/kodi-vfs-rar.hash
@@ -1,5 +1,5 @@
# Locally computed
-sha256 7492cf73d52299218acc982c4b35b020ea801d36d47e40460341f4dde712de50 kodi-vfs-rar-21.0.2-Omega.tar.gz
+sha256 b640feaa5579afbf1ae911eeb47abed78501d2bc2bb177ecc06022da04707181 kodi-vfs-rar-22.0.5-Piers.tar.gz
# License files
sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a lib/UnrarXLib/license.txt
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-vfs-rar/kodi-vfs-rar.mk b/package/kodi-vfs-rar/kodi-vfs-rar.mk
index 7cffe1274a..cc96dab863 100644
--- a/package/kodi-vfs-rar/kodi-vfs-rar.mk
+++ b/package/kodi-vfs-rar/kodi-vfs-rar.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VFS_RAR_VERSION = 21.0.2-Omega
+KODI_VFS_RAR_VERSION = 22.0.5-Piers
KODI_VFS_RAR_SITE = $(call github,xbmc,vfs.rar,$(KODI_VFS_RAR_VERSION))
KODI_VFS_RAR_LICENSE = unrar, GPL-2.0+
KODI_VFS_RAR_LICENSE_FILES = lib/UnrarXLib/license.txt LICENSE.md
diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.hash b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash
index 3a59241d7b..be2471c77b 100644
--- a/package/kodi-vfs-sftp/kodi-vfs-sftp.hash
+++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 01a23958331cb0cd78fd2e9367d1269d4319c20b84db5b132632f9c1acd5f3c5 kodi-vfs-sftp-21.0.2-Omega.tar.gz
+sha256 e0d54427f74874da2352afdea0288864dbaf8dc38ecc5bbc0b1711a129233e0c kodi-vfs-sftp-22.0.6-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-vfs-sftp/kodi-vfs-sftp.mk b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk
index 18ea2bc099..c6eb220d18 100644
--- a/package/kodi-vfs-sftp/kodi-vfs-sftp.mk
+++ b/package/kodi-vfs-sftp/kodi-vfs-sftp.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VFS_SFTP_VERSION = 21.0.2-Omega
+KODI_VFS_SFTP_VERSION = 22.0.6-Piers
KODI_VFS_SFTP_SITE = $(call github,xbmc,vfs.sftp,$(KODI_VFS_SFTP_VERSION))
KODI_VFS_SFTP_LICENSE = GPL-2.0+
KODI_VFS_SFTP_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* [Buildroot] [PATCH v8 84/84] package/kodi-visualisation-*: mass version bump to Piers
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (81 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 83/84] package/kodi-vfs-*: mass version bump to Piers Bernd Kuhls
@ 2026-10-06 16:21 ` Bernd Kuhls
2026-10-10 7:05 ` [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Thomas Petazzoni via buildroot
[not found] ` <asniCZ4ltvtZWCh5__25469.4031713129$1791615974$gmane$org@windsurf>
84 siblings, 0 replies; 119+ messages in thread
From: Bernd Kuhls @ 2026-10-06 16:21 UTC (permalink / raw)
To: buildroot
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash | 2 +-
.../kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk | 2 +-
package/kodi-visualisation-goom/kodi-visualisation-goom.hash | 2 +-
package/kodi-visualisation-goom/kodi-visualisation-goom.mk | 2 +-
.../kodi-visualisation-matrix/kodi-visualisation-matrix.hash | 2 +-
package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk | 2 +-
.../kodi-visualisation-shadertoy.hash | 2 +-
.../kodi-visualisation-shadertoy.mk | 2 +-
.../kodi-visualisation-spectrum.hash | 2 +-
.../kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk | 2 +-
.../kodi-visualisation-starburst.hash | 2 +-
.../kodi-visualisation-starburst.mk | 2 +-
.../kodi-visualisation-waveform.hash | 2 +-
.../kodi-visualisation-waveform/kodi-visualisation-waveform.mk | 2 +-
14 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash
index 3f5f761968..7224b062aa 100644
--- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash
+++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 d7433e4e88e29f1dd3524d2d0b660ce529852561f14f479f4b83a9c5ac436ffc kodi-visualisation-fishbmc-21.0.2-Omega.tar.gz
+sha256 e0ec1dd6832cd916a0ec8a2baa8be55c65670bb618c9be8747c7cadaf22c1535 kodi-visualisation-fishbmc-22.1.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk
index b1eb305620..393cf19700 100644
--- a/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk
+++ b/package/kodi-visualisation-fishbmc/kodi-visualisation-fishbmc.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_FISHBMC_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_FISHBMC_VERSION = 22.1.2-Piers
KODI_VISUALISATION_FISHBMC_SITE = $(call github,xbmc,visualization.fishbmc,$(KODI_VISUALISATION_FISHBMC_VERSION))
KODI_VISUALISATION_FISHBMC_LICENSE = GPL-2.0+
KODI_VISUALISATION_FISHBMC_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
index 71ce1c657e..72fd7ed709 100644
--- a/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
+++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 f87356122f91ea40d096d559d1180571e701e39867448768d14d6c2ba3b2e264 kodi-visualisation-goom-21.0.2-Omega.tar.gz
+sha256 3bb77b47d26aaf1e6cca451bbb9c22f162101f3a43b014a1bfa3583329e08f44 kodi-visualisation-goom-22.1.2-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
index 6b35c64a87..a4b7285589 100644
--- a/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
+++ b/package/kodi-visualisation-goom/kodi-visualisation-goom.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_GOOM_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_GOOM_VERSION = 22.1.2-Piers
KODI_VISUALISATION_GOOM_SITE = $(call github,xbmc,visualization.goom,$(KODI_VISUALISATION_GOOM_VERSION))
KODI_VISUALISATION_GOOM_LICENSE = GPL-2.0+
KODI_VISUALISATION_GOOM_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash
index a924eaa6f8..aad763fadb 100644
--- a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash
+++ b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 b1d1f3da5470d657e70c4b914a77445fe1d0a0ba35007fc402982a8b1b4cf9b0 kodi-visualisation-matrix-21.0.2-Omega.tar.gz
+sha256 a0060d82a8a9e9cdf2fb30451116271d5ab1dd9196c27cda1f6ae7eb1f787b02 kodi-visualisation-matrix-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk
index fd885712ad..05e4889c84 100644
--- a/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk
+++ b/package/kodi-visualisation-matrix/kodi-visualisation-matrix.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_MATRIX_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_MATRIX_VERSION = 22.1.1-Piers
KODI_VISUALISATION_MATRIX_SITE = $(call github,xbmc,visualization.matrix,$(KODI_VISUALISATION_MATRIX_VERSION))
KODI_VISUALISATION_MATRIX_LICENSE = GPL-2.0+
KODI_VISUALISATION_MATRIX_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash
index 508820876d..6de80abd30 100644
--- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash
+++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 30a5081365cea1dbdf49ccbb059076d4c7abc28604a58749fcd0d025e2faa760 kodi-visualisation-shadertoy-21.0.2-Omega.tar.gz
+sha256 ec4881e0a71ef4a01ff33a0704bb0e53acb573d49cdeb5bd67a4948b85659e1a kodi-visualisation-shadertoy-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk
index 32d6d6f056..d095247c2a 100644
--- a/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk
+++ b/package/kodi-visualisation-shadertoy/kodi-visualisation-shadertoy.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_SHADERTOY_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_SHADERTOY_VERSION = 22.1.1-Piers
KODI_VISUALISATION_SHADERTOY_SITE = $(call github,xbmc,visualization.shadertoy,$(KODI_VISUALISATION_SHADERTOY_VERSION))
KODI_VISUALISATION_SHADERTOY_LICENSE = GPL-2.0+
KODI_VISUALISATION_SHADERTOY_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash
index 6bbd7b8c9a..244d7f9881 100644
--- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash
+++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 7b6635789d226ee4cd4e17d54d57e880731d0762835802835d0d5ac4f0084b99 kodi-visualisation-spectrum-21.0.2-Omega.tar.gz
+sha256 dac63ce17984d48c8e20be136a840d2543cda184d12cf31c7839c8e810bcc537 kodi-visualisation-spectrum-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk
index 1946cf598a..646917697a 100644
--- a/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk
+++ b/package/kodi-visualisation-spectrum/kodi-visualisation-spectrum.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_SPECTRUM_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_SPECTRUM_VERSION = 22.1.1-Piers
KODI_VISUALISATION_SPECTRUM_SITE = $(call github,xbmc,visualization.spectrum,$(KODI_VISUALISATION_SPECTRUM_VERSION))
KODI_VISUALISATION_SPECTRUM_LICENSE = GPL-2.0+
KODI_VISUALISATION_SPECTRUM_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash
index a362fbd23d..591c3883b5 100644
--- a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash
+++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 a3f70985fee6b1014e7e7599431e646f36bd3870ead78bbc8936151b805e4241 kodi-visualisation-starburst-21.0.2-Omega.tar.gz
+sha256 35456e13ab3d82177dde6568b0ab6c09dd09a31acf851f4e141ab4062d787e94 kodi-visualisation-starburst-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk
index 6adb21687e..ec922016f0 100644
--- a/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk
+++ b/package/kodi-visualisation-starburst/kodi-visualisation-starburst.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_STARBURST_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_STARBURST_VERSION = 22.1.1-Piers
KODI_VISUALISATION_STARBURST_SITE = $(call github,xbmc,visualization.starburst,$(KODI_VISUALISATION_STARBURST_VERSION))
KODI_VISUALISATION_STARBURST_LICENSE = GPL-2.0+
KODI_VISUALISATION_STARBURST_LICENSE_FILES = LICENSE.md
diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash
index 1041fd5287..683f468cc3 100644
--- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash
+++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.hash
@@ -1,3 +1,3 @@
# Locally computed
-sha256 fe6d2f3990ea5f2ea2d4a0a905f451b1c2c7f1300529d8957b5d93a97421f415 kodi-visualisation-waveform-21.0.2-Omega.tar.gz
+sha256 050a184a37c1cef8f87fcf05d5dd90c6d11f33008164bc5a86e370aac1d866fb kodi-visualisation-waveform-22.1.1-Piers.tar.gz
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
diff --git a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk
index 819b064789..9a61a4d159 100644
--- a/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk
+++ b/package/kodi-visualisation-waveform/kodi-visualisation-waveform.mk
@@ -4,7 +4,7 @@
#
################################################################################
-KODI_VISUALISATION_WAVEFORM_VERSION = 21.0.2-Omega
+KODI_VISUALISATION_WAVEFORM_VERSION = 22.1.1-Piers
KODI_VISUALISATION_WAVEFORM_SITE = $(call github,xbmc,visualization.waveform,$(KODI_VISUALISATION_WAVEFORM_VERSION))
KODI_VISUALISATION_WAVEFORM_LICENSE = GPL-2.0+
KODI_VISUALISATION_WAVEFORM_LICENSE_FILES = LICENSE.md
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 119+ messages in thread* Re: [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg
2026-10-06 16:19 [Buildroot] [PATCH v8 00/84] Bump libopenssl, python3, kodi, ffmpeg Bernd Kuhls
` (82 preceding siblings ...)
2026-10-06 16:21 ` [Buildroot] [PATCH v8 84/84] package/kodi-visualisation-*: " Bernd Kuhls
@ 2026-10-10 7:05 ` Thomas Petazzoni via buildroot
[not found] ` <asniCZ4ltvtZWCh5__25469.4031713129$1791615974$gmane$org@windsurf>
84 siblings, 0 replies; 119+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-10 7:05 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot
On Tue, Oct 06, 2026 at 06:19:41PM +0200, Bernd Kuhls wrote:
> This series consists of the following parts:
>
> 0001-0003: package removals
> 0004-0056: - version bumps that provide compatibility with OpenSSL 4.x
> - upstream fixes for packages without a released version that
> provides compatibility with OpenSSL 4.x
> 0006-0021 belong to the boost patch series
> The luvi package needs to be bumped first so the upstream fix
> for OpenSSL 4.x can be applied
>
> Until here this is the latest version of the libopenssl bump series.
> None of the patches 0001-0056 depend on the libopenssl bump, they all
> build fine with libopenssl 3.6.x.
>
> 0057-0060: build fixes for ffmpeg 9.0.2
>
> None of the patches 0057-0060 depend on the ffmpeg bump.
>
> The following changes will break bisectability...
>
> 0061-0062: bump python3 to 3.15.0rc3 (RFC)
> This bump depends on the ncurses fix
> This bump will break kodi 21.3
>
> 0063: bump libopenssl to 4.0.3
> Due to the python3 bump no new breakages are expected
>
> 0064-0065: bump ffmpeg to 9.0.2
> libcamera-apps 1.10.1 is incompatible with our current ffmpeg
> version, to reduce the impact on bisectability we bump it
> right before the ffmpeg bump
> This bump will add a further breakage to kodi 21.3
>
> 0066-0068: version bumps to prepare the kodi bump
> These bump are incompatible with our current kodi version
>
> 0069-0084: bump kodi to 22.0rc1-Piers (RFC)
If the python 3.15 and ffmpeg 9.0.2 bumps break Kodi 21.3, isn't it
possible to bump Kodi to 22.x *before* bumping Python to 3.15 and
ffmpeg to 9.0.2 ?
Generally speaking, this series is too long, and you're reposting it
too frequently. Can I suggest that we try to iron out each topic one
at a time?
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 119+ messages in thread[parent not found: <asniCZ4ltvtZWCh5__25469.4031713129$1791615974$gmane$org@windsurf>]