Message ID | 20241118025944.1068363-2-wilfred.mallawa@wdc.com |
---|---|
State | New |
Headers | show |
Series | [v5,1/1] package/spdm-utils: new package | expand |
Gentle ping :) ! On Mon, 2024-11-18 at 12:59 +1000, Wilfred Mallawa wrote: > 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))
Ping :) On Mon, 2024-11-18 at 12:59 +1000, Wilfred Mallawa wrote: > 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))
Gentle ping :) On Mon, 2024-11-18 at 12:59 +1000, Wilfred Mallawa wrote: > 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))
Ping! On Wed, 2025-01-15 at 11:55 +1000, Wilfred Mallawa wrote: > Gentle ping :) > > On Mon, 2024-11-18 at 12:59 +1000, Wilfred Mallawa wrote: > > 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)) >
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))