summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/trousers')
-rw-r--r--app-crypt/trousers/Manifest2
-rw-r--r--app-crypt/trousers/files/61-trousers.rules2
-rw-r--r--app-crypt/trousers/files/tcsd.confd9
-rw-r--r--app-crypt/trousers/files/tcsd.initd39
-rw-r--r--app-crypt/trousers/files/tcsd.service10
-rw-r--r--app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch12
-rw-r--r--app-crypt/trousers/files/trousers-0.3.5-nouseradd.patch11
-rw-r--r--app-crypt/trousers/metadata.xml9
-rw-r--r--app-crypt/trousers/trousers-0.3.10-r1.ebuild104
-rw-r--r--app-crypt/trousers/trousers-0.3.13.ebuild101
10 files changed, 299 insertions, 0 deletions
diff --git a/app-crypt/trousers/Manifest b/app-crypt/trousers/Manifest
new file mode 100644
index 000000000000..7bb78b9d0e97
--- /dev/null
+++ b/app-crypt/trousers/Manifest
@@ -0,0 +1,2 @@
+DIST trousers-0.3.10.tar.gz 1658652 SHA256 eb9569de5c66d9698f6c3303de03777b95ec72827f68b7744454bfa9227bc530 SHA512 1835246f846d20bc1b2731d68440a9ca45865fcd52ad847d95485e4b126fae8bec09feaad559c27d83e243d92b8adc3a67934bff2034b318df075842fe9df4f0 WHIRLPOOL 7a27ef57b0038178cbf384c9fdec2d2e3e58dbeb5e5bc1503d2a7058a8312df54fa72b87968554631e4b5e483ae5e8c5e0a2367346bf3ae001b523a507ceff40
+DIST trousers-0.3.13.tar.gz 1371901 SHA256 bb908e4a3c88a17b247a4fc8e0fff3419d8a13170fe7bdfbe0e2c5c082a276d3 SHA512 c54407e538712f738b593707ffc6d617348d73de91dfddd9057273c2fcec26e5738e89db005d36d52596630a9d583f7fcb8cc388f597da6212891e2d79dce699 WHIRLPOOL 8099d2f01b1c64b2e92c78130c9f66766f9054a1ab557f0d6da149ca4869c9fed7ee3a26454ab50bd67069d30c758ccabb450dead1d9100ffacac9f596f6d46b
diff --git a/app-crypt/trousers/files/61-trousers.rules b/app-crypt/trousers/files/61-trousers.rules
new file mode 100644
index 000000000000..20e89cbe3acd
--- /dev/null
+++ b/app-crypt/trousers/files/61-trousers.rules
@@ -0,0 +1,2 @@
+KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss", GROUP="tss", SYMLINK+="tpm"
+# vim: ft=udevrules:
diff --git a/app-crypt/trousers/files/tcsd.confd b/app-crypt/trousers/files/tcsd.confd
new file mode 100644
index 000000000000..78bedb9fda30
--- /dev/null
+++ b/app-crypt/trousers/files/tcsd.confd
@@ -0,0 +1,9 @@
+# /etc/conf.d/tscd
+
+# Configuration file for the TrouSerS' TCS daemon (tcsd) init script
+# Have a look on /etc/tcsd.conf too, there is more to configure there.
+
+# TPM_MODULES: name of the module(s) that should be loaded. You only need to
+# set this if your driver is not compiled in kernel and is not already loaded
+# on boot. (default: unset)
+#TPM_MODULES="tpm_atmel"
diff --git a/app-crypt/trousers/files/tcsd.initd b/app-crypt/trousers/files/tcsd.initd
new file mode 100644
index 000000000000..969ccc170159
--- /dev/null
+++ b/app-crypt/trousers/files/tcsd.initd
@@ -0,0 +1,39 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use logger
+ need net
+}
+
+checkconfig() {
+ local mod
+ if [ -n "${TPM_MODULES}" ] ; then
+ for mod in ${TPM_MODULES} ; do
+ lsmod | grep -q "^${mod}\b" \
+ || modprobe ${mod} &>/dev/null \
+ || ewarn "Failed to load module ${mod}"
+ done
+ # Should we sleep or something to wait for device creation?
+ fi
+ if [ ! -c /dev/tpm ] && [ ! -c /dev/tpm0 ] ; then
+ eerror "No TPM device found!"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ ebegin "Starting TrouSerS' TCS daemon (tcsd)"
+ checkconfig || eend $?
+ start-stop-daemon --start --user tss --exec /usr/sbin/tcsd
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TrouSerS' TCS daemon (tcsd)"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/tcsd --user tss
+ eend $?
+}
diff --git a/app-crypt/trousers/files/tcsd.service b/app-crypt/trousers/files/tcsd.service
new file mode 100644
index 000000000000..4a46e6143bc1
--- /dev/null
+++ b/app-crypt/trousers/files/tcsd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=TCG Core Services Daemon
+
+[Service]
+User=tss
+ExecStart=/usr/sbin/tcsd -f
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch b/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch
new file mode 100644
index 000000000000..5426e9929f13
--- /dev/null
+++ b/app-crypt/trousers/files/trousers-0.3.13-nouseradd.patch
@@ -0,0 +1,12 @@
+diff -urNp trousers-0.3.13.org/dist/Makefile.am trousers-0.3.13/dist/Makefile.am
+--- trousers-0.3.13.org/dist/Makefile.am 2014-04-24 21:05:43.000000000 +0300
++++ trousers-0.3.13/dist/Makefile.am 2015-04-08 10:05:51.018955728 +0300
+@@ -11,8 +11,6 @@ endif
+ install-exec-hook:
+ /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+ if !NOUSERCHECK
+- /usr/sbin/groupadd tss || true
+- /usr/sbin/useradd -r tss -g tss || true
+ /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+ /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ endif
diff --git a/app-crypt/trousers/files/trousers-0.3.5-nouseradd.patch b/app-crypt/trousers/files/trousers-0.3.5-nouseradd.patch
new file mode 100644
index 000000000000..32114134daff
--- /dev/null
+++ b/app-crypt/trousers/files/trousers-0.3.5-nouseradd.patch
@@ -0,0 +1,11 @@
+--- dist/Makefile.am
++++ dist/Makefile.am
+@@ -6,8 +6,6 @@
+ /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+
+ install-exec-hook:
+- /usr/sbin/groupadd tss || true
+- /usr/sbin/useradd -r tss -g tss || true
+ /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+ /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+ /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
diff --git a/app-crypt/trousers/metadata.xml b/app-crypt/trousers/metadata.xml
new file mode 100644
index 000000000000..e47fe20d59bf
--- /dev/null
+++ b/app-crypt/trousers/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>crypto</herd>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:debian:trousers</remote-id>
+ <remote-id type="sourceforge">trousers</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-crypt/trousers/trousers-0.3.10-r1.ebuild b/app-crypt/trousers/trousers-0.3.10-r1.ebuild
new file mode 100644
index 000000000000..abb3964774eb
--- /dev/null
+++ b/app-crypt/trousers/trousers-0.3.10-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils linux-info readme.gentoo systemd user udev
+
+#MY_P="${PN}-${PV%.*}-${PV##*.}"
+
+DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
+HOMEPAGE="http://trousers.sf.net"
+SRC_URI="mirror://sourceforge/trousers/${P}.tar.gz"
+
+LICENSE="CPL-1.0 GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~m68k ~ppc ~ppc64 ~s390 ~sh x86"
+IUSE="doc selinux" # gtk
+
+# gtk support presently does NOT compile.
+# gtk? ( >=x11-libs/gtk+-2 )
+
+CDEPEND=">=dev-libs/glib-2
+ >=dev-libs/openssl-0.9.7:0"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-tcsd )"
+# S="${WORKDIR}/${P}git"
+
+DOCS="AUTHORS ChangeLog NICETOHAVES README TODO"
+
+DOC_CONTENTS="
+ If you have problems starting tcsd, please check permissions and
+ ownership on /dev/tpm* and ~tss/system.data
+"
+
+pkg_setup() {
+ # Check for driver (not sure it can be an rdep, because ot depends on the
+ # version of virtual/linux-sources... Is that supported by portage?)
+ linux-info_pkg_setup
+ local tpm_kernel_version tpm_kernel_present tpm_module
+ kernel_is ge 2 6 12 && tpm_kernel_version="yes"
+ if linux_config_exists; then
+ linux_chkconfig_present TCG_TPM && tpm_kernel_present="yes"
+ else
+ ewarn "No kernel configuration could be found."
+ fi
+ has_version app-crypt/tpm-emulator && tpm_module="yes"
+ if [[ -n "${tpm_kernel_present}" ]]; then
+ einfo "Good, you seem to have in-kernel TPM support."
+ elif [[ -n "${tpm_module}" ]]; then
+ einfo "Good, you seem to have TPM support with the external module."
+ if [[ -n "${tpm_kernel_version}" ]]; then
+ elog
+ elog "Note that since you have a >=2.6.12 kernel, you could use"
+ elog "the in-kernel driver instead of (CONFIG_TCG_TPM)."
+ fi
+ elif [[ -n "${tpm_kernel_version}" ]]; then
+ eerror
+ eerror "To use this package, you will have to activate TPM support"
+ eerror "in your kernel configuration. That's at least CONFIG_TCG_TPM,"
+ eerror "plus probably a chip specific driver (like CONFIG_TCG_ATMEL)."
+ eerror
+ else
+ eerror
+ eerror "To use this package, you should install a TPM driver."
+ eerror "You can have the following options:"
+ eerror " - install app-crypt/tpm-emulator"
+ eerror " - switch to a >=2.6.12 kernel and compile the kernel module"
+ eerror
+ fi
+
+ # New user/group for the daemon
+ enewgroup tss
+ enewuser tss -1 -1 /var/lib/tpm tss
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.3.5-nouseradd.patch
+
+ sed -i -r \
+ -e '/CFLAGS/s/ -(Werror|m64)//' \
+ configure.in || die
+ eautoreconf
+}
+
+src_configure() {
+ # econf --with-gui=$(usex gtk gtk openssl)
+ econf --with-gui=openssl
+}
+
+src_install() {
+ keepdir /var/lib/tpm
+ default
+ use doc && dodoc doc/*
+ newinitd "${FILESDIR}"/tcsd.initd tcsd
+ newconfd "${FILESDIR}"/tcsd.confd tcsd
+ systemd_dounit "${FILESDIR}"/tcsd.service
+ udev_dorules "${FILESDIR}"/61-trousers.rules
+ fowners tss:tss /var/lib/tpm
+ prune_libtool_files
+ readme.gentoo_create_doc
+}
diff --git a/app-crypt/trousers/trousers-0.3.13.ebuild b/app-crypt/trousers/trousers-0.3.13.ebuild
new file mode 100644
index 000000000000..56cad8b1f0a7
--- /dev/null
+++ b/app-crypt/trousers/trousers-0.3.13.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils linux-info readme.gentoo systemd user udev
+
+#MY_P="${PN}-${PV%.*}-${PV##*.}"
+
+DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
+HOMEPAGE="http://trousers.sf.net"
+SRC_URI="mirror://sourceforge/trousers/${P}.tar.gz"
+
+LICENSE="CPL-1.0 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~x86"
+IUSE="doc selinux" # gtk
+
+# gtk support presently does NOT compile.
+# gtk? ( >=x11-libs/gtk+-2 )
+
+CDEPEND=">=dev-libs/glib-2
+ >=dev-libs/openssl-0.9.7:0"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-tcsd )"
+# S="${WORKDIR}/${P}git"
+
+DOCS="AUTHORS ChangeLog NICETOHAVES README TODO"
+
+DOC_CONTENTS="
+ If you have problems starting tcsd, please check permissions and
+ ownership on /dev/tpm* and ~tss/system.data
+"
+
+pkg_setup() {
+ # Check for driver (not sure it can be an rdep, because ot depends on the
+ # version of virtual/linux-sources... Is that supported by portage?)
+ linux-info_pkg_setup
+ local tpm_kernel_version tpm_kernel_present tpm_module
+ kernel_is ge 2 6 12 && tpm_kernel_version="yes"
+ if linux_config_exists; then
+ linux_chkconfig_present TCG_TPM && tpm_kernel_present="yes"
+ else
+ ewarn "No kernel configuration could be found."
+ fi
+ has_version app-crypt/tpm-emulator && tpm_module="yes"
+ if [[ -n "${tpm_kernel_present}" ]]; then
+ einfo "Good, you seem to have in-kernel TPM support."
+ elif [[ -n "${tpm_module}" ]]; then
+ einfo "Good, you seem to have TPM support with the external module."
+ if [[ -n "${tpm_kernel_version}" ]]; then
+ elog
+ elog "Note that since you have a >=2.6.12 kernel, you could use"
+ elog "the in-kernel driver instead of (CONFIG_TCG_TPM)."
+ fi
+ elif [[ -n "${tpm_kernel_version}" ]]; then
+ eerror
+ eerror "To use this package, you will have to activate TPM support"
+ eerror "in your kernel configuration. That's at least CONFIG_TCG_TPM,"
+ eerror "plus probably a chip specific driver (like CONFIG_TCG_ATMEL)."
+ eerror
+ else
+ eerror
+ eerror "To use this package, you should install a TPM driver."
+ eerror "You can have the following options:"
+ eerror " - install app-crypt/tpm-emulator"
+ eerror " - switch to a >=2.6.12 kernel and compile the kernel module"
+ eerror
+ fi
+
+ # New user/group for the daemon
+ enewgroup tss
+ enewuser tss -1 -1 /var/lib/tpm tss
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nouseradd.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # econf --with-gui=$(usex gtk gtk openssl)
+ econf --with-gui=openssl
+}
+
+src_install() {
+ keepdir /var/lib/tpm
+ default
+ use doc && dodoc doc/*
+ newinitd "${FILESDIR}"/tcsd.initd tcsd
+ newconfd "${FILESDIR}"/tcsd.confd tcsd
+ systemd_dounit "${FILESDIR}"/tcsd.service
+ udev_dorules "${FILESDIR}"/61-trousers.rules
+ fowners tss:tss /var/lib/tpm
+ prune_libtool_files
+ readme.gentoo_create_doc
+}