diff --git a/.checkpackageignore b/.checkpackageignore index b2d5320045..691e2b8138 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -353,7 +353,6 @@ package/freescale-imx/imx-vpu-hantro/0003-Fix-Linux-kernel-version-header.patch package/frr/S50frr Shellcheck package/fstrcmp/0001-disable-rpath.patch lib_patch.Upstream package/ftop/0001-overflow.patch lib_patch.Upstream -package/fwts/0001-build-do-not-use-Werror.patch lib_patch.Upstream package/fxdiv/0001-CMake-don-t-enable-CXX-unless-building-tests-benchma.patch lib_patch.Upstream package/fxload/0001-fix-static-build.patch lib_patch.Upstream package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream diff --git a/Config.in.legacy b/Config.in.legacy index ead9ceaa08..ef952ed524 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,14 @@ endif comment "Legacy options removed in 2026.05" +config BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE + bool "fwts efi_runtime kernel module removed" + select BR2_LEGACY + help + The fwts efi_runtime module has been removed in V26.01.00. + The Kernel efi_test (Kernel CONFIG_EFI_TEST) should be used + instead. + config BR2_KERNEL_HEADERS_6_19 bool "kernel headers version 6.19.x are no longer supported" select BR2_LEGACY diff --git a/DEVELOPERS b/DEVELOPERS index d849fa828a..f2060c7101 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1896,6 +1896,7 @@ F: support/testing/tests/package/test_fluidsynth.py F: support/testing/tests/package/test_fluidsynth/ F: support/testing/tests/package/test_fping.py F: support/testing/tests/package/test_fwts.py +F: support/testing/tests/package/test_fwts/ F: support/testing/tests/package/test_gawk.py F: support/testing/tests/package/test_ghostscript.py F: support/testing/tests/package/test_ghostscript/ diff --git a/package/fwts/0001-build-allow-disabling-Werror.patch b/package/fwts/0001-build-allow-disabling-Werror.patch new file mode 100644 index 0000000000..685ed5b923 --- /dev/null +++ b/package/fwts/0001-build-allow-disabling-Werror.patch @@ -0,0 +1,98 @@ +From 35689cd692c4181d4f1faf21bc5f83d59ec70511 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Sat, 16 May 2026 11:03:22 +0200 +Subject: [PATCH] build: allow disabling -Werror + +BugLink: https://bugs.launchpad.net/fwts/+bug/2152793 + +Enforcing "-Werror" in CFLAGS can be helpful from the package +development point of view. It can also become problematic for +distribution maintainers. When updating compilers, those newer +compilers may have different warnings included in "-Wall" or +"-Wextra", or their code analysis just improved. + +It is unlikely the fwts developers will update their toolchains +at the same pace as other projects. There is a recent example +with the release of gcc 16 breaking with fwts V26.03.00. Gcc 16 +is included in mainstream distributions like Fedora 44 and Arch Linux. + +In order to have smoother toolchain transitions, this commit +introduces a new autoconf option "--disable-werror" which will remove +the "-Werror" from the CFLAGS. In that case, the rest of the CFLAGS +are preserved, which means the warning messages will still be reported, +but the build will not fail. + +This commit also preserves the original project behavior, to have +"-Werror" enabled by default with a simple "./configure" invocation. + +The motivation of this commit is to upstream a package patch that +Buildroot carried over for a decade. See: +https://gitlab.com/buildroot.org/buildroot/-/commit/a9a7a05f39a5cf720822a87c9ac6fa9cf27eaa0e + +Upstream: Proposed: https://lists.ubuntu.com/archives/fwts-devel/2026-May/014180.html +Signed-off-by: Julien Olivain +--- + configure.ac | 5 +++++ + src/Makefile.am | 2 +- + src/lib/src/Makefile.am | 2 +- + src/utilities/Makefile.am | 2 +- + 4 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fbf487c5..62e43d75 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,6 +9,11 @@ + LT_INIT + AC_C_INLINE + AM_PROG_CC_C_O ++ AC_ARG_ENABLE([werror], ++ AS_HELP_STRING([--disable-werror], [disable use of -Werror]), ++ [enable_werror=$enableval], [enable_werror=yes]) ++ AS_IF([test x$enable_werror = xyes], [WERROR="-Werror"]) ++ AC_SUBST([WERROR]) + AC_CHECK_FUNCS([localtime_r]) + AC_CHECK_FUNCS([dup2]) + AC_CHECK_FUNCS([getcwd]) +diff --git a/src/Makefile.am b/src/Makefile.am +index a98a75a1..0e7ba401 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -12,7 +12,7 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/src/acpica/source/compiler \ + -I$(top_srcdir)/smccc_test \ + -pthread \ +- -Wall -Werror -Wextra \ ++ -Wall $(WERROR) -Wextra \ + -Wno-address-of-packed-member \ + -Wfloat-equal -Wmissing-declarations \ + -Wno-long-long -Wredundant-decls -Wshadow \ +diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am +index 6534f38f..20b01d1e 100644 +--- a/src/lib/src/Makefile.am ++++ b/src/lib/src/Makefile.am +@@ -23,7 +23,7 @@ AM_CPPFLAGS = \ + -I$(top_srcdir)/src/acpica/source/compiler \ + -I$(top_srcdir)/smccc_test \ + -DDATAROOTDIR=\"$(datarootdir)\" \ +- -Wall -Werror -Wextra \ ++ -Wall $(WERROR) -Wextra \ + -Wno-address-of-packed-member + + pkglib_LTLIBRARIES = libfwts.la +diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am +index 92c135d1..76a5cdcc 100644 +--- a/src/utilities/Makefile.am ++++ b/src/utilities/Makefile.am +@@ -16,7 +16,7 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + # + +-AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ ++AM_CPPFLAGS = -Wall $(WERROR) -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ + -I$(srcdir)/../lib/include + + bin_PROGRAMS = kernelscan +-- +2.54.0 + diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch deleted file mode 100644 index c6a84537ed..0000000000 --- a/package/fwts/0001-build-do-not-use-Werror.patch +++ /dev/null @@ -1,79 +0,0 @@ -From feb05271b484b158c14611839f968109e9cf3082 Mon Sep 17 00:00:00 2001 -From: Erico Nunes -Date: Fri, 12 Aug 2016 23:11:56 +0200 -Subject: [PATCH] fwts: do not use -Werror -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Warnings come and go with various compiler versions, so using -Werror is -prone to cause build failures with various compiler versions, especially -newer versions that introduce new warnings. - -Remove use of -Werror. - -Signed-off-by: Erico Nunes -[Fabrice: updated for 20.08.00] -Signed-off-by: Fabrice Fontaine -[Vincent: rebased onto V21.05.00] -Signed-off-by: Vincent Stehlé ---- - configure.ac | 2 +- - src/Makefile.am | 2 +- - src/lib/src/Makefile.am | 2 +- - src/utilities/Makefile.am | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ca2f54e2..ed584abf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1,5 +1,5 @@ - AC_INIT([fwts],[0.1],[fwts-devel@lists.ubuntu.com]) -- AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) -+ AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) - m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) - AC_CANONICAL_HOST - AC_CONFIG_MACRO_DIR([m4]) -diff --git a/src/Makefile.am b/src/Makefile.am -index 3bb35e5c..e9fe92fe 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -13,7 +13,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/efi_runtime \ - -I$(top_srcdir)/smccc_test \ - -pthread \ -- -Wall -Werror -Wextra \ -+ -Wall -Wextra \ - -Wno-address-of-packed-member \ - -Wfloat-equal -Wmissing-declarations \ - -Wno-long-long -Wredundant-decls -Wshadow \ -diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index d5d53dd7..76c48d4d 100644 ---- a/src/lib/src/Makefile.am -+++ b/src/lib/src/Makefile.am -@@ -22,7 +22,7 @@ AM_CPPFLAGS = \ - -I$(top_srcdir)/src/acpica/source/include \ - -I$(top_srcdir)/src/acpica/source/compiler \ - -DDATAROOTDIR=\"$(datarootdir)\" \ -- -Wall -Werror -Wextra \ -+ -Wall -Wextra \ - -Wno-address-of-packed-member - - pkglib_LTLIBRARIES = libfwts.la -diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index de38f070..785975ff 100644 ---- a/src/utilities/Makefile.am -+++ b/src/utilities/Makefile.am -@@ -16,7 +16,7 @@ - # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - # - --AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ -+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ - -I$(srcdir)/../lib/include - - bin_PROGRAMS = kernelscan --- -2.36.1 - diff --git a/package/fwts/Config.in b/package/fwts/Config.in index 2eebd111b0..2d9b09a53d 100644 --- a/package/fwts/Config.in +++ b/package/fwts/Config.in @@ -26,20 +26,11 @@ config BR2_PACKAGE_FWTS dtc (libfdt) is an optional dependency for fdt related tests. + For testing EFI runtime services, the Kernel config must + have CONFIG_EFI_TEST=y (since Kernel v4.9). + https://wiki.ubuntu.com/FirmwareTestSuite -if BR2_PACKAGE_FWTS -config BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE - bool "efi_runtime module" - depends on BR2_LINUX_KERNEL - help - Firmware Test Suite (FWTS) provides a EFI runtime kernel - module required to run UEFI tests. - -comment "efi_runtime module needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL -endif - comment "fwts needs a glibc toolchain w/ wchar, threads, dynamic library" depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash index 6725c9492d..526b7ccb4f 100644 --- a/package/fwts/fwts.hash +++ b/package/fwts/fwts.hash @@ -1,5 +1,5 @@ -# Hash from: https://fwts.ubuntu.com/release/SHA256SUMS -sha256 77d71524feb310236ccdb8b39dd39c6ca73acce5944f3cd54fc05d85a23d6d44 fwts-V25.11.00.tar.gz +# Hash from: https://github.com/fwts/fwts/releases/tag/V26.03.00 +sha256 368fc4dbfde7f5c551de5d352d2f70f1a4d3aa20d7a7df0d4b162535e6e9cef9 fwts-V26.03.00.tar.gz # Hash for license file -sha256 77a5f0ea48e53ee8d67aecc7759cf468bcd340c1caca711ed4307b477a93fb47 debian/copyright +sha256 1ec8cffc8cf213afc5d854027d746c80e638a13b1688f2a352221490c681c54f debian/copyright diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk index cdbf1c0366..02acdaa9dd 100644 --- a/package/fwts/fwts.mk +++ b/package/fwts/fwts.mk @@ -4,12 +4,14 @@ # ################################################################################ -FWTS_VERSION = 25.11.00 +FWTS_VERSION = 26.03.00 FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz -FWTS_SITE = https://fwts.ubuntu.com/release +FWTS_SITE = https://github.com/fwts/fwts/releases/download/V$(FWTS_VERSION) FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom FWTS_LICENSE_FILES = debian/copyright +# 0001-build-allow-disabling-Werror.patch FWTS_AUTORECONF = YES +FWTS_CONF_OPTS = --disable-werror FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf libglib2 libbsd \ $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ $(if $(BR2_PACKAGE_DTC),dtc) @@ -18,9 +20,4 @@ ifeq ($(BR2_OPTIMIZE_0),y) FWTS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -O1" endif -ifeq ($(BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE),y) -FWTS_MODULE_SUBDIRS = efi_runtime -$(eval $(kernel-module)) -endif - $(eval $(autotools-package)) diff --git a/support/testing/tests/package/test_fwts.py b/support/testing/tests/package/test_fwts.py index 90bf086a58..a58f9ccb80 100644 --- a/support/testing/tests/package/test_fwts.py +++ b/support/testing/tests/package/test_fwts.py @@ -4,8 +4,10 @@ import infra.basetest class TestFwts(infra.basetest.BRTest): + kernel_fragment = \ + infra.filepath("tests/package/test_fwts/linux-efi-test.fragment") config = \ - """ + f""" BR2_aarch64=y BR2_neoverse_n2=y BR2_TOOLCHAIN_EXTERNAL=y @@ -21,6 +23,7 @@ class TestFwts(infra.basetest.BRTest): BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.28" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{kernel_fragment}" BR2_TARGET_EDK2=y BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y BR2_TARGET_GRUB2=y @@ -31,7 +34,6 @@ class TestFwts(infra.basetest.BRTest): BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_PACKAGE_FWTS=y - BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_MTOOLS=y diff --git a/support/testing/tests/package/test_fwts/linux-efi-test.fragment b/support/testing/tests/package/test_fwts/linux-efi-test.fragment new file mode 100644 index 0000000000..f4baa2ab0f --- /dev/null +++ b/support/testing/tests/package/test_fwts/linux-efi-test.fragment @@ -0,0 +1 @@ +CONFIG_EFI_TEST=y