1 |
commit: 2116ee6b8d5ea228d739cb6aa6b917eeb948faf6 |
2 |
Author: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Dec 30 19:03:07 2018 +0000 |
4 |
Commit: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Dec 30 20:58:45 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2116ee6b |
7 |
|
8 |
app-crypt/tpm2-tss: initial add |
9 |
|
10 |
Closes: https://bugs.gentoo.org/show_bug.cgi?id=634298 |
11 |
Thanks: Alex Guzman |
12 |
Thanks: Sebastian Hamann |
13 |
Signed-off-by: Alon Bar-Lev <alonbl <AT> gentoo.org> |
14 |
Package-Manager: Portage-2.3.51, Repoman-2.3.11 |
15 |
|
16 |
app-crypt/tpm2-tss/Manifest | 1 + |
17 |
.../tpm2-tss/files/tpm2-tss-2.1.0-build.patch | 49 +++++++++++++++++++ |
18 |
.../tpm2-tss/files/tpm2-tss-2.1.0-tests.patch | 30 ++++++++++++ |
19 |
app-crypt/tpm2-tss/metadata.xml | 15 ++++++ |
20 |
app-crypt/tpm2-tss/tpm2-tss-2.1.0.ebuild | 57 ++++++++++++++++++++++ |
21 |
5 files changed, 152 insertions(+) |
22 |
|
23 |
diff --git a/app-crypt/tpm2-tss/Manifest b/app-crypt/tpm2-tss/Manifest |
24 |
new file mode 100644 |
25 |
index 00000000000..50abb292c49 |
26 |
--- /dev/null |
27 |
+++ b/app-crypt/tpm2-tss/Manifest |
28 |
@@ -0,0 +1 @@ |
29 |
+DIST tpm2-tss-2.1.0.tar.gz 922814 BLAKE2B 06baa6b817b99c0955a5190b0f90f8a0c55987eb06feb827cb950b69992ec1623367db488617722712ce9932ad8310c1b743af038ac77508106fb8f6f4409b1c SHA512 2aea80a4cb2be59a87de6eda74a2907a2832aa76c3c208f610172f4c5bd29133b24b0876286c40855a742d6068b8f843e32f6d995b0e51c2d1e0a752b92fff7c |
30 |
|
31 |
diff --git a/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-build.patch b/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-build.patch |
32 |
new file mode 100644 |
33 |
index 00000000000..930c173239e |
34 |
--- /dev/null |
35 |
+++ b/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-build.patch |
36 |
@@ -0,0 +1,49 @@ |
37 |
+Next version removes these using --disable-defaultflags |
38 |
+ |
39 |
+--- |
40 |
+ |
41 |
+diff --git a/configure.ac b/configure.ac |
42 |
+index c42b487f..f9118642 100644 |
43 |
+--- a/configure.ac |
44 |
++++ b/configure.ac |
45 |
+@@ -189,19 +189,6 @@ AM_CONDITIONAL([ENABLE_INTEGRATION],[test "x$enable_integration" = "xyes"]) |
46 |
+ |
47 |
+ gl_LD_VERSION_SCRIPT |
48 |
+ |
49 |
+-AX_ADD_COMPILER_FLAG([-std=c99]) |
50 |
+-AX_ADD_COMPILER_FLAG([-Wall]) |
51 |
+-AX_ADD_COMPILER_FLAG([-Wextra]) |
52 |
+-AX_ADD_COMPILER_FLAG([-Wformat-security]) |
53 |
+-AX_ADD_COMPILER_FLAG([-Werror]) |
54 |
+-AX_ADD_COMPILER_FLAG([-fstack-protector-all]) |
55 |
+-AX_ADD_COMPILER_FLAG([-fpic]) |
56 |
+-AX_ADD_COMPILER_FLAG([-fPIC]) |
57 |
+- |
58 |
+-AX_ADD_PREPROC_FLAG([-D_DEFAULT_SOURCE]) |
59 |
+-AX_ADD_PREPROC_FLAG([-D_BSD_SOURCE]) |
60 |
+-AX_ADD_PREPROC_FLAG([-D_POSIX_SOURCE]) |
61 |
+- |
62 |
+ AC_ARG_WITH([maxloglevel], |
63 |
+ [AS_HELP_STRING([--with-maxloglevel={none,error,warning,info,debug,trace}], |
64 |
+ [sets the maximum log level (default is trace)])], |
65 |
+@@ -227,20 +214,9 @@ AC_ARG_ENABLE([debug], |
66 |
+ [enable_debug=$enableval], |
67 |
+ [enable_debug=no]) |
68 |
+ AS_IF([test "x$enable_debug" = "xyes"], AX_ADD_COMPILER_FLAG([-ggdb3 -Og])) |
69 |
+-AS_IF([test "x$enable_debug" = "xno"], [AX_ADD_PREPROC_FLAG([-U_FORTIFY_SOURCE]) |
70 |
+- AX_ADD_PREPROC_FLAG([-D_FORTIFY_SOURCE=2]) |
71 |
+- AX_ADD_COMPILER_FLAG([-g -O2])]) |
72 |
+-AX_ADD_LINK_FLAG([-Wl,--no-undefined]) |
73 |
+-AX_ADD_LINK_FLAG([-Wl,-z,noexecstack]) |
74 |
+-AX_ADD_LINK_FLAG([-Wl,-z,now]) |
75 |
+-AX_ADD_LINK_FLAG([-Wl,-z,relro]) |
76 |
+ |
77 |
+ AC_SUBST([PATH]) |
78 |
+ |
79 |
+-# work around GCC bug #53119 |
80 |
+-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 |
81 |
+-AX_ADD_COMPILER_FLAG([-Wno-missing-braces]) |
82 |
+- |
83 |
+ dnl --------- Physical TPM device ----------------------- |
84 |
+ |
85 |
+ AC_ARG_WITH([ptpm], |
86 |
|
87 |
diff --git a/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-tests.patch b/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-tests.patch |
88 |
new file mode 100644 |
89 |
index 00000000000..d537c40e1a9 |
90 |
--- /dev/null |
91 |
+++ b/app-crypt/tpm2-tss/files/tpm2-tss-2.1.0-tests.patch |
92 |
@@ -0,0 +1,30 @@ |
93 |
+From 1ea85a32c0ae20a104badcec807b72ef458d356d Mon Sep 17 00:00:00 2001 |
94 |
+From: Andreas Fuchs <andreas.fuchs@××××××××××××××.de> |
95 |
+Date: Tue, 25 Sep 2018 09:35:33 +0200 |
96 |
+Subject: [PATCH] ESYS: Fix crypto_ossl return code |
97 |
+ |
98 |
+Fix returncode and thus test of interal hmac_finish function. |
99 |
+ |
100 |
+Fixes: #1157 |
101 |
+ |
102 |
+Signed-off-by: Andreas Fuchs <andreas.fuchs@××××××××××××××.de> |
103 |
+--- |
104 |
+ src/tss2-esys/esys_crypto_ossl.c | 2 +- |
105 |
+ 1 file changed, 1 insertion(+), 1 deletion(-) |
106 |
+ |
107 |
+diff --git a/src/tss2-esys/esys_crypto_ossl.c b/src/tss2-esys/esys_crypto_ossl.c |
108 |
+index 43088f4a..91871de1 100644 |
109 |
+--- a/src/tss2-esys/esys_crypto_ossl.c |
110 |
++++ b/src/tss2-esys/esys_crypto_ossl.c |
111 |
+@@ -448,7 +448,7 @@ iesys_cryptossl_hmac_finish(IESYS_CRYPTO_CONTEXT_BLOB ** context, |
112 |
+ IESYS_CRYPTOSSL_CONTEXT *mycontext = |
113 |
+ (IESYS_CRYPTOSSL_CONTEXT *) * context; |
114 |
+ if (mycontext->type != IESYS_CRYPTOSSL_TYPE_HMAC) { |
115 |
+- return_error(TSS2_ESYS_RC_BAD_VALUE, "bad context"); |
116 |
++ return_error(TSS2_ESYS_RC_BAD_REFERENCE, "bad context"); |
117 |
+ } |
118 |
+ |
119 |
+ if (*size < mycontext->hmac.hmac_len) { |
120 |
+-- |
121 |
+2.19.2 |
122 |
+ |
123 |
|
124 |
diff --git a/app-crypt/tpm2-tss/metadata.xml b/app-crypt/tpm2-tss/metadata.xml |
125 |
new file mode 100644 |
126 |
index 00000000000..5176de72bd2 |
127 |
--- /dev/null |
128 |
+++ b/app-crypt/tpm2-tss/metadata.xml |
129 |
@@ -0,0 +1,15 @@ |
130 |
+<?xml version="1.0" encoding="UTF-8"?> |
131 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
132 |
+<pkgmetadata> |
133 |
+ <maintainer type="project"> |
134 |
+ <email>crypto@g.o</email> |
135 |
+ <name>Crypto</name> |
136 |
+ </maintainer> |
137 |
+ <use> |
138 |
+ <flag name="gcrypt">Use <pkg>dev-libs/gcrypt</pkg> as crypto engine</flag> |
139 |
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> as crypto engine</flag> |
140 |
+ </use> |
141 |
+ <upstream> |
142 |
+ <remote-id type="github">tpm2-software/tpm2-tss</remote-id> |
143 |
+ </upstream> |
144 |
+</pkgmetadata> |
145 |
|
146 |
diff --git a/app-crypt/tpm2-tss/tpm2-tss-2.1.0.ebuild b/app-crypt/tpm2-tss/tpm2-tss-2.1.0.ebuild |
147 |
new file mode 100644 |
148 |
index 00000000000..dea061ef89a |
149 |
--- /dev/null |
150 |
+++ b/app-crypt/tpm2-tss/tpm2-tss-2.1.0.ebuild |
151 |
@@ -0,0 +1,57 @@ |
152 |
+# Copyright 1999-2018 Gentoo Authors |
153 |
+# Distributed under the terms of the GNU General Public License v2 |
154 |
+ |
155 |
+EAPI=7 |
156 |
+ |
157 |
+inherit autotools linux-info udev |
158 |
+ |
159 |
+DESCRIPTION="TCG Trusted Platform Module 2.0 Software Stack" |
160 |
+HOMEPAGE="https://github.com/tpm2-software/tpm2-tss" |
161 |
+SRC_URI="https://github.com/tpm2-software/${PN}/releases/download/${PV}/${P}.tar.gz" |
162 |
+ |
163 |
+LICENSE="BSD-2" |
164 |
+SLOT="0/0" # sublot is libtss2-sys number |
165 |
+KEYWORDS="~amd64" |
166 |
+IUSE="doc +gcrypt libressl openssl static-libs test" |
167 |
+ |
168 |
+REQUIRED_USE=" |
169 |
+ gcrypt? ( !openssl ) |
170 |
+ openssl? ( !gcrypt ) |
171 |
+ || ( gcrypt openssl )" |
172 |
+ |
173 |
+RDEPEND="gcrypt? ( dev-libs/libgcrypt:0= ) |
174 |
+ !libressl? ( dev-libs/openssl:0= ) |
175 |
+ libressl? ( dev-libs/libressl:0= )" |
176 |
+DEPEND="${DEPEND} |
177 |
+ test? ( dev-util/cmocka )" |
178 |
+BDEPEND="virtual/pkgconfig |
179 |
+ doc? ( app-doc/doxygen )" |
180 |
+ |
181 |
+PATCHES=( |
182 |
+ "${FILESDIR}/${P}-build.patch" |
183 |
+ "${FILESDIR}/${P}-tests.patch" |
184 |
+) |
185 |
+ |
186 |
+pkg_setup() { |
187 |
+ local CONFIG_CHECK=" \ |
188 |
+ ~TCG_TPM |
189 |
+ " |
190 |
+ linux-info_pkg_setup |
191 |
+ kernel_is ge 4 12 0 || ewarn "At least kernel 4.12.0 is required" |
192 |
+} |
193 |
+ |
194 |
+src_prepare() { |
195 |
+ default |
196 |
+ eautoreconf |
197 |
+} |
198 |
+ |
199 |
+src_configure() { |
200 |
+ # next version add --disable-defaultflags |
201 |
+ econf \ |
202 |
+ $(use_enable doc doxygen-doc) \ |
203 |
+ $(use_enable static-libs static) \ |
204 |
+ $(use_enable test unit) \ |
205 |
+ --with-crypto="$(usex gcrypt gcrypt ossl)" \ |
206 |
+ --with-udevrulesdir="$(get_udevdir)/rules.d" \ |
207 |
+ --with-udevrulesprefix=60- |
208 |
+} |