diff options
Diffstat (limited to 'app-crypt/tpm-emulator')
-rw-r--r-- | app-crypt/tpm-emulator/ChangeLog | 12 | ||||
-rw-r--r-- | app-crypt/tpm-emulator/files/tpm-emulator-0.5.1-parallel-make.patch | 65 | ||||
-rw-r--r-- | app-crypt/tpm-emulator/files/tpm-emulator.confd-0.5.1 | 2 | ||||
-rw-r--r-- | app-crypt/tpm-emulator/files/tpm-emulator.initd-0.5.1 | 60 | ||||
-rw-r--r-- | app-crypt/tpm-emulator/files/tpm-emulator.udev | 2 | ||||
-rw-r--r-- | app-crypt/tpm-emulator/tpm-emulator-0.5.1.ebuild | 81 |
6 files changed, 220 insertions, 2 deletions
diff --git a/app-crypt/tpm-emulator/ChangeLog b/app-crypt/tpm-emulator/ChangeLog index 981c583aec7e..05263cded27c 100644 --- a/app-crypt/tpm-emulator/ChangeLog +++ b/app-crypt/tpm-emulator/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-crypt/tpm-emulator # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-crypt/tpm-emulator/ChangeLog,v 1.10 2009/05/10 23:07:30 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-crypt/tpm-emulator/ChangeLog,v 1.11 2009/09/21 10:40:39 robbat2 Exp $ + +*tpm-emulator-0.5.1 (21 Sep 2009) + + 21 Sep 2009; Robin H. Johnson <robbat2@gentoo.org> + +files/tpm-emulator.confd-0.5.1, +files/tpm-emulator.initd-0.5.1, + +tpm-emulator-0.5.1.ebuild, +files/tpm-emulator-0.5.1-parallel-make.patch, + files/tpm-emulator.udev: + Version bump, per bug #252446. Thanks to Andreas Niederl <rico32@gmx.net> + for fixing bugs 249290, 241956, 264073. Ebuild also cleaned up to use + upstream build system more. 10 May 2009; Robin H. Johnson <robbat2@gentoo.org> tpm-emulator-0.5.ebuild: diff --git a/app-crypt/tpm-emulator/files/tpm-emulator-0.5.1-parallel-make.patch b/app-crypt/tpm-emulator/files/tpm-emulator-0.5.1-parallel-make.patch new file mode 100644 index 000000000000..0a82a7159e0b --- /dev/null +++ b/app-crypt/tpm-emulator/files/tpm-emulator-0.5.1-parallel-make.patch @@ -0,0 +1,65 @@ +commit b3d254296c1d3dbc6058f294041481af8972a661 +Author: Andreas Niederl <rico32@gmx.net> +Date: Sun Aug 30 16:52:57 2009 +0200 + + fix version target in Makefile + +diff --git a/Makefile b/Makefile +index 9260014..de54e52 100644 +--- a/Makefile ++++ b/Makefile +@@ -12,33 +12,35 @@ VERSION_SUFFIX := .1 + + SUBDIRS := tpmd tpmd_dev tddl + +-all: version all-recursive ++all: all-recursive + +-version: +- @echo "#ifndef _TPM_VERSION_H_" > tpm/tpm_version.h +- @echo "#define _TPM_VERSION_H_" >> tpm/tpm_version.h +- @echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> tpm/tpm_version.h +- @echo "#define VERSION_MINOR $(VERSION_MINOR)" >> tpm/tpm_version.h +- @echo "#define VERSION_BUILD $(VERSION_BUILD)" >> tpm/tpm_version.h +- @echo "#endif /* _TPM_VERSION_H_ */" >> tpm/tpm_version.h ++version := tpm/tpm_version.h ++ ++$(version): ++ @echo "#ifndef _TPM_VERSION_H_" > $@ ++ @echo "#define _TPM_VERSION_H_" >> $@ ++ @echo "#define VERSION_MAJOR $(VERSION_MAJOR)" >> $@ ++ @echo "#define VERSION_MINOR $(VERSION_MINOR)" >> $@ ++ @echo "#define VERSION_BUILD $(VERSION_BUILD)" >> $@ ++ @echo "#endif /* _TPM_VERSION_H_ */" >> $@ + + clean: clean-recursive +- rm -f tpm/tpm_version.h ++ rm -f $(version) + + install: install-recursive + +-all-recursive clean-recursive install-recursive: ++all-recursive clean-recursive install-recursive: $(version) + @target=`echo $@ | sed s/-recursive//`; \ + for subdir in $(SUBDIRS); do \ + echo "Making $$target in $$subdir"; \ + $(MAKE) -C $$subdir $$target || exit -1; \ + done + +-user: version ++user: $(version) + @$(MAKE) -C tpmd all || exit -1 + @$(MAKE) -C tddl all || exit -1 + +-modules: version ++modules: $(version) + @$(MAKE) -C tpmd_dev all || exit -1 + + user_install: user +@@ -62,5 +64,5 @@ dist: $(DISTSRC) + tar -chzf $(DISTDIR).tar.gz $(DISTDIR) + @rm -rf $(DISTDIR) + +-.PHONY: all version clean install dist ++.PHONY: all clean install dist + diff --git a/app-crypt/tpm-emulator/files/tpm-emulator.confd-0.5.1 b/app-crypt/tpm-emulator/files/tpm-emulator.confd-0.5.1 new file mode 100644 index 000000000000..da24e57840b9 --- /dev/null +++ b/app-crypt/tpm-emulator/files/tpm-emulator.confd-0.5.1 @@ -0,0 +1,2 @@ +STARTUP_MODE="save" +#DEBUG="true" diff --git a/app-crypt/tpm-emulator/files/tpm-emulator.initd-0.5.1 b/app-crypt/tpm-emulator/files/tpm-emulator.initd-0.5.1 new file mode 100644 index 000000000000..c0652f2fcd63 --- /dev/null +++ b/app-crypt/tpm-emulator/files/tpm-emulator.initd-0.5.1 @@ -0,0 +1,60 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/tpm-emulator/files/tpm-emulator.initd-0.5.1,v 1.1 2009/09/21 10:40:39 robbat2 Exp $ + +opts="save clear deactivated" + +STARTUP_MODE="${STARTUP_MODE:-'save'}" + +LOGFILE=/var/log/tpm/tpm-emulator.log + + +depend() { + use logger + after coldplug +} + +checkconfig() { + lsmod | grep -q "^tpmd_dev\b" \ + || modprobe tpmd_dev &>/dev/null \ + || eerror "Failed to load module tpmd_dev, assuming you have it built-in to kernel."; + + if [ ! -c /dev/tpm ] && [ ! -c /dev/tpm0 ] ; then + eerror "No TPM device found!" + return 1 + fi + return 0 +} + +start() { + ebegin "Starting tpm-emulator daemon with mode '$STARTUP_MODE' (tpmd)" + checkconfig || eend $? + start-stop-daemon --start --chuid tss \ + --background --stdout $LOGFILE --stderr $LOGFILE \ + --exec /usr/sbin/tpmd -- -f ${DEBUG:+-d} $STARTUP_MODE + sleep 1 + chmod g+w /var/run/tpm/tpmd_socket:0 + eend $? +} + +save() { + STARTUP_MODE='save'; + svc_restart +} + +clear() { + STARTUP_MODE='clear'; + svc_restart +} + +deactivated() { + STARTUP_MODE='deactivated'; + svc_restart +} + +stop() { + ebegin "Stopping tpm-emulator daemon (tpmd)" + start-stop-daemon --stop --exec /usr/sbin/tpmd --user tss > /dev/null + eend $? +} diff --git a/app-crypt/tpm-emulator/files/tpm-emulator.udev b/app-crypt/tpm-emulator/files/tpm-emulator.udev index 01a481f45cba..ca053b9d36d3 100644 --- a/app-crypt/tpm-emulator/files/tpm-emulator.udev +++ b/app-crypt/tpm-emulator/files/tpm-emulator.udev @@ -1 +1 @@ -KERNEL=="tpm", NAME="%k", SYMLINK="tpm0", GROUP="tss", MODE="0660" +KERNEL=="tpm", NAME="%k", SYMLINK+="tpm0", GROUP="tss", MODE="0660" diff --git a/app-crypt/tpm-emulator/tpm-emulator-0.5.1.ebuild b/app-crypt/tpm-emulator/tpm-emulator-0.5.1.ebuild new file mode 100644 index 000000000000..03f9ece4c725 --- /dev/null +++ b/app-crypt/tpm-emulator/tpm-emulator-0.5.1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-crypt/tpm-emulator/tpm-emulator-0.5.1.ebuild,v 1.1 2009/09/21 10:40:39 robbat2 Exp $ + +EAPI=2 +inherit toolchain-funcs linux-mod eutils + +MY_P=${P/-/_} +DESCRIPTION="Emulator driver for tpm" +HOMEPAGE="https://developer.berlios.de/projects/tpm-emulator" + +SRC_URI="mirror://berlios/tpm-emulator/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="modules" +DEPEND="dev-libs/gmp" +RDEPEND="" +S="${WORKDIR}"/${P/-/_} + +#fixups at: +#https://developer.berlios.de/feature/index.php?func=detailfeature&feature_id=3304&group_id=2491 + +pkg_setup() { + use modules && linux-mod_pkg_setup + MODULE_NAMES="tpmd_dev(crypt::${S}/tpmd_dev)" + BUILD_TARGETS="all" + BUILD_PARAMS="CC=$(tc-getCC)" + enewuser tss -1 -1 /var/lib/tpm tss +} + +src_prepare() { + cd "${S}" + + sed -i 's/LDFLAGS :=/override LDFLAGS +=/g' tpmd/Makefile + sed -i 's#/var/tpm#/var/run/tpm#g' tpmd/tpmd.c tddl/tddl.c tpmd_dev/tpmd_dev.c + + # use kernel object directory found by linux-info getversion() (bug 241956) + sed -i 's#/lib/modules/\$(KERNEL_RELEASE)/build#'"${KV_OUT_DIR}#" tpmd_dev/Makefile + + # reorder -lgmp so --as-needed works (bug 264073) + sed -i 's/LDFLAGS/LDLIBS/' tpmd/Makefile + + # fix parallel make + epatch "${FILESDIR}"/${P}-parallel-make.patch +} + +src_compile() { + emake user || die "Failed to build userspace" + if use modules; then + linux-mod_src_compile || die "Failed to build kernelspace" + fi +} + +src_install() { + if [ -x /usr/bin/scanelf -a -f tpm_emulator.ko ]; then + [ -z "$(/usr/bin/scanelf -qs __guard tpm_emulator.ko)" ] || \ + die 'cannot have gmp compiled with hardened flags' + [ -z "$(/usr/bin/scanelf -qs __stack_smash_handler tpm_emulator.ko)" ] || \ + die 'cannot have gmp compiled with hardened flags' + fi + + use modules && linux-mod_src_install + dodoc README + + emake user_install DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" \ + || die "Failed to install userspace" + + newinitd "${FILESDIR}"/${PN}.initd-0.5.1 ${PN} + newconfd "${FILESDIR}"/${PN}.confd-0.5.1 ${PN} + + insinto /etc/udev/rules.d + newins "${FILESDIR}"/${PN}.udev 60-${PN}.rules + + keepdir /var/run/tpm + fowners tss /var/run/tpm + + keepdir /var/log/tpm + fowners tss:tss /var/log/tpm +} |