Merge "Add Unit test to the SoftHSMv2 build"
[aaf/sshsm.git] / build.sh
1 #!/bin/bash
2
3 #set -e
4 sudo kill -9 $(ps -ef | grep "apt" | grep -v grep | awk '{print $2}')
5
6 sudo rm /var/lib/dpkg/lock
7 sudo rm /var/lib/apt/lists/lock
8 sudo rm /var/cache/apt/archives/lock
9
10 sudo dpkg --configure -a
11
12 sudo dpkg --remove --force-remove-reinstreq linux-headers-generic
13 sudo dpkg --remove --force-remove-reinstreq linux-generic
14 sudo apt-get -f install
15 sudo apt-get install linux-image-generic
16
17 sudo apt -y update
18 sudo apt -y install autoconf
19 sudo apt -y install autoconf-archive
20 sudo apt -y install libglib2.0-dev
21 sudo apt -y install libdbus-1-dev
22 sudo apt -y install automake
23 sudo apt -y install libtool
24 sudo apt -y install autotools-dev
25 sudo apt -y install libcppunit-dev
26 sudo apt -y install p11-kit
27 sudo apt -y install libcurl4-gnutls-dev
28 sudo apt -y autoremove
29
30 echo "Build SoftHSMv2..."
31 cd SoftHSMv2
32 sh autogen.sh
33 ./configure --disable-gost
34 make check
35 make -j$(nproc)
36 cd ..
37
38 sudo apt -y install \
39   libcmocka0 \
40   libcmocka-dev \
41   build-essential \
42   git \
43   pkg-config \
44   gcc \
45   g++ \
46   m4 \
47   liburiparser-dev \
48   libgcrypt20-dev \
49   libssl-dev \
50   pandoc
51
52 #echo "Install openssl..."
53 #git clone https://github.com/openssl/openssl.git
54 #cd openssl
55 #./config
56 #make -j$(nproc)
57 #sudo make install
58 #cd ..
59 #rm -rf openssl
60
61 echo "Install tpm2-tss 1.2.0..."
62 git clone https://github.com/tpm2-software/tpm2-tss.git
63 cd tpm2-tss
64 git checkout 1.2.0
65 ./bootstrap
66 ./configure --enable-unit
67 #cp ../implementation.h ./include/sapi/implementation.h
68 make -j$(nproc) check
69 sudo make install
70 sudo ldconfig
71 cd ..
72 rm -rf tpm2-tss
73
74 echo "Install tpm2-abrmd 1.1.1..."
75 #sudo useradd --system --user-group tss
76 git clone https://github.com/tpm2-software/tpm2-abrmd.git
77 cd tpm2-abrmd
78 git checkout 1.1.1
79 ./bootstrap
80 ./configure --with-dbuspolicydir=/etc/dbus-1/system.d --with-systemdsystemunitdir=/lib/systemd/system --with-systemdpresetdir=/lib/systemd/system-preset --with-udevrulesdir=/etc/udev/rules.d --datarootdir=/usr/share --enable-unit
81 make -j$(nproc) check
82 sudo make install
83 sudo ldconfig
84 sudo udevadm control --reload-rules && sudo udevadm trigger
85 sudo pkill -HUP dbus-daemon
86 sudo systemctl daemon-reload
87 cd ..
88 rm -rf tpm2-abrmd
89
90 echo "Install tpm2-tools 2.1.1..."
91 git clone https://github.com/tpm2-software/tpm2-tools.git
92 cd tpm2-tools
93 git checkout 2.1.1
94 ./bootstrap
95 ./configure --enable-unit
96 make -j$(nproc) check
97 sudo make install
98 sudo ldconfig
99 cd ..
100 rm -rf tpm2-tools
101
102 echo "Build TPM2_plugin..."
103 cd TPM2-Plugin
104 ./bootstrap
105 ./configure
106 make
107 sudo make install
108 sudo ldconfig
109 cd ..
110 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib