From 430ff5e8a9fc60d93af73996fd6e229a46e8a010 Mon Sep 17 00:00:00 2001 From: Wang Mingyu Date: Wed, 25 Feb 2026 17:37:12 +0800 Subject: libspdm: upgrade 3.8.1 -> 3.8.2 Changelog: ============ - os_stub/openssllib: Allow building with older OpenSSL versions - Ignore MSVC warning when compiling OpenSSL - Bring fixes from main to 3.8 Signed-off-by: Wang Mingyu Signed-off-by: Khem Raj --- meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb | 81 ------------------------ meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb | 81 ++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 81 deletions(-) delete mode 100644 meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb create mode 100644 meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb diff --git a/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb b/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb deleted file mode 100644 index 431eb8fd40..0000000000 --- a/meta-oe/recipes-support/libspdm/libspdm_3.8.1.bb +++ /dev/null @@ -1,81 +0,0 @@ -SUMMARY = "DMTF's Reference Implementation of SPDM" -DESCRIPTION = "libspdm is a reference implementation of the DMTF’s Security Protocols and \ -Data Models (SPDM). This is used to enable authentication, attestation and key exchange to \ -assist in providing infrastructure security enablement" -HOMEPAGE = "https://github.com/DMTF/libspdm" -BUGTRACKER = "https://github.com/DMTF/libspdm/issues" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8f9b59a81a88da8e812af43728b72dd7" - -DEPENDS = "openssl" - -SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https" -SRCREV = "d7c8c8247b4d0bd8ed75d9f35a558a4df173a4c7" - -inherit cmake - -LIBSPDM_CFLAGS = "\ - ${OECMAKE_C_FLAGS} \ - -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_GET_KEY_PAIR_INFO_CAP=0 \ - -DLIBSPDM_ENABLE_CAPABILITY_SET_KEY_PAIR_INFO_CAP=0 \ - -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=1 \ - -DLIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP=0 \ - " - -LIBSPDM_CFLAGS:append:toolchain-gcc = " -fPIE" - -def get_spdm_multiarch(bb, d): - target_arch = d.getVar('TARGET_ARCH') - multiarch_options = { - "x86_64": "x64", - "i586": "ia32", - "i686": "ia32", - "arm": "arm", - "aarch64": "aarch64", - "riscv32": "riscv32", - "riscv64": "riscv64", - "ppc64le": "ppc64le", - } - - if target_arch in multiarch_options : - return multiarch_options[target_arch] - - bb.error("unsupported architecture '%s'" % target_arch) - -EXTRA_OECMAKE += "\ - -DARCH=${@get_spdm_multiarch(bb, d)} \ - -DTOOLCHAIN=NONE \ - -DTARGET=Release \ - -DCRYPTO=openssl \ - -DENABLE_BINARY_BUILD=1 \ - -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ - -DCOMPILED_LIBSSL_PATH=${libdir} \ - -DDISABLE_TESTS=1 \ - -DDISABLE_EDDSA=1 \ - -DCMAKE_C_FLAGS='${LIBSPDM_CFLAGS}' \ - " - -do_install () { - install -d ${D}/${libdir} - install -m 0644 lib/* ${D}/${libdir}/ - - install -d ${D}/${includedir}/${BPN}/ - cp -rf ${S}/include/* ${D}/${includedir}/${BPN}/ - - install -d ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib - cp -rf ${S}/os_stub/spdm_crypt_ext_lib/*.h ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/ -} - -FILES:${PN} += "${libdir}/*.a" -FILES:${PN} += "${includedir}/${BPN}/*.h" -FILES:${PN} += "${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/*.h" - -COMPATIBLE_HOST:powerpc = "null" -COMPATIBLE_HOST:powerpc64 = "null" -COMPATIBLE_HOST:mipsarchn32 = "null" -COMPATIBLE_HOST:mipsarcho32 = "null" -COMPATIBLE_HOST:mipsarchn64 = "null" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb new file mode 100644 index 0000000000..75c51b92d9 --- /dev/null +++ b/meta-oe/recipes-support/libspdm/libspdm_3.8.2.bb @@ -0,0 +1,81 @@ +SUMMARY = "DMTF's Reference Implementation of SPDM" +DESCRIPTION = "libspdm is a reference implementation of the DMTF’s Security Protocols and \ +Data Models (SPDM). This is used to enable authentication, attestation and key exchange to \ +assist in providing infrastructure security enablement" +HOMEPAGE = "https://github.com/DMTF/libspdm" +BUGTRACKER = "https://github.com/DMTF/libspdm/issues" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8f9b59a81a88da8e812af43728b72dd7" + +DEPENDS = "openssl" + +SRC_URI = "git://github.com/DMTF/libspdm.git;branch=release-3.8;protocol=https;tag=${PV}" +SRCREV = "5cf0acb87b2f36f8d70a89e5da8476d85db59f46" + +inherit cmake + +LIBSPDM_CFLAGS = "\ + ${OECMAKE_C_FLAGS} \ + -DLIBSPDM_ENABLE_CAPABILITY_EVENT_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_MEL_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_GET_KEY_PAIR_INFO_CAP=0 \ + -DLIBSPDM_ENABLE_CAPABILITY_SET_KEY_PAIR_INFO_CAP=0 \ + -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=1 \ + -DLIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP=0 \ + " + +LIBSPDM_CFLAGS:append:toolchain-gcc = " -fPIE" + +def get_spdm_multiarch(bb, d): + target_arch = d.getVar('TARGET_ARCH') + multiarch_options = { + "x86_64": "x64", + "i586": "ia32", + "i686": "ia32", + "arm": "arm", + "aarch64": "aarch64", + "riscv32": "riscv32", + "riscv64": "riscv64", + "ppc64le": "ppc64le", + } + + if target_arch in multiarch_options : + return multiarch_options[target_arch] + + bb.error("unsupported architecture '%s'" % target_arch) + +EXTRA_OECMAKE += "\ + -DARCH=${@get_spdm_multiarch(bb, d)} \ + -DTOOLCHAIN=NONE \ + -DTARGET=Release \ + -DCRYPTO=openssl \ + -DENABLE_BINARY_BUILD=1 \ + -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ + -DCOMPILED_LIBSSL_PATH=${libdir} \ + -DDISABLE_TESTS=1 \ + -DDISABLE_EDDSA=1 \ + -DCMAKE_C_FLAGS='${LIBSPDM_CFLAGS}' \ + " + +do_install () { + install -d ${D}/${libdir} + install -m 0644 lib/* ${D}/${libdir}/ + + install -d ${D}/${includedir}/${BPN}/ + cp -rf ${S}/include/* ${D}/${includedir}/${BPN}/ + + install -d ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib + cp -rf ${S}/os_stub/spdm_crypt_ext_lib/*.h ${D}/${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/ +} + +FILES:${PN} += "${libdir}/*.a" +FILES:${PN} += "${includedir}/${BPN}/*.h" +FILES:${PN} += "${includedir}/${BPN}/os_stub/spdm_crypt_ext_lib/*.h" + +COMPATIBLE_HOST:powerpc = "null" +COMPATIBLE_HOST:powerpc64 = "null" +COMPATIBLE_HOST:mipsarchn32 = "null" +COMPATIBLE_HOST:mipsarcho32 = "null" +COMPATIBLE_HOST:mipsarchn64 = "null" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf