Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/1] package/spdm-utils: new package
@ 2024-11-18  2:59 Wilfred Mallawa via buildroot
  2024-12-17  0:37 ` Wilfred Mallawa
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Wilfred Mallawa via buildroot @ 2024-11-18  2:59 UTC (permalink / raw)
  To: buildroot
  Cc: Alistair Francis, Wilfred Mallawa, Alistair Francis,
	Wilfred Mallawa

From: Wilfred Mallawa via buildroot <buildroot@buildroot.org>

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
---
Changes in V4 -> V5:
	- Uses `spdm-utils` release v0.7.1
	- Added `depends on BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS`
	- Merged 'depends' comments into a single comment.
	- Added license hashes and license files.
	- Alphabetically order dependencies.
	- Drop the ruby/gem dependency entirely as`spdm-utils` v0.7.1 makes it
	  optional.

 DEVELOPERS                         |  4 +++
 package/Config.in                  |  1 +
 package/spdm-utils/Config.in       | 23 ++++++++++++++
 package/spdm-utils/spdm-utils.hash |  5 +++
 package/spdm-utils/spdm-utils.mk   | 51 ++++++++++++++++++++++++++++++
 5 files changed, 84 insertions(+)
 create mode 100644 package/spdm-utils/Config.in
 create mode 100644 package/spdm-utils/spdm-utils.hash
 create mode 100644 package/spdm-utils/spdm-utils.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 3945803d53..45c0e91150 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -154,6 +154,7 @@ F:	board/sifive/
 F:	boot/opensbi/
 F:	configs/hifive_unleashed_defconfig
 F:	package/libspdm/
+F:	package/spdm-utils/
 F:	package/xen/
 
 N:	Alvaro G. M <alvaro.gamez@hazent.com>
@@ -3341,6 +3342,9 @@ F:	package/uclibc-ng-test/
 F:	package/zabbix/
 F:	support/testing/tests/package/test_ruby.py
 
+N:	Wilfred Mallawa <wilfred.opensource@gmail.com>
+F:	package/spdm-utils/
+
 N:	Will Newton <will.newton@gmail.com>
 F:	package/enchant/
 F:	package/erlang/
diff --git a/package/Config.in b/package/Config.in
index 1eb5e1e020..c39728bca0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2781,6 +2781,7 @@ comment "Utilities"
 	source "package/screen/Config.in"
 	source "package/screenfetch/Config.in"
 	source "package/sexpect/Config.in"
+	source "package/spdm-utils/Config.in"
 	source "package/sudo/Config.in"
 	source "package/terminology/Config.in"
 	source "package/time/Config.in"
diff --git a/package/spdm-utils/Config.in b/package/spdm-utils/Config.in
new file mode 100644
index 0000000000..ac4fc11003
--- /dev/null
+++ b/package/spdm-utils/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_SPDM_UTILS
+	bool "spdm-utils"
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-clang
+	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_HAS_UDEV
+	select BR2_PACKAGE_HOST_RUSTC
+	select BR2_PACKAGE_PCIUTILS
+	select BR2_PACKAGE_LIBSPDM
+	help
+	  SPDM-Utils is a Linux application designed to support,
+	  test and develop SPDM requesters and responders.
+	  SPDM-Utils uses libspdm as the backend to perform SPDM
+	  communication. SPDM-Utils currently supports the
+	  PCIe Data Object Exchange (DOE) Capability.
+
+	  https://github.com/westerndigitalcorporation/spdm-utils
+
+comment "spdm-utils needs udev /dev management, host gcc >= 7"
+	depends on BR2_PACKAGE_LIBSPDM_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+	depends on !BR2_PACKAGE_HAS_UDEV || \
+		!BR2_HOST_GCC_AT_LEAST_7
diff --git a/package/spdm-utils/spdm-utils.hash b/package/spdm-utils/spdm-utils.hash
new file mode 100644
index 0000000000..5080c807e3
--- /dev/null
+++ b/package/spdm-utils/spdm-utils.hash
@@ -0,0 +1,5 @@
+# Locally calculated
+sha256  04bfe72f56e46272e1ea49a63eb88bacf6416fda5684b7747c5368116c0dc4ef  spdm-utils-0.7.1-cargo2.tar.gz
+sha256  62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a  LICENSE-APACHE
+sha256  23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3  LICENSE-MIT
+sha256  b378ca951adc9417548e94792ade613894bb65ca08a01c2d17f4ee40d21fc7e3  NOTICES
diff --git a/package/spdm-utils/spdm-utils.mk b/package/spdm-utils/spdm-utils.mk
new file mode 100644
index 0000000000..0908057d6a
--- /dev/null
+++ b/package/spdm-utils/spdm-utils.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# spdm-utils
+#
+################################################################################
+
+SPDM_UTILS_VERSION = 0.7.1
+SPDM_UTILS_SITE = $(call github,westerndigitalcorporation,spdm-utils,v$(SPDM_UTILS_VERSION))
+SPDM_UTILS_LICENSE = Apache-2.0 or MIT
+SPDM_UTILS_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT NOTICES
+SPDM_UTILS_DEPENDENCIES = host-clang host-ruby libspdm pciutils udev
+
+SPDM_UTILS_ALIAS_CERTS = \
+		openssl.cnf \
+		slot0/immutable.der \
+		slot0/device.cert.der \
+		slot0/device.der \
+		slot0/device.key \
+		slot0/bundle_responder.certchain.der
+
+# Used to generate SPDM Alias certificate model certificates,
+# required by `setup_certs.sh`
+SPDM_UTILS_GENERIC_CERTS = \
+		slot0/param.pem \
+		slot0/end_requester.req \
+		slot0/end_requester.key \
+		slot0/end_responder.key \
+		slot0/end_responder.req
+
+# SPDM-Utils expects the following certificates to be present for SPDM
+# functionality, make sure they are all copied.
+#
+# `setup_certs.sh` shall be used by a responder to regenerate it's mutable
+# certificate chain, typically on start up.
+define SPDM_UTILS_INSTALL_CERTS
+	$(INSTALL) -D -m 0755 $(@D)/certs/setup_certs.sh $(TARGET_DIR)/usr/share/spdm/certs/setup_certs.sh
+	$(INSTALL) -D -m 0644 $(@D)/certs/openssl.cnf $(TARGET_DIR)/usr/share/spdm/certs/openssl.cnf
+
+	$(foreach f,$(SPDM_UTILS_ALIAS_CERTS),
+		$(INSTALL) -D -m 0644 $(@D)/certs/alias/$(f) $(TARGET_DIR)/usr/share/spdm/certs/alias/$(f)
+	)
+
+	$(foreach f,$(SPDM_UTILS_GENERIC_CERTS),
+		$(INSTALL) -D -m 0644 $(@D)/certs/$(f) $(TARGET_DIR)/usr/share/spdm/certs/$(f)
+	)
+	$(INSTALL) -D -m 0644 $(@D)/manifest/manifest.out.cbor $(TARGET_DIR)/usr/share/spdm/manifest/manifest.out.cbor
+endef
+
+SPDM_UTILS_POST_INSTALL_TARGET_HOOKS += SPDM_UTILS_INSTALL_CERTS
+
+$(eval $(cargo-package))
-- 
2.47.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-12-23 22:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-18  2:59 [Buildroot] [PATCH v5 1/1] package/spdm-utils: new package Wilfred Mallawa via buildroot
2024-12-17  0:37 ` Wilfred Mallawa
2025-01-06 23:47 ` Wilfred Mallawa
2025-01-15  1:55 ` Wilfred Mallawa
2025-02-02 22:24   ` Wilfred Mallawa
2025-12-23 22:14 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox