Signed-off-by: Armin Kuster <akuster...@gmail.com>
---
 .../tpm2-abrmd/files/tpm2-abrmd-init.sh            | 65 ++++++++++++++++++++++
 .../tpm2-abrmd/files/tpm2-abrmd.default            |  1 +
 .../recipes-tpm/tpm2-abrmd/tpm2-abrmd_1.1.1.bb     | 54 ++++++++++++++++++
 3 files changed, 120 insertions(+)
 create mode 100644 meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh
 create mode 100644 meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default
 create mode 100644 meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_1.1.1.bb

diff --git a/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh 
b/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh
new file mode 100644
index 0000000..c8dfb7d
--- /dev/null
+++ b/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd-init.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides:            tpm2-abrmd
+# Required-Start:      $local_fs $remote_fs $network
+# Required-Stop:       $local_fs $remote_fs $network
+# Should-Start:
+# Should-Stop:
+# Default-Start:       2 3 4 5
+# Default-Stop:                0 1 6
+# Short-Description:   starts tpm2-abrmd
+# Description:         tpm2-abrmd implements the TCG resource manager
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/tpm2-abrmd
+NAME=tpm2-abrmd
+DESC="TCG TSS2 Access Broker and Resource Management daemon"
+USER="tss"
+
+test -x "${DAEMON}" || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+case "${1}" in
+       start)
+               echo -n "Starting $DESC: "
+
+               if [ ! -e /dev/tpm* ]
+               then
+                       echo "device driver not loaded, skipping."
+                       exit 0
+               fi
+
+               start-stop-daemon --start --quiet --oknodo --background 
--pidfile /var/run/${NAME}.pid --user ${USER} --chuid ${USER} --exec ${DAEMON} 
-- ${DAEMON_OPTS}
+               RETVAL="$?"
+               echo "$NAME."
+               [ "$RETVAL" = 0 ] && pidof $DAEMON > /var/run/${NAME}.pid
+               exit $RETVAL
+               ;;
+
+       stop)
+               echo -n "Stopping $DESC: "
+
+               start-stop-daemon --stop --quiet --oknodo --pidfile 
/var/run/${NAME}.pid --user ${USER} --exec ${DAEMON}
+               RETVAL="$?"
+                echo  "$NAME."
+               rm -f /var/run/${NAME}.pid
+               exit $RETVAL
+               ;;
+
+       restart|force-reload)
+               "${0}" stop
+               sleep 1
+               "${0}" start
+               exit $?
+               ;;
+       *)
+               echo "Usage: ${NAME} {start|stop|restart|force-reload|status}" 
>&2
+               exit 3
+               ;;
+esac
+
+exit 0
diff --git a/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default 
b/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default
new file mode 100644
index 0000000..987978a
--- /dev/null
+++ b/meta-tpm/recipes-tpm/tpm2-abrmd/files/tpm2-abrmd.default
@@ -0,0 +1 @@
+DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20 
--max-transient-objects=20 --fail-on-loaded-trans"
diff --git a/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_1.1.1.bb 
b/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_1.1.1.bb
new file mode 100644
index 0000000..27e2408
--- /dev/null
+++ b/meta-tpm/recipes-tpm/tpm2-abrmd/tpm2-abrmd_1.1.1.bb
@@ -0,0 +1,54 @@
+SUMMARY = "TPM2 Access Broker & Resource Manager"
+DESCRIPTION = "This is a system daemon implementing the TPM2 access \
+broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon 
(tpm2-abrmd) \
+is implemented using Glib and the GObject system. In this documentation and \
+in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \
+"
+SECTION = "security/tpm"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+
+DEPENDS += "autoconf-archive dbus glib-2.0 pkgconfig tpm2.0-tss 
glib-2.0-native"
+
+SRC_URI = "\
+    git://github.com/01org/tpm2-abrmd.git \
+    file://tpm2-abrmd-init.sh \
+    file://tpm2-abrmd.default \
+"
+SRCREV = "c2ccda956bf15165770682dd5c578c58ee5fa6e2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd update-rc.d useradd
+
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+INITSCRIPT_NAME = "${PN}"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "tss"
+USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
+
+PACKAGECONFIG ?="udev"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', 
'', d)}"
+
+PACKAGECONFIG[systemd] = 
"--with-systemdsystemunitdir=${systemd_system_unitdir}, 
--with-systemdsystemunitdir=no"
+PACKAGECONFIG[udev] = "--with-udevrulesdir=${sysconfdir}/udev/rules.d, 
--without-udevrulesdir"
+
+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} += "${libdir}/systemd/system-preset"
+
+RDEPENDS_${PN} += "libgcc dbus-glib libtss2 libtctidevice libtctisocket"
+
+BBCLASSEXTEND = "native"
-- 
2.7.4

-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to