Message ID | 20220508212014.629607-1-dimi@tpm.dev |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] package/wolftpm: new package, wolfTPM library for TPM2.0 | expand |
On 2022-05-09 12:20 AM, Dimi Tomov wrote: > From: Dimitar Tomov <dimi@tpm.dev> > > wolfTPM is an open-source TPM 2.0 stack with backward API > compatibility, > designed for embedded use. It is highly portable, and has native > support > for Linux. wolfTPM has a compact code size with low resource usage. > > Signed-off-by: Dimitar Tomov <dimi@tpm.dev> > --- > package/Config.in | 1 + > package/wolftpm/Config.in | 14 ++++++++++++++ > package/wolftpm/wolftpm.hash | 2 ++ > package/wolftpm/wolftpm.mk | 29 +++++++++++++++++++++++++++++ > 4 files changed, 46 insertions(+) > create mode 100644 package/wolftpm/Config.in > create mode 100644 package/wolftpm/wolftpm.hash > create mode 100644 package/wolftpm/wolftpm.mk > > diff --git a/package/Config.in b/package/Config.in > index 8892134133..2a8bf18699 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1432,6 +1432,7 @@ menu "Crypto" > source "package/trousers/Config.in" > source "package/ustream-ssl/Config.in" > source "package/wolfssl/Config.in" > + source "package/wolftpm/Config.in" > endmenu > > menu "Database" > diff --git a/package/wolftpm/Config.in b/package/wolftpm/Config.in > new file mode 100644 > index 0000000000..497f5ae6e9 > --- /dev/null > +++ b/package/wolftpm/Config.in > @@ -0,0 +1,14 @@ > +config BR2_PACKAGE_WOLFTPM > + bool "wolftpm" > + depends on BR2_PACKAGE_WOLFSSL > + select BR2_PACKAGE_WOLFSSL_ALL > + help > + wolfTPM is a portable, open-source TPM 2.0 stack with > + backward API compatibility, designed for embedded use. > + No external dependencies, compact code size with low > + resource usage. > + > + https://www.wolfssl.com/ > + > +comment "wolfTPM needs the wolfSSL cryptographic library" > + depends on !BR2_PACKAGE_WOLFSSL > diff --git a/package/wolftpm/wolftpm.hash > b/package/wolftpm/wolftpm.hash > new file mode 100644 > index 0000000000..871e3e2d1d > --- /dev/null > +++ b/package/wolftpm/wolftpm.hash > @@ -0,0 +1,2 @@ > +# Hash from > https://github.com/wolfSSL/wolfTPM/archive/refs/tags/v2.3.1.tar.gz > +sha256 > f0d7c095491ac2cc9e44aa4ac3c22febf15942ef080431d8b43a9d0312ca6567 > wolfTPM-2.3.1.tar.gz > diff --git a/package/wolftpm/wolftpm.mk b/package/wolftpm/wolftpm.mk > new file mode 100644 > index 0000000000..33cfdef6af > --- /dev/null > +++ b/package/wolftpm/wolftpm.mk > @@ -0,0 +1,29 @@ > +################################################################################ > +# > +# wolftpm > +# > +################################################################################ > + > +WOLFTPM_VERSION = 2.3.1 > +WOLFTPM_SITE = $(call github,wolfSSL,wolfTPM,v$(WOLFTPM_VERSION)) > +WOLFTPM_INSTALL_STAGING = YES > + > +WOLFTPM_LICENSE = GPL-2.0+ > +WOLFTPM_LICENSE_FILES = LICENSE > +WOLFTPM_CPE_ID_VENDOR = wolfssl > + > +WOLFTPM_DEPENDENCIES = host-pkgconf > + > +# wolfTPM's source code is released without a configure script, > +# therefore we need autoreconf > +WOLFTPM_AUTORECONF = YES > + > +WOLFTPM_CONF_OPTS = --disable-examples --enable-devtpm > --with-wolfcrypt=$(TARGET_DIR)/usr/ > + > +define WOLFTPM_CONFIG_RPATH > + touch $(@D)/build-aux/config.rpath > +endef > +# Fix for autoconf bug with config.rconf > +WOLFTPM_PRE_CONFIGURE_HOOKS += WOLFTPM_CONFIG_RPATH > + > +$(eval $(autotools-package)) Hi Thomas, Could you please take a look at this contribution? Regards, Dimi -- Founder of TPM.dev
diff --git a/package/Config.in b/package/Config.in index 8892134133..2a8bf18699 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1432,6 +1432,7 @@ menu "Crypto" source "package/trousers/Config.in" source "package/ustream-ssl/Config.in" source "package/wolfssl/Config.in" + source "package/wolftpm/Config.in" endmenu menu "Database" diff --git a/package/wolftpm/Config.in b/package/wolftpm/Config.in new file mode 100644 index 0000000000..497f5ae6e9 --- /dev/null +++ b/package/wolftpm/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_WOLFTPM + bool "wolftpm" + depends on BR2_PACKAGE_WOLFSSL + select BR2_PACKAGE_WOLFSSL_ALL + help + wolfTPM is a portable, open-source TPM 2.0 stack with + backward API compatibility, designed for embedded use. + No external dependencies, compact code size with low + resource usage. + + https://www.wolfssl.com/ + +comment "wolfTPM needs the wolfSSL cryptographic library" + depends on !BR2_PACKAGE_WOLFSSL diff --git a/package/wolftpm/wolftpm.hash b/package/wolftpm/wolftpm.hash new file mode 100644 index 0000000000..871e3e2d1d --- /dev/null +++ b/package/wolftpm/wolftpm.hash @@ -0,0 +1,2 @@ +# Hash from https://github.com/wolfSSL/wolfTPM/archive/refs/tags/v2.3.1.tar.gz +sha256 f0d7c095491ac2cc9e44aa4ac3c22febf15942ef080431d8b43a9d0312ca6567 wolfTPM-2.3.1.tar.gz diff --git a/package/wolftpm/wolftpm.mk b/package/wolftpm/wolftpm.mk new file mode 100644 index 0000000000..33cfdef6af --- /dev/null +++ b/package/wolftpm/wolftpm.mk @@ -0,0 +1,29 @@ +################################################################################ +# +# wolftpm +# +################################################################################ + +WOLFTPM_VERSION = 2.3.1 +WOLFTPM_SITE = $(call github,wolfSSL,wolfTPM,v$(WOLFTPM_VERSION)) +WOLFTPM_INSTALL_STAGING = YES + +WOLFTPM_LICENSE = GPL-2.0+ +WOLFTPM_LICENSE_FILES = LICENSE +WOLFTPM_CPE_ID_VENDOR = wolfssl + +WOLFTPM_DEPENDENCIES = host-pkgconf + +# wolfTPM's source code is released without a configure script, +# therefore we need autoreconf +WOLFTPM_AUTORECONF = YES + +WOLFTPM_CONF_OPTS = --disable-examples --enable-devtpm --with-wolfcrypt=$(TARGET_DIR)/usr/ + +define WOLFTPM_CONFIG_RPATH + touch $(@D)/build-aux/config.rpath +endef +# Fix for autoconf bug with config.rconf +WOLFTPM_PRE_CONFIGURE_HOOKS += WOLFTPM_CONFIG_RPATH + +$(eval $(autotools-package))