Gentoo Archives: gentoo-commits

From: Alon Bar-Lev <alonbl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/tpm2-tss/, app-crypt/tpm2-tss/files/
Date: Sun, 30 Dec 2018 21:00:20
Message-Id: 1546203525.2116ee6b8d5ea228d739cb6aa6b917eeb948faf6.alonbl@gentoo
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 +}