From f0e4448e7c38d604152b6e727dcd6fb6d23c286f Mon Sep 17 00:00:00 2001 From: Wilfred Mallawa via buildroot Date: Mon, 5 Aug 2024 11:57:12 +1000 Subject: [PATCH] package/libspdm: bump version to 3.4.0 `libspdm 3.3.0` and later support the SPDM event capability, however this patch disables support for EVENT_CAP as it is optional, and requires additional functionality implemented at link time. `libspdm 3.4.0` also introduces SPDM1.3 measurement extention log (MEL). Leave this off by default for the same reason as above. The license file has changed, for two reasons: - The copyright years have been updated - The license was simplified to be really a pure BSD 3 Clause license, instead of a modified license that had some special patent disclaimer/clauses. See https://github.com/DMTF/libspdm/issues/2682 for more details. We don't need to change LIBSPDM_LICENSE because it was already only saying BSD-3-Clause (which was slightly wrong) Signed-off-by: Wilfred Mallawa Reviewed-by: Alistair Francis Signed-off-by: Thomas Petazzoni --- ...eLists-remove-fixed-options-for-NONE.patch | 52 ------------------- package/libspdm/libspdm.hash | 4 +- package/libspdm/libspdm.mk | 10 +++- 3 files changed, 10 insertions(+), 56 deletions(-) delete mode 100644 package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch diff --git a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch b/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch deleted file mode 100644 index 0de0ad0079..0000000000 --- a/package/libspdm/0001-CMakeLists-remove-fixed-options-for-NONE.patch +++ /dev/null @@ -1,52 +0,0 @@ -From d4d6b138d727e484fa9d0fef476ca181681d0695 Mon Sep 17 00:00:00 2001 -From: Wilfred Mallawa -Date: Mon, 19 Feb 2024 09:56:14 +1000 -Subject: [PATCH] CMakeLists: remove fixed options for NONE - -The use of the NONE toolchain option is such that we can provide at the -build project level (buildroot etc...). However, the changes introduced -in 811f2b596def04b3a36368cf2098546d7907767f set certain compiler/linker -option that does not comply with the definition of the options as -specified in [1]. This change removes those options. - -[1] https://github.com/DMTF/libspdm/blob/main/doc/build.md#linux-builds-inside-build-environments - -Upstream: https://github.com/DMTF/libspdm/commit/d4d6b138d727e484fa9d0fef476ca181681d0695 -Signed-off-by: Wilfred Mallawa ---- - CMakeLists.txt | 19 ------------------- - 1 file changed, 19 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9c300cc817..f6cf17d269 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -618,25 +618,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") - SET(CMAKE_EXE_LINKER_FLAGS "") - - SET(CMAKE_C_LINK_EXECUTABLE "") -- -- elseif(TOOLCHAIN STREQUAL "NONE") -- ADD_COMPILE_OPTIONS(-fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-common -Wno-address -fpie -fno-asynchronous-unwind-tables -flto -DUSING_LTO -Wno-maybe-uninitialized -Wno-uninitialized -Wno-builtin-declaration-mismatch -Wno-nonnull-compare -Werror-implicit-function-declaration) -- if(CMAKE_BUILD_TYPE STREQUAL "Debug") -- ADD_COMPILE_OPTIONS(-g) -- endif() -- if(GCOV STREQUAL "ON") -- ADD_COMPILE_OPTIONS(--coverage -fprofile-arcs -ftest-coverage) -- endif() -- SET(OPENSSL_FLAGS -include base.h -Wno-error=maybe-uninitialized -Wno-error=format -Wno-format -Wno-error=unused-but-set-variable -Wno-cast-qual -Wno-error=implicit-function-declaration) -- SET(CMOCKA_FLAGS -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat-security -Werror=format-security -fno-common -Wformat -fno-common -fstack-protector-strong -Wno-cast-qual) -- -- SET(CMAKE_LINKER ${CMAKE_C_COMPILER}) -- SET(CMAKE_EXE_LINKER_FLAGS "-flto -Wno-error -no-pie" ) -- if(GCOV STREQUAL "ON") -- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage -lgcov -fprofile-arcs -ftest-coverage") -- endif() -- SET(CMAKE_C_LINK_EXECUTABLE " -o -Wl,--start-group -Wl,--end-group") -- - endif() - - if(NOT TOOLCHAIN STREQUAL "NIOS2_GCC") --- -2.43.2 - diff --git a/package/libspdm/libspdm.hash b/package/libspdm/libspdm.hash index 32415bcfce..93a8d933cc 100644 --- a/package/libspdm/libspdm.hash +++ b/package/libspdm/libspdm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 0ee460c0ce5c4d126ca65f9c4bdabd5725b87cec7160b2d06721169df58f3a95 libspdm-3.2.0.tar.gz -sha256 7dc072bff163df39209bbb63e0916f4667c2a84cf3c36ccc84ec7425bc3e4779 LICENSE.md +sha256 44f967aeb0c481676affe59069615252854bc0c072368ce4b26b6809a54daff5 libspdm-3.4.0.tar.gz +sha256 c6ffa7e6889e63893078cb21b89594070183f7e2cf5b4ea01a4fb23eac59ed32 LICENSE.md diff --git a/package/libspdm/libspdm.mk b/package/libspdm/libspdm.mk index 2ec35be0ac..e86a79ed67 100644 --- a/package/libspdm/libspdm.mk +++ b/package/libspdm/libspdm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBSPDM_VERSION = 3.2.0 +LIBSPDM_VERSION = 3.4.0 LIBSPDM_SITE = $(call github,DMTF,libspdm,$(LIBSPDM_VERSION)) LIBSPDM_LICENSE = BSD-3-Clause LIBSPDM_LICENSE_FILES = LICENSE.md @@ -17,6 +17,11 @@ LIBSPDM_DEPENDENCIES = openssl LIBSPDM_TARGET_CPU_FAMILY = $(call qstrip,$(BR2_PACKAGE_LIBSPDM_CPU_FAMILY)) +LIBSPDM_CFLAGS = \ + $(TARGET_CFLAGS) \ + -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 + LIBSPDM_CONF_OPTS = \ -DARCH=$(LIBSPDM_TARGET_CPU_FAMILY) \ -DTOOLCHAIN=NONE \ @@ -27,7 +32,8 @@ LIBSPDM_CONF_OPTS = \ -DCOMPILED_LIBSSL_PATH=/usr/lib/ \ -DDISABLE_TESTS=1 \ -DDISABLE_EDDSA=1 \ - -DLINK_FLAGS=$(STAGING_DIR) + -DLINK_FLAGS=$(STAGING_DIR) \ + -DCMAKE_C_FLAGS="$(LIBSPDM_CFLAGS)" define LIBSPDM_INSTALL_STAGING_CMDS mkdir -p $(STAGING_DIR)/usr/lib