[go: nahoru, domu]

blob: 1ad7c809b1bac50afb5fdd1d842534e6ce7188f7 [file] [log] [blame]
Tony Y14a24002018-06-05 14:00:41 -07001FROM ubuntu:18.04
Julien Hachenbergerccdf6692018-10-23 16:49:04 +02002RUN apt-get update && apt-get install -y \
Tony Y14a24002018-06-05 14:00:41 -07003 autoconf \
John Andersen6c601f02017-06-29 15:23:27 -07004 autoconf-archive \
Tony Y14a24002018-06-05 14:00:41 -07005 automake \
John Andersen6c601f02017-06-29 15:23:27 -07006 build-essential \
Julien Hachenbergeref68d652018-11-23 08:58:45 +01007 doxygen \
Tony Y14a24002018-06-05 14:00:41 -07008 g++ \
9 gcc \
John Andersen6c601f02017-06-29 15:23:27 -070010 git \
Julien Hachenbergerb8cbdb52018-11-22 14:31:33 +010011 gnulib \
John Andersen6c601f02017-06-29 15:23:27 -070012 libssl-dev \
John Andersen6c601f02017-06-29 15:23:27 -070013 libtool \
Tony Y14a24002018-06-05 14:00:41 -070014 m4 \
15 net-tools \
Bastiandf944572018-11-13 17:36:16 +010016 pkg-config \
17 wget
John Andersen6c601f02017-06-29 15:23:27 -070018
Tony Y14a24002018-06-05 14:00:41 -070019# OpenSSL
20ARG openssl_name=openssl-1.1.0h
21WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020022RUN wget --quiet --show-progress --progress=dot:giga https://www.openssl.org/source/$openssl_name.tar.gz \
23 && tar xvf $openssl_name.tar.gz \
24 && rm /tmp/$openssl_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070025WORKDIR $openssl_name
Julien Hachenberger300b7d62018-10-23 17:13:35 +020026RUN ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl \
27 && make -j$(nproc) \
28 && make install \
29 && openssl version
John Andersen6c601f02017-06-29 15:23:27 -070030
Tony Y14a24002018-06-05 14:00:41 -070031# IBM's Software TPM 2.0
32ARG ibmtpm_name=ibmtpm1119
33WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020034RUN wget --quiet --show-progress --progress=dot:giga "https://downloads.sourceforge.net/project/ibmswtpm2/$ibmtpm_name.tar.gz" \
35 && sha256sum $ibmtpm_name.tar.gz | grep ^b9eef79904e276aeaed2a6b9e4021442ef4d7dfae4adde2473bef1a6a4cd10fb \
36 && mkdir -p $ibmtpm_name \
37 && tar xvf $ibmtpm_name.tar.gz -C $ibmtpm_name \
38 && rm $ibmtpm_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070039WORKDIR $ibmtpm_name/src
Julien Hachenberger300b7d62018-10-23 17:13:35 +020040RUN CFLAGS="-I/usr/local/openssl/include" make -j$(nproc) \
41 && cp tpm_server /usr/local/bin
John Andersen80efcb42017-07-18 15:01:51 -070042
Tony Y14a24002018-06-05 14:00:41 -070043RUN apt-get install -y \
44 libcmocka0 \
45 libcmocka-dev \
46 libgcrypt20-dev \
47 libtool \
48 liburiparser-dev \
49 uthash-dev
John Andersene4591892017-07-19 10:13:30 -070050
Tony Y14a24002018-06-05 14:00:41 -070051# TPM2-TSS
52COPY . /tmp/tpm2-tss/
53WORKDIR /tmp/tpm2-tss
Julien Hachenbergerb8cbdb52018-11-22 14:31:33 +010054RUN ./bootstrap -I /usr/share/gnulib/m4 \
Julien Hachenberger300b7d62018-10-23 17:13:35 +020055 && ./configure --enable-unit \
56 && make -j$(nproc) check \
57 && make install \
58 && ldconfig
Tony Y14a24002018-06-05 14:00:41 -070059ENV LD_LIBRARY_PATH /usr/local/lib
60RUN cat test-suite.log
61