diff options
author | Jonathan Bauer | 2018-11-12 14:57:50 +0100 |
---|---|---|
committer | Jonathan Bauer | 2018-11-12 17:30:33 +0100 |
commit | e623804c807bc0cf0cd27ab4a915f8fe516a403f (patch) | |
tree | ca4ba7164534073dc560da689e4cf81a92a4cb2a | |
parent | [dnbd3-rfs] refactor to use slx-partitioner (diff) | |
download | systemd-init-e623804c807bc0cf0cd27ab4a915f8fe516a403f.tar.gz systemd-init-e623804c807bc0cf0cd27ab4a915f8fe516a403f.tar.xz systemd-init-e623804c807bc0cf0cd27ab4a915f8fe516a403f.zip |
[slx-tpm] initial commit
-rwxr-xr-x | builder/modules.d/slx-tpm/module-setup.sh | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/builder/modules.d/slx-tpm/module-setup.sh b/builder/modules.d/slx-tpm/module-setup.sh new file mode 100755 index 00000000..0fa1d734 --- /dev/null +++ b/builder/modules.d/slx-tpm/module-setup.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +declare -rg openssl_tpm2_engine_url="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/openssl_tpm2_engine.git/snapshot" +declare -rg openssl_tpm2_engine_target="openssl_tpm2_engine-1.2.1.tar.gz" +declare -rg ibm_tss_target="ibmtss1234.tar.gz" +declare -rg ibm_tss_url="https://sourceforge.net/projects/ibmtpm20tss/files/$ibm_tss_target/download" + +check() { + if ! hash help2man 2>&1 /dev/null; then + echo "Missing help2man, please install it..." + return 1 + fi + if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then + compile_openssl_tpm2_engine || return 1 + fi + return 255 +} +depends() { + : +} +compile_ibm_tss() { + ( + set -o errexit + wget -O "$ibm_tss_target" "$ibm_tss_url" + local build_dir="$moddir/build/${ibm_tss_target%%.*}" + mkdir -p "$build_dir" + tar xvf "$ibm_tss_target" -C "$build_dir" + cd "$build_dir" + make + ) + local ret=$? + [ $ret -ne 0 ] && rm -rf "$moddir/build/" +} +compile_openssl_tpm2_engine() { + if [ -d "$moddir/build/${ibm_tss_target%%.*}" ]; then + compile_ibm_tss || return 1 + fi + install_ibm_tss "/" + ( + set -o errexit + wget -O "$openssl_tpm2_engine_target" "$openssl_tpm2_engine_url/$openssl_tpm2_engine_target" + local build_dir="$moddir/build/${openssl_tpm2_engine_target%%.*}" + mkdir -p "$build_dir" + tar xvf "$openssl_tpm2_engine_target" -C "$build_dir" + cd "$build_dir" + bash bootstrap.sh + CFLAGS="-I. -Wno-pointer-sign" ./configure + # cause help2man suck... + sed -i '/^HELP2MAN/ s/$/ --no-discard-stderr/' Makefile + make + ) +} +install_ibm_tss() { + if [ "$#" -ne 1 ]; then + echo "Failed: Needs one arg." + return 1 + fi + if [ ! -d "$moddir/build/${ibm_tss_target%%.*}" ]; then + echo "not build of ibm tss" + return 1 + fi + cd "$moddir/build/${ibm_tss_target%%.*}" + mkdir -p "$1/usr/local/bin" + # this is hacky, TODO better with /etc/ld.cache.conf.d ? + cp *.so* "$1/usr/lib" + find . -perm /a+x -type f -exec cp {} "$1/usr/local/bin/" \; + tar cvf - tss2 | tar xvf - -C "$1/usr/local/include" + cd - +} +install_openssl_tpm2_engine() { + if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then + echo "no build of openssl tpm2 engine" + return 1 + fi + cd "$moddir/build/${openssl_tpm2_engine_target%%.*}" + make DESTDIR="$initdir" install +} +install() { + if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then + install_openssl_tpm2_engine || return 1 + fi + return 0 +} |