From 86c96a13336081461023bb418aeb7e2c122ab205 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 12 Nov 2018 15:59:54 +0100 Subject: wip --- builder/modules.d/slx-tpm/module-setup.sh | 41 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/builder/modules.d/slx-tpm/module-setup.sh b/builder/modules.d/slx-tpm/module-setup.sh index 0fa1d734..8185c2f3 100755 --- a/builder/modules.d/slx-tpm/module-setup.sh +++ b/builder/modules.d/slx-tpm/module-setup.sh @@ -1,16 +1,17 @@ #!/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 openssl_tpm2_engine_target="openssl_tpm2_engine-1.2.1" declare -rg ibm_tss_target="ibmtss1234.tar.gz" declare -rg ibm_tss_url="https://sourceforge.net/projects/ibmtpm20tss/files/$ibm_tss_target/download" - +# TODO download in "$moddir/src" 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 + mkdir -p "$moddir/build" + if [ ! -d "$moddir/build/${openssl_tpm2_engine_target}" ]; then compile_openssl_tpm2_engine || return 1 fi return 255 @@ -25,11 +26,15 @@ compile_ibm_tss() { local build_dir="$moddir/build/${ibm_tss_target%%.*}" mkdir -p "$build_dir" tar xvf "$ibm_tss_target" -C "$build_dir" - cd "$build_dir" + cd "$build_dir/utils" make ) local ret=$? - [ $ret -ne 0 ] && rm -rf "$moddir/build/" + if [ $ret -ne 0 ]; then + echo "Failed to compile IBM TSS" + rm -rf "$moddir/build/${ibm_tss_target%%.*}" + fi + return $ret } compile_openssl_tpm2_engine() { if [ -d "$moddir/build/${ibm_tss_target%%.*}" ]; then @@ -38,11 +43,9 @@ compile_openssl_tpm2_engine() { 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" + wget -O "$openssl_tpm2_engine_target.tar.gz" "$openssl_tpm2_engine_url/$openssl_tpm2_engine_target.tar.gz" + tar xvf "$openssl_tpm2_engine_target.tar.gz" -C "$moddir/build" + cd "$moddir/build/$openssl_tpm2_engine_target" bash bootstrap.sh CFLAGS="-I. -Wno-pointer-sign" ./configure # cause help2man suck... @@ -56,10 +59,9 @@ install_ibm_tss() { return 1 fi if [ ! -d "$moddir/build/${ibm_tss_target%%.*}" ]; then - echo "not build of ibm tss" - return 1 + compile_ibm_tss || return 1 fi - cd "$moddir/build/${ibm_tss_target%%.*}" + cd "$moddir/build/${ibm_tss_target%%.*}/utils" mkdir -p "$1/usr/local/bin" # this is hacky, TODO better with /etc/ld.cache.conf.d ? cp *.so* "$1/usr/lib" @@ -68,16 +70,23 @@ install_ibm_tss() { cd - } install_openssl_tpm2_engine() { - if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then + 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%%.*}" + cd "$moddir/build/${openssl_tpm2_engine_target}" make DESTDIR="$initdir" install } install() { - if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then + if [ ! -d "$moddir/build/${openssl_tpm2_engine_target}" ]; then install_openssl_tpm2_engine || return 1 fi + install_ibm_tss "$initdir" + inst_multiple openssl + mkdir -p "$initdir/usr/lib/x86_64-linux-gnu/" + cp -r /usr/lib/x86_64-linux-gnu/engines-1.1 "$initdir/usr/lib/x86_64-linux-gnu/engines-1.1" return 0 } +installkernel() { + instmods =drivers/char/tpm +} -- cgit v1.2.3-55-g7522