[Buildroot] [PATCH 1/1] Package Additions: tpm-tools and TrouSers
Al West
al.west at v-nova.com
Tue Jun 2 09:01:54 UTC 2015
Hello All,
I submit two new packages for using the TPM on x86 platform. Please go easy on me this is my first submission.
Kind regards,
Al
Signed-off-by: Al West <al.west at v-nova.com>
---
package/Config.in | 2 +
package/tpm-tools/Config.in | 8 ++
package/tpm-tools/tpm-tools.hash | 2 +
package/tpm-tools/tpm-tools.mk | 16 ++++
package/trousers/0001-no-TSS-user-group.patch | 103 ++++++++++++++++++++++++++
package/trousers/Config.in | 7 ++
package/trousers/trousers.hash | 3 +
package/trousers/trousers.mk | 16 ++++
8 files changed, 157 insertions(+)
create mode 100644 package/tpm-tools/Config.in
create mode 100644 package/tpm-tools/tpm-tools.hash
create mode 100644 package/tpm-tools/tpm-tools.mk
create mode 100644 package/trousers/0001-no-TSS-user-group.patch
create mode 100644 package/trousers/Config.in
create mode 100644 package/trousers/trousers.hash
create mode 100644 package/trousers/trousers.mk
diff --git a/package/Config.in b/package/Config.in
index e0c2e2a..c902ae5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -727,6 +727,8 @@ menu "Crypto"
source "package/nettle/Config.in"
source "package/openssl/Config.in"
source "package/polarssl/Config.in"
+ source "package/tpm-tools/Config.in"
+ source "package/trousers/Config.in"
endmenu
menu "Database"
diff --git a/package/tpm-tools/Config.in b/package/tpm-tools/Config.in
new file mode 100644
index 0000000..df704cd
--- /dev/null
+++ b/package/tpm-tools/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_TPM_TOOLS
+ bool "tpm-tools"
+ select BR2_PACKAGE_TROUSERS
+ depends on BR2_PACKAGE_OPENSSL
+ help
+ Manpages for the tpm-tools package of TrouSerS.
+
+ http://trousers.sourceforge.net/
diff --git a/package/tpm-tools/tpm-tools.hash b/package/tpm-tools/tpm-tools.hash
new file mode 100644
index 0000000..bdd66da
--- /dev/null
+++ b/package/tpm-tools/tpm-tools.hash
@@ -0,0 +1,2 @@
+# http://sourceforge.net/projects/trousers/files/tpm-tools/
+sha256 66eb4ff095542403db6b4bd4b574e8a5c08084fe4e9e5aa9a829ee84e20bea83 tpm-tools-1.3.8.tar.gz
diff --git a/package/tpm-tools/tpm-tools.mk b/package/tpm-tools/tpm-tools.mk
new file mode 100644
index 0000000..93c8395
--- /dev/null
+++ b/package/tpm-tools/tpm-tools.mk
@@ -0,0 +1,16 @@
+#############################################################
+#
+## tpm-tools
+#
+##############################################################
+TPM_TOOLS_VERSION = 1.3.8
+TPM_TOOLS_SOURCE = tpm-tools-$(TPM_TOOLS_VERSION).tar.gz
+TPM_TOOLS_SITE = http://nchc.dl.sourceforge.net/project/trousers/tpm-tools/$(TPM_TOOLS_VERSION)
+TPM_TOOLS_SUBDIR = tpm-tools-$(TPM_TOOLS_VERSION)
+TPM_TOOLS_AUTORECONF = NO
+TPM_TOOLS_INSTALL_STAGING = YES
+TPM_TOOLS_INSTALL_TARGET = YES
+TPM_TOOLS_DEPENDENCIES = trousers
+
+$(eval $(autotools-package))
+
diff --git a/package/trousers/0001-no-TSS-user-group.patch b/package/trousers/0001-no-TSS-user-group.patch
new file mode 100644
index 0000000..d602371
--- /dev/null
+++ b/package/trousers/0001-no-TSS-user-group.patch
@@ -0,0 +1,103 @@
+ configure.in | 7 +++++++
+ dist/Makefile.am | 13 ++++++++++---
+ src/tcsd/svrside.c | 2 ++
+ src/tcsd/tcsd_conf.c | 2 ++
+ 4 files changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index c37177f..8dda289 100644
+--- a/configure.in
++++ b/configure.in
+ <at> <at> -86,6 +86,13 <at> <at> AC_ARG_ENABLE(strict-spec-compliance,
+ SPEC_COMP=1
+ AC_MSG_RESULT([*** Enabling spec compliance at user request ***])],)
+
++# user+group checking
++AC_ARG_ENABLE(usercheck,
++ [AC_HELP_STRING([--disable-usercheck], [build TrouSerS without checking and setting of
+user/group tss [default=on] (Caution: This is intended for development purposes only.)])],
++ [AS_IF([test "x$enableval" = "xno"], [CFLAGS="$CFLAGS -DNOUSERCHECK"
++ AC_MSG_RESULT([*** Disabling user checking at user request ***])])],)
++AM_CONDITIONAL(NOUSERCHECK, [test "x$enable_usercheck" = "xno"])
++
+ # daa math lib: gmp or openssl (default openssl)
+ MATH_DEFINE=BI_OPENSSL
+ AC_ARG_WITH([gmp],
+diff --git a/dist/Makefile.am b/dist/Makefile.am
+index 09448fd..372736a 100644
+--- a/dist/Makefile.am
++++ b/dist/Makefile.am
+ <at> <at> -1,19 +1,26 <at> <at>
+ EXTRA_DIST = system.data.auth system.data.noauth \
+ fedora/fedora.initrd.tcsd
++
+ install: install-exec-hook
+ if test ! -e ${DESTDIR}/ <at> sysconfdir <at> /tcsd.conf; then mkdir -p ${DESTDIR}/ <at> sysconfdir <at> && cp
+tcsd.conf ${DESTDIR}/ <at> sysconfdir <at> ; fi
++if !NOUSERCHECK
+ /bin/chown tss:tss ${DESTDIR}/ <at> sysconfdir <at> /tcsd.conf || true
+ /bin/chmod 0600 ${DESTDIR}/ <at> sysconfdir <at> /tcsd.conf
++endif
+
+ install-exec-hook:
++ /bin/sh -c 'if [ ! -e ${DESTDIR}/ <at> localstatedir <at> /lib/tpm ];then mkdir -p
+${DESTDIR}/ <at> localstatedir <at> /lib/tpm; fi'
++if !NOUSERCHECK
+ /usr/sbin/groupadd tss || true
+ /usr/sbin/useradd -r tss -g tss || true
+- /bin/sh -c 'if [ ! -e ${DESTDIR}/ <at> localstatedir <at> /lib/tpm ];then mkdir -p
+${DESTDIR}/ <at> localstatedir <at> /lib/tpm; fi'
+ /bin/chown tss:tss ${DESTDIR}/ <at> localstatedir <at> /lib/tpm || true
+ /bin/chmod 0700 ${DESTDIR}/ <at> localstatedir <at> /lib/tpm
++endif
+
+ uninstall-hook:
+- /usr/sbin/userdel tss || true
+- /usr/sbin/groupdel tss || true
+ rm ${DESTDIR}/ <at> sysconfdir <at> /tcsd.conf
+ rmdir ${DESTDIR}/ <at> localstatedir <at> /lib/tpm
++if !NOUSERCHECK
++ /usr/sbin/userdel tss || true
++ /usr/sbin/groupdel tss || true
++endif
+diff --git a/src/tcsd/svrside.c b/src/tcsd/svrside.c
+index fca9d18..a29704f 100644
+--- a/src/tcsd/svrside.c
++++ b/src/tcsd/svrside.c
+ <at> <at> -441,6 +441,7 <at> <at> main(int argc, char **argv)
+ if ((result = tcsd_startup()))
+ return (int)result;
+
++#ifndef NOUSERCHECK
+ #ifndef SOLARIS
+ pwd = getpwnam(TSS_USER_NAME);
+ if (pwd == NULL) {
+ <at> <at> -454,6 +455,7 <at> <at> main(int argc, char **argv)
+ }
+ setuid(pwd->pw_uid);
+ #endif
++#endif
+
+ if (setup_server_sockets(socks_info) == -1) {
+ LogError("Could not create sockets to listen to connections. Aborting...");
+diff --git a/src/tcsd/tcsd_conf.c b/src/tcsd/tcsd_conf.c
+index 587f933..a31503d 100644
+--- a/src/tcsd/tcsd_conf.c
++++ b/src/tcsd/tcsd_conf.c
+ <at> <at> -770,6 +770,7 <at> <at> conf_file_init(struct tcsd_config *conf)
+ }
+ }
+
++#ifndef NOUSERCHECK
+ #ifndef SOLARIS
+ /* find the gid that owns the conf file */
+ errno = 0;
+ <at> <at> -809,6 +810,7 <at> <at> conf_file_init(struct tcsd_config *conf)
+ return TCSERR(TSS_E_INTERNAL_ERROR);
+ }
+ #endif /* SOLARIS */
++#endif /* NOUSERCHECK */
+
+ if ((f = fopen(tcsd_config_file, "r")) == NULL) {
+ LogError("fopen(%s): %s", tcsd_config_file, strerror(errno));
+
diff --git a/package/trousers/Config.in b/package/trousers/Config.in
new file mode 100644
index 0000000..f9cf58f
--- /dev/null
+++ b/package/trousers/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_TROUSERS
+ bool "trousers"
+ depends on BR2_PACKAGE_OPENSSL
+ help
+ The open-source TCG Software Stack.
+
+ http://trousers.sourceforge.net/
diff --git a/package/trousers/trousers.hash b/package/trousers/trousers.hash
new file mode 100644
index 0000000..86d08a7
--- /dev/null
+++ b/package/trousers/trousers.hash
@@ -0,0 +1,3 @@
+# http://sourceforge.net/projects/trousers/files/trousers/
+sha256 bb908e4a3c88a17b247a4fc8e0fff3419d8a13170fe7bdfbe0e2c5c082a276d3 trousers-0.3.13.tar.gz
+
diff --git a/package/trousers/trousers.mk b/package/trousers/trousers.mk
new file mode 100644
index 0000000..52ade3c
--- /dev/null
+++ b/package/trousers/trousers.mk
@@ -0,0 +1,16 @@
+#############################################################
+#
+## trousers
+#
+##############################################################
+TROUSERS_VERSION = 0.3.13
+TROUSERS_SOURCE = trousers-$(TROUSERS_VERSION).tar.gz
+TROUSERS_SITE = http://nchc.dl.sourceforge.net/project/trousers/trousers/$(TROUSERS_VERSION)
+TROUSERS_AUTORECONF = NO
+TROUSERS_INSTALL_STAGING = YES
+TROUSERS_INSTALL_TARGET = YES
+TROUSERS_DEPENDENCIES = openssl
+
+TROUSERS_CONF_OPTS += --disable-usercheck
+
+$(eval $(autotools-package))
--
1.9.3
More information about the buildroot
mailing list