Message ID | 20240402035140.71770-2-wilfred.mallawa@wdc.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/1] package/spdm-utils: new package | expand |
gentle ping :) On Tue, 2024-04-02 at 13:51 +1000, Wilfred Mallawa via buildroot wrote: > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> > --- > Changes in V2: > - Added required python3 dependencies > - Now depends on `udev` instead of selecting `eudev` > - Now depends on `libspdm` > - Hook define moved below the hook, stylistically similar to > other packages > - Removed cargo package re-vendoring as we aren't patching > - Changed certificate/manifest installation path to be system > wide. > > package/Config.in | 1 + > package/spdm-utils/Config.in | 24 ++++++++++++++++++++ > package/spdm-utils/spdm-utils.hash | 2 ++ > package/spdm-utils/spdm-utils.mk | 36 > ++++++++++++++++++++++++++++++ > 4 files changed, 63 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/package/Config.in b/package/Config.in > index 410fe0f493..9572a884e7 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -2698,6 +2698,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..b96365451f > --- /dev/null > +++ b/package/spdm-utils/Config.in > @@ -0,0 +1,24 @@ > +config BR2_PACKAGE_SPDM_UTILS > + bool "spdm-utils" > + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS > + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 > + depends on BR2_USE_WCHAR # eudev > + depends on !BR2_STATIC_LIBS > + depends on BR2_USE_MMU # eudev > + depends on !BR2_STATIC_LIBS # python3 > + depends on BR2_USE_MMU # eudev, python3 > + depends on BR2_PACKAGE_HAS_UDEV > + depends on BR2_PACKAGE_LIBSPDM > + select BR2_PACKAGE_HOST_RUSTC > + select BR2_PACKAGE_OPENSSL > + select BR2_PACKAGE_PCIUTILS > + select BR2_PACKAGE_EUDEV > + select BR2_PACKAGE_PYTHON3 > + 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 > diff --git a/package/spdm-utils/spdm-utils.hash b/package/spdm- > utils/spdm-utils.hash > new file mode 100644 > index 0000000000..aaa243315e > --- /dev/null > +++ b/package/spdm-utils/spdm-utils.hash > @@ -0,0 +1,2 @@ > +# Locally calculated > +sha256 > 3f06f087220b126262a2becf68c9e06a59d8d613816f82a168c81093de087d1a > spdm-utils-0.3.0.tar.gz > diff --git a/package/spdm-utils/spdm-utils.mk b/package/spdm- > utils/spdm-utils.mk > new file mode 100644 > index 0000000000..4176f61871 > --- /dev/null > +++ b/package/spdm-utils/spdm-utils.mk > @@ -0,0 +1,36 @@ > +#################################################################### > ############ > +# > +# spdm-utils > +# > +#################################################################### > ############ > + > +SPDM_UTILS_VERSION = 0.3.0 > +SPDM_UTILS_SITE = $(call github,westerndigitalcorporation,spdm- > utils,v$(SPDM_UTILS_VERSION)) > +SPDM_UTILS_LICENSE = Apache-2.0 or MIT > +SPDM_UTILS_DEPENDENCIES += pciutils libspdm openssl udev > + > +# Note that we also copy `setup_certs.sh` and `generate_certs.sh`. > +# `setup_certs.sh` shall be used by a responder to regenerate it's > mutable > +# certificate chain. `generate_certs.sh` can be used to generate a > new > +# certificate chain, which maybe useful in testing and development. > +define SPDM_UTILS_INSTALL_CERTS > + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/generate_certs.sh > $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/openssl.cnf > $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/setup_certs.sh > $(TARGET_DIR)/usr/local/spdm_certs > + > + $(INSTALL) -d -m 0755 > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/immutable.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.cert.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.key > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/param.pem > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/bundle_responder.certchain.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + > + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_manifest/ > + cp $(@D)/manifest/manifest.out.cbor > $(TARGET_DIR)/usr/local/spdm_manifest/ > +endef > + > +SPDM_UTILS_POST_INSTALL_TARGET_HOOKS += SPDM_UTILS_INSTALL_CERTS > + > +$(eval $(cargo-package))
ping :) On Tue, 2024-04-02 at 13:51 +1000, Wilfred Mallawa via buildroot wrote: > Signed-off-by: Alistair Francis <alistair.francis@wdc.com> > Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> > --- > Changes in V2: > - Added required python3 dependencies > - Now depends on `udev` instead of selecting `eudev` > - Now depends on `libspdm` > - Hook define moved below the hook, stylistically similar to > other packages > - Removed cargo package re-vendoring as we aren't patching > - Changed certificate/manifest installation path to be system > wide. > > package/Config.in | 1 + > package/spdm-utils/Config.in | 24 ++++++++++++++++++++ > package/spdm-utils/spdm-utils.hash | 2 ++ > package/spdm-utils/spdm-utils.mk | 36 > ++++++++++++++++++++++++++++++ > 4 files changed, 63 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/package/Config.in b/package/Config.in > index 410fe0f493..9572a884e7 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -2698,6 +2698,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..b96365451f > --- /dev/null > +++ b/package/spdm-utils/Config.in > @@ -0,0 +1,24 @@ > +config BR2_PACKAGE_SPDM_UTILS > + bool "spdm-utils" > + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS > + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 > + depends on BR2_USE_WCHAR # eudev > + depends on !BR2_STATIC_LIBS > + depends on BR2_USE_MMU # eudev > + depends on !BR2_STATIC_LIBS # python3 > + depends on BR2_USE_MMU # eudev, python3 > + depends on BR2_PACKAGE_HAS_UDEV > + depends on BR2_PACKAGE_LIBSPDM > + select BR2_PACKAGE_HOST_RUSTC > + select BR2_PACKAGE_OPENSSL > + select BR2_PACKAGE_PCIUTILS > + select BR2_PACKAGE_EUDEV > + select BR2_PACKAGE_PYTHON3 > + 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 > diff --git a/package/spdm-utils/spdm-utils.hash b/package/spdm- > utils/spdm-utils.hash > new file mode 100644 > index 0000000000..aaa243315e > --- /dev/null > +++ b/package/spdm-utils/spdm-utils.hash > @@ -0,0 +1,2 @@ > +# Locally calculated > +sha256 > 3f06f087220b126262a2becf68c9e06a59d8d613816f82a168c81093de087d1a > spdm-utils-0.3.0.tar.gz > diff --git a/package/spdm-utils/spdm-utils.mk b/package/spdm- > utils/spdm-utils.mk > new file mode 100644 > index 0000000000..4176f61871 > --- /dev/null > +++ b/package/spdm-utils/spdm-utils.mk > @@ -0,0 +1,36 @@ > +#################################################################### > ############ > +# > +# spdm-utils > +# > +#################################################################### > ############ > + > +SPDM_UTILS_VERSION = 0.3.0 > +SPDM_UTILS_SITE = $(call github,westerndigitalcorporation,spdm- > utils,v$(SPDM_UTILS_VERSION)) > +SPDM_UTILS_LICENSE = Apache-2.0 or MIT > +SPDM_UTILS_DEPENDENCIES += pciutils libspdm openssl udev > + > +# Note that we also copy `setup_certs.sh` and `generate_certs.sh`. > +# `setup_certs.sh` shall be used by a responder to regenerate it's > mutable > +# certificate chain. `generate_certs.sh` can be used to generate a > new > +# certificate chain, which maybe useful in testing and development. > +define SPDM_UTILS_INSTALL_CERTS > + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/generate_certs.sh > $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/openssl.cnf > $(TARGET_DIR)/usr/local/spdm_certs > + cp -r $(@D)/certs/setup_certs.sh > $(TARGET_DIR)/usr/local/spdm_certs > + > + $(INSTALL) -d -m 0755 > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/immutable.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.cert.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/device.key > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/param.pem > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + cp $(@D)/certs/slot0/bundle_responder.certchain.der > $(TARGET_DIR)/usr/local/spdm_certs/slot0 > + > + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_manifest/ > + cp $(@D)/manifest/manifest.out.cbor > $(TARGET_DIR)/usr/local/spdm_manifest/ > +endef > + > +SPDM_UTILS_POST_INSTALL_TARGET_HOOKS += SPDM_UTILS_INSTALL_CERTS > + > +$(eval $(cargo-package))
diff --git a/package/Config.in b/package/Config.in index 410fe0f493..9572a884e7 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2698,6 +2698,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..b96365451f --- /dev/null +++ b/package/spdm-utils/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_SPDM_UTILS + bool "spdm-utils" + depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS # python3 + depends on BR2_USE_WCHAR # eudev + depends on !BR2_STATIC_LIBS + depends on BR2_USE_MMU # eudev + depends on !BR2_STATIC_LIBS # python3 + depends on BR2_USE_MMU # eudev, python3 + depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_PACKAGE_LIBSPDM + select BR2_PACKAGE_HOST_RUSTC + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PCIUTILS + select BR2_PACKAGE_EUDEV + select BR2_PACKAGE_PYTHON3 + 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 diff --git a/package/spdm-utils/spdm-utils.hash b/package/spdm-utils/spdm-utils.hash new file mode 100644 index 0000000000..aaa243315e --- /dev/null +++ b/package/spdm-utils/spdm-utils.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 3f06f087220b126262a2becf68c9e06a59d8d613816f82a168c81093de087d1a spdm-utils-0.3.0.tar.gz diff --git a/package/spdm-utils/spdm-utils.mk b/package/spdm-utils/spdm-utils.mk new file mode 100644 index 0000000000..4176f61871 --- /dev/null +++ b/package/spdm-utils/spdm-utils.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# spdm-utils +# +################################################################################ + +SPDM_UTILS_VERSION = 0.3.0 +SPDM_UTILS_SITE = $(call github,westerndigitalcorporation,spdm-utils,v$(SPDM_UTILS_VERSION)) +SPDM_UTILS_LICENSE = Apache-2.0 or MIT +SPDM_UTILS_DEPENDENCIES += pciutils libspdm openssl udev + +# Note that we also copy `setup_certs.sh` and `generate_certs.sh`. +# `setup_certs.sh` shall be used by a responder to regenerate it's mutable +# certificate chain. `generate_certs.sh` can be used to generate a new +# certificate chain, which maybe useful in testing and development. +define SPDM_UTILS_INSTALL_CERTS + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_certs + cp -r $(@D)/certs/generate_certs.sh $(TARGET_DIR)/usr/local/spdm_certs + cp -r $(@D)/certs/openssl.cnf $(TARGET_DIR)/usr/local/spdm_certs + cp -r $(@D)/certs/setup_certs.sh $(TARGET_DIR)/usr/local/spdm_certs + + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/immutable.der $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/device.cert.der $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/device.der $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/device.key $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/param.pem $(TARGET_DIR)/usr/local/spdm_certs/slot0 + cp $(@D)/certs/slot0/bundle_responder.certchain.der $(TARGET_DIR)/usr/local/spdm_certs/slot0 + + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/local/spdm_manifest/ + cp $(@D)/manifest/manifest.out.cbor $(TARGET_DIR)/usr/local/spdm_manifest/ +endef + +SPDM_UTILS_POST_INSTALL_TARGET_HOOKS += SPDM_UTILS_INSTALL_CERTS + +$(eval $(cargo-package))