Update SoftHSM v2.0 to the latest version
[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 --with-openssl=/usr/local/
41 make
42 make check
43 sudo make install
44 cd ..
45
46 echo "Install tpm2-tss 2.0.0"
47 wget https://github.com/tpm2-software/tpm2-tss/releases/download/2.0.0/tpm2-tss-2.0.0.tar.gz
48 tar -xvf tpm2-tss-2.0.0.tar.gz
49 wget https://github.com/tpm2-software/tpm2-abrmd/releases/download/2.0.0/tpm2-abrmd-2.0.0.tar.gz
50 tar -xvf tpm2-abrmd-2.0.0.tar.gz
51 wget https://github.com/tpm2-software/tpm2-tools/releases/download/3.1.0/tpm2-tools-3.1.0.tar.gz
52 tar -xvf tpm2-tools-3.1.0.tar.gz
53
54 cd tpm2-tss-2.0.0
55 ./configure
56 make
57 sudo make install
58 cd ..
59 sudo cp tpm2-tss-2.0.0/src/util/tpm2b.h /usr/local/include/tss2/
60 rm -rf tpm2-tss-2.0.0
61
62 cd tpm2-abrmd-2.0.0
63 sudo useradd --system --user-group tss
64 ./configure --with-dbuspolicydir=/etc/dbus-1/system.d \
65     --with-udevrulesdir=/etc/udev/rules.d/ \
66     --with-systemdsystemunitdir=/lib/systemd/system
67 make
68 sudo make install
69 cd ..
70 rm -rf tpm2-abrmd-2.0.0
71
72 cd tpm2-tools-3.1.0
73 ./configure
74 make
75 sudo make install
76 cd ..
77 rm -rf tpm2-tools-3.1.0
78
79 echo "Build Import utility tool"
80 cd tpm-util/import
81 make -f sampleMakefile
82 cd ../..
83
84 echo "Build TPM-Plugin"
85 cd TPM2-Plugin
86 ./bootstrap
87 ./configure
88 sudo make install
89 cd ..
90 sudo ldconfig