[go: nahoru, domu]

blob: b3d44e9a30ac71ce67bfb7c35ac682851976a56c [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 \
Tony Y14a24002018-06-05 14:00:41 -07007 g++ \
8 gcc \
John Andersen6c601f02017-06-29 15:23:27 -07009 git \
Julien Hachenbergerb8cbdb52018-11-22 14:31:33 +010010 gnulib \
John Andersen6c601f02017-06-29 15:23:27 -070011 libssl-dev \
John Andersen6c601f02017-06-29 15:23:27 -070012 libtool \
Tony Y14a24002018-06-05 14:00:41 -070013 m4 \
14 net-tools \
Bastiandf944572018-11-13 17:36:16 +010015 pkg-config \
16 wget
John Andersen6c601f02017-06-29 15:23:27 -070017
Tony Y14a24002018-06-05 14:00:41 -070018# OpenSSL
19ARG openssl_name=openssl-1.1.0h
20WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020021RUN wget --quiet --show-progress --progress=dot:giga https://www.openssl.org/source/$openssl_name.tar.gz \
22 && tar xvf $openssl_name.tar.gz \
23 && rm /tmp/$openssl_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070024WORKDIR $openssl_name
Julien Hachenberger300b7d62018-10-23 17:13:35 +020025RUN ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl \
26 && make -j$(nproc) \
27 && make install \
28 && openssl version
John Andersen6c601f02017-06-29 15:23:27 -070029
Tony Y14a24002018-06-05 14:00:41 -070030# IBM's Software TPM 2.0
31ARG ibmtpm_name=ibmtpm1119
32WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020033RUN wget --quiet --show-progress --progress=dot:giga "https://downloads.sourceforge.net/project/ibmswtpm2/$ibmtpm_name.tar.gz" \
34 && sha256sum $ibmtpm_name.tar.gz | grep ^b9eef79904e276aeaed2a6b9e4021442ef4d7dfae4adde2473bef1a6a4cd10fb \
35 && mkdir -p $ibmtpm_name \
36 && tar xvf $ibmtpm_name.tar.gz -C $ibmtpm_name \
37 && rm $ibmtpm_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070038WORKDIR $ibmtpm_name/src
Julien Hachenberger300b7d62018-10-23 17:13:35 +020039RUN CFLAGS="-I/usr/local/openssl/include" make -j$(nproc) \
40 && cp tpm_server /usr/local/bin
John Andersen80efcb42017-07-18 15:01:51 -070041
Tony Y14a24002018-06-05 14:00:41 -070042RUN apt-get install -y \
43 libcmocka0 \
44 libcmocka-dev \
45 libgcrypt20-dev \
46 libtool \
47 liburiparser-dev \
48 uthash-dev
John Andersene4591892017-07-19 10:13:30 -070049
Tony Y14a24002018-06-05 14:00:41 -070050# TPM2-TSS
51COPY . /tmp/tpm2-tss/
52WORKDIR /tmp/tpm2-tss
Julien Hachenbergerb8cbdb52018-11-22 14:31:33 +010053RUN ./bootstrap -I /usr/share/gnulib/m4 \
Julien Hachenberger300b7d62018-10-23 17:13:35 +020054 && ./configure --enable-unit \
55 && make -j$(nproc) check \
56 && make install \
57 && ldconfig
Tony Y14a24002018-06-05 14:00:41 -070058ENV LD_LIBRARY_PATH /usr/local/lib
59RUN cat test-suite.log
60