From eb25a634c1cd779a62907a3a57515b46cf3c41a4 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Mon, 1 Dec 2025 20:28:49 +0100 Subject: [PATCH 01/17] package/parprouted: fix build with gcc >= 15.x Fixes: https://autobuild.buildroot.net/results/572669fe1f9a77083a361fee7c8acdf38d7375ae/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/parprouted/0001-gcc-15.patch | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 package/parprouted/0001-gcc-15.patch diff --git a/package/parprouted/0001-gcc-15.patch b/package/parprouted/0001-gcc-15.patch new file mode 100644 index 000000000000..209050649121 --- /dev/null +++ b/package/parprouted/0001-gcc-15.patch @@ -0,0 +1,38 @@ +Description: Fix FTBFS with GCC 15 +Author: Adrian Bunk +Bug-Debian: https://bugs.debian.org/1097548 + +Downloaded from +https://sources.debian.org/src/parprouted/0.70-6/debian/patches/gcc-15.patch + +Upstream: dead (last update 2008) + +Signed-off-by: Bernd Kuhls + +--- parprouted-0.70.orig/parprouted.c ++++ parprouted-0.70/parprouted.c +@@ -330,7 +330,7 @@ void parseproc() + } + } + +-void cleanup() ++void cleanup(void *arg) + { + /* FIXME: I think this is a wrong way to do it ... */ + +@@ -346,13 +346,13 @@ void cleanup() + exit(1); + } + +-void sighandler() ++void sighandler(int sig) + { + /* FIXME: I think this is a wrong way to do it ... */ + perform_shutdown=1; + } + +-void *main_thread() ++void *main_thread(void *arg) + { + time_t last_refresh; + From db1a28435d22b8dad391be6ee8c1af282bc72fde Mon Sep 17 00:00:00 2001 From: Thomas Devoogdt Date: Sat, 3 Jan 2026 09:40:01 +0100 Subject: [PATCH 02/17] package/mesa3d: explicitly enable llvm for host-mesa3d LLVM is already implicitly enabled for host-mesa3d when BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER is selected. This blind option is automatically enabled when LLVM is required by drivers such as intel-iris, panfrost, imagination, or intel-vulkan. The BR2_PACKAGE_MESA3D_LLVM option also independently selects host-llvm, but this change makes the dependency more explicit for host-mesa3d builds. Note that disabling LLVM is not possible for host-mesa3d, as the build will fail with: ../../../br-test-pkg/bootlin-armv5-uclibc/build/host-mesa3d-25.3.2/meson.build:847:3: ERROR: Feature llvm cannot be disabled: CLC requires LLVM Signed-off-by: Thomas Devoogdt Signed-off-by: Romain Naour --- package/mesa3d/mesa3d.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index 2468310413c0..db46d7bc7c21 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -297,6 +297,7 @@ HOST_MESA3D_CONF_OPTS = \ -Dgallium-drivers=$(subst $(space),$(comma),$(HOST_MESA3D_GALLIUM_DRIVERS-y)) \ -Dtools=$(subst $(space),$(comma),$(HOST_MESA3D_TOOLS)) \ -Dinstall-mesa-clc=true \ + -Dllvm=enabled \ -Dmesa-clc=enabled \ -Dplatforms= \ -Dprecomp-compiler=enabled \ @@ -306,6 +307,7 @@ HOST_MESA3D_CONF_OPTS = \ HOST_MESA3D_DEPENDENCIES = \ host-libclc \ host-libdrm \ + host-llvm \ host-python-mako \ host-python-pyyaml \ host-spirv-tools From 03a1732dea67e088ec85f92853ca14f5a3c0f7b7 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 2 Dec 2025 18:59:15 +0100 Subject: [PATCH 03/17] package/jasper: bump version to 4.2.8 Removed patches which are included in this release. License file was renamed upstream: https://github.com/jasper-software/jasper/commit/688601c736165d424b95413ea40d5571a5ccfe02 Added configure option to force builddir: https://github.com/jasper-software/jasper/blob/version-4.2.8/build/cmake/modules/InSourceBuild.cmake Added configure option for JAS_STDC_VERSION: https://github.com/jasper-software/jasper/commit/b8ecbfbf293ee6086e4d40108ad730229388cd8d This new release also fixes compatibility with CMake 4.x, fixing build issues encountered in the autobuilders. Fixes: https://autobuild.buildroot.net/results/0b12e9428342e551e47e359598eecf18d81249b3/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- package/jasper/0001-Fixes-367.patch | 46 -------- package/jasper/0002-Fixes-400.patch | 169 ---------------------------- package/jasper/jasper.hash | 4 +- package/jasper/jasper.mk | 21 ++-- 4 files changed, 16 insertions(+), 224 deletions(-) delete mode 100644 package/jasper/0001-Fixes-367.patch delete mode 100644 package/jasper/0002-Fixes-400.patch diff --git a/package/jasper/0001-Fixes-367.patch b/package/jasper/0001-Fixes-367.patch deleted file mode 100644 index 11dfb5672f52..000000000000 --- a/package/jasper/0001-Fixes-367.patch +++ /dev/null @@ -1,46 +0,0 @@ -From aeef5293c978158255ad4f127089644745602f2a Mon Sep 17 00:00:00 2001 -From: Michael Adams -Date: Thu, 14 Dec 2023 19:04:19 -0800 -Subject: [PATCH] Fixes #367. - -Fixed an integer-overflow bug in the ICC profile parsing code. -Added another invalid image to the test set. - -CVE: CVE-2023-51257 -Upstream: https://github.com/jasper-software/jasper/commit/aeef5293c978158255ad4f127089644745602f2a -Signed-off-by: Thomas Perale ---- - src/libjasper/base/jas_icc.c | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -diff --git a/src/libjasper/base/jas_icc.c b/src/libjasper/base/jas_icc.c -index 905b823..2d1e91e 100644 ---- a/src/libjasper/base/jas_icc.c -+++ b/src/libjasper/base/jas_icc.c -@@ -1295,10 +1295,22 @@ static int jas_icctxt_input(jas_iccattrval_t *attrval, jas_stream_t *in, - { - jas_icctxt_t *txt = &attrval->data.txt; - txt->string = 0; -- if (!(txt->string = jas_malloc(cnt))) -+ /* The string must at least contain a single null character. */ -+ if (cnt < 1) { - goto error; -- if (jas_stream_read(in, txt->string, cnt) != cnt) -+ } -+ if (!(txt->string = jas_malloc(cnt))) { -+ goto error; -+ } -+ if (jas_stream_read(in, txt->string, cnt) != cnt) { - goto error; -+ } -+ /* Ensure that the string is null terminated. */ -+ if (txt->string[cnt - 1] != '\0') { -+ goto error; -+ } -+ /* The following line is redundant, unless we do not enforce that -+ the last character must be null. */ - txt->string[cnt - 1] = '\0'; - if (strlen(txt->string) + 1 != cnt) - goto error; --- -2.39.5 diff --git a/package/jasper/0002-Fixes-400.patch b/package/jasper/0002-Fixes-400.patch deleted file mode 100644 index b663f1e72eef..000000000000 --- a/package/jasper/0002-Fixes-400.patch +++ /dev/null @@ -1,169 +0,0 @@ -From bb7d62bd0a2a8e0e1fdb4d603f3305f955158c52 Mon Sep 17 00:00:00 2001 -From: Michael Adams -Date: Tue, 29 Jul 2025 20:16:35 -0700 -Subject: [PATCH] Fixes #400. - -Added a check for a missing color component in the jas_image_chclrspc -function. - -CVE: CVE-2025-8835 -Upstream: https://github.com/jasper-software/jasper/commit/bb7d62bd0a2a8e0e1fdb4d603f3305f955158c52 -[thomas: backport to v2.0.33] -Signed-off-by: Thomas Perale ---- - src/libjasper/base/jas_image.c | 71 ++++++++++++++++++++++++++++------ - 1 file changed, 59 insertions(+), 12 deletions(-) - -diff --git a/src/libjasper/base/jas_image.c b/src/libjasper/base/jas_image.c -index 68a94e1..cd99ba2 100644 ---- a/src/libjasper/base/jas_image.c -+++ b/src/libjasper/base/jas_image.c -@@ -112,6 +112,8 @@ static long convert(long val, bool oldsgnd, unsigned oldprec, bool newsgnd, - unsigned newprec); - static void jas_image_calcbbox2(const jas_image_t *image, jas_image_coord_t *tlx, - jas_image_coord_t *tly, jas_image_coord_t *brx, jas_image_coord_t *bry); -+static jas_cmcmptfmt_t* jas_cmcmptfmt_array_create(int n); -+static void jas_cmcmptfmt_array_destroy(jas_cmcmptfmt_t* cmptfmts, int n); - - /******************************************************************************\ - * Global data. -@@ -409,6 +411,31 @@ static void jas_image_cmpt_destroy(jas_image_cmpt_t *cmpt) - jas_free(cmpt); - } - -+static jas_cmcmptfmt_t* jas_cmcmptfmt_array_create(int n) -+{ -+ jas_cmcmptfmt_t* cmptfmts; -+ if (!(cmptfmts = jas_alloc2(n, sizeof(jas_cmcmptfmt_t)))) { -+ return 0; -+ } -+ for (int i = 0; i < n; ++i) { -+ cmptfmts[i].buf = 0; -+ } -+ return cmptfmts; -+} -+ -+static void jas_cmcmptfmt_array_destroy(jas_cmcmptfmt_t* cmptfmts, int n) -+{ -+ assert(cmptfmts); -+ assert(n > 0); -+ for (int i = 0; i < n; ++i) { -+ if (cmptfmts[i].buf) { -+ jas_free(cmptfmts[i].buf); -+ } -+ cmptfmts[i].buf = 0; -+ } -+ jas_free(cmptfmts); -+} -+ - /******************************************************************************\ - * Load and save operations. - \******************************************************************************/ -@@ -1470,19 +1497,25 @@ jas_image_t *jas_image_chclrspc(jas_image_t *image, const jas_cmprof_t *outprof, - jas_cmcmptfmt_t *incmptfmts; - jas_cmcmptfmt_t *outcmptfmts; - -+ assert(image); -+ assert(outprof); -+ - #if 0 - jas_eprintf("IMAGE\n"); - jas_image_dump(image, stderr); - #endif - -- if (image->numcmpts_ == 0) -+ if (!jas_image_numcmpts(image)) { - /* can't work with a file with no components; - continuing would crash because we'd attempt to - obtain information about the first component */ - return NULL; -+ } - - outimage = 0; - xform = 0; -+ incmptfmts = 0; -+ outcmptfmts = 0; - if (!(inimage = jas_image_copy(image))) - goto error; - image = 0; -@@ -1565,15 +1598,21 @@ jas_image_dump(image, stderr); - } - - inpixmap.numcmpts = numinclrchans; -- if (!(incmptfmts = jas_alloc2(numinclrchans, sizeof(jas_cmcmptfmt_t)))) { -+ assert(numinclrchans != 0); -+ if (!(incmptfmts = jas_cmcmptfmt_array_create(numinclrchans))) { - abort(); - } - inpixmap.cmptfmts = incmptfmts; - for (unsigned i = 0; i < numinclrchans; ++i) { - const int j = jas_image_getcmptbytype(inimage, JAS_IMAGE_CT_COLOR(i)); -+ if (j < 0) { -+ jas_eprintf("missing color component %d\n", i); -+ goto error; -+ } - if (!(incmptfmts[i].buf = jas_alloc2(width, sizeof(long)))) { - goto error; - } -+ assert(j >= 0 && j < jas_image_numcmpts(inimage)); - incmptfmts[i].prec = jas_image_cmptprec(inimage, j); - incmptfmts[i].sgnd = jas_image_cmptsgnd(inimage, j); - incmptfmts[i].width = width; -@@ -1581,15 +1620,21 @@ jas_image_dump(image, stderr); - } - - outpixmap.numcmpts = numoutclrchans; -- if (!(outcmptfmts = jas_alloc2(numoutclrchans, sizeof(jas_cmcmptfmt_t)))) { -+ if (!(outcmptfmts = jas_cmcmptfmt_array_create(numoutclrchans))) { - abort(); - } - outpixmap.cmptfmts = outcmptfmts; - - for (unsigned i = 0; i < numoutclrchans; ++i) { - const int j = jas_image_getcmptbytype(outimage, JAS_IMAGE_CT_COLOR(i)); -- if (!(outcmptfmts[i].buf = jas_alloc2(width, sizeof(long)))) -+ if (j < 0) { -+ jas_eprintf("missing color component %d\n", i); - goto error; -+ } -+ if (!(outcmptfmts[i].buf = jas_alloc2(width, sizeof(long)))) { -+ goto error; -+ } -+ assert(j >= 0 && j < jas_image_numcmpts(outimage)); - outcmptfmts[i].prec = jas_image_cmptprec(outimage, j); - outcmptfmts[i].sgnd = jas_image_cmptsgnd(outimage, j); - outcmptfmts[i].width = width; -@@ -1612,14 +1657,8 @@ jas_image_dump(image, stderr); - } - } - -- for (unsigned i = 0; i < numoutclrchans; ++i) { -- jas_free(outcmptfmts[i].buf); -- } -- jas_free(outcmptfmts); -- for (unsigned i = 0; i < numinclrchans; ++i) { -- jas_free(incmptfmts[i].buf); -- } -- jas_free(incmptfmts); -+ jas_cmcmptfmt_array_destroy(outcmptfmts, numoutclrchans); -+ jas_cmcmptfmt_array_destroy(incmptfmts, numinclrchans); - jas_cmxform_destroy(xform); - jas_image_destroy(inimage); - -@@ -1631,6 +1670,14 @@ jas_image_dump(outimage, stderr); - #endif - return outimage; - error: -+ if (incmptfmts) { -+ assert(numinclrchans); -+ jas_cmcmptfmt_array_destroy(incmptfmts, numinclrchans); -+ } -+ if (outcmptfmts) { -+ assert(numoutclrchans); -+ jas_cmcmptfmt_array_destroy(outcmptfmts, numoutclrchans); -+ } - if (xform) - jas_cmxform_destroy(xform); - if (inimage) --- -2.39.5 diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index 410bcfc683e9..3bda474dfaed 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a jasper-2.0.33.tar.gz -sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE +sha256 98058a94fbff57ec6e31dcaec37290589de0ba6f47c966f92654681a56c71fae jasper-4.2.8.tar.gz +sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE.txt diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index 527ad6fa8ca6..88633c96617e 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,22 +4,29 @@ # ################################################################################ -JASPER_VERSION = 2.0.33 +JASPER_VERSION = 4.2.8 JASPER_SITE = https://github.com/jasper-software/jasper/releases/download/version-$(JASPER_VERSION) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 -JASPER_LICENSE_FILES = LICENSE +JASPER_LICENSE_FILES = LICENSE.txt JASPER_CPE_ID_VALID = YES JASPER_SUPPORTS_IN_SOURCE_BUILD = NO JASPER_CONF_OPTS = \ -DJAS_ENABLE_DOC=OFF \ -DJAS_ENABLE_PROGRAMS=OFF -# 0001-Fixes-367.patch -JASPER_IGNORE_CVES += CVE-2023-51257 - -# 0002-Fixes-400.patch -JASPER_IGNORE_CVES += CVE-2025-8835 +# Despite using JASPER_SUPPORTS_IN_SOURCE_BUILD = NO jasper detects an +# in-source-build because a subdirectory inside the source directory +# is used so we need to force the build. +JASPER_CONF_OPTS += \ + -DALLOW_IN_SOURCE_BUILD=ON + +# When cross-compiling, we have to feed in the C++ standard to use, +# upstream doesn't want to auto-detect it: +# https://github.com/jasper-software/jasper/issues/358 +JASPER_STDC_VERSION="`echo __STDC_VERSION__ | $(TARGET_CROSS)cpp -E -P -`" +JASPER_CONF_OPTS += \ + -DJAS_STDC_VERSION=$(JASPER_STDC_VERSION) ifeq ($(BR2_STATIC_LIBS),y) JASPER_CONF_OPTS += -DJAS_ENABLE_SHARED=OFF From 1d10e677b8fe8cb757dccba8c42b746f52c1a5a4 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Mon, 1 Dec 2025 21:08:09 +0100 Subject: [PATCH 04/17] package/riemann-c-client: bump version to 2.2.2 Moved _SITE to https://git.madhouse-project.org/algernon/riemann-c-client according to https://github.com/collectd/collectd/issues/4021#issuecomment-1218597353 (collectd is the only package in buildroot using riemann-c-client) Release notes: https://git.madhouse-project.org/algernon/riemann-c-client/src/tag/riemann-c-client-2.2.2/NEWS.md Updated licenses due to upstream commit https://git.madhouse-project.org/algernon/riemann-c-client/commit/9bada2fabff9124245426baf7beb18e1e9480b17 Added optional dependencies to OpenSSL and wolfSSL. Fixes: https://autobuild.buildroot.net/results/29d/29d03e9ba24ae9d17ff7ad57e4906c30413d8a6e/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- .../riemann-c-client/riemann-c-client.hash | 5 ++-- package/riemann-c-client/riemann-c-client.mk | 27 ++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/package/riemann-c-client/riemann-c-client.hash b/package/riemann-c-client/riemann-c-client.hash index 43d4cd45c478..9daefc9c1992 100644 --- a/package/riemann-c-client/riemann-c-client.hash +++ b/package/riemann-c-client/riemann-c-client.hash @@ -1,3 +1,4 @@ # Locally calculated -sha256 568416d854d1c1e5eac743c9f56db6fa0d6a8144daa74a799d0556bb6b50e679 riemann-c-client-1.10.5.tar.gz -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE +sha256 468c2d6cb4095e581927005a1dab13656f5a9355e4c68a3a25fceb5c6798a72f riemann-c-client-2.2.2.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSES/Apache-2.0.txt +sha256 6fc9e709ccbfe0d77fbffa2427a983282be2eb88e47b1cdb49f21a83b4d1e665 LICENSES/EUPL-1.2.txt diff --git a/package/riemann-c-client/riemann-c-client.mk b/package/riemann-c-client/riemann-c-client.mk index f942d560c8bc..952962fbe66a 100644 --- a/package/riemann-c-client/riemann-c-client.mk +++ b/package/riemann-c-client/riemann-c-client.mk @@ -4,18 +4,33 @@ # ################################################################################ -RIEMANN_C_CLIENT_VERSION = 1.10.5 -RIEMANN_C_CLIENT_SITE = \ - $(call github,algernon,riemann-c-client,riemann-c-client-$(RIEMANN_C_CLIENT_VERSION)) -RIEMANN_C_CLIENT_LICENSE = LGPL-3.0+ -RIEMANN_C_CLIENT_LICENSE_FILES = LICENSE +RIEMANN_C_CLIENT_VERSION = 2.2.2 +RIEMANN_C_CLIENT_SITE = https://git.madhouse-project.org/algernon/riemann-c-client/archive +RIEMANN_C_CLIENT_LICENSE = \ + Apache-2.0 (lib/riemann/proto/), \ + EUPL-1.2 +RIEMANN_C_CLIENT_LICENSE_FILES = \ + LICENSES/Apache-2.0.txt \ + LICENSES/EUPL-1.2.txt RIEMANN_C_CLIENT_INSTALL_STAGING = YES RIEMANN_C_CLIENT_MAKE = $(MAKE1) # From git RIEMANN_C_CLIENT_AUTORECONF = YES RIEMANN_C_CLIENT_DEPENDENCIES = \ host-pkgconf protobuf-c \ - $(if $(BR2_PACKAGE_GNUTLS),gnutls) \ $(if $(BR2_PACKAGE_JSON_C),json-c) +ifeq ($(BR2_PACKAGE_GNUTLS),y) +RIEMANN_C_CLIENT_CONF_OPTS += --with-tls=gnutls +RIEMANN_C_CLIENT_DEPENDENCIES += gnutls +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +RIEMANN_C_CLIENT_CONF_OPTS += --with-tls=openssl +RIEMANN_C_CLIENT_DEPENDENCIES += openssl +else ifeq ($(BR2_PACKAGE_WOLFSSL),y) +RIEMANN_C_CLIENT_CONF_OPTS += --with-tls=wolfssl +RIEMANN_C_CLIENT_DEPENDENCIES += wolfssl +else +RIEMANN_C_CLIENT_CONF_OPTS += --without-tls +endif + $(eval $(autotools-package)) From 74ac7a38be67a3f136315746a203de83a9f20bc2 Mon Sep 17 00:00:00 2001 From: Bryan Brattlof Date: Thu, 4 Dec 2025 06:50:38 -0600 Subject: [PATCH 05/17] boot/ti-k3-r5-loader: add defconfig fragment support There are multiple defconfig fragments we can select to modify the final tiboot3.bin image to support different boot methods or enable features supported by a board. Allow the ti-k3-r5-loader package to select defconfig gragments during a build Signed-off-by: Bryan Brattlof Signed-off-by: Romain Naour --- boot/ti-k3-r5-loader/Config.in | 6 ++++++ boot/ti-k3-r5-loader/ti-k3-r5-loader.mk | 1 + 2 files changed, 7 insertions(+) diff --git a/boot/ti-k3-r5-loader/Config.in b/boot/ti-k3-r5-loader/Config.in index b4fb46e55b83..7eb471e6d504 100644 --- a/boot/ti-k3-r5-loader/Config.in +++ b/boot/ti-k3-r5-loader/Config.in @@ -95,6 +95,12 @@ config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_CONFIG_FILE help Path to the TI K3 R5 Loader configuration file. +config BR2_TARGET_TI_K3_R5_LOADER_CONFIG_FRAGMENT_FILES + string "Additional configuration fragment files" + help + A space-separated list of configuration fragment files, + that will be merged to the tiboot3.bin configuration file. + config BR2_TARGET_TI_K3_R5_LOADER_CUSTOM_DTS_PATH string "Device Tree Source file paths" help diff --git a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk index db5c3cdaf8b6..178db5c0f35a 100644 --- a/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk +++ b/boot/ti-k3-r5-loader/ti-k3-r5-loader.mk @@ -77,6 +77,7 @@ TI_K3_R5_LOADER_MAKE_OPTS = \ HOSTLDFLAGS="$(HOST_LDFLAGS)" \ BINMAN_INDIRS=$(BINARIES_DIR) +TI_K3_R5_LOADER_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_CONFIG_FRAGMENT_FILES)) TI_K3_R5_LOADER_TIBOOT3_BIN = $(call qstrip,$(BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN)) define TI_K3_R5_LOADER_INSTALL_TIBOOT3_BIN From dd81c1766e1470b61f5e8d4461a066f64ce60c5e Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Sat, 17 Jan 2026 11:45:16 +0100 Subject: [PATCH 06/17] package/util-linux: always disable man pages and translations When the host system has asciidoctor and po4a/poman installed, util-linux detect them and automatically enable manual pages and their translations. This can significantly increase the package build time (in my case, from 20s to 1m50s). See upstream commit [1] and [2]. Since manual pages are not needed in Buildroot, this commit adds in _CONF_OPTS for host host and target variants the options to always disable the detection of those programs (--disable-asciidoc --disable-poman). This will always disable the generation of manual pages. Note: Buildroot attempts to globally disable documentation for autotools packages by passing various --disable-docs configure options (see [3]), but those are not recognized by util-linux. This commit also reorder the options for UTIL_LINUX_CONF_OPTS. [1] https://github.com/util-linux/util-linux/commit/9acfc349e0ea68a92baf818cc659121f40ab9c04 [2] https://github.com/util-linux/util-linux/commit/236421a49103ea510bcba1e7ef90b57d24aeab76 [3] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11/package/pkg-autotools.mk#L184-186 Signed-off-by: Julien Olivain Signed-off-by: Romain Naour --- package/util-linux/util-linux.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index d0a03be404b2..af6044af3231 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -47,8 +47,10 @@ UTIL_LINUX_DEPENDENCIES = \ # system is not Y2038 compliant. util-linux will support year2038 if # the system is compliant even with this option passed UTIL_LINUX_CONF_OPTS += \ - --disable-rpath \ + --disable-asciidoc \ --disable-makeinstall-chown \ + --disable-poman \ + --disable-rpath \ --disable-year2038 UTIL_LINUX_LINK_LIBS = $(TARGET_NLS_LIBS) @@ -57,6 +59,8 @@ HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf # We also don't want the host-python dependency HOST_UTIL_LINUX_CONF_OPTS = \ + --disable-asciidoc \ + --disable-poman \ --without-systemd \ --with-systemdsystemunitdir=no \ --without-python From 6d5f9b835a5beab2179e824fc28f68990a282c6b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Kerbrat Date: Tue, 3 Feb 2026 19:41:50 +0100 Subject: [PATCH 07/17] package/git: bump to 2.53.0 Changelog https://gitlab.com/git-scm/git/-/blob/HEAD/Documentation/RelNotes/2.53.0.adoc Signed-off-by: Pierre-Yves Kerbrat Signed-off-by: Julien Olivain --- package/git/git.hash | 2 +- package/git/git.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package/git/git.hash b/package/git/git.hash index 3dcd1d443723..c22ee800cb83 100644 --- a/package/git/git.hash +++ b/package/git/git.hash @@ -1,5 +1,5 @@ # From: https://www.kernel.org/pub/software/scm/git/sha256sums.asc -sha256 3cd8fee86f69a949cb610fee8cd9264e6873d07fa58411f6060b3d62729ed7c5 git-2.52.0.tar.xz +sha256 5818bd7d80b061bbbdfec8a433d609dc8818a05991f731ffc4a561e2ca18c653 git-2.53.0.tar.xz # Locally calculated sha256 5b2198d1645f767585e8a88ac0499b04472164c0d2da22e75ecf97ef443ab32e COPYING sha256 1922f45d2c49e390032c9c0ba6d7cac904087f7cec51af30c2b2ad022ce0e76a LGPL-2.1 diff --git a/package/git/git.mk b/package/git/git.mk index bd1c1eeb6176..d3625ddf08ad 100644 --- a/package/git/git.mk +++ b/package/git/git.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_VERSION = 2.52.0 +GIT_VERSION = 2.53.0 GIT_SOURCE = git-$(GIT_VERSION).tar.xz GIT_SITE = $(BR2_KERNEL_MIRROR)/software/scm/git GIT_LICENSE = GPL-2.0, LGPL-2.1+ From 73a16fe1d3947e6970e20b6edc2c7ccabc3c9ec1 Mon Sep 17 00:00:00 2001 From: Maxime Leroy Date: Mon, 22 Dec 2025 22:56:30 +0100 Subject: [PATCH 08/17] package/dpdk: make drivers selectable Add BR2_PACKAGE_DPDK_DRIVERS_LIST to control which DPDK applications are built: - empty : use DPDK defaults - none : disable all drivers (-Ddisable_drivers='*/*') - list : pass to -Denable_drivers= (comma-separated) Signed-off-by: Maxime Leroy [Julien: slightly change the drivers Config.in help text: - rename net/ixgbe to net/intel/ixgbe - change find -maxdepth value to 3 ] Signed-off-by: Julien Olivain --- package/dpdk/Config.in | 21 +++++++++++++++++++++ package/dpdk/dpdk.mk | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in index 7d4a0020020d..36876e349d03 100644 --- a/package/dpdk/Config.in +++ b/package/dpdk/Config.in @@ -43,6 +43,27 @@ config BR2_PACKAGE_DPDK_EXAMPLES config BR2_PACKAGE_DPDK_TESTS bool "Install tests" +config BR2_PACKAGE_DPDK_DRIVERS_LIST + string "List of enabled drivers" + help + Controls which DPDK drivers are built. + + Values: + (empty): use DPDK defaults + none : build no drivers + list : e.g. "net/virtio,net/intel/ixgbe" + + To list possible drivers found in the DPDK source tree: + find drivers -mindepth 2 -maxdepth 3 -type d \ + ! -printf '%P\n' | sort + + Note: providing manually a list of dpdk drivers to enable + does not automatically enable its dependencies (internal or + external). It is the user responsiblity to add internal dpdk + dependencies in this list, and/or select the relevant + Buildroot packages for external dependencies. DPDK + configuration will fail in case of missing dependencies. + endif comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19" diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk index 4843ba26671e..829b0cc64087 100644 --- a/package/dpdk/dpdk.mk +++ b/package/dpdk/dpdk.mk @@ -47,6 +47,15 @@ else DPDK_CONF_OPTS += -Dexamples= endif +DPDK_DRIVERS := $(call qstrip,$(BR2_PACKAGE_DPDK_DRIVERS_LIST)) +ifneq ($(DPDK_DRIVERS),) + ifeq ($(DPDK_DRIVERS),none) + DPDK_CONF_OPTS += -Ddisable_drivers='*/*' + else + DPDK_CONF_OPTS += -Denable_drivers='$(DPDK_DRIVERS)' + endif +endif + ifeq ($(BR2_PACKAGE_DPDK_TESTS),y) DPDK_CONF_OPTS += -Dtests=true else From 5c104b7f0bb670274408353c9f35fe2153d6822d Mon Sep 17 00:00:00 2001 From: Maxime Leroy Date: Mon, 22 Dec 2025 22:56:31 +0100 Subject: [PATCH 09/17] package/dpdk: make libraries selectable Add BR2_PACKAGE_DPDK_LIBS_LIST to control which DPDK libraries are built: - empty : use DPDK defaults - none : disable all libs (-Ddisable_libs='*') - list : pass to -Denable_libs= (comma-separated) Signed-off-by: Maxime Leroy Signed-off-by: Julien Olivain --- package/dpdk/Config.in | 21 +++++++++++++++++++++ package/dpdk/dpdk.mk | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in index 36876e349d03..4e83f293aeef 100644 --- a/package/dpdk/Config.in +++ b/package/dpdk/Config.in @@ -64,6 +64,27 @@ config BR2_PACKAGE_DPDK_DRIVERS_LIST Buildroot packages for external dependencies. DPDK configuration will fail in case of missing dependencies. +config BR2_PACKAGE_DPDK_LIBS_LIST + string "List of enabled libraries" + help + Controls which DPDK libraries are built. + + Values: + (empty): use DPDK defaults + none : build no libraries + list : e.g. "hash,fib,rib" + + To list all libraries found in the DPDK source tree: + find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \ + -printf '%h\n' | xargs -n1 basename | sort -u + + Note: providing manually a list of dpdk libraries to enable + does not automatically enable its dependencies (internal or + external). It is the user responsiblity to add internal dpdk + dependencies in this list, and/or select the relevant + Buildroot packages for external dependencies. DPDK + configuration will fail in case of missing dependencies. + endif comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19" diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk index 829b0cc64087..d0c7caaa48d6 100644 --- a/package/dpdk/dpdk.mk +++ b/package/dpdk/dpdk.mk @@ -56,6 +56,15 @@ ifneq ($(DPDK_DRIVERS),) endif endif +DPDK_LIBS := $(call qstrip,$(BR2_PACKAGE_DPDK_LIBS_LIST)) +ifneq ($(DPDK_LIBS),) + ifeq ($(DPDK_LIBS),none) + DPDK_CONF_OPTS += -Ddisable_libs='*' + else + DPDK_CONF_OPTS += -Denable_libs='$(DPDK_LIBS)' + endif +endif + ifeq ($(BR2_PACKAGE_DPDK_TESTS),y) DPDK_CONF_OPTS += -Dtests=true else From 49e7a554f2814e324b96db45daf8856ea7da0804 Mon Sep 17 00:00:00 2001 From: Maxime Leroy Date: Mon, 22 Dec 2025 22:56:32 +0100 Subject: [PATCH 10/17] package/dpdk: make apps selectable Add BR2_PACKAGE_DPDK_APPS_LIST to control which DPDK applications are built: - empty : use DPDK defaults - none : disable all apps (-Ddisable_apps='*') - list : pass to -Denable_apps= (comma-separated) Signed-off-by: Maxime Leroy Signed-off-by: Julien Olivain --- package/dpdk/Config.in | 21 +++++++++++++++++++++ package/dpdk/dpdk.mk | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in index 4e83f293aeef..b658145e5b56 100644 --- a/package/dpdk/Config.in +++ b/package/dpdk/Config.in @@ -85,6 +85,27 @@ config BR2_PACKAGE_DPDK_LIBS_LIST Buildroot packages for external dependencies. DPDK configuration will fail in case of missing dependencies. +config BR2_PACKAGE_DPDK_APPS_LIST + string "List of enabled applications" + help + Controls which DPDK applications are built. + + Values: + (empty): use DPDK defaults + none : build no apps + list : e.g. "test-cmdline,test-pmd" + + To list all applications found in the DPDK source tree: + find app -mindepth 2 -maxdepth 2 -type f -name meson.build \ + -printf '%h\n' | xargs -n1 basename | sort -u + + Note: providing manually a list of dpdk libraries to enable + does not automatically enable its dependencies (internal or + external). It is the user responsiblity to add internal dpdk + dependencies in this list, and/or select the relevant + Buildroot packages for external dependencies. DPDK + configuration will fail in case of missing dependencies. + endif comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19" diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk index d0c7caaa48d6..080f92432990 100644 --- a/package/dpdk/dpdk.mk +++ b/package/dpdk/dpdk.mk @@ -65,6 +65,15 @@ ifneq ($(DPDK_LIBS),) endif endif +DPDK_APPS := $(call qstrip,$(BR2_PACKAGE_DPDK_APPS_LIST)) +ifneq ($(DPDK_APPS),) + ifeq ($(DPDK_APPS),none) + DPDK_CONF_OPTS += -Ddisable_apps='*' + else + DPDK_CONF_OPTS += -Denable_apps='$(DPDK_APPS)' + endif +endif + ifeq ($(BR2_PACKAGE_DPDK_TESTS),y) DPDK_CONF_OPTS += -Dtests=true else From 83815826469ac94b76b5aee8c61af95989f91f46 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Tue, 3 Feb 2026 22:24:14 +0100 Subject: [PATCH 11/17] package/pico-sdk: replace $(HOST_DIR)/usr/share with $(HOST_DIR)/share MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The commit adding host-pico-sdk [1] introduced $(HOST_DIR)/usr/share while it should be $(HOST_DIR)/share. Fix the error reported by check-package. [1] ceb800d3c63fe91628f42ce749c211ebef278628 Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/12973112667 Signed-off-by: Romain Naour --- package/pico-sdk/pico-sdk.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/pico-sdk/pico-sdk.mk b/package/pico-sdk/pico-sdk.mk index 5bcf71650d5b..dfb29d23203e 100644 --- a/package/pico-sdk/pico-sdk.mk +++ b/package/pico-sdk/pico-sdk.mk @@ -20,8 +20,8 @@ define PICO_SDK_INSTALL_STAGING_CMDS endef define HOST_PICO_SDK_INSTALL_CMDS - mkdir -p $(HOST_DIR)/usr/share/pico-sdk - cp -r $(@D)/* $(HOST_DIR)/usr/share/pico-sdk + mkdir -p $(HOST_DIR)/share/pico-sdk + cp -r $(@D)/* $(HOST_DIR)/share/pico-sdk endef $(eval $(generic-package)) From 130b5a124cd992f9bedd190b3d3b0c6e1033454a Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 3 Jan 2026 10:45:06 +0100 Subject: [PATCH 12/17] package/spandsp: fix build with gcc >= 14.x Added upstream patch to fix build error. The build error does not occur with gcc-13.x. The first build error of this kind was recorded 2024-08-23: https://autobuild.buildroot.net/results/492/4927e93e40ec8bcda107f4bc3d8aa83024deb674/ Fixes: https://autobuild.buildroot.net/results/48a/48af80bdda62ca70d73bc01e0939f548c3736c0d/ Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- ...es-to-address-V.17-fixed-point-issue.patch | 116 ++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 package/spandsp/0002-Changes-to-address-V.17-fixed-point-issue.patch diff --git a/package/spandsp/0002-Changes-to-address-V.17-fixed-point-issue.patch b/package/spandsp/0002-Changes-to-address-V.17-fixed-point-issue.patch new file mode 100644 index 000000000000..39aaa5a5d41f --- /dev/null +++ b/package/spandsp/0002-Changes-to-address-V.17-fixed-point-issue.patch @@ -0,0 +1,116 @@ +From 239bf2f6a80bbfb6ef92418ceb5402d1fb256a2b Mon Sep 17 00:00:00 2001 +From: Steve Underwood +Date: Fri, 18 Aug 2023 01:24:21 +0100 +Subject: [PATCH] Changes to address V.17 fixed point issue. + +Upstream: https://github.com/freeswitch/spandsp/commit/239bf2f6a80bbfb6ef92418ceb5402d1fb256a2b + +Signed-off-by: Bernd Kuhls +--- + src/spandsp/private/v17rx.h | 2 +- + src/v17rx.c | 30 +++++++++++++++++++----------- + 2 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/src/spandsp/private/v17rx.h b/src/spandsp/private/v17rx.h +index 8ea7a9fe..8613b5a5 100644 +--- a/src/spandsp/private/v17rx.h ++++ b/src/spandsp/private/v17rx.h +@@ -97,7 +97,7 @@ struct v17_rx_state_s + + /*! \brief A measure of how much mismatch there is between the real constellation, + and the decoded symbol positions. */ +- int32_t training_error; ++ int64_t training_error; + + /*! \brief The proportional part of the carrier tracking filter. */ + int32_t carrier_track_p; +diff --git a/src/v17rx.c b/src/v17rx.c +index a823dad2..295d26a9 100644 +--- a/src/v17rx.c ++++ b/src/v17rx.c +@@ -64,6 +64,10 @@ + #include "spandsp/dds.h" + #include "spandsp/complex_filters.h" + ++#if defined(SPANDSP_USE_FIXED_POINT) ++#define SPANDSP_USE_FIXED_POINTx ++#endif ++ + #include "spandsp/v29rx.h" + #include "spandsp/v17tx.h" + #include "spandsp/v17rx.h" +@@ -389,7 +393,7 @@ static __inline__ void put_bit(v17_rx_state_t *s, int bit) + /*- End of function --------------------------------------------------------*/ + + #if defined(SPANDSP_USE_FIXED_POINTx) +-static __inline__ uint32_t dist_sq(const complexi16_t *x, const complexi16_t *y) ++static __inline__ uint32_t dist_sq(const complexi32_t *x, const complexi32_t *y) + { + return (int32_t) (x->re - y->re)*(x->re - y->re) + (int32_t) (x->im - y->im)*(x->im - y->im); + } +@@ -954,11 +958,12 @@ static void process_half_baud(v17_rx_state_t *s, const complexf_t *sample) + else if (s->training_count >= V17_TRAINING_SEG_2_LEN) + { + #if defined(SPANDSP_USE_FIXED_POINTx) +- span_log(&s->logging, SPAN_LOG_FLOW, "Long training error %d\n", s->training_error); ++ span_log(&s->logging, SPAN_LOG_FLOW, "Long training error %ld\n", s->training_error); ++ if (s->training_error < (int64_t) FP_SCALE(20.0f)*FP_SCALE(1.414f)*constellation_spacing[s->space_map]) + #else + span_log(&s->logging, SPAN_LOG_FLOW, "Long training error %f\n", s->training_error); +-#endif + if (s->training_error < FP_SCALE(20.0f)*FP_SCALE(1.414f)*constellation_spacing[s->space_map]) ++#endif + { + s->training_error = FP_SCALE(0.0f); + s->training_count = 0; +@@ -1055,19 +1060,20 @@ static void process_half_baud(v17_rx_state_t *s, const complexf_t *sample) + /*endif*/ + if (++s->training_count >= V17_TRAINING_SHORT_SEG_2_LEN) + { ++ /* TODO: This was increased by a factor of 10 after studying real world failures. ++ However, it is not clear why this is an improvement, If something gives ++ a huge training error, surely it shouldn't decode too well? */ + #if defined(SPANDSP_USE_FIXED_POINTx) + span_log(&s->logging, SPAN_LOG_FLOW, "Short training error %d\n", s->training_error); + s->carrier_track_i = 100; + s->carrier_track_p = 500000; ++ if (s->training_error < (int64_t) (V17_TRAINING_SHORT_SEG_2_LEN - 8)*FP_SCALE(4.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map]) + #else + span_log(&s->logging, SPAN_LOG_FLOW, "Short training error %f\n", s->training_error); + s->carrier_track_i = 100.0f; + s->carrier_track_p = 500000.0f; +-#endif +- /* TODO: This was increased by a factor of 10 after studying real world failures. +- However, it is not clear why this is an improvement, If something gives +- a huge training error, surely it shouldn't decode too well? */ + if (s->training_error < (V17_TRAINING_SHORT_SEG_2_LEN - 8)*FP_SCALE(4.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map]) ++#endif + { + s->training_count = 0; + if (s->bits_per_symbol == 2) +@@ -1136,11 +1142,13 @@ static void process_half_baud(v17_rx_state_t *s, const complexf_t *sample) + #endif + if (++s->training_count >= V17_TRAINING_SEG_4_LEN) + { +- if (s->training_error < V17_TRAINING_SEG_4_LEN*FP_SCALE(1.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map]) +- { + #if defined(SPANDSP_USE_FIXED_POINTx) +- span_log(&s->logging, SPAN_LOG_FLOW, "Training succeeded at %dbps (constellation mismatch %d)\n", s->bit_rate, s->training_error); ++ if (s->training_error < (int64_t) V17_TRAINING_SEG_4_LEN*FP_SCALE(1.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map]) ++ { ++ span_log(&s->logging, SPAN_LOG_FLOW, "Training succeeded at %dbps (constellation mismatch %ld)\n", s->bit_rate, s->training_error); + #else ++ if (s->training_error < V17_TRAINING_SEG_4_LEN*FP_SCALE(1.0f)*FP_SCALE(1.0f)*constellation_spacing[s->space_map]) ++ { + span_log(&s->logging, SPAN_LOG_FLOW, "Training succeeded at %dbps (constellation mismatch %f)\n", s->bit_rate, s->training_error); + #endif + /* We are up and running */ +@@ -1157,7 +1165,7 @@ static void process_half_baud(v17_rx_state_t *s, const complexf_t *sample) + { + /* Training has failed. Park this modem. */ + #if defined(SPANDSP_USE_FIXED_POINTx) +- span_log(&s->logging, SPAN_LOG_FLOW, "Training failed (constellation mismatch %d)\n", s->training_error); ++ span_log(&s->logging, SPAN_LOG_FLOW, "Training failed (constellation mismatch %ld)\n", s->training_error); + #else + span_log(&s->logging, SPAN_LOG_FLOW, "Training failed (constellation mismatch %f)\n", s->training_error); + #endif From 7aa2c23f42d4a4ce5086a12f28f54c99aaa5701a Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Sat, 31 May 2025 16:39:22 +0200 Subject: [PATCH 13/17] package/network-manager: make crypto library optional The network-manager package currently pulls in either gnutls or libnss, neither of which are very common and it might be the only reason why they are present on a system. However, most of NetworkManager works just fine without any cryptography support, it only seems to be used in test cases and 802.1X support code. Remove the dependency but use a library if it is present. Note that this changes the default behavior. If network-manager was the only package pulling in gnutls, it won't do this anymore and use the "null" backend. Add a note about this to the manual. Signed-off-by: Florian Larysch Tested-by: Marcus Hoffmann Reviewed-by: Marcus Hoffmann [Marcus: Change buildroot version to 2026.02 in migrating.adoc] Signed-off-by: Marcus Hoffmann --- docs/manual/migrating.adoc | 5 +++++ package/network-manager/Config.in | 1 - package/network-manager/network-manager.mk | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc index eabaaa80a75c..d8d86d894560 100644 --- a/docs/manual/migrating.adoc +++ b/docs/manual/migrating.adoc @@ -242,3 +242,8 @@ If you want to provide such libraries either: - Serve it by adding the library to your overlay. - Install the libraries from your project with NPM and bundle with a JavaScript bundler. + +In 2026.02, the network-manager package stopped selecting the gnutls package as +a cryptography backend automatically. Manually enable the gnutls or libnss +package if you require features that depend on a cryptography backend, such as +certificate-based authentication. diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in index b388c573fe02..c3d9f7b6558f 100644 --- a/package/network-manager/Config.in +++ b/package/network-manager/Config.in @@ -10,7 +10,6 @@ config BR2_PACKAGE_NETWORK_MANAGER depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DBUS - select BR2_PACKAGE_GNUTLS if !BR2_PACKAGE_LIBNSS select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBNDP select BR2_PACKAGE_UTIL_LINUX diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index 1bec053c5410..faf162f6f30a 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -80,9 +80,11 @@ endif ifeq ($(BR2_PACKAGE_LIBNSS),y) NETWORK_MANAGER_DEPENDENCIES += libnss NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss -else +else ifeq ($(BR2_PACKAGE_GNUTLS),y) NETWORK_MANAGER_DEPENDENCIES += gnutls NETWORK_MANAGER_CONF_OPTS += -Dcrypto=gnutls +else +NETWORK_MANAGER_CONF_OPTS += -Dcrypto=null endif ifeq ($(BR2_PACKAGE_LIBPSL),y) From f366204311b48320e5474178f4d853858f807f62 Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Sat, 31 May 2025 16:39:23 +0200 Subject: [PATCH 14/17] package/network-manager: switch default crypto provider to gnutls Currently, when both libnss and GnuTLS are present, NetworkManager will get linked to libnss. The NetworkManager project doesn't recommend one over the other officially and has supported both from day one back in 2007. Arguments which one to prefer can be made in either direction: Points in favor of libnss: - It's the default value in the NM build system, so it would be the preferred backend if both are available and we didn't supply any options to the build process - It's probably the more mature of the two, given that it's being used in Mozilla products Points in favor of GnuTLS: - While both backends seem feature-equivalent, the _nm_crypto_verify_pkcs8 function is stubbed out in the libnss code[1]. - Both Debian and Fedora explicitly select GnuTLS in their packages. At least in the case of Fedora it seems to have been a conscious choice[2]. Given what it's actually used for in the code base, the choice does not matter a lot. However, since it is marginally more feature-complete and seems to be preferred by other distributions, let's switch to GnuTLS. [1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/36f8de25c487fe1570a19fe917c85ec065b0339e/src/libnm-crypto/nm-crypto-nss.c#L523-540 [2] https://src.fedoraproject.org/rpms/NetworkManager/c/29a9c41beafb5e549c10bfb50ee23ee47bdbc42f?branch=rawhide Signed-off-by: Florian Larysch Reviewed-by: Marcus Hoffmann Signed-off-by: Marcus Hoffmann --- package/network-manager/network-manager.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index faf162f6f30a..76f4b09fbe86 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -77,12 +77,12 @@ else NETWORK_MANAGER_CONF_OPTS += -Dconcheck=false endif -ifeq ($(BR2_PACKAGE_LIBNSS),y) -NETWORK_MANAGER_DEPENDENCIES += libnss -NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss -else ifeq ($(BR2_PACKAGE_GNUTLS),y) +ifeq ($(BR2_PACKAGE_GNUTLS),y) NETWORK_MANAGER_DEPENDENCIES += gnutls NETWORK_MANAGER_CONF_OPTS += -Dcrypto=gnutls +else ifeq ($(BR2_PACKAGE_LIBNSS),y) +NETWORK_MANAGER_DEPENDENCIES += libnss +NETWORK_MANAGER_CONF_OPTS += -Dcrypto=nss else NETWORK_MANAGER_CONF_OPTS += -Dcrypto=null endif From 4aeb85d6691ce285067a98eef1684c4c5f31d3ef Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Tue, 3 Feb 2026 23:06:02 +0100 Subject: [PATCH 15/17] Revert "package/pico-sdk: replace $(HOST_DIR)/usr/share with $(HOST_DIR)/share" This reverts commit 83815826469ac94b76b5aee8c61af95989f91f46 that missed that the same issue was also in picotool package. Signed-off-by: Romain Naour --- package/pico-sdk/pico-sdk.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/pico-sdk/pico-sdk.mk b/package/pico-sdk/pico-sdk.mk index dfb29d23203e..5bcf71650d5b 100644 --- a/package/pico-sdk/pico-sdk.mk +++ b/package/pico-sdk/pico-sdk.mk @@ -20,8 +20,8 @@ define PICO_SDK_INSTALL_STAGING_CMDS endef define HOST_PICO_SDK_INSTALL_CMDS - mkdir -p $(HOST_DIR)/share/pico-sdk - cp -r $(@D)/* $(HOST_DIR)/share/pico-sdk + mkdir -p $(HOST_DIR)/usr/share/pico-sdk + cp -r $(@D)/* $(HOST_DIR)/usr/share/pico-sdk endef $(eval $(generic-package)) From 6eaaccf7587b2dcbc78fab0e69042307543bc3d0 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Tue, 3 Feb 2026 15:56:20 +0100 Subject: [PATCH 16/17] package/pico{tool, -sdk}: install sdk files to $(HOST_DIR)/share Commits [1] and [2] are installing host SDK files "$(HOST_DIR)/usr/share". check-package (see [3]) reports the error: package/pico-sdk/pico-sdk.mk:23: install files to $(HOST_DIR)/ instead of $(HOST_DIR)/usr/ package/pico-sdk/pico-sdk.mk:24: install files to $(HOST_DIR)/ instead of $(HOST_DIR)/usr/ package/picotool/picotool.mk:15: install files to $(HOST_DIR)/ instead of $(HOST_DIR)/usr/ This commit installs the host SDK files to "$(HOST_DIR)/share" to fix this error. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/12970341499 [1] https://gitlab.com/buildroot.org/buildroot/-/commit/ceb800d3c63fe91628f42ce749c211ebef278628 [2] https://gitlab.com/buildroot.org/buildroot/-/commit/926381d360082e926cb6be28cb1e97639d26ea0f [3] https://gitlab.com/buildroot.org/buildroot/-/commit/29a0dd4a3006c06d4b8d82821bd74b8b9f26715a Signed-off-by: Julien Olivain Signed-off-by: Romain Naour --- package/pico-sdk/pico-sdk.mk | 4 ++-- package/picotool/picotool.mk | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/pico-sdk/pico-sdk.mk b/package/pico-sdk/pico-sdk.mk index 5bcf71650d5b..dfb29d23203e 100644 --- a/package/pico-sdk/pico-sdk.mk +++ b/package/pico-sdk/pico-sdk.mk @@ -20,8 +20,8 @@ define PICO_SDK_INSTALL_STAGING_CMDS endef define HOST_PICO_SDK_INSTALL_CMDS - mkdir -p $(HOST_DIR)/usr/share/pico-sdk - cp -r $(@D)/* $(HOST_DIR)/usr/share/pico-sdk + mkdir -p $(HOST_DIR)/share/pico-sdk + cp -r $(@D)/* $(HOST_DIR)/share/pico-sdk endef $(eval $(generic-package)) diff --git a/package/picotool/picotool.mk b/package/picotool/picotool.mk index bca9489665e8..cf8e29483538 100644 --- a/package/picotool/picotool.mk +++ b/package/picotool/picotool.mk @@ -12,7 +12,7 @@ PICOTOOL_LICENSE_FILES = LICENSE.TXT PICOTOOL_CONF_OPTS = -DPICO_SDK_PATH=$(STAGING_DIR)/usr/share/pico-sdk PICOTOOL_DEPENDENCIES = libusb pico-sdk -HOST_PICOTOOL_CONF_OPTS = -DPICO_SDK_PATH=$(HOST_DIR)/usr/share/pico-sdk +HOST_PICOTOOL_CONF_OPTS = -DPICO_SDK_PATH=$(HOST_DIR)/share/pico-sdk HOST_PICOTOOL_DEPENDENCIES = host-libusb host-pico-sdk $(eval $(cmake-package)) From 0821508c4c9eb30cf8e18d19ccfec1a01a80b90a Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sat, 3 Jan 2026 10:45:07 +0100 Subject: [PATCH 17/17] package/freeswitch: fix compilation against >=2023/06/02 spandsp Needed to fix build with upcoming bump of spandsp. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- ...compilation-against-2023-06-02-spand.patch | 150 ++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 package/freeswitch/0004-mod_spandsp-Fix-compilation-against-2023-06-02-spand.patch diff --git a/package/freeswitch/0004-mod_spandsp-Fix-compilation-against-2023-06-02-spand.patch b/package/freeswitch/0004-mod_spandsp-Fix-compilation-against-2023-06-02-spand.patch new file mode 100644 index 000000000000..57211410ed7d --- /dev/null +++ b/package/freeswitch/0004-mod_spandsp-Fix-compilation-against-2023-06-02-spand.patch @@ -0,0 +1,150 @@ +From 76458fafc5a9cd0eebe94455ed39f41eac986c67 Mon Sep 17 00:00:00 2001 +From: Patrice Fournier +Date: Tue, 4 Feb 2025 15:54:26 -0500 +Subject: [PATCH] [mod_spandsp] Fix compilation against >=2023/06/02 spandsp + +* [mod_spandsp] Fix compilation against >=2023/06/02 spandsp + +spandsp, beginning with commit d9681c37 and coinciding with the +SPANDSP_RELEASE_DATE of 20230620, introduced the following changes to +its V.18 protocol API, which FreeSWITCH is not able to compile against: +- Certain V.18 constants were renamed. +- The v18_init function now requires passing a third function, handling +the V.18 modem's status changes. + +This patch allows FreeSWITCH to build against current versions of +spandsp by: +- Using the new V.18 constant names. +- Implementing a simple status reporter callback function and passing it +as the third function to v18_init. + +Additionally, it retains backward compatibility with prior versions of +spandp through #if conditions checking the value of +SPANDSP_RELEASE_DATE. + +Signed-off-by: Patrice Fournier + +* [mod_spandsp] Pass session to handle_v18_status. + +--------- + +Signed-off-by: Patrice Fournier +Co-authored-by: Morgan Scarafiotti +Co-authored-by: Andrey Volk + +Upstream: https://github.com/signalwire/freeswitch/commit/76458fafc5a9cd0eebe94455ed39f41eac986c67 + +Signed-off-by: Bernd Kuhls +--- + .../applications/mod_spandsp/mod_spandsp.c | 1 - + .../applications/mod_spandsp/mod_spandsp.h | 6 ++++ + .../mod_spandsp/mod_spandsp_dsp.c | 32 ++++++++++++++++--- + 3 files changed, 34 insertions(+), 5 deletions(-) + +diff --git a/src/mod/applications/mod_spandsp/mod_spandsp.c b/src/mod/applications/mod_spandsp/mod_spandsp.c +index 3f69b9746a..50d03f93a3 100644 +--- a/src/mod/applications/mod_spandsp/mod_spandsp.c ++++ b/src/mod/applications/mod_spandsp/mod_spandsp.c +@@ -37,7 +37,6 @@ + + + #include "mod_spandsp.h" +-#include + #include "mod_spandsp_modem.h" + + /* ************************************************************************** +diff --git a/src/mod/applications/mod_spandsp/mod_spandsp.h b/src/mod/applications/mod_spandsp/mod_spandsp.h +index 01f79e254d..6a936eee18 100644 +--- a/src/mod/applications/mod_spandsp/mod_spandsp.h ++++ b/src/mod/applications/mod_spandsp/mod_spandsp.h +@@ -58,6 +58,12 @@ typedef int zap_socket_t; + #define SPANDSP_EVENT_TXFAXNEGOCIATERESULT "spandsp::txfaxnegociateresult" + #define SPANDSP_EVENT_RXFAXNEGOCIATERESULT "spandsp::rxfaxnegociateresult" + ++#include ++ ++#if SPANDSP_RELEASE_DATE < 20230620 ++#define V18_MODE_WEITBRECHT_5BIT_4545 V18_MODE_5BIT_4545 ++#define V18_MODE_WEITBRECHT_5BIT_50 V18_MODE_5BIT_50 ++#endif + + + /* The global stuff */ +diff --git a/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c b/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c +index 836808a48d..51ac2a0e63 100644 +--- a/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c ++++ b/src/mod/applications/mod_spandsp/mod_spandsp_dsp.c +@@ -152,17 +152,27 @@ static void put_text_msg(void *user_data, const uint8_t *msg, int len) + + } + ++#if SPANDSP_RELEASE_DATE >= 20230620 ++static void handle_v18_status(void *user_data, int status) ++{ ++ switch_core_session_t *session = (switch_core_session_t *) user_data; ++ switch_channel_t *channel = switch_core_session_get_channel(session); ++ ++ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s detected V.18 modem: %s\n", switch_channel_get_name(channel), v18_status_to_str(status)); ++} ++#endif ++ + static int get_v18_mode(switch_core_session_t *session) + { + switch_channel_t *channel = switch_core_session_get_channel(session); + const char *var; +- int r = V18_MODE_5BIT_4545; ++ int r = V18_MODE_WEITBRECHT_5BIT_4545; + + if ((var = switch_channel_get_variable(channel, "v18_mode"))) { + if (!strcasecmp(var, "5BIT_45") || !strcasecmp(var, "baudot")) { +- r = V18_MODE_5BIT_4545; ++ r = V18_MODE_WEITBRECHT_5BIT_4545; + } else if (!strcasecmp(var, "5BIT_50")) { +- r = V18_MODE_5BIT_50; ++ r = V18_MODE_WEITBRECHT_5BIT_50; + } else if (!strcasecmp(var, "DTMF")) { + r = V18_MODE_DTMF; + } else if (!strcasecmp(var, "EDT")) { +@@ -213,8 +223,11 @@ switch_status_t spandsp_tdd_send_session(switch_core_session_t *session, const c + return SWITCH_STATUS_FALSE; + } + ++#if SPANDSP_RELEASE_DATE >= 20230620 ++ tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL, handle_v18_status, session); ++#else + tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL); +- ++#endif + + v18_put(tdd_state, text, -1); + +@@ -260,7 +273,13 @@ switch_status_t spandsp_tdd_encode_session(switch_core_session_t *session, const + } + + pvt->session = session; ++ ++#if SPANDSP_RELEASE_DATE >= 20230620 ++ pvt->tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL, handle_v18_status, session); ++#else + pvt->tdd_state = v18_init(NULL, TRUE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, NULL); ++#endif ++ + pvt->head_lead = TDD_LEAD; + + v18_put(pvt->tdd_state, text, -1); +@@ -338,7 +357,12 @@ switch_status_t spandsp_tdd_decode_session(switch_core_session_t *session) + } + + pvt->session = session; ++ ++#if SPANDSP_RELEASE_DATE >= 20230620 ++ pvt->tdd_state = v18_init(NULL, FALSE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, pvt, handle_v18_status, session); ++#else + pvt->tdd_state = v18_init(NULL, FALSE, get_v18_mode(session), V18_AUTOMODING_GLOBAL, put_text_msg, pvt); ++#endif + + if ((status = switch_core_media_bug_add(session, "spandsp_tdd_decode", NULL, + tdd_decode_callback, pvt, 0, SMBF_READ_REPLACE | SMBF_NO_PAUSE, &bug)) != SWITCH_STATUS_SUCCESS) { +-- +2.47.3 +