From: Marc Kleine-Budde <mkl@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [ptxdist] [PATCH v2] optee-client: add the "Open Portable Trusted Execution Environment" client
Date: Mon, 12 Jun 2017 19:08:40 +0200 [thread overview]
Message-ID: <20170612170840.16652-1-mkl@pengutronix.de> (raw)
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Changes since v1
- fix shared libs installation
...eserve-links-to-libraries-during-make-cop.patch | 27 ++++++++++
...efile-create-relative-links-to-shared-lib.patch | 30 +++++++++++
patches/optee-client-2.4.0/series | 5 ++
rules/optee-client.in | 13 +++++
rules/optee-client.make | 59 ++++++++++++++++++++++
5 files changed, 134 insertions(+)
create mode 100644 patches/optee-client-2.4.0/0001-Makefile-preserve-links-to-libraries-during-make-cop.patch
create mode 100644 patches/optee-client-2.4.0/0002-libteec-Makefile-create-relative-links-to-shared-lib.patch
create mode 100644 patches/optee-client-2.4.0/series
create mode 100644 rules/optee-client.in
create mode 100644 rules/optee-client.make
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 000000000000..e7616e29ec87
--- /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 000000000000..0b9efe3942a1
--- /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 000000000000..a5150ee471bc
--- /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 000000000000..9099b4c48adb
--- /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 000000000000..25835ed1e56b
--- /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
--
2.11.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
reply other threads:[~2017-06-12 17:08 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170612170840.16652-1-mkl@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox