From: Jino Abraham <[email protected]> SPDM emulator implementation based on libspdm. It provides requester and responder tools used for testing SPDM protocol communication.
Upstream: https://github.com/DMTF/spdm-emu Signed-off-by: Jino Abraham <[email protected]> --- .../recipes-security/spdm-emu/spdm-emu_git.bb | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb diff --git a/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb new file mode 100644 index 0000000000..bc241b5594 --- /dev/null +++ b/meta-oe/recipes-security/spdm-emu/spdm-emu_git.bb @@ -0,0 +1,75 @@ +SUMMARY = "SPDM Emulator" +DESCRIPTION = "Sample SPDM emulator implementation using libspdm \ +for testing SPDM communication." +HOMEPAGE = "https://github.com/DMTF/spdm-emu" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ed4cfe4688e1ac2cc2e6748766571949" + +SRC_URI = "gitsm://github.com/DMTF/spdm-emu;protocol=https;branch=main" + +SRCREV = "5fca359b15e4edd4f070ca83c9da02799b6f78ae" +inherit cmake pkgconfig systemd + +DEPENDS = "openssl" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" +PACKAGECONFIG[systemd] = "-DENABLE_SYSTEMD=ON,-DENABLE_SYSTEMD=OFF,systemd" + +SYSTEMD_SERVICE:${PN} = "spdm-responder-emu.service" + +def get_spdm_multiarch(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.fatal("unsupported architecture '%s'" % target_arch) + +EXTRA_OECMAKE += "\ + -DARCH=${@get_spdm_multiarch(d)} \ + -DTOOLCHAIN=NONE \ + -DTARGET=Release \ + -DCRYPTO=openssl \ + -DENABLE_BINARY_BUILD=1 \ + -DCOMPILED_LIBCRYPTO_PATH=${libdir} \ + -DCOMPILED_LIBSSL_PATH=${libdir} \ +" + +OECMAKE_TARGET_COMPILE += " copy_sample_key" + +do_install:append() { + # Install binaries to /usr/bin + install -d ${D}${bindir} + install -m 0755 ${B}/bin/spdm_requester_emu ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_responder_emu ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_device_attester_sample ${D}${bindir}/ + install -m 0755 ${B}/bin/spdm_device_validator_sample ${D}${bindir}/ + + # Install certificates/keys to /usr/share/spdm-emu + install -d ${D}${datadir}/spdm-emu + for f in ${B}/bin/*; do + case "$(basename $f)" in + spdm_requester_emu|spdm_responder_emu|spdm_device_attester_sample|spdm_device_validator_sample) + ;; + *) + if [ -d "$f" ]; then + cp -r --no-preserve=ownership $f ${D}${datadir}/spdm-emu/ + else + install -m 0644 $f ${D}${datadir}/spdm-emu/ + fi + ;; + esac + done +} + +FILES:${PN} += "${datadir}/spdm-emu"
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#125018): https://lists.openembedded.org/g/openembedded-devel/message/125018 Mute This Topic: https://lists.openembedded.org/mt/118237393/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
