tpm2: update release recipes

tpm2-tss: 1.4.0 -> 2.0.0
tpm2-abrmd: 1.3.1 -> 2.0.1
tpm2-tools: 3.0.4 -> 3.1.1

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This commit is contained in:
Trevor Woerner
2018-08-01 18:46:28 -04:00
committed by Jia Zhang
parent 5fa9c850bd
commit dc173c7a8d
15 changed files with 94 additions and 232 deletions
@@ -1 +1 @@
DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20 --max-transient-objects=20 --fail-on-loaded-trans"
DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20 --max-transients=20"
@@ -1 +0,0 @@
DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20 --max-transients=20"
@@ -7,10 +7,14 @@ SECTION = "security/tpm"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
DEPENDS += "autoconf-archive-native dbus glib-2.0 glib-2.0-native"
DEPENDS += " \
autoconf-archive-native dbus glib-2.0 glib-2.0-native \
tpm2-tss libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim \
"
SRC_URI = "\
file://tpm2-abrmd-init.sh \
file://tpm2-abrmd.default \
"
inherit autotools pkgconfig systemd update-rc.d useradd
@@ -32,7 +36,17 @@ EXTRA_OECONF += "\
--with-udevrulesdir=${sysconfdir}/udev/rules.d \
"
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
install -d "${D}${sysconfdir}/default"
install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
}
FILES_${PN} += "\
${systemd_unitdir}/system-preset \
${datadir}/dbus-1/system-services/com.intel.tss2.Tabrmd.service \
"
RDEPENDS_${PN} += "tpm2-tss"
@@ -1,18 +0,0 @@
include ${BPN}.inc
DEPENDS += "libtctidevice libtctisocket libtss2"
SRC_URI += " \
https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
file://tpm2-abrmd.default \
"
SRC_URI[md5sum] = "3f5f2461fd98aca0add1187e4705c0de"
SRC_URI[sha256sum] = "859d777a0d2c5d78309c4a2f06879a1e914b41324ea8258920a778a1ad7e38ea"
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
install -d "${D}${sysconfdir}/default"
install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
}
@@ -0,0 +1,8 @@
include ${BPN}.inc
SRC_URI += " \
https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
file://tpm2-abrmd.default \
"
SRC_URI[md5sum] = "533bb7b16e9335c32f67e80961542e19"
SRC_URI[sha256sum] = "b012a6c3e4462a411eaafd3dc8d3b13ef4118348acfd5108b68a57c8c0a5ed9c"
@@ -2,14 +2,11 @@ include ${BPN}.inc
DEFAULT_PREFERENCE = "-1"
DEPENDS += "tpm2-tss libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
PVBASE := "${PV}"
PV = "${PVBASE}.${SRCPV}"
SRC_URI += " \
git://github.com/01org/${BPN}.git;protocol=git;branch=master;name=${BPN};destsuffix=${BPN} \
file://tpm2-abrmd_git.default \
"
def version_git(d):
@@ -29,13 +26,3 @@ do_configure_prepend () {
AUTORECONF=true ./bootstrap
cd "${currentdir}"
}
do_install_append() {
install -d "${D}${sysconfdir}/init.d"
install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
install -d "${D}${sysconfdir}/default"
install -m 0644 "${WORKDIR}/tpm2-abrmd_git.default" "${D}${sysconfdir}/default/tpm2-abrmd"
}
RDEPENDS_${PN} += "tpm2-tss"
@@ -1,77 +0,0 @@
From cb1b28d795dd120dcc8b75fff926b0abcda06535 Mon Sep 17 00:00:00 2001
From: Jia Zhang <zhang.jia@linux.alibaba.com>
Date: Fri, 16 Feb 2018 20:31:58 -0500
Subject: [PATCH] tpm2-tools: use dynamic linkage with tpm2-abrmd
tpm2-abrmd has huge dependencies and they are not necessary to be involved
in initramfs.
Signed-off-by: Jia Zhang <zhang.jia@linux.alibaba.com>
---
Makefile.am | 2 +-
lib/tcti/tpm2_tools_tcti_abrmd.c | 21 +++++++++++++++++++--
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 7ac86cd..1a8074a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,7 +48,7 @@ AM_LDFLAGS := $(EXTRA_LDFLAGS) $(CODE_COVERAGE_LIBS)
LDADD = \
$(LIB_COMMON) $(SAPI_LIBS) $(TCTI_SOCK_LIBS) $(TCTI_TABRMD_LIBS) \
- $(TCTI_DEV_LIBS) $(CRYPTO_LIBS)
+ $(TCTI_DEV_LIBS) $(CRYPTO_LIBS) -ldl
# keep me sorted
bin_PROGRAMS = \
diff --git a/lib/tcti/tpm2_tools_tcti_abrmd.c b/lib/tcti/tpm2_tools_tcti_abrmd.c
index 5e50288..48e0df6 100644
--- a/lib/tcti/tpm2_tools_tcti_abrmd.c
+++ b/lib/tcti/tpm2_tools_tcti_abrmd.c
@@ -30,6 +30,7 @@
//**********************************************************************;
#include <inttypes.h>
#include <stdlib.h>
+#include <dlfcn.h>
#include <tcti/tcti-tabrmd.h>
#include <sapi/tpm20.h>
@@ -42,8 +43,24 @@ TSS2_TCTI_CONTEXT *tpm2_tools_tcti_abrmd_init(char *opts) {
UNUSED(opts);
+ /*
+ * Intend to "forget" the handle in order to make sure libtcti-tabrmd
+ * is unloaded along with the deconstructed functions.
+ */
+ void *tabrmd_handle;
+ tabrmd_handle = dlopen("libtcti-tabrmd.so.0", RTLD_LAZY);
+ if (!tabrmd_handle) {
+ LOG_ERR ("Unable to find out the tabrmd tcti library");
+ return NULL;
+ }
+
+ TSS2_RC (*init)(TSS2_TCTI_CONTEXT *, size_t *);
+ init = dlsym(tabrmd_handle, "tss2_tcti_tabrmd_init");
+ if (!init)
+ return NULL;
+
size_t size;
- TSS2_RC rc = tss2_tcti_tabrmd_init(NULL, &size);
+ TSS2_RC rc = init(NULL, &size);
if (rc != TSS2_RC_SUCCESS) {
LOG_ERR("Failed to get size for TABRMD TCTI context: 0x%" PRIx32, rc);
return NULL;
@@ -55,7 +72,7 @@ TSS2_TCTI_CONTEXT *tpm2_tools_tcti_abrmd_init(char *opts) {
return NULL;
}
- rc = tss2_tcti_tabrmd_init(tcti_ctx, &size);
+ rc = init(tcti_ctx, &size);
if (rc != TSS2_RC_SUCCESS) {
LOG_ERR ("Failed to initialize TABRMD TCTI context: 0x%" PRIx32, rc);
free(tcti_ctx);
--
1.8.3.1
@@ -6,6 +6,9 @@ SECTION = "security/tpm"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=91b7c548d73ea16537799e8060cea819"
DEPENDS = "tpm2-abrmd tpm2-tss openssl curl autoconf-archive-native"
DEPENDS = " \
tpm2-abrmd openssl curl autoconf-archive-native \
tpm2-tss libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim \
"
inherit autotools pkgconfig
@@ -1,10 +0,0 @@
include ${BPN}.inc
SRC_URI = "\
https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
file://0001-tpm2-tools-use-dynamic-linkage-with-tpm2-abrmd.patch \
"
SRC_URI[md5sum] = "f7a962c6e3d2997efe8949ac7aec8283"
SRC_URI[sha256sum] = "ac05028347a9fa1da79b5d53b998193de0c3a76000badb961c3feb8b8a0e8e8e"
S = "${WORKDIR}/${BPN}-${PV}"
@@ -0,0 +1,9 @@
include ${BPN}.inc
SRC_URI = "\
https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz \
"
SRC_URI[md5sum] = "ad9e856c4cbd8a19eb205d74ab635adc"
SRC_URI[sha256sum] = "c7f0cdca51ef2006503f60c462b6d183c9b9dc038f4c3f74a89c111088fed8aa"
S = "${WORKDIR}/${BPN}-${PV}"
@@ -2,8 +2,6 @@ include ${BPN}.inc
DEFAULT_PREFERENCE = "-1"
DEPENDS += "libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
PVBASE := "${PV}"
PV = "${PVBASE}.${SRCPV}"
+50 -1
View File
@@ -6,7 +6,56 @@ client applications."
HOMEPAGE = "https://github.com/tpm2-software/tpm2-tss"
SECTION = "security/tpm"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=0b1d631c4218b72f6b05cb58613606f4"
DEPENDS = "autoconf-archive-native"
DEPENDS = "autoconf-archive-native libgcrypt"
PROVIDES = "${PACKAGES}"
inherit autotools pkgconfig
PACKAGES = " \
libtss2-mu \
libtss2-mu-dev \
libtss2-mu-staticdev \
libtss2-tcti-device \
libtss2-tcti-device-dev \
libtss2-tcti-device-staticdev \
libtss2-tcti-mssim \
libtss2-tcti-mssim-dev \
libtss2-tcti-mssim-staticdev \
libtss2 \
libtss2-dev \
libtss2-staticdev \
${PN} \
${PN}-doc \
${PN}-dbg \
"
FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
FILES_libtss2-tcti-device-dev = " \
${includedir}/tss2/tss2_tcti_device.h \
${libdir}/pkgconfig/tss2-tcti-device.pc \
${libdir}/libtss2-tcti-device.so"
FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
FILES_libtss2-tcti-mssim-dev = " \
${includedir}/tss2/tss2_tcti_mssim.h \
${libdir}/pkgconfig/tss2-tcti-mssim.pc \
${libdir}/libtss2-tcti-mssim.so"
FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
FILES_libtss2-mu-dev = " \
${includedir}/tss2/tss2_mu.h \
${libdir}/pkgconfig/tss2-mu.pc \
${libdir}/libtss2-mu.so"
FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
FILES_libtss2 = "${libdir}/libtss2*so.*"
FILES_libtss2-dev = " \
${includedir} \
${libdir}/pkgconfig \
${libdir}/libtss2*so"
FILES_libtss2-staticdev = "${libdir}/libtss*a"
@@ -1,55 +0,0 @@
include ${BPN}.inc
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
PROVIDES = "${PACKAGES}"
SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "3fadb8ee8a4e506b9732d2a9dfcad77c"
SRC_URI[sha256sum] = "cf8784cc536be16e6fba47f77033e093a6aeaed8420877ac9f42f77fb7b09031"
S = "${WORKDIR}/${BPN}-${PV}"
PACKAGES = " \
${PN}-dbg \
${PN}-doc \
libtss2 \
libtss2-dev \
libtss2-staticdev \
libtctidevice \
libtctidevice-dev \
libtctidevice-staticdev \
libtctisocket \
libtctisocket-dev \
libtctisocket-staticdev \
"
FILES_libtss2 = " \
${libdir}/libsapi.so.* \
"
FILES_libtss2-dev = " \
${includedir}/sapi \
${includedir}/tcti/common.h \
${libdir}/libsapi.so \
${libdir}/pkgconfig/sapi.pc \
"
FILES_libtss2-staticdev = " \
${libdir}/libsapi.a \
${libdir}/libsapi.la \
"
FILES_libtctidevice = "${libdir}/libtcti-device.so.*"
FILES_libtctidevice-dev = " \
${includedir}/tcti/tcti_device.h \
${libdir}/libtcti-device.so \
${libdir}/pkgconfig/tcti-device.pc \
"
FILES_libtctidevice-staticdev = "${libdir}/libtcti-device.*a"
FILES_libtctisocket = "${libdir}/libtcti-socket.so.*"
FILES_libtctisocket-dev = " \
${includedir}/tcti/tcti_socket.h \
${libdir}/libtcti-socket.so \
${libdir}/pkgconfig/tcti-socket.pc \
"
FILES_libtctisocket-staticdev = "${libdir}/libtcti-socket.*a"
@@ -0,0 +1,7 @@
include ${BPN}.inc
SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "048ea77be36f881b7b6ecefbc1cf7dbd"
SRC_URI[sha256sum] = "7dfd05f7d2c4d5339d1c9ecbdba25f4ea6df70e96b09928e15e0560cce02d525"
S = "${WORKDIR}/${BPN}-${PV}"
@@ -1,13 +1,7 @@
include ${BPN}.inc
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=0b1d631c4218b72f6b05cb58613606f4"
DEFAULT_PREFERENCE = "-1"
DEPENDS += "libgcrypt"
PROVIDES = "${PACKAGES}"
PVBASE := "${PV}"
PV = "${PVBASE}.${SRCPV}"
@@ -33,49 +27,3 @@ do_configure_prepend () {
AUTORECONF=true ./bootstrap
cd "${currentdir}"
}
PACKAGES = " \
libtss2-mu \
libtss2-mu-dev \
libtss2-mu-staticdev \
libtss2-tcti-device \
libtss2-tcti-device-dev \
libtss2-tcti-device-staticdev \
libtss2-tcti-mssim \
libtss2-tcti-mssim-dev \
libtss2-tcti-mssim-staticdev \
libtss2 \
libtss2-dev \
libtss2-staticdev \
${PN} \
${PN}-doc \
${PN}-dbg \
"
FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
FILES_libtss2-tcti-device-dev = " \
${includedir}/tss2/tss2_tcti_device.h \
${libdir}/pkgconfig/tss2-tcti-device.pc \
${libdir}/libtss2-tcti-device.so"
FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
FILES_libtss2-tcti-mssim-dev = " \
${includedir}/tss2/tss2_tcti_mssim.h \
${libdir}/pkgconfig/tss2-tcti-mssim.pc \
${libdir}/libtss2-tcti-mssim.so"
FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
FILES_libtss2-mu-dev = " \
${includedir}/tss2/tss2_mu.h \
${libdir}/pkgconfig/tss2-mu.pc \
${libdir}/libtss2-mu.so"
FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
FILES_libtss2 = "${libdir}/libtss2*so.*"
FILES_libtss2-dev = " \
${includedir} \
${libdir}/pkgconfig \
${libdir}/libtss2*so"
FILES_libtss2-staticdev = "${libdir}/libtss*a"