summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2017-06-12 19:08:40 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2017-06-21 10:14:52 +0200
commit5da8b1d811e76dcc089404f123b00684d8b58ad4 (patch)
tree5ee1b9b330c189bd911a6572a085b12a0cee069d
parent5d107ecae118ac3dd49fdf10c54901eb0a4c3bdf (diff)
downloadptxdist-5da8b1d811e76dcc089404f123b00684d8b58ad4.tar.gz
ptxdist-5da8b1d811e76dcc089404f123b00684d8b58ad4.tar.xz
optee-client: add the "Open Portable Trusted Execution Environment" client
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--patches/optee-client-2.4.0/0001-Makefile-preserve-links-to-libraries-during-make-cop.patch27
-rw-r--r--patches/optee-client-2.4.0/0002-libteec-Makefile-create-relative-links-to-shared-lib.patch30
-rw-r--r--patches/optee-client-2.4.0/series5
-rw-r--r--rules/optee-client.in13
-rw-r--r--rules/optee-client.make59
5 files changed, 134 insertions, 0 deletions
diff --git a/patches/optee-client-2.4.0/0001-Makefile-preserve-links-to-libraries-during-make-cop.patch b/patches/optee-client-2.4.0/0001-Makefile-preserve-links-to-libraries-during-make-cop.patch
new file mode 100644
index 000000000..e7616e29e
--- /dev/null
+++ b/patches/optee-client-2.4.0/0001-Makefile-preserve-links-to-libraries-during-make-cop.patch
@@ -0,0 +1,27 @@
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Mon, 12 Jun 2017 17:13:30 +0200
+Subject: [PATCH] Makefile: preserve links to libraries during make copy_export
+
+During "make copy_export" and "make install" the shared library is
+copied into the LIBDIR. However "cp" is used, thus the links to the
+shared library are not preserved. This patch fixes the problem by using
+"cp -a" instead.
+
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index c7462479e5fe..4c2d45851543 100644
+--- a/Makefile
++++ b/Makefile
+@@ -128,7 +128,7 @@ distclean: clean
+
+ copy_export: build
+ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(INCLUDEDIR)
+- cp ${O}/libteec/libteec.so* $(DESTDIR)$(LIBDIR)
++ cp -a ${O}/libteec/libteec.so* $(DESTDIR)$(LIBDIR)
+ if [ "$(BUILD-LIBSQLFS)" ]; then cp ${O}/libsqlfs/libsqlfs.so* $(DESTDIR)$(LIBDIR); fi
+ cp ${O}/tee-supplicant/tee-supplicant $(DESTDIR)$(BINDIR)
+ cp public/*.h $(DESTDIR)$(INCLUDEDIR)
diff --git a/patches/optee-client-2.4.0/0002-libteec-Makefile-create-relative-links-to-shared-lib.patch b/patches/optee-client-2.4.0/0002-libteec-Makefile-create-relative-links-to-shared-lib.patch
new file mode 100644
index 000000000..0b9efe394
--- /dev/null
+++ b/patches/optee-client-2.4.0/0002-libteec-Makefile-create-relative-links-to-shared-lib.patch
@@ -0,0 +1,30 @@
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+Date: Mon, 12 Jun 2017 17:55:32 +0200
+Subject: [PATCH] libteec/Makefile: create relative links to shared library
+ instead of absolute ones
+
+Absolute paths in link targets are ugly and there is always a risk that
+they may be packaged incorrectly. Further the *.so* files are always
+expected to reside in the same directory. This patch fixes this problem.
+
+Suggested-by: Jerome Forissier <jerome.forissier@linaro.org>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+---
+ libteec/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libteec/Makefile b/libteec/Makefile
+index 66055a723a2d..f40898569e9e 100644
+--- a/libteec/Makefile
++++ b/libteec/Makefile
+@@ -33,8 +33,8 @@ TEEC_LFLAGS := -lpthread
+ TEEC_LIBRARY := $(OUT_DIR)/$(LIB_MAJ_MIN)
+
+ libteec: $(TEEC_LIBRARY)
+- $(VPREFIX)ln -sf $(TEEC_LIBRARY) $(OUT_DIR)/$(LIB_MAJOR)
+- $(VPREFIX)ln -sf $(OUT_DIR)/$(LIB_MAJOR) $(OUT_DIR)/$(LIB_NAME)
++ $(VPREFIX)ln -sf $(LIB_MAJ_MIN) $(OUT_DIR)/$(LIB_MAJOR)
++ $(VPREFIX)ln -sf $(LIB_MAJOR) $(OUT_DIR)/$(LIB_NAME)
+
+ $(TEEC_LIBRARY): $(TEEC_OBJS)
+ @echo " LINK $@"
diff --git a/patches/optee-client-2.4.0/series b/patches/optee-client-2.4.0/series
new file mode 100644
index 000000000..a5150ee47
--- /dev/null
+++ b/patches/optee-client-2.4.0/series
@@ -0,0 +1,5 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-Makefile-preserve-links-to-libraries-during-make-cop.patch
+0002-libteec-Makefile-create-relative-links-to-shared-lib.patch
+# 6e062706c976942f1f2f5f9c2c524618 - git-ptx-patches magic
diff --git a/rules/optee-client.in b/rules/optee-client.in
new file mode 100644
index 000000000..9099b4c48
--- /dev/null
+++ b/rules/optee-client.in
@@ -0,0 +1,13 @@
+## SECTION=security
+
+config OPTEE_CLIENT
+ tristate
+ prompt "optee-client"
+ help
+ Open Portable Trusted Execution Environment Client API.
+
+ This package contains libteec.so, which is the library that
+ contains that API for communication with the Trusted OS. And
+ a binary tee-supplicant which is a daemon serving the
+ Trusted OS in secure world with miscellaneous features, such
+ as file system access.
diff --git a/rules/optee-client.make b/rules/optee-client.make
new file mode 100644
index 000000000..25835ed1e
--- /dev/null
+++ b/rules/optee-client.make
@@ -0,0 +1,59 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2017 by Marc Kleine-Budde <mkl@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_OPTEE_CLIENT) += optee-client
+
+#
+# Paths and names
+#
+OPTEE_CLIENT_VERSION := 2.4.0
+OPTEE_CLIENT_MD5 := 5c27298b0e28aa9b28d18e44c79cc66d
+OPTEE_CLIENT := optee-client-$(OPTEE_CLIENT_VERSION)
+OPTEE_CLIENT_SUFFIX := tar.gz
+OPTEE_CLIENT_URL := https://github.com/OP-TEE/optee_client/archive/$(OPTEE_CLIENT_VERSION).$(OPTEE_CLIENT_SUFFIX)
+OPTEE_CLIENT_SOURCE := $(SRCDIR)/$(OPTEE_CLIENT).$(OPTEE_CLIENT_SUFFIX)
+OPTEE_CLIENT_DIR := $(BUILDDIR)/$(OPTEE_CLIENT)
+OPTEE_CLIENT_LICENSE := BSD-2-Clause
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+OPTEE_CLIENT_CONF_TOOL := NO
+OPTEE_CLIENT_MAKE_ENV := \
+ $(CROSS_ENV) \
+ LIBDIR=/usr/lib \
+ BINDIR=/usr/bin \
+ INCLUDEDIR=/usr/include
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/optee-client.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, optee-client)
+ @$(call install_fixup, optee-client,PRIORITY,optional)
+ @$(call install_fixup, optee-client,SECTION,base)
+ @$(call install_fixup, optee-client,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
+ @$(call install_fixup, optee-client,DESCRIPTION,missing)
+
+ @$(call install_lib, optee-client, 0, 0, 0644, libteec)
+ @$(call install_copy, optee-client, 0, 0, 0755, -, /usr/bin/tee-supplicant)
+
+ @$(call install_finish, optee-client)
+
+ @$(call touch)
+
+# vim: syntax=make