diff mbox series

[1/1] package/wolftpm: new package, wolfTPM library for TPM2.0

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

Commit Message

Dimi Tomov May 8, 2022, 9:20 p.m. UTC
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

Comments

Dimi Tomov May 17, 2022, 7:05 p.m. UTC | #1
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 mbox series

Patch

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))