diff --git a/srcpkgs/tpm-tools/template b/srcpkgs/tpm-tools/template index a6be2357388..e2e7906f4a9 100644 --- a/srcpkgs/tpm-tools/template +++ b/srcpkgs/tpm-tools/template @@ -13,4 +13,4 @@ checksum=66eb4ff095542403db6b4bd4b574e8a5c08084fe4e9e5aa9a829ee84e20bea83 post_install() { vlicense LICENSE -} +} diff --git a/srcpkgs/trousers/REMOVE b/srcpkgs/trousers/REMOVE new file mode 100644 index 00000000000..b5784be9df3 --- /dev/null +++ b/srcpkgs/trousers/REMOVE @@ -0,0 +1,5 @@ +case "$ACTION" in +purge) + [ -d var/lib/tpm ] && rm -rf var/lib/tpm + ;; +esac diff --git a/srcpkgs/trousers/files/tcsd/log/run b/srcpkgs/trousers/files/tcsd/log/run new file mode 100644 index 00000000000..f74f42b898e --- /dev/null +++ b/srcpkgs/trousers/files/tcsd/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -p daemon.info -t tcsd diff --git a/srcpkgs/trousers/files/tcsd/run b/srcpkgs/trousers/files/tcsd/run new file mode 100644 index 00000000000..0405459562b --- /dev/null +++ b/srcpkgs/trousers/files/tcsd/run @@ -0,0 +1,4 @@ +#!/bin/sh +exec 2>&1 +[ -d /var/lib/tpm ] || install -m 0700 -o tss -g tss -d /var/lib/tpm +exec chpst -u tss:tss tcsd -f diff --git a/srcpkgs/trousers/patches/musl-getpwent_r.patch b/srcpkgs/trousers/patches/musl-getpwent_r.patch new file mode 100644 index 00000000000..894adbb111e --- /dev/null +++ b/srcpkgs/trousers/patches/musl-getpwent_r.patch @@ -0,0 +1,47 @@ +--- src/tspi/ps/tspps.c.orig 2015-11-18 12:45:47.585113542 +0100 ++++ src/tspi/ps/tspps.c 2015-11-18 12:46:37.605577956 +0100 +@@ -45,7 +45,7 @@ + + static int user_ps_fd = -1; + static MUTEX_DECLARE_INIT(user_ps_lock); +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#if !defined(__GLIBC__) + static MUTEX_DECLARE_INIT(user_ps_path); + #endif + static struct flock fl; +@@ -60,7 +60,7 @@ + TSS_RESULT result; + char *file_name = NULL, *home_dir = NULL; + struct passwd *pwp; +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#if defined(__GLIBC__) + struct passwd pw; + #endif + struct stat stat_buf; +@@ -72,7 +72,7 @@ + *file = strdup(file_name); + return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY); + } +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#if !defined(__GLIBC__) + MUTEX_LOCK(user_ps_path); + #endif + +@@ -90,7 +90,7 @@ + #else + setpwent(); + while (1) { +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#if defined(__GLIBC__) + rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); + if (rc) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", +@@ -99,7 +99,7 @@ + return TSPERR(TSS_E_INTERNAL_ERROR); + } + +-#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#elif !defined(__GLIBC__) + if ((pwp = getpwent()) == NULL) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", + strerror(rc)); diff --git a/srcpkgs/trousers/patches/musl-local_lim.patch b/srcpkgs/trousers/patches/musl-local_lim.patch new file mode 100644 index 00000000000..766dbffd263 --- /dev/null +++ b/srcpkgs/trousers/patches/musl-local_lim.patch @@ -0,0 +1,14 @@ +--- src/tspi/tsp_tcsi_param.c.orig 2015-11-18 10:44:20.263987906 +0100 ++++ src/tspi/tsp_tcsi_param.c 2015-11-18 10:45:20.524547393 +0100 +@@ -11,7 +11,11 @@ + #include + #include + #include ++#if defined(__GLIBC__) + #include ++#else ++#define HOST_NAME_MAX 64 ++#endif + #include "trousers/tss.h" + #include "trousers/trousers.h" + #include "trousers_types.h"