bb2a06e50a4625da8bb4047fab65e8a7413bc77a
[aaf/sshsm.git] / build.sh
1 #!/bin/bash
2
3 set -e
4 sudo apt -y update
5
6 sudo apt-get -y install \
7     autoconf \
8     autoconf-archive \
9     libglib2.0-dev \
10     libdbus-1-dev \
11     automake \
12     libtool \
13     autotools-dev \
14     libcppunit-dev \
15     p11-kit \
16     libcurl4-gnutls-dev \
17     libcmocka0 \
18     libcmocka-dev \
19     build-essential \
20     git \
21     pkg-config \
22     vim \
23     gcc \
24     g++ \
25     m4 \
26     curl \
27     wget \
28     liburiparser-dev \
29     libssl-dev \
30     pandoc \
31     opensc \
32     default-jdk \
33     libgcrypt20-dev
34
35 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/
36
37 echo "Build SoftHSMv2..."
38 cd SoftHSMv2
39 sh autogen.sh
40 ./configure --disable-gost
41 sudo make install
42 cd ..
43
44 echo "Install tpm2-tss 2.0.0"
45 wget https://github.com/tpm2-software/tpm2-tss/releases/download/2.0.0/tpm2-tss-2.0.0.tar.gz
46 tar -xvf tpm2-tss-2.0.0.tar.gz
47 wget https://github.com/tpm2-software/tpm2-abrmd/releases/download/2.0.0/tpm2-abrmd-2.0.0.tar.gz
48 tar -xvf tpm2-abrmd-2.0.0.tar.gz
49 wget https://github.com/tpm2-software/tpm2-tools/releases/download/3.1.0/tpm2-tools-3.1.0.tar.gz
50 tar -xvf tpm2-tools-3.1.0.tar.gz
51
52 cd tpm2-tss-2.0.0
53 ./configure
54 make
55 sudo make install
56 cd ..
57 sudo cp tpm2-tss-2.0.0/src/util/tpm2b.h /usr/local/include/tss2/
58 rm -rf tpm2-tss-2.0.0
59
60 cd tpm2-abrmd-2.0.0
61 sudo useradd --system --user-group tss
62 ./configure --with-dbuspolicydir=/etc/dbus-1/system.d \
63     --with-udevrulesdir=/etc/udev/rules.d/ \
64     --with-systemdsystemunitdir=/lib/systemd/system
65 make
66 sudo make install
67 cd ..
68 rm -rf tpm2-abrmd-2.0.0
69
70 cd tpm2-tools-3.1.0
71 ./configure
72 make
73 sudo make install
74 cd ..
75 rm -rf tpm2-tools-3.1.0
76
77 echo "Build Import utility tool"
78 cd tpm-util/import
79 make -f sampleMakefile
80 cd ../..
81
82 echo "Build TPM-Plugin"
83 cd TPM2-Plugin
84 ./bootstrap
85 ./configure
86 sudo make install
87 cd ..
88 sudo ldconfig