Remove keyconv files to fix the license issue.
[aaf/sshsm.git] / build.sh
index 7015d48..856fcc2 100644 (file)
--- a/build.sh
+++ b/build.sh
 #!/bin/bash
 
-#set -e
-sudo kill -9 $(ps -ef | grep "apt" | grep -v grep | awk '{print $2}')
+set -e
+sudo apt -y update
 
-sudo rm /var/lib/dpkg/lock
-sudo rm /var/lib/apt/lists/lock
-sudo rm /var/cache/apt/archives/lock
+sudo apt-get -y install \
+    autoconf \
+    autoconf-archive \
+    libglib2.0-dev \
+    libdbus-1-dev \
+    automake \
+    libtool \
+    autotools-dev \
+    libcppunit-dev \
+    p11-kit \
+    libcurl4-gnutls-dev \
+    libcmocka0 \
+    libcmocka-dev \
+    build-essential \
+    pkg-config \
+    gcc \
+    g++ \
+    m4 \
+    curl \
+    wget \
+    liburiparser-dev \
+    pandoc \
+    opensc \
+    default-jdk \
+    libgcrypt20-dev
 
-sudo dpkg --configure -a
+wget https://www.openssl.org/source/openssl-1.1.0.tar.gz
+gzip -d openssl-1.1.0.tar.gz
+tar -xvf openssl-1.1.0.tar
+cd openssl-1.1.0 && \
+    ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl && \
+    make && \
+sudo make install
+cd ..
 
-sudo dpkg --remove --force-remove-reinstreq linux-headers-generic
-sudo dpkg --remove --force-remove-reinstreq linux-generic
-sudo apt-get -f install
-sudo apt-get install linux-image-generic
-
-sudo apt -y update
-sudo apt -y install autoconf
-sudo apt -y install autoconf-archive
-sudo apt -y install libglib2.0-dev
-sudo apt -y install libdbus-1-dev
-sudo apt -y install automake
-sudo apt -y install libtool
-sudo apt -y install autotools-dev
-sudo apt -y install libcppunit-dev
-sudo apt -y install p11-kit
-sudo apt -y install libcurl4-gnutls-dev
-sudo apt -y autoremove
+export LD_LIBRARY_PATH=/usr/local/ssl/lib
 
 echo "Build SoftHSMv2..."
 cd SoftHSMv2
 sh autogen.sh
-./configure --disable-gost
+./configure --disable-gost --with-openssl=/usr/local/ssl
+make
 make check
-make -j$(nproc)
+sudo make install
 cd ..
 
-sudo apt -y install \
-  libcmocka0 \
-  libcmocka-dev \
-  build-essential \
-  git \
-  pkg-config \
-  gcc \
-  g++ \
-  m4 \
-  liburiparser-dev \
-  libgcrypt20-dev \
-  libssl-dev \
-  pandoc
+echo "Install tpm2-tss 2.0.0"
+wget https://github.com/tpm2-software/tpm2-tss/releases/download/2.0.0/tpm2-tss-2.0.0.tar.gz
+tar -xvf tpm2-tss-2.0.0.tar.gz
+wget https://github.com/tpm2-software/tpm2-abrmd/releases/download/2.0.0/tpm2-abrmd-2.0.0.tar.gz
+tar -xvf tpm2-abrmd-2.0.0.tar.gz
+wget https://github.com/tpm2-software/tpm2-tools/releases/download/3.1.0/tpm2-tools-3.1.0.tar.gz
+tar -xvf tpm2-tools-3.1.0.tar.gz
 
-#echo "Install openssl..."
-#git clone https://github.com/openssl/openssl.git
-#cd openssl
-#./config
-#make -j$(nproc)
-#sudo make install
-#cd ..
-#rm -rf openssl
-
-echo "Install tpm2-tss 1.2.0..."
-git clone https://github.com/tpm2-software/tpm2-tss.git
-cd tpm2-tss
-git checkout 1.2.0
-./bootstrap
-./configure --enable-unit
-#cp ../implementation.h ./include/sapi/implementation.h
-make -j$(nproc) check
+cd tpm2-tss-2.0.0
+./configure
+make
 sudo make install
-sudo ldconfig
 cd ..
-rm -rf tpm2-tss
+sudo cp tpm2-tss-2.0.0/src/util/tpm2b.h /usr/local/include/tss2/
+rm -rf tpm2-tss-2.0.0
 
-echo "Install tpm2-abrmd 1.1.1..."
-#sudo useradd --system --user-group tss
-git clone https://github.com/tpm2-software/tpm2-abrmd.git
-cd tpm2-abrmd
-git checkout 1.1.1
-./bootstrap
-./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
-make -j$(nproc) check
+cd tpm2-abrmd-2.0.0
+sudo useradd --system --user-group tss
+./configure --with-dbuspolicydir=/etc/dbus-1/system.d \
+    --with-udevrulesdir=/etc/udev/rules.d/ \
+    --with-systemdsystemunitdir=/lib/systemd/system
+make
 sudo make install
-sudo ldconfig
-sudo udevadm control --reload-rules && sudo udevadm trigger
-sudo pkill -HUP dbus-daemon
-sudo systemctl daemon-reload
 cd ..
-rm -rf tpm2-abrmd
+rm -rf tpm2-abrmd-2.0.0
 
-echo "Install tpm2-tools 2.1.1..."
-git clone https://github.com/tpm2-software/tpm2-tools.git
-cd tpm2-tools
-git checkout 2.1.1
-./bootstrap
-./configure --enable-unit
-make -j$(nproc) check
+cd tpm2-tools-3.1.0
+./configure --disable-hardening
+make
 sudo make install
-sudo ldconfig
 cd ..
-rm -rf tpm2-tools
+rm -rf tpm2-tools-3.1.0
+
+echo "Build Import utility tool"
+cd tpm-util/import
+make -f sampleMakefile
+cd ../..
 
-echo "Build TPM2_plugin..."
+echo "Build TPM-Plugin"
 cd TPM2-Plugin
 ./bootstrap
-./configure
-make
+./configure LDFLAGS="-L/usr/local/ssl/lib"
 sudo make install
-sudo ldconfig
 cd ..
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
+sudo ldconfig
+
+echo "Build Duplicate Utility tool"
+cd tpm-util/duplicate
+make -f sampleMakefile
+